It is high time we let go of the Mersenne Twister

10/14/2019
by   Sebastiano Vigna, et al.
0

When the Mersenne Twister made his first appearance in 1997 it was a powerful example of how linear maps on F_2 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 20 years suggests that the Mersenne Twister has, in fact, severe defects, and should never be used as a general-purpose pseudorandom number generator. Many of these results are folklore, or are scattered through very specialized literature. This paper surveys these results for the non-specialist, providing new, simple, understandable examples, and it is intended as a guide for the final user, or for language implementors, so that they can take an informed decision about whether to use the Mersenne Twister or not.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/04/2018

String Periods in the Order-Preserving Model

The order-preserving model (op-model, in short) was introduced quite rec...
research
11/30/2020

Decay: A Monte Carlo library for the decay of a particle with ROOT compatibility

Recently, there is a need for a general-purpose event generator of decay...
research
10/04/2018

Randen - fast backtracking-resistant random generator with AES+Feistel+Reverie

Algorithms that rely on a pseudorandom number generator often lose their...
research
04/04/2017

A History of Metaheuristics

This chapter describes the history of metaheuristics in five distinct pe...
research
08/28/2018

PyDraw: a GUI drawing generator based on Tkinter and its design concept

The emergence of GUI is a great progress in the history of computer scie...
research
06/08/2023

Effective homology and periods of complex projective hypersurfaces

We provide an algorithm to compute an effective description of the homol...
research
10/18/2022

NFGen: Automatic Non-linear Function Evaluation Code Generator for General-purpose MPC Platforms

Due to the absence of a library for non-linear function evaluation, so-c...

Please sign up or login with your details

Forgot password? Click here to reset