History of uniform random number generation

Random number generators were invented before there were symbols for writing numbers, and long before mechanical and electronic computers. All major civilizations through the ages found the urge to make random selections, for various reasons. Today, random number generators, particularly on computers, are an important (although often hidden) ingredient in human activity. In this article, we give a historical account on the design, implementation, and testing of uniform random number generators used for simulation.

[1]  Jean-François Cordeau,et al.  Close-Point Spatial Tests and Their Application to Random Number Generators , 2000, Oper. Res..

[2]  Makoto Matsumoto,et al.  Twisted GFSR generators , 1992, TOMC.

[3]  Brian D. Ripley,et al.  Quick tests for spatial interaction , 1978 .

[4]  J. Fu,et al.  DISTRIBUTION THEORY OF RUNS AND PATTERNS ASSOCIATED WITH A SEQUENCE OF MULTI-STATE TRIALS , 1996 .

[5]  Makoto Matsumoto,et al.  Twisted GFSR generators II , 1994, TOMC.

[6]  H. Zeisel,et al.  A Remark on Algorithm as 183. An Efficient and Portable Pseudo‐Random Number Generator , 1986 .

[7]  P. L'Ecuyer,et al.  Fast combined multiple recursive generators with multipliers of the form a=/spl plusmn/2/sup q//spl plusmn/2/sup r/ , 2000, 2000 Winter Simulation Conference Proceedings (Cat. No.00CH37165).

[8]  Pierre L'Ecuyer,et al.  Random numbers for simulation , 1990, CACM.

[9]  P. L'Ecuyer,et al.  About polynomial-time “unpredictable” generators , 1989, WSC '89.

[10]  J. Wishart Statistical tables , 2018, Global Education Monitoring Report.

[11]  P. L’Ecuyer,et al.  Structural properties for two classes of combined random number generators , 1990 .

[12]  H. Solomon,et al.  On Combining Pseudorandom Number Generators , 1979 .

[13]  Dennis K. J. Lin,et al.  Random Number Generation for the New Century , 2000 .

[14]  J. P. R. Tootill,et al.  The Runs Up-and-Down Performance of Tausworthe Pseudo-Random Number Generators , 1971, JACM.

[15]  Stefan Wegenkittl,et al.  A survey of quadratic and inversive congruential pseudorandom numbers , 1998 .

[16]  P. L’Ecuyer Random Number Generation , 2012 .

[17]  Pierre L'Ecuyer,et al.  rstream: Streams of Random Numbers for Stochastic Simulation , 2005 .

[18]  Wouter Peremans,et al.  Reduced sequences of integers and pseudo-random numbers , 1953 .

[19]  Pierre L'Ecuyer,et al.  Orbits and lattices for linear random number generators with composite moduli , 1996, Math. Comput..

[20]  W. E. Thomson Ernie—A Mathematical and Statistical Analysis , 1959 .

[21]  Simon Heron,et al.  Encryption: Advanced Encryption Standard (AES) , 2009 .

[22]  Markos V. Koutras,et al.  Distribution Theory of Runs: A Markov Chain Approach , 1994 .

[23]  U. Dieter,et al.  How to calculate shortest vectors in a lattice , 1975 .

[24]  Takuji Nishimura,et al.  Tables of 64-bit Mersenne twisters , 2000, TOMC.

[25]  S. Tezuka Uniform Random Numbers: Theory and Practice , 1995 .

[26]  R. K. Pathria,et al.  A statistical study of randomness among the first 10,000 digits of , 1962 .

[27]  Pierre L'Ecuyer,et al.  Efficient Jump Ahead for 2-Linear Random Number Generators , 2006, INFORMS J. Comput..

[28]  N. Metropolis,et al.  Statistical treatment of values of first 2,000 decimal digits of and of calculated on the ENIAC , 1950 .

[29]  Pierre L'Ecuyer Efficient and portable 32-bit random variate generators , 1986, WSC '86.

[30]  George Marsaglia,et al.  One-line random number generators and their use in combinations , 1968, Commun. ACM.

[31]  P. L’Ecuyer,et al.  On the lattice structure of certain linear congruential sequences related to AWC/SWB generators , 1994 .

[32]  Martin Greenberger,et al.  Random number generators , 1959, ACM National Meeting.

[33]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[34]  W. O. Kermack,et al.  XVII.—Tests for Randomness in a Series of Numerical Observations , 1938 .

[35]  Ted G. Lewis,et al.  Generalized Feedback Shift Register Pseudorandom Number Algorithm , 1973, JACM.

[36]  Pierre L'Ecuyer,et al.  Maximally equidistributed combined Tausworthe generators , 1996, Math. Comput..

[37]  Pierre L'Ecuyer,et al.  An Implementation of the Lattice and Spectral Tests for Multiple Recursive Linear Random Number Generators , 1997, INFORMS J. Comput..

[38]  G. Marsaglia,et al.  A New Class of Random Number Generators , 1991 .

[39]  Pierre L'Ecuyer,et al.  Tables of linear congruential generators of different sizes and good lattice structure , 1999, Math. Comput..

[40]  Pierre L’Ecuyer,et al.  Random Number Generation , 2008, Encyclopedia of Algorithms.

[41]  Pierre L'Ecuyer,et al.  Variance Reduction's Greatest Hits , 2007 .

[42]  J. R. Heringa,et al.  Simulation of a directed random-walk model the effect of pseudo-random-number correlations , 1996, cond-mat/9612227.

[43]  Pierre L’Ecuyer,et al.  F 2-Linear Random Number Generators , 2007 .

[44]  Pierre L'Ecuyer,et al.  Improved long-period generators based on linear recurrences modulo 2 , 2004, TOMS.

[45]  Pierre L'Ecuyer,et al.  An Object-Oriented Random-Number Package with Many Long Streams and Substreams , 2002, Oper. Res..

[46]  Pierre L'Ecuyer,et al.  Random numbers for parallel computers: Requirements and methods, with emphasis on GPUs , 2015, Math. Comput. Simul..

[47]  Pierre L'Ecuyer,et al.  On the performance of birthday spacings tests with certain families of random number generators , 2001 .

[48]  Timothy R. C. Read,et al.  Goodness-Of-Fit Statistics for Discrete Multivariate Data , 1988 .

[49]  Pierre L'Ecuyer,et al.  Distribution properties of multiply-with-c arry random number generators , 1997, Math. Comput..

[50]  M. J. Durst Using linear congruential generators for parallel random number generation , 1989, WSC '89.

[51]  Oded Goldreich,et al.  Unbiased Bits from Sources of Weak Randomness and Probabilistic Communication Complexity , 1988, SIAM J. Comput..

[52]  Mark Goresky,et al.  Efficient multiply-with-carry random number generators with maximal period , 2003, TOMC.

[53]  R. Tausworthe Random Numbers Generated by Linear Recurrence Modulo Two , 1965 .

[54]  Pierre L'Ecuyer,et al.  Linear congruential generators of order K>1 , 1988, WSC '88.

[55]  Richard J. Simard,et al.  A Software Library in ANSI C for Empirical Testing of Random Number Generators , 2013 .

[56]  Richard P. Brent,et al.  On the periods of generalized Fibonacci recurrences , 1994, ArXiv.

[57]  Alan M. Ferrenberg,et al.  Monte Carlo simulations: Hidden errors from "good" random number generators. , 1992, Physical review letters.

[58]  Pierre L'Ecuyer,et al.  Random number generation with multiple streams for sequential and parallel computing , 2015, 2015 Winter Simulation Conference (WSC).

[59]  Pierre L'Ecuyer,et al.  Combined generators with components from different families , 2003, Math. Comput. Simul..

[60]  Ramarathnam Venkatesan,et al.  Design of practical and provably good random number generators , 1995, SODA '95.

[61]  O. Taussky,et al.  Generation and testing of pseudo-random numbers , 1954 .

[62]  I. D. Hill,et al.  An Efficient and Portable Pseudo‐Random Number Generator , 1982 .

[63]  Pierre L'Ecuyer,et al.  On the xorshift random number generators , 2005, TOMC.

[64]  Peter Hellekalek,et al.  Empirical evidence concerning AES , 2003, TOMC.

[65]  H. Niederreiter Quasi-Monte Carlo methods and pseudo-random numbers , 1978 .

[66]  Paul Bratley,et al.  A guide to simulation , 1983 .

[67]  Vashek Matyas,et al.  Algorithm 970 , 2017, ACM Trans. Math. Softw..

[68]  Pierre L'Ecuyer,et al.  clRNG: A Random Number API with Multiple Streams for OpenCL , 2015 .

[69]  N. J. A. Sloane,et al.  Sphere Packings, Lattices and Groups , 1987, Grundlehren der mathematischen Wissenschaften.

[70]  Donald Ervin Knuth,et al.  The Art of Computer Programming, Volume II: Seminumerical Algorithms , 1970 .

[71]  Lih-Yuan Deng,et al.  Combining random number generators , 1991, 1991 Winter Simulation Conference Proceedings..

[72]  Mario Stipcevic,et al.  True Random Number Generators , 2014, Open Problems in Mathematics and Computational Science.

[73]  James H. Lindholm An analysis of the pseudo-randomness properties of subsequences of long m -sequences , 1968, IEEE Trans. Inf. Theory.

[74]  Pierre L'Ecuyer,et al.  Tables of maximally equidistributed combined LFSR generators , 1999, Math. Comput..

[75]  John H. Halton,et al.  Pseudo-random trees: multiple independent sequence generators for parallel and branching computations , 1989 .

[76]  Pierre L'Ecuyer,et al.  A search for good multiple recursive random number generators , 1993, TOMC.

[77]  A. Rotenberg,et al.  A New Pseudo-Random Number Generator , 1960, JACM.

[78]  Pierre L'Ecuyer,et al.  Uniform random number generation , 1994, Ann. Oper. Res..

[79]  Igor E. Shparlinski,et al.  Recent Advances in the Theory of Nonlinear Pseudorandom Number Generators , 2002 .

[80]  Michael Mascagni,et al.  SPRNG: A Scalable Library for Pseudorandom Number Generation , 1999, PP.

[81]  Paul O. Frederickson,et al.  A parallel Monte Carlo transport algorithm using a pseudo-random tree to guarantee reproducibility , 1987, Parallel Comput..

[82]  Pierre L'Ecuyer,et al.  Efficient and portable combined Tausworthe random number generators , 1990, TOMC.

[83]  M. Luescher,et al.  A Portable High-quality Random Number Generator for Lattice Field Theory Simulations , 1993 .

[84]  S. K. Park,et al.  Random number generators: good ones are hard to find , 1988, CACM.

[85]  A. Mood The Distribution Theory of Runs , 1940 .

[86]  Pierre L'Ecuyer,et al.  On the Deng-Lin random number generators and related methods , 2004, Stat. Comput..

[87]  Pierre L'Ecuyer,et al.  Bad Lattice Structures for Vectors of Nonsuccessive Values Produced by Some Linear Recurrences , 1997, INFORMS J. Comput..

[88]  J. P. R. Tootill,et al.  An Asymptotically Random Tausworthe Sequence , 1973, JACM.

[89]  A. C. Atkinson,et al.  The handbook of random number generation and testing with Testrand computer code , 1981 .

[90]  C. L. Mallows,et al.  Some Aspects of the Random Sequence , 1965 .

[91]  Lauwerens Kuipers,et al.  Uniform distribution of sequences , 1974 .

[92]  H. Weyl Über die Gleichverteilung von Zahlen mod. Eins , 1916 .

[93]  U. Fincke,et al.  Improved methods for calculating vectors of short length in a lattice , 1985 .

[94]  Pierre L'Ecuyer,et al.  Simulation in Java with SSJ , 2005, Proceedings of the Winter Simulation Conference, 2005..

[95]  J. Eichenauer-Herrmann Statistical independence of a new class of inversive congruential pseudorandom numbers , 1993 .

[96]  Shu Tezuka,et al.  The k-distribution of generalized feedback shift register pseudorandom numbers , 1983, CACM.

[97]  Vattulainen,et al.  Physical tests for random numbers in simulations. , 1994, Physical review letters.

[98]  Pierre L'Ecuyer,et al.  Random Number Generators: Selection Criteria and Testing , 1998 .

[99]  R. A. Fisher,et al.  Statistical Tables for Biological, Agricultural and Medical Research , 1956 .

[100]  Karl Pearson,et al.  Random sampling numbers , 2022 .

[101]  L. R. Moore,et al.  An Exhaustive Analysis of Multiplicative Congruential Random Number Generators with Modulus $2^{31} - 1$ , 1986 .

[102]  Lih-Yuan Deng,et al.  STATISTICAL JUSTIFICATION OF COMBINATION GENERATORS , 1997 .

[103]  P. A. W. Lewis,et al.  A Pseudo-Random Number Generator for the System/360 , 1969, IBM Syst. J..

[104]  Aaldert Compagner,et al.  On the use of reducible polynomials as random number generators , 1993 .

[105]  Michael Luby,et al.  Pseudorandomness and cryptographic applications , 1996, Princeton computer science notes.

[106]  W. O. Kermack,et al.  XXII.—Some Distributions associated with a Randomly Arranged Set of Numbers , 1938 .

[107]  Manuel Blum,et al.  Independent unbiased coin flips from a correlated biased source—A finite state markov chain , 1984, Comb..

[108]  Pierre L'Ecuyer,et al.  A Fast Jump Ahead Algorithm for Linear Recurrences in a Polynomial Space , 2008, SETA.

[109]  Pierre L'Ecuyer,et al.  Fast combined multiple recursive generators with multipliers of the form a = ±2q ±2r , 2000, WSC '00.

[110]  Richard Moulds,et al.  Quantum Random Number Generators , 2016 .

[111]  Richard P. Brent,et al.  Note on Marsaglia's Xorshift Random Number Generators , 2004 .

[112]  P. Moore A Million Random Digits with 100,000 Normal Deviates. , 1955 .

[113]  G. Marsaglia,et al.  Monkey tests for random number generators , 1993 .

[114]  Oystein Ore,et al.  Number Theory and Its History , 1949 .

[115]  Pierre L'Ecuyer,et al.  Combined Multiple Recursive Random Number Generators , 1995, Oper. Res..

[116]  G. S. Fishman Multiplicative congruential random number generators with modulus 2^{}: an exhaustive analysis for =32 and a partial analysis for =48 , 1990 .

[117]  Makoto Matsumoto,et al.  Strong deviations from randomness in m-sequences based on trinomials , 1996, TOMC.

[118]  H. B. Horton,et al.  A Direct Method for Producing Random Digits in any Number System , 1949 .

[119]  I. Good The serial test for sampling numbers and other tests for randomness , 1953, Mathematical Proceedings of the Cambridge Philosophical Society.

[120]  Anne Canteaut Berlekamp-Massey Algorithm , 2011, Encyclopedia of Cryptography and Security.

[121]  Pierre L'Ecuyer,et al.  A process-oriented simulation package based on Modula-2 , 1987, WSC '87.

[122]  SOME TESTS OF THE RANDOMNESS OF A MILLION DIGITS , 1948 .

[123]  Pierre L'Ecuyer,et al.  F2-Linear Random Number Generators , 2009 .

[124]  J. Wolfowitz,et al.  The Covariance Matrix of Runs Up and Down , 1944 .

[125]  Richard E. Nance,et al.  Some Experimental Observations on the Behavior of Composite Random Number Generators , 1978, Oper. Res..

[126]  J. Franklin,et al.  Numerical Simulation of Stationary and Non-Stationary Gaussian Random Processes , 1965 .

[127]  H. Grothe,et al.  The lattice structure of pseudo-random vectors generated by matrix generators , 1988 .

[128]  Pierre L'Ecuyer Uniform random number generators , 1998, WSC '98.

[129]  Pierre L'Ecuyer,et al.  A random number generator based on the combination of four LCGs , 1997 .

[130]  Pierre L'Ecuyer,et al.  Implementing a random number package with splitting facilities , 1991, TOMS.

[131]  RECURRING-WITH-CARRY SEQUENCES , 1995 .

[132]  Glyn Carter,et al.  Aspects of local linear complexity , 1989 .

[133]  Pierre L'Ecuyer,et al.  Beware of linear congruential generators with multipliers of the form a = ±2q ±2r , 1999, TOMS.

[134]  Elaine B. Barker,et al.  A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications , 2000 .

[135]  A. Grube,et al.  Mehrfach rekursiv‐erzeugte Pseudo‐Zufallszahlen , 1973 .

[136]  Lih-Yuan Deng,et al.  A system of high-dimensional, efficient, long-cycle and portable uniform random number generators , 2003, TOMC.

[137]  Robert E. Greenwood Coupon collector’s test for random digits , 1955 .

[138]  Pierre L'Ecuyer,et al.  Good Parameters and Implementations for Combined Multiple Recursive Random Number Generators , 1999, Oper. Res..

[139]  Pierre L'Ecuyer,et al.  On the Lattice Structure of a Special Class of Multiple Recursive Random Number Generators , 2014, INFORMS J. Comput..

[140]  Harald Niederreiter,et al.  Introduction to finite fields and their applications: List of Symbols , 1986 .

[141]  Su. Centre-Ville,et al.  Construction of Equidistributed Generators based on linear recurrences modulo 2 , 2000 .

[142]  Martin Greenberger,et al.  Method in randomness , 1965, CACM.

[143]  M. E. Muller The Handbook of Random Number Generation and Testing with TESTRAND Computer Code , 1983 .

[144]  R. R. Coveyou,et al.  Fourier Analysis of Uniform Random Number Generators , 1967, JACM.

[145]  G. Marsaglia The Structure of Linear Congruential Sequences , 1972 .

[146]  Y. Peres Iterating Von Neumann's Procedure for Extracting Random Bits , 1992 .

[147]  Martin Greenberger,et al.  Notes on a New Pseudo-Random Number Generator , 1961, JACM.

[148]  F. James,et al.  RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Lüscher , 1994 .

[149]  F. James A Review of Pseudorandom Number Generators , 1990 .

[150]  Jacob Wolfowitz,et al.  Asymptotic Distribution of Runs Up and Down , 1944 .

[151]  Steven A. Orszag,et al.  CBMS-NSF REGIONAL CONFERENCE SERIES IN APPLIED MATHEMATICS , 1978 .

[152]  Pierre L'Ecuyer,et al.  Sparse Serial Tests of Uniformity for Random Number Generators , 1998, SIAM J. Sci. Comput..

[153]  Mark A. Moraes,et al.  Parallel random numbers: As easy as 1, 2, 3 , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[154]  Pierre L'Ecuyer,et al.  Efficient and portable combined random number generators , 1988, CACM.

[155]  Holger Grothe,et al.  Matrix generators for pseudo-random vector generation , 1987 .

[156]  Pierre L'Ecuyer,et al.  Testing random number generators , 1992, WSC '92.

[157]  L. Devroye Non-Uniform Random Variate Generation , 1986 .

[158]  J. Hammersley A Million Random Digits with 100,000 Normal Deviates. , 1955 .

[159]  Pierre L'Ecuyer,et al.  Software for uniform random number generation: distinguishing the good and the bad , 2001, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[160]  G. Marsaglia Random numbers fall mainly in the planes. , 1968, Proceedings of the National Academy of Sciences of the United States of America.

[161]  Sebastiano Vigna,et al.  An Experimental Exploration of Marsaglia's xorshift Generators, Scrambled , 2014, ACM Trans. Math. Softw..

[162]  Electrical Noise Generators , 1947, Proceedings of the IRE.

[163]  Manuel Blum,et al.  A Simple Unpredictable Pseudo-Random Number Generator , 1986, SIAM J. Comput..

[164]  T. E. Hull,et al.  Random Number Generators , 1962 .