It is high time we let go of the Mersenne Twister
Sebastiano Vigna

TL;DR
This paper reviews the historical and technical reasons why the Mersenne Twister, once widely used for pseudorandom number generation, is now considered unsuitable due to its severe defects and limitations.
Contribution
It provides a comprehensive survey of known issues with the Mersenne Twister, including new simple examples, to inform users and implementors about its drawbacks.
Findings
The Mersenne Twister has severe defects that compromise its reliability.
Long periods are not indicative of quality in pseudorandom generators.
The paper offers accessible explanations and guidance for users and developers.
Abstract
When the Mersenne Twister made his first appearance in 1997 it was a powerful example of how linear maps on could be used to generate pseudorandom numbers. In particular, the easiness with which generators with long periods could be defined gave the Mersenne Twister a large following, in spite of the fact that such long periods are not a measure of quality, and they require a large amount of memory. Even at the time of its publication, several defects of the Mersenne Twister were predictable, but they were somewhat obscured by other interesting properties. Today the Mersenne Twister is the default generator in C compilers, the Python language, the Maple mathematical computation system, and in many other environments. Nonetheless, knowledge accumulated in the last years suggests that the Mersenne Twister has, in fact, severe defects, and should never be used as a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms · Chaos-based Image/Signal Encryption · Cryptography and Residue Arithmetic
