Mersenne Twister and Friends
Mersenne Twister and Friends
The Mathematica function SeedRandom comes with a variety of different methods:• "Sobol"—Sobol low-discrepancy sequence• "Niederreiter"—Niederreiter low-discrepancy sequence• "MCG31"—31-bit multiplicative congruential generator• "MCG59"—59-bit multiplicative congruential generator• "R250"—generalized feedback shift register generator• "WichmannHill"—Wichmann–Hill combined multiplicative congruential generators• "ExtendedCA"—extended cellular automaton generator (default)• "Rule30CA"—Wolfram rule 30 generator• "MersenneTwister"—Mersenne twister shift register generator• "MKL"—Intel MKL generator (Intel-based systems)
There are two basic types, often identifiable by sight. The pseudorandom methods (such as the Mersenne Twister) seem random, while the quasirandom methods (such as Sobol) seem to have a pattern, with less clustering. As an example of where quasirandom methods might be better, one method for estimating the area of a shape is to bound it, then to pick random points from that area. Using pseudorandom numbers gives the Monte Carlo method. With quasirandom numbers, the method is called quasi-Monte Carlo. Due to the relative evenness of the quasirandom methods, sometimes they give better estimates.