skip to main content
article
Free Access

Random number generators: good ones are hard to find

Published:01 October 1988Publication History
Skip Abstract Section

Abstract

Practical and theoretical issues are presented concerning the design, implementation, and use of a good, minimal standard random number generator that will port to virtually all systems.

References

  1. 1 Bratley, P., Fox, B.L., and Schrage, E.L. A Guide to Simulation. Springer-Verlag, New York, 1983, pp. 180-213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Bulgren, W.G. Discrete System Simulation. Prentice-Hall, Englewood Cliffs, N.J., 1982, p. 155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Clocksin. W.F., and Mellish, C.S. Programming in Prolog. Springer- Verlag, New York, 1987, p. 153. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Coveyou, R.R., and MacPherson, R.D. Fourier analysis of uniform random number generators. J. ACM 14 (Jan. 1967}, 100-119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Collins, W.J. Intermediate Pascal Programming: A Case Study Approach. McGraw-Hill, New York, 1986, p. 157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Cooper, D., and Clancy, M. Oh! Pascal!. 2nd Ed. W. W. Norton, New York, 1985, p. 145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Fishman, G.S. Principles of Discrete Event Simulation. Wiley-Interscience, New York, 1978, pp. 345-391. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Fishman, G.S., and Moore, L.R. A statistical evaluation of multiplicative congruential random number generators with modulus 23~ - 1. J. Am. Stat. Assoc. 77, 377 {Mar. 1982), 129-136.Google ScholarGoogle Scholar
  9. 9 Fishman. G.S., and Moore, L.R. An exhaustive analy~ds of multiplicative congruential random number generators with modulus 22~ - 1. SIAM J. Sci. Stat. Comput. 7, 1 (1986), 24-45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Gabriel, R. Performance and Evaluation of LISP Systems. M.I.T. Press, Cambridge, Mass., 1985, p. 140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 Gilbert, J.R. The University of Sheffield Pascal System for Prime Computers. University of Sheffield, Sheffield, England, 1987, p. 10.Google ScholarGoogle Scholar
  12. 12 Gottfried, B.S. Schaum's Outline of Theory and Problems of Programming with Pascal. McGraw-Hill, New York, 1985, p. 143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Grogono, P. Programming in Pascal. 2nd Ed. Addison-Wesley, Reading, Mass., 1984, pp. 135-137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 Hoaglin, D.C. Theoretical properties of congruential randomnumber generators: An empirical view. Memo NS-340. Dept. of Statistics, Harvard University, Cambridge, Mass., 1976.Google ScholarGoogle Scholar
  15. 15 Hull, T.T., and Dobell, A.R. Random number generators. SIAM Rev. 4 (July 1962), 230-254.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Hutchinson, D.W. A new uniform pseudorandom number generator. Commun. ACM 9, 6 (June 1966), 432-433. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 IMSL Stat/Library User's Manual. IMSL, Houston, Tex., 1987, pp. 947-951.Google ScholarGoogle Scholar
  18. 18 Knuth, D.E. The Art of Computer Programming. 2nd Ed. Addison- Wesley, Reading, Mass., 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 Konvalina. }., and Wileman, S. Programming with Pascal. McGraw- Hill, New York, 1987, p. 288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 Lamb, R. Pascal Structure and Style. Benjamin/Cummings, Menlo Park, Calif., 1986, pp. 226-227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 Lamie, E.L. Pascal Programming. John Wiley and Sons, New York, 1987, p. 150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 Law, A.M., and Kelton, W.D. Simulation Modeling and Analysis. McGraw-Hill, New York, 1982, pp. 219-239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23 Lavenberg, S.S., Ed. Computer Performance Modeling Handbook. Academic Press, New York, 1983, pp. 223-229. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 L'Ecuyer, P. Efficient and portable combined random number generators. Commun. ACM 31, 6 (June 1988), 742-749, 774. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25 Leestma, S., and Nyhoff, L. Pascal Programming and Problem Solving. Macmillan, New York, 1984, pp. 172-173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 Lehmer, D.H. Mathematical methods in large-scale computing units. Annu. Comput. Lab. Harvard Univ. 26 (1951), 141-146.Google ScholarGoogle Scholar
  27. 27 Lewis, P.A., Goodman, A.S., and Miller, J.M. A pseudo-random number generator for the System/360. IBM Syst. J. 8, 2 (1969), 136-146.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28 Maclaren, M.D., and Marsaglia, G. Uniform random number genera- Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 29 MacModuta-2 System Reference Manual. Modula Corporation, 1985, p. 41.Google ScholarGoogle Scholar
  30. 30 Marsaglia, G. Random numbers fall mainly in the planes. Natl. Acad. Sci. Prec. 61 (Sept. 1968), 25-28.Google ScholarGoogle ScholarCross RefCross Ref
  31. 31 Marsaglia, G., and Bray, T.A. One-line random number generators and their use in combinations. Commun. ACM 11, 11 (Nov. 1968), 757-759. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 32 Maryanski, F. Digital Computer Simulation. Hayden, Rochelle Park, N.J., 1980, pp. 224-230.Google ScholarGoogle Scholar
  33. 33 Moffat, D.V. Common Algorithms in Pascal. Prentice-Hall, Englewood Cliffs, N.J., 1984, pp. 201-203.Google ScholarGoogle Scholar
  34. 34 Motluzzo, J.C., and Buckely, F. Discrete Mathematics. Wadsworth, Belmont, Calif., 1986, pp. 219-221.Google ScholarGoogle Scholar
  35. 35 Nyhoff, L., and Leestma, S. FORTRAN 77 for Engineers and Scientists. Macmillan, New York, 1985, pp. 292-294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 36 Payne, J.A. Introduction to Simulation: Programming Techniques and Methods of Analysis. McGraw,Hill, New York, 1982, pp. 105-106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37 Payne, W.H., Rabung, J.R., and Bogyo, T.P. Coding the Lehmer pseudo-random number generator. Commun. ACM 12, 2 (Feb. 1969}, 85-86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38 SAS User's Guide: Basics, Version 5 Edition. SAS Institute Inc., Cary, N.C., 1985, pp. 278-280.Google ScholarGoogle Scholar
  39. 39 Sauer, C.H., and Chandy, K.M. Computer Systems Performance Modeling. Prentice-Hall, Englewood Cliffs, N.J., 1981, pp. 195-199.Google ScholarGoogle Scholar
  40. 40 Savitch, W.J. Pascal, An Introduction to the Art and Science of Programming. Benjamin/Cummings, Menlo Park, Calif., 1984, p. 244. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. 41 vSchrage, L. A more portable FORTRAN random number generator. ACM Trans. Math. Softw. 5, 2 (June 1979), 132-138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. 42 SLAM I1 Installation and Operations Guide, Version 3.2. Pritsker and Associates, West Lafayette, Ind., 1986, pp. 3.4-3.9.Google ScholarGoogle Scholar
  43. 43 Smith, M. FORTRAN 77, A Problem-Solving Approach. Houghton Mifflin, Boston, Mass., 1985, pp. 330-331. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. 44 Subroutines Reference Guide. 3rd Ed. Prime Computer, Natick, Mass., 1984, p. 12.45.Google ScholarGoogle Scholar
  45. 45 System/360 Scientific Subroutine Package, Version IlL Programmer's Manual. IBM, White Plains, New York, 1968, p. 77.Google ScholarGoogle Scholar
  46. 46 Turbo Pascal, Version 3.0. Borland International, Scotts Valley, Calif., 1986.Google ScholarGoogle Scholar
  47. 47 Wichmann, B.A., and Hill, I.D. An efficient and portable pseudorandom number generator. Appl. Stat, 31 (1982), 188-190.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Random number generators: good ones are hard to find

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image Communications of the ACM
            Communications of the ACM  Volume 31, Issue 10
            Oct. 1988
            66 pages
            ISSN:0001-0782
            EISSN:1557-7317
            DOI:10.1145/63039
            Issue’s Table of Contents

            Copyright © 1988 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 October 1988

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader