Summary of A Current View of Random Number Generator
Yu Zhang
[email protected]
The author, George Marsaglia, of the paper “a current view of random number
generators” described three simple random number generators and some new methods
based on combination of different standard generators. By doing stringent test, the
author proved that these standard RNGs result in bad results and the new methods can
give satisfied numbers.
At the beginning of the paper, the author pointed that the simple random number
generators give a sequence number based on a linear transformation. He presented
three random number generators: Congruential, shift-register and lagged-Fibonacci in
detail and analyzed the properties of these generators.
Then, he presented an idea of combination in order to get better generator. According
to the idea, we can get better random results if we do simple computer operations like
+, -, * or ⊕ among simple generators. For example, we have two sequences a1, a2, …
and b1, b2, … which are generated by two simple generators. If we do the operation +,
the combined generator will give the result a1+b1, a2+b2,…. We can prove that the
result is the same or much better than either of the two random number generators.
Moreover, this kind of combined RNG also has another advantage: it make the results
more independent. Besides that, the author illustrate the period of the combined
generators. If the periods of a1, a2,… and b1, b2,… are rd and sd( r and s are
relatively prime), the period of a1+b1, a2+b2,… is rst( t is a divisor of d). Obviously,
the longest period is rsd and the shortest period is rs.
In the following part of the paper, the author gave some stringent tests and compared
different random number generators. He used several tests such as overlapping
m-tuple tests, overlapping-permutation tests, overlapping-pairs-sparse-occupancy
(OPSO) test, parking lot, lattice and related tests, and so on. The result of these tests
shows that, the combined generators such as Lagged-Fibonacci using * operation,
COMBO and NCOMBO are the best methods which passed all the tests. The
Lagged-Fibonacci using + or – operation and Super-Duper, only failed in one test.
The worst generators are Lagged-Fibonacci using ⊕ and Shift-Register.
All in all, the combination generators are the best, congruential generators are also
satisfied, do not use ⊕operation.