Abstract
In the mind of the average computer user, the problem of generating uniform variates by computer has been solved long ago. After all, every computer :system offers one or more function(s) to do so. Many software products, like compilers, spreadsheets, statistical or numerical packages, etc. also offer their own. These functions supposedly return numbers that could be used, for all practical purposes, as if they were the values taken by independent random variables, with a uniform distribution between 0 and 1. Many people use them with faith and feel happy with the results. So, why bother?
Other (less naive) people do not feel happy with the results and with good reasons. Despite renewed crusades, blatantly bad generators still abound, especially on microcomputers [55, 69, 85, 90, 100]. Other generators widely used on medium-sized computers are perhaps not so spectacularly bad, but still fail some theoretical and/or empirical statistical tests, and/or generate easily detectable regular patterns [56, 65].
Fortunately, many applications appear quite robust to these defects. But with the rapid increase in desktop computing power, increasingly sophisticated simulation studies are being performed that require more and more “random” numbers and whose results are more sensitive to the quality of the underlying generator [28, 40, 65, 90]. Sometimes, using a not-so-good generator can give totally misleading results. Perhaps this happens rarely, but can be disastrous in some cases. For that reason, researchers are still actively investigating ways of building generators. The main goal is to design more robust generators without having to pay too much in terms of portability, flexibility, and efficiency. In the following sections, we give a quick overview of the ongoing research. We focus mainly on efficient and recently proposed techniques for generating uniform pseudorandom numbers. Stochastic simulations typically transform such numbers to generate variates according to more complex distributions [13, 25]. Here, “uniform pseudorandom” means that the numbers behave from the outside as if they were the values of i.i.d. random variables, uniformly distributed over some finite set of symbols. This set of symbols is often a set of integers of the form {0, . . . , m - 1} and the symbols are usually transformed by some function into values between 0 and 1, to approximate the U(0, 1) distribution. Other tutorial-like references on uniform variate generation include [13, 23, 52, 54, 65, 84, 89].
- 1 Afflerbach, L. The sub-lattice structure of linear congruential random number generators. Manzcsc. Math. 55 (1986), 455-465.]]Google Scholar
Cross Ref
- 2 Afflerbach, L. and Grothe, H. Calculation of Minkowski-reduced lattice bases. Computing 35 (1985), 269-276.]] Google Scholar
Digital Library
- 3 Afflerbach, L. and Grothe, H. The lattice structure of pseudorandom vectors generated by matrix generators. J. of Comput. and Applied Math. 23 (1988), 127- 13 1.]] Google Scholar
Digital Library
- 4 Afflerbach, L. and Weilbacher, R. On Using Discrepancy for the Assessment of Pseudorandom Num-ber Generators. Submitted for publication, 1988.]]Google Scholar
- 5 Afflerbach, L. and Weilbacher, R. The exact determination of rectangle discrepancy for linear congruential pseudorandom numbers. Math. of Comput. 53, 187 (July 1989) 343-354.]]Google Scholar
Cross Ref
- 6 Alexi, W., Chor, B., Goldreich, 0. and Schnorr, C. P. RSA and Rabin Functions: Certain parts are as hard as the whole. SIAM J. on Comput. 17, 2 (1988) 194-209.]] Google Scholar
Digital Library
- 7 Andre, D. L., Mullen, G. L., and Niederreiter, H. Figures of merit for digital multistep pseudorandom numbers. Math. of Comput. To be published, 1990.]]Google Scholar
- 8 Arvillias, A. C. and Maritsas, D. G. Partitioning the period of a class of m-sequences and application to pseudorandom number generation. J. ACM 25,4 (1978) 675-686.]] Google Scholar
Digital Library
- 9 Blum, L., Blum, M. and Schub, M. A simple unpredictable pseudorandom number generator. SIAM J. Cornput. 15, 2 (1986) 364-383.]] Google Scholar
Digital Library
- 10 Boyar, J. Inferring sequences produced by pseudo-random number generators. J. ACM 36, 1 (1989) 129-141.]] Google Scholar
Digital Library
- 11 Brassard, G. and Bratley P. Algorithmics, Theory and Practice. Prentice-Hall, Englewood Cliffs, N.J., 1988.]] Google Scholar
Digital Library
- 12 Bratley, P. and Fox, B. L. Algorithm 659: Implementing Sobol's quasirandom sequence generator. ACM Trans. on Math. Softw. 14, 1 (Mar. 1988) 88-100.]] Google Scholar
Digital Library
- 13 Bratley, P., Fox, B. L. and Schrage, L. E. A Guide to Simulation. 2d ed. Springer-Verlag, New York, 1987.]] Google Scholar
Digital Library
- 14 Brown, M. and Solomon, H. On combining pseudorandom number generators. Ann. Stat. I (1979) 691-695.]]Google Scholar
Cross Ref
- 15 Carta, D. G. Two fast implementations of the "minimal standard" random number generator. Commm. ACM 33, 1 (Jan. 1990) 87-88. Celmaster, W. and Moriarty,]] Google Scholar
Digital Library
- 16 K. J. M. A method for vectorized random number generators. J. Comput. Phy. 64 (1986) 271-275.]] Google Scholar
Digital Library
- 17 Chassaing, P. An optimal random number generator on Z,. Stat. and Prob. Lett. 7 (1989) 307-309.]]Google Scholar
Cross Ref
- 18 Chor, B. and Goldreich, 0. Unbiased bits from sources of weak randomness and probabilistic communication complexity. SZAM J. Comput. 17, 2 (1988) 230-261.]] Google Scholar
Digital Library
- 19 Chung, F. R. K., Diaconis, P., and Graham, R. L. Random walks arising in random number generation. Ann. Probab. 15, 3 (1987) 1148-1165.]]Google Scholar
Cross Ref
- 20 Collings, B. J. Compound random number generators. J. Am. Stat. Assoc. 82, 398 (1987) 525-527.]]Google Scholar
Cross Ref
- 21 Collings, B. J. and Hembree, G. B. Initializing generalized feedback shift register pseudorandom number generators. J. ACM 33 (1986) 706-7 11. A, also in J. ACM, 35, 4 (1988) 1001.]] Google Scholar
Digital Library
- 22 Compagner, A. and Hoogland, A. Maximum length sequences, cellular automata, and random numbers. J. Comput. Phys. 71 (1987) 391-428.]] Google Scholar
Digital Library
- 23 Dagpunar, J. Principles of Random Variate Generation. Oxford University Press, 1988.]]Google Scholar
- 24 De Matteis, A. and Pagnutti, S. Parallelization of random number generators and long-range correlations. Numerische Mathematik 53 (1988) 595-608.]] Google Scholar
Digital Library
- 25 Devroye, L. Non-Uniform Random Variate Generation. Springer- Verlag, New York, 1986.]]Google Scholar
Cross Ref
- 26 Dieter, U. How to calculate shortest vectors in a lattice. Math. Comput., 29, 131 (1975) 827-833.]]Google Scholar
Cross Ref
- 27 Dudewicz, E. J. and Ralley, T. G. The Handbook of Random Number Generation and Testing with TESTRAND Computer Code. American Sciences Press, Columbus, Ohio, 1981.]]Google Scholar
- 28 Durst, M. J. Using linear congruential generators for parallel random number generation. In Proceedings of the I989 Winter Simulation Conference. IEEE Press (1989) pp. 462-466.]] Google Scholar
Digital Library
- 29 Eichenauer, J. and Lehn, J. A Nonlinear congruential pseudorandom number generator. Statist&he Hefie, 27 (1986) 3 15- 326.]]Google Scholar
- 30 Eichenauer, J. and Lehn, J. On the structure of quadratic congruential sequences. Manux. Math., 58 (1987) 129-140.]]Google Scholar
Cross Ref
- 31 Eichenauer. J., Grothe, H., Lehn. J. and Topuzoglu, A. A multiple recursive nonlinear congruential pseudorandom number generator. Manw. Math. 59 (I 987) 33 I - 346.]]Google Scholar
- 32 Eichenauer, J., Lehn, J. and Topuzoglu, A. .4 nonlinear congruential pseudorandom number generator with power of two modulus. Math. Comput. 51, 184 (1988) 757-759.]]Google Scholar
Cross Ref
- 33 Eichenauer-Herrmann, J., Grothe, H. and Lehn, J. On the period length of pseudorandom vector sequences generated by matrix generators. Math. Comput. 52, 185 (1989) 145-148.]]Google Scholar
Cross Ref
- 34 Eichenauer-Herrmann, J. lnversive congruential pseudorandom numbers avoid the planes. Math. Comput. (I 990). To be published.]]Google Scholar
- 35 Fishman, G. S. Multiplicative congruential random number generators with modulus 2P: an exhaustive analysis for /3 = 32 and a partial analysis for /3 = 48. Math. Comput. 54, 189 (Jan 1990) 331- 344.]]Google Scholar
- 36 Fishman, G. S. and Moore Ill, L. S. An exhaustive analysis of multiplicative congruential random number generators with modulus 2s' - 1. SIAM J. Sci. and Stat. Comput. 7, 1 (1986) 24-45.]] Google Scholar
Digital Library
- 37 Fushimi, M. Increasing the orders of equidistribution of the leading bits of the Tausworthe sequence. InJ hoc. Lett. 16 (1983) 189-192.]]Google Scholar
- 38 Fushimi, M. Designing a uniform random number generator whose subsequences are k-distributed. SIAM J. Comput. I 7, 1 (1988) 89- 99.]] Google Scholar
Digital Library
- 39 Fushimi, M. An equivalence relation between Tausworthe and GFSR sequences and applications. Applied Math. Lett. :?, 2 (I 989) 135- 137.]]Google Scholar
- 40 Fushimi, M. Random number generation on parallel processors. In Proceedings of the 1989 Winter Simulation Conference. IEEE Press (1989) pp. 459~-461.]] Google Scholar
Digital Library
- 41 Fushimi, M. Random number generation with the recursion X, = X,-jp @ X,--3y. In Comput. and Applied Math. (1990). To be published.]] Google Scholar
Digital Library
- 42 Fushimi, M. and Tezuka, S. The& distribution of generalized feedback shift register pseudorandom numbers. Commun. ACM 26, 7 (1983) 516-523.]] Google Scholar
Digital Library
- 43 Goldreich, O., Goldwasser, S. and Micali, S. How to construct random functions. J. ACM ?3, 4 (1986) 792-807.]] Google Scholar
Digital Library
- 44 Grothe, H. Matrix generators for pseudo-random vectors generation. Stat. Hefte 28 (I 987) 233-238.]]Google Scholar
Cross Ref
- 45 Grothe, H. Matrixgeneratoren zur Erzeugung gleichverteilter Pseudozufallsvektoren (in german). Dissertation (thesis), Tech. Hochschule Darmstadt, Germany, 1988.]]Google Scholar
- 46 Grube, A. Mehrfach rekursiverzeugte Pseudo-Zufallszahlen (in german). Zeitschrift fiir angewandte Math. und Mechanik 53 (1973) T223-T225.]]Google Scholar
- 47 Guinier, D. A fast uniform "Astronomical" random number generator. ACM SIGSAC Rev. 7, I (Spring 1989), l-13.]] Google Scholar
Digital Library
- 48 Haas, A. The multiple prime random number generator. ACM Trans. Math. Softw. 13, 4 (1987) 368-381.]] Google Scholar
Digital Library
- 49 Halton, J. H. Pseudo-random trees: Multiple independent sequence generators for parallel and branching computations. J, Comput. Phys. 84 (1989) l-56.]] Google Scholar
Digital Library
- 50 Hosack, J. M. The use of cebysev mixing to generate pseudorandom numbers. J. Comput. Phys. 67 (1986) 482-486.]] Google Scholar
Digital Library
- 51 Kannan, R., Lenstra, A. K. and Lov&sz, L. Polynomial factorization and nonrandomness of bits of algebraic and some transcendental numbers. Math. Comput. 50, 181 (1988) 235-250.]]Google Scholar
Cross Ref
- 52 Knuth, D. E. The Art of Computer Programming Vol. 2 Seminumerical Algorithms, 2d ed. Addison-Wesley, 1981.]] Google Scholar
Digital Library
- 53 Koniges, A. E. and Leith, C. E. Parallel processing of random number generation for Monte Carlo turbulence simulation. J. oJ Comput. Phys. 81 (1989) 230-235.]] Google Scholar
Digital Library
- 54 Law, A. M. and Kelton, W. D. Slmulation Modeling and Analysis, 2d ed., McGraw-Hill, 1991. To be published.]] Google Scholar
Digital Library
- 55 L'Ecuyer, P. A portable random number generat.or for 16.bit computers. Modelzng and Simulation on Microcomputers 1987. The Society for Computer Simulation (1987), pp. 45-49.]]Google Scholar
- 56 L'Ecuyer, P. Efficient and portable combined random number generators. Commun. ACM 31, 6 (1988) 742-749 and 774. Also see the correspondance in Commun. ACM 32, 8 (1989) 1019-1024.]] Google Scholar
Digital Library
- 57 L'Ecuyer, P. and Blouin, F. Linear congruential generators of order k > 1. In Proceedings of the 1988 Winter Simulation Conference, IEEE Press, (1988), pp. 432-439.]] Google Scholar
Digital Library
- 58 L'Ecuyer, P. and Blouin, F. Multiple Recursive and Matrix Linear Congruential Generators. Submitted for publication, 1990.]]Google Scholar
- 59 L'Ecuyer, P. and C&e, S. lmplementing a random number package with splitting facilities. ACM Trans. on Math. Softw. 1990. To be published.]] Google Scholar
Digital Library
- 60 L'Ecuyer, P. and Proulx, R. About Polynomial-Time "Unpredictable" Generators. In Proceedings of the 1989 Winter Simulation Conference, IEEE Press, (1989). pp. 467-476.]] Google Scholar
Digital Library
- 61 L'Ecuyer, P. and Tezuka, S. Structural Properties for Two Classes of Combined Generators. Submitted for publication, 1990.]]Google Scholar
- 62 Lewis, T. G. and Payne, W. H. Generalized feedback shift register pseudorandom number algorithm. J. ACM 20, 3 (1973) 456- 468.]] Google Scholar
Digital Library
- 63 Lidl, R. and Niederreiter, H. Introduction to Finite Fields and Their Applications. Cambridge University Press, Cambridge, 1986.]] Google Scholar
Digital Library
- 64 Marsaglia, G. Random numbers fall mainly in the planes. In Proceedings of the National Academy of Sciences of the United States of America 60 (1968) pp. 25-28.]]Google Scholar
Cross Ref
- 65 Marsaglia, G. A Current View of Random Number Generation. Computer science and statistics. In Proceedings of the Sixteenth Symposium on the Interface (Atlanta, March 1984). Elsevier Science Pub}., North-Holland, 1985, pp. 3-10.]]Google Scholar
- 66 Marsaglia, G. and Tsay, L.-H. Matrices and the structure of random number sequences. Linear Algebra and its Appl. 67 (1985) 147- 156.]]Google Scholar
Cross Ref
- 67 Marsaglia, G., Zaman, A., and Tsang, W. W. Towards a universal random number generator. Stat. and Prob. Lett. 8 (1990) 35-39.]]Google Scholar
Cross Ref
- 68 Marse, K. and Roberts, S. D. lmplementing a portable FORTRAN uniform (0,l) generator. Simulation 41, 4 (1983) 135-139.]]Google Scholar
Cross Ref
- 69 Modianos, D. T., Scott, R. C. and Cornwell, L. W. Testing intrinsic random number generators. Bytn .12, 1 (1987) 175-178.]] Google Scholar
Digital Library
- 70 Monahan, J. F. Accuracy in Random Number Generation. Math. of Corn& 45, 172 (1985) 559-568.]]Google Scholar
- 71 Morain, F. lmplementation of the Atkin-Goldwasser-Kilian primality testing algorithm. Rap. de recherthe 9 11, INRIA, Rocquencourt, France, 1988.]]Google Scholar
- 72 Mullen, G. L. and Niederreiter, H. Optimal characteristic polynomials for digital multistep pseudorandom numbers. Computing ?9 (1987) 155-163.]] Google Scholar
Digital Library
- 73 Nance, R. E. and Overstreet, C., Jr. Some experimental observations on the behavior of composite random number generators. Oper. Res. 26, 5 (1978) 915-935.]]Google Scholar
Digital Library
- 74 Narkiewicz, W. CJninz~orm Distribution of Sequences of Integers in Residue Classes. Lecture Notes in Mathematics, 1087, Springer-Verlag, 1984.]]Google Scholar
- 75 Niederreiter, H. Quasi-Monte Carlo methods and pseudorandom numbers. Bull. Am. Math. Sot. 84, 6 (1978) 957-1041.]]Google Scholar
Cross Ref
- 76 Niederreiter, H. A pseudorandom vector generator based on finite field arithmetic. Math. Japonica 31, 5 (1986) 759-774.]]Google Scholar
- 77 Niederreiter, H. A statistical analysis of generalized feedback shift register pseudorandom number generators. SIAM J. Sci. Stat. Comput. 8, 6 (1987) 1035-1051.]]Google Scholar
Cross Ref
- 78 Niederreiter, H. Remarks on nonlinear congruential pseudorandom numbers. Metriha 35 (1988) 321-328.]]Google Scholar
- 79 Niederreiter, H. Statistical independence of nonlinear congruential pseudorandom numbers. Monatshefte fiir Mathematik 106 (1988) 149- 159.]]Google Scholar
- 80 Niederreiter, H. The Serial Test for Digital k-Step Pseudorandom Numbers. Math. J. Okayama Univ. 30 (1988) 93-l 19.]]Google Scholar
- 81 Niederreiter, H. The serial test for congruential pseudorandom numbers generated by inversions. Math. of Comput. 52, 185 (1989) 135-144.]]Google Scholar
Cross Ref
- 82 Niederreiter, H. Lower bounds for the discrepancy of inversive congruential pseudorandom numbers. Math. Comput. 1990. To be published.]]Google Scholar
- 83 Niederreiter, H. Statistical independance properties of pseudorandom vectors produced by matrix generators. J. Cornput. Appl.Math. 1990. To be published.]] Google Scholar
Digital Library
- 84 Niederreiter, H. Recent trends in random number and random vector generation. Ann. Oper. Res. 1990. To be published.]] Google Scholar
Digital Library
- 85 Park, S. K. and Miller, K. W. Random number generators: Good ones are hard to find. Commun. ACM 31, 10 (1988) 1192-1201.]] Google Scholar
Digital Library
- 86 Percus, D. E. and Kales, M. Random number generators for MIMD parallel processors. J. Parallel and Distributed Comput. 6 (1989) 477-497.]] Google Scholar
Digital Library
- 87 Reif, J. H. and Tygar, J. D. Efficient parallel pseudorandom number generation. SIAM J. Comput. 17, 2 (1988) 404-411.]] Google Scholar
Digital Library
- 88 Ripley, B. D. The Lattice Structure of Pseudo-random Number Generators. In Proceedings of the Royal Society of London, 389 Ser. A, (1983) pp. 197-204.]]Google Scholar
- 89 Ripley, B. D. Stochastic Simulation. Wiley, New York, 1987.]] Google Scholar
Digital Library
- 90 Ripley, B. D. Uses and abuses of statistical simulation. Math. Prog., 42 (1988) 53-68.]] Google Scholar
Digital Library
- 91 Stern, J. Secret linear congruential generators are not cryptographically secure. In Proceedings of the 28th IEEE Symposium on Foundations of Computer Science (1987) pp. 42 l-426.]]Google Scholar
- 92 Tausworthe, R. C. Random numbers generated by linear recurrence modulo two. Math. of Comput., 19 (1965) 201-209.]]Google Scholar
Cross Ref
- 93 Tezuka, S. Walsh-spectral test for GFSR pseudorandom numbers. Commun. ACM 30, 8 (Aug. 1987) 731-735.]] Google Scholar
Digital Library
- 94 Tezuka, S. On the discrepancy of GFSR pseudorandom numbers. J. ACM 34, 4 (Oct. 1987), 939-949.]] Google Scholar
Digital Library
- 95 Tezuka, S. On optimal GFSR pseudorandom number generators. Math. of Computat. 50, 182 (Apr. 1988) 531-533.]]Google Scholar
Cross Ref
- 96 Tezuka, S. Random number generation based on the polynomial airthmetic module two. Rep. RT- 0017, IBM Research, Tokyo Research Laboratory, Oct. 1989.]]Google Scholar
- 97 Tezuka, S. Analysis of L'Ecuyer's combined random number generator. RT-5014, IBM Research, Tokyo Research Laboratory, Nov. 1989.]]Google Scholar
- 98 Tindo, G. Automates cellulaires; apphcations B la modelisation de certains systemes discrets et a la conception d'une architecture parallele pour la generation de suites pseudo-aleatoires. These de doctorat en informatique, Universite de Nantes, France, Jan. 1990.]]Google Scholar
- 99 Wichmann, B. A. and Hill, 1. D. An Efficient and portable pseudorandom number generator. Appl. Stat. 31 (1982) 188-190. Also see corrections and remarks in the same journal by Wichmann and Hill 33 123; (1984) McLeod 34 (1985) 198-200; Zeisel 35 (1986) 89.]]Google Scholar
Cross Ref
- 100 Wichmann, B. A. and Hill, I. D. Building a random number generator. Byte 12, 3 (1987) 127-128.]] Google Scholar
Digital Library
- 101 Wikramaratna, R. S. ACORN-A new method for generating sequences of uniformly distributed pseudo-random numbers. J. Comput. Phys. 83 (1989) 16-31.]] Google Scholar
Cross Ref
Index Terms
Random numbers for simulation
Recommendations
Parsing by numbers and asparagus
This topic was brought to mind by the title of a recentish publication[1], where "a tiny virtual machine" was mentioned. I have told you[2] about our virtual machine for Basic which ran in 16 kilobytes; the smallest of the processors used for the "tiny ...
Computer crime - numbers lie
These great thoughts are still useful today. The mystique surrounding computer crime numbers and losses tends to create the most surprising statistics. We have no valid numbers but many people like to present these data as valid and still more people ...








Comments