ตัวกำเนิดตัวเลขแบบหลอกทั้งหมดเป็นระยะหรือไม่? หรือพวกเขาเป็นระยะ ๆ ในที่สุด?
ฉันหมายถึงเป็นระยะ ๆ เช่นเดียวกับตัวเลขที่มีเหตุผลพวกเขาในที่สุดสร้างลำดับเป็นระยะ ...
และการสุ่มหลอกหมายถึงอัลกอริทึม / การสร้างตัวเลขทางคณิตศาสตร์ของการสุ่ม ...
ตัวกำเนิดตัวเลขแบบหลอกทั้งหมดเป็นระยะหรือไม่? หรือพวกเขาเป็นระยะ ๆ ในที่สุด?
ฉันหมายถึงเป็นระยะ ๆ เช่นเดียวกับตัวเลขที่มีเหตุผลพวกเขาในที่สุดสร้างลำดับเป็นระยะ ...
และการสุ่มหลอกหมายถึงอัลกอริทึม / การสร้างตัวเลขทางคณิตศาสตร์ของการสุ่ม ...
คำตอบ:
เครื่องกำเนิดไฟฟ้าเทียมหลอกทั้งหมดที่ไม่พึ่งพาการสุ่มจากภายนอกและการใช้หน่วยความจำที่มีขอบเขต จำกัด จำเป็นต้องมีการกำหนดเป็นระยะในที่สุดเนื่องจากมีสถานะ จำกัด คุณสามารถคิดว่าพวกมันเป็นออโตมาตา จำกัด ขนาดใหญ่ที่กำหนด "สถานะเอาท์พุท" พิเศษที่พวกมันให้เอาต์พุต ออโตมาตะ จำกัด ทั้งหมดเป็นคาบในที่สุดและเครื่องกำเนิดไฟฟ้าหลอกเทียมทั้งหมดจะสร้างเอาท์พุทเป็นระยะในที่สุด
อย่างไรก็ตามความยาวของรอบระยะเวลาอาจมหาศาล ตัวอย่างเช่น PRNG ที่มีสถานะการเข้ารหัสที่ 128 บิตอาจวนรอบหนึ่งครั้งทุกบิตของการส่งออกและดังนั้นแม้ว่าการส่งออกหนึ่งบิตทุก ๆ นาโนวินาทีระบบสุริยะจะตายก่อน PRNG ซ้ำ
PRNG เป็นเครื่องจักรของรัฐ หากพวกเขาอยู่ในอินพุตภายในเท่านั้น (ตรงกันข้ามกับ Poker Stars RNG ซึ่งเป็นการรวมกันของฮาร์ดแวร์และซอฟต์แวร์การรวมตัวเองอย่างต่อเนื่องจาก ... ตัวอย่างเสียง) คุณจะได้รับ (C, S1, ... ) โดยที่ C คือค่าปัจจุบัน (หรือก่อนหน้า) และ S1, ... อาจเป็นชุดของสถานะ:
หากมีค่า N ที่เป็นไปได้ (เนื่องจากหน่วยความจำมีขอบเขต) ของ C และคุณวนซ้ำ N + 1 ครั้งคุณจะกดค่าเดียวกันสำหรับ C อย่างน้อยสองครั้ง หากคุณวนซ้ำ 2N + 1 ครั้งคุณจะกดค่าเดียวกันสำหรับ C อย่างน้อย 3 ครั้ง
ให้ T = (Ct, S1t, S2t) เป็นสถานะที่แน่นอน (ค่าปัจจุบันและสถานะอื่น ๆ )
ให้ M = # {ค่าสำหรับ S1} X {ค่าสำหรับ S2} X {... } เป็นหัวใจสำคัญของการรวมสถานะที่เป็นไปได้ (อีกครั้ง: เนื่องจากหน่วยความจำมีขอบเขต)
หากคุณวนซ้ำ NM + 1 คูณ algoritm คุณจะถึงอย่างน้อยสองเท่าของรัฐเดียวกัน (Ct, S1t, S2t, ... ) ดังนั้นการสร้างค่าเอาต์พุตเดียวกันและลำดับรัฐต่อไปนี้เหมือนกันมากกว่าครั้งแรกและ ดังนั้นจึงกลายเป็นระยะ
ตัวอย่างง่าย ๆ ของลำดับแบบสุ่มหลอกที่ไม่ได้เป็นงวด: เชื่อมต่อกันเป็นตัวแทนไบนารีของจำนวนเต็มบวกทั้งหมดตามลำดับ:
110111001011101111000...
(เตรียม "." และเรียกว่าค่าคงที่ของ Champernowneไบนารี)
แน่นอนว่ามันไม่ได้มีคุณภาพสูงมากเท่าที่ลำดับสุ่มหลอกจะไป แต่มันแสดงให้เห็นว่าเป็นไปได้โดยไม่ต้องใช้หน่วยความจำมาก
ข้อกำหนดหน่วยความจำที่ไม่ได้ จำกัด ไม่ใช่ปัญหาสำหรับเครื่องทัวริงและอาจไม่ใช่ปัญหาในทางปฏิบัติเช่นกันเนื่องจากการเติบโตช้ามาก แต่ขึ้นอยู่กับสิ่งที่คุณตั้งใจจะใช้สิ่งนี้