Mersenne Twister yaygın olarak iyi olarak kabul edilir. Heck, CPython kaynağı , "var olan en kapsamlı test üreticilerinden biri" olduğunu söylüyor. Ama bu ne anlama geliyor? Bu jeneratörün özelliklerini listelemem istendiğinde, önerebileceğimlerin çoğu kötü:
- Çok büyük ve esnek (örn. Arama ya da çoklu akış yok),
- Büyük ebatlarına rağmen standart istatistik testlerinde başarısız oluyor,
- 0 civarında ciddi sorunları var ve kendisini oldukça zayıf bir şekilde rastgelelediğini gösteriyor.
- Çok hızlı
ve bunun gibi. XorShift * gibi basit RNG'ler ile karşılaştırıldığında, aynı zamanda umutsuzca karmaşık.
Bu yüzden neden bu kadar iyi olduğunu düşündüğüm hakkında bilgi aradım. Orijinal makale , "süper astronomik" dönem ve 623 boyutlu eşitlik dağıtımı hakkında birçok yorumda bulunuyor.
Bilinen birçok önlem arasında, spektral test (cf, Knuth [1981]) ve aşağıda açıklanan k-dağılım testi gibi daha yüksek boyutsal düzgünlüğe dayalı testlerin en güçlü olduğu düşünülmektedir.
Ancak, bu özellik için, jeneratör yeterli uzunlukta bir sayaçla dövülür ! Bu, yerel dağıtımların yorumunu yapmaz; bu, bir jeneratörde gerçekte neye önem verdiğinizdir ("yerel", çeşitli anlamlara gelebilir). Ve CSPRNG'ler bile bu kadar büyük sürelere aldırış etmiyorlar çünkü uzaktan bile önemli değil.
Gazetede çok fazla matematik var, ancak söyleyebileceğim kadarıyla aslında rastgelelik kalitesi ile ilgili değil. Bundan hemen hemen her söz hemen hemen bu orijinal, büyük ölçüde yararsız iddialara atlar.
İnsanlar daha eski, daha güvenilir teknolojiler pahasına bu çoğunluğa atladılar. Örneğin, bir LCG’deki kelimelerin sayısını 3’e (bir Mersenne Twister’in “sadece 624” ’sünden çok az) ve her seferinde en üstteki kelimeyi çıkarırsanız, BigCrush’tan ( TestU01 test paketinin daha sert kısmı) geçer. ), Twister'in başarısız olmasına rağmen ( PCG kağıdı, şek. 2 ). Bu göz önüne alındığında, ben Mersenne Twister desteklemek bulabildim zayıf kanıtlar ne yaptığını neden dikkati başka seçenekler üzerine lehine?
Bu da tamamen tarihsel değil. Mersenne Twister’in PCG’de rastgele olandan daha az pratikte kanıtlanmış olduğunu söylemem bana söylendi . Ancak kullanım örnekleri, test bataryalarımızdan daha iyi yapabilecekleri kadar net mi? Bazı Google çalışanları muhtemelen olmadıklarını söylüyor.
Kısacası, Mersenne Twister'in hem tarihsel bağlamında hem de başka bir şekilde nasıl olumlu bir üne sahip olduğunu merak ediyorum. Bir yandan açıkça niteliklerinden şüpheliyim, ancak diğer yandan tamamen rastgele bir oluşum olduğunu hayal etmek zor.