Mersenne Twister ได้รับการยกย่องอย่างกว้างขวางว่าดี Heck แหล่ง CPythonบอกว่า "เป็นหนึ่งในเครื่องกำเนิดไฟฟ้าที่ได้รับการทดสอบอย่างกว้างขวางมากที่สุดที่มีอยู่" แต่สิ่งนี้หมายความว่าอย่างไร เมื่อถูกขอให้แสดงรายการคุณสมบัติของเครื่องกำเนิดนี้สิ่งที่ฉันสามารถเสนอได้ส่วนใหญ่จะไม่ดี:
- มันมีขนาดใหญ่และยืดหยุ่นไม่ได้ (เช่นไม่มีการค้นหาหรือสตรีมหลายรายการ)
- มันล้มเหลวในการทดสอบทางสถิติมาตรฐานแม้จะมีขนาดใหญ่
- มันมีปัญหาร้ายแรงประมาณ 0 ซึ่งบอกว่ามันสุ่มตัวเองค่อนข้างแย่
- มันเร็วมาก
และอื่น ๆ เมื่อเทียบกับ RNG แบบง่าย ๆ เช่น XorShift * มันก็ซับซ้อนเช่นกัน
ดังนั้นฉันจึงหาข้อมูลเกี่ยวกับสาเหตุที่สิ่งนี้คิดว่าดี กระดาษต้นฉบับให้ความเห็นจำนวนมากในช่วง "ซุปเปอร์ดาราศาสตร์" และการแบ่งตัว 623 มิติ
ในหลายมาตรการที่รู้จักกันการทดสอบตามความสม่ำเสมอของมิติที่สูงขึ้นเช่นการทดสอบสเปกตรัม (cf, Knuth [1981]) และการทดสอบการกระจายตัว k ที่อธิบายไว้ด้านล่างนี้ถือว่ามีความแข็งแกร่งที่สุด
แต่สำหรับคุณสมบัตินี้เครื่องกำเนิดไฟฟ้าจะถูกตีด้วยเคาน์เตอร์ที่มีความยาวเพียงพอ! สิ่งนี้ไม่มีความเห็นเกี่ยวกับการกระจายในท้องที่ซึ่งเป็นสิ่งที่คุณสนใจจริง ๆ ในเครื่องกำเนิดไฟฟ้า (แม้ว่า "ท้องถิ่น" อาจหมายถึงสิ่งต่าง ๆ ) และแม้แต่ CSPRNG ก็ไม่สนใจช่วงเวลาที่ยิ่งใหญ่เช่นนี้เพราะมันไม่สำคัญเลยจากระยะไกล
มีคณิตศาสตร์จำนวนมากในกระดาษ แต่เท่าที่ฉันสามารถบอกได้ว่าเรื่องนี้เกี่ยวกับคุณภาพการสุ่ม ค่อนข้างพูดถึงทุกอย่างที่กระโดดอย่างรวดเร็วกลับไปที่ต้นฉบับเหล่านี้เรียกร้องที่ไร้ประโยชน์ส่วนใหญ่
ดูเหมือนว่าผู้คนเพิ่มขึ้นใน bandwagon นี้ด้วยค่าใช้จ่ายของเทคโนโลยีที่เก่ากว่าและน่าเชื่อถือกว่า ตัวอย่างเช่นหากคุณเพิ่มจำนวนคำใน LCG ถึง 3 (น้อยกว่า "เพียง 624" ของ Mersenne Twister) และส่งออกคำบนสุดในแต่ละรอบมันจะผ่าน BigCrush ( ส่วนที่ยากขึ้นของชุดทดสอบ TestU01 ) แม้ว่า Twister จะล้มเหลว ( กระดาษ PCG, รูปที่ 2 ) ให้นี้และหลักฐานที่อ่อนแอผมก็สามารถที่จะหาได้ในการสนับสนุนของ Mersenne Twister สิ่งที่ไม่ได้ให้ความสนใจสาเหตุที่จะชอบมันมากกว่าตัวเลือกอื่น ๆ ?
นี่ไม่ใช่ประวัติศาสตร์อย่างแท้จริง ฉันได้รับการบอกเล่าผ่านว่า Mersenne Twister อย่างน้อยได้รับการพิสูจน์ในทางปฏิบัติมากขึ้นกว่าการพูดPCG สุ่ม แต่เป็นกรณีการใช้งานเพื่อให้ทราบว่าพวกเขาสามารถทำได้ดีกว่าแบตเตอรี่ทดสอบของเราหรือไม่ Googling บางคนแนะนำว่าพวกเขาอาจไม่ได้
ในระยะสั้นฉันสงสัยว่า Mersenne Twister มีชื่อเสียงในเชิงบวกอย่างกว้างขวางทั้งในบริบททางประวัติศาสตร์และอื่น ๆ อย่างไร ในอีกแง่หนึ่งฉันสงสัยในคุณสมบัติของมัน แต่ในอีกแง่หนึ่งมันยากที่จะจินตนาการว่ามันเป็นเหตุการณ์ที่เกิดขึ้นแบบสุ่มทั้งหมด