메르 센 트위스터는 좋은 것으로 널리 알려져 있습니다. 지옥, CPython의 소스 는 "현존하는 가장 광범위하게 테스트 발전기 중 하나입니다."라고 말한다 그러나 이것이 무엇을 의미합니까? 이 생성기의 속성을 나열하라는 메시지가 표시되면 제공 할 수있는 대부분이 나쁩니다.
- 방대하고 융통성이 없습니다 (예 : 탐색 또는 여러 스트림이 없음).
- 대규모 상태에도 불구하고 표준 통계 테스트에 실패합니다.
- 0 주위에 심각한 문제가 있습니다.
- 거의 빠르지 않습니다
등등. XorShift *와 같은 간단한 RNG에 비해 절망적으로 복잡합니다.
그래서 왜 이것이 좋은 것으로 생각되는지에 대한 정보를 찾았습니다. 이 논문 은 "슈퍼 천문학적"기간과 623 차원 등분 포에 대해 많은 언급을하고있다.
많은 공지 된 측정들 중에서, 스펙트럼 테스트 (cf, Knuth [1981]) 및 k- 분포 테스트와 같은 더 높은 치수 균일성에 기초한 테스트가 가장 강한 것으로 간주된다.
그러나이 속성의 경우 발전기는 충분한 길이 의 카운터 로 맞습니다 ! 이것은 로컬 배포판에 대한 주석을 만들지 않으며 , 이는 실제로 발전기에서 신경 쓰는 것입니다 ( "로컬"은 다양한 것을 의미 할 수 있음). CSPRNG조차도 원격으로 중요하지 않기 때문에 그러한 큰 기간 동안 신경 쓰지 않습니다.
논문에는 많은 수학이 있지만, 거의 말할 수없는 한 실제로는 임의성에 관한 것입니다. 그에 대한 거의 모든 언급은 빠르게 쓸모없는 원래의 주장으로 빠르게 되돌아갑니다.
사람들이 더 오래되고 더 안정적인 기술을 희생하면서이 악 대차에 뛰어 들었던 것처럼 보입니다. 예를 들어 LCG의 단어 수를 3으로 늘리고 (Mersenne Twister의 "624"보다 훨씬 적음) 각 패스마다 최상위 단어를 출력하면 BigCrush ( TestU01 테스트 스위트의 더 어려운 부분)를 전달합니다 ), Twister가 실패 했음에도 불구하고 ( PCG 논문, 그림 2 ). 이것은 감안할 때, 나는이 메르 센 트위스터의 지원에서 찾을 수 있었다 약한 증거는, 어떤 한 원인의 관심을 다른 선택에 그것을 선호하는?
이것은 순전히 역사적이 아닙니다. Mersenne Twister는 PCG random 보다 실제적으로 적어도 더 입증되었다는 말을 들었습니다 . 그러나 유스 케이스는 우리의 테스트 배터리보다 더 잘 할 수 있도록 안목이 있습니까? 일부 인터넷 검색은 아마도 그렇지 않을 것이라고 제안합니다.
요컨대, 메르 센 트위스터가 역사적 맥락과 그 밖의 측면에서 어떻게 광범위한 긍정적 인 평판을 얻었는지 궁금합니다. 한편으로는 분명히 그 특성에 회의적이지만 다른 한편으로는 그것이 완전히 무작위로 발생했다고 상상하기 어렵습니다.