词条 | List of random number generators | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
释义 |
Random number generators are important in many kinds of technical applications, including physics, engineering or mathematical computer studies (e.g., Monte Carlo simulations), cryptography and gambling (on game servers). This list includes many common types, regardless of quality. Pseudorandom number generators (PRNGs)Whenever using a pseudorandom number generator, keep in mind John von Neumann's dictum "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin."[1] The following algorithms are pseudorandom number generators.
Cryptographic algorithmsCipher algorithms and cryptographic hashes can be used as very high-quality pseudorandom number generators. However, generally they are considerably slower (typically by a factor 2-10) than fast, non-cryptographic random number generators. These include:
A few cryptographically secure pseudorandom number generators do not rely on cipher algorithms but try to link mathematically the difficulty of distinguishing their output from a `true' random stream to a computationally difficult problem. These approaches are theoretically important but are too slow to be practical in most applications. They include:
Random number generators that use external entropyThese approaches combine a pseudo-random number generator (often in the form of a block or stream cipher) with an external source of randomness (e.g., mouse movements, delay between keyboard presses etc.).
Hardware (true) random number generators (TRNGs)The following is a list of companies that produce hardware random number generators:
Random number serversThe following (non-exhaustive) list of websites claim to provide random numbers generated from a truly random source, with many providing additional randomisation services:
The following websites claim to generate pseudo-random numbers:
Well-known PRNG APIs
See also
References1. ^{{cite journal | last= Von Neumann | first= John | title= Various techniques used in connection with random digits | journal= National Bureau of Standards Applied Mathematics Series | year= 1951 | volume= 12 | pages= 36–38 | url= https://dornsifecms.usc.edu/assets/sites/520/docs/VonNeumann-ams12p36-38.pdf}} 2. ^Some of von Neumann's 1949 papers were printed only in 1951. John von Neumann, “Various techniques used in connection with random digits,” in A.S. Householder, G.E. Forsythe, and H.H. Germond, eds., Monte Carlo Method, National Bureau of Standards Applied Mathematics Series, vol. 12 (Washington, D.C.: U.S. Government Printing Office, 1951): pp. 36-38. 3. ^{{Cite journal|last=Lehmer|first=Derrick H.|date=1951|title=Mathematical methods in large-scale computing units|url=|journal=Proceedings of 2nd Symposium on Large-Scale Digital Calculating Machinery|pages=141–146|doi=|pmid=|access-date=|via=}} 4. ^{{Cite journal|last=Thomson|first=W. E.|date=1958|title=A Modified Congruence Method of Generating Pseudo-random Numbers|url=https://academic.oup.com/comjnl/article/1/2/83/425243|journal=The Computer Journal|volume=1|issue=2|pages=83|doi=10.1093/comjnl/1.2.83|pmid=|access-date=|via=}} 5. ^{{Cite journal|last=Rotenberg|first=A.|date=1960|title=A New Pseudo-Random Number Generator|url=https://dl.acm.org/citation.cfm?id=321019|journal=Journal of the ACM|volume=7|issue=1|pages=75–77|via=|doi=10.1145/321008.321019}} 6. ^D. E. Knuth, The Art of Computer Programming, Vol. 2 Seminumerical Algorithms, 3rd ed., Addison Wesley Longman (1998); See pag. 27. 7. ^{{Cite journal|last=Tausworthe|first=R. C.|date=1965|title=Random Numbers Generated by Linear Recurrence Modulo Two|url=http://www.ams.org/journals/mcom/1965-19-090/S0025-5718-1965-0184406-1/S0025-5718-1965-0184406-1.pdf|journal=Mathematics of Computation|volume=19|issue=90|pages=201–209|via=|doi=10.1090/S0025-5718-1965-0184406-1}} 8. ^{{Cite journal|last=Wichmann|first=Brian A.|last2=Hill|first2=David I.|date=1982|title=Algorithm AS 183: An Efficient and Portable Pseudo-Random Number Generator|journal=Journal of the Royal Statistical Society. Series C (Applied Statistics)|volume=31|issue=2|pages=188–190|doi=10.2307/2347988|jstor=2347988}} 9. ^{{Cite web|url=https://support.microsoft.com/en-us/help/828795/description-of-the-rand-function-in-excel|title=Microsoft Support - Description of the RAND function in Excel|last=|first=|date=Apr 17, 2018|website=|archive-url=|archive-date=|dead-url=|access-date=}} 10. ^{{Cite web|url=https://docs.python.org/2/library/random.html|title=Documentation » The Python Standard Library » 9. Numeric and Mathematical Modules » 9.6. random — Generate pseudo-random numbers|last=|first=|date=|website=|archive-url=|archive-date=|dead-url=|access-date=}} 11. ^{{cite journal|author = Wolfram, S.|title = Statistical mechanics of cellular automata|journal = Rev. Mod. Phys.|volume = 55|pages = 601–644|year = 1983|doi = 10.1103/RevModPhys.55.601|bibcode=1983RvMP...55..601W|issue = 3}} 12. ^{{Cite journal|last=Eichenauer|first=Jürgen|last2=Lehn|first2=Jürgen|date=1986|title=A nonlinear congruential pseudorandom number generator.|journal=Statistische Hefte|volume=27|pages=315–326|doi=10.1007/BF02932576}} 13. ^{{Cite journal|last=Park|first=Stephen K.|last2=Miller|first2=Keith W.|date=1988|title=Random Number Generators: Good Ones Are Hard To Find|url=http://www.firstpr.com.au/dsp/rand31/p1192-park.pdf|journal=Communications of the ACM|volume=31|issue=10|pages=1192–1201|via=|doi=10.1145/63039.63042}} 14. ^{{Cite journal|last=Wikramaratna|first=R. S.|date=1989|title=ACORN — A new method for generating sequences of uniformly distributed Pseudo-random Numbers|url=|journal=Journal of Computational Physics|volume=83|pages=16–31|via=|doi=10.1016/0021-9991(89)90221-0}} 15. ^Wikramaratna, R.S. Theoretical and empirical convergence results for additive congruential random number generators, Journal of Computational and Applied Mathematics (2009), doi:10.1016/j.cam.2009.10.015 16. ^{{cite journal |doi=10.1016/0021-9991(91)90015-D|title=On the Monte Carlo simulation of physical systems|journal=Journal of Computational Physics|volume=97|issue=2|pages=566|year=1991|last1=Savvidy|first1=G.K|last2=Ter-Arutyunyan-Savvidy|first2=N.G|bibcode=1991JCoPh..97..566S}} 17. ^1 {{Cite journal|last=George|first=Marsaglia|last2=Zaman|first2=Arif|date=1991|title=A new class of random number generators|url=https://projecteuclid.org/download/pdf_1/euclid.aoap/1177005878|journal=Annals of Applied Probability|volume=1|issue=3|pages=462–480|via=|doi=10.1214/aoap/1177005878}} 18. ^{{Cite journal|last=Martin|first=Lüscher|date=1994|title=A portable high-quality random number generator for lattice field theory simulations|url=https://www.sciencedirect.com/science/article/pii/0010465594902321|journal=Computer Physics Communications|volume= 79| issue = 1|pages=100–110|via=|doi=10.1016/0010-4655(94)90232-1|arxiv=hep-lat/9309020}} 19. ^{{Cite journal|last=Matthews|first=Robert A. J.|date=1992|title=Maximally periodic reciprocals|url=https://www.researchgate.net/publication/266728416|journal=Bull. Inst. Math. Appl.|volume=28|pages=147–148|via=}} 20. ^{{Cite journal|last=Marsaglia|first=George|last2=Zaman|first2=Arif|date=1993|title=The KISS generator|url=|journal=Technical Report, Department of Statistics, Florida State University, Tallahassee, FL, USA|volume=|issue=|doi=|pmid=|access-date=|via=}} 21. ^Post by George Marsaglia on the newsgroup sci.stat.math dated 1 August 2018 with title '[https://groups.google.com/forum/#!searchin/sci.stat.math/Yet$20another$20rng%7Csort:date/sci.stat.math/p7aLW3TsJys/QGb1kti6kN0J Yet another RNG]'. 22. ^{{Cite journal|last=Koç|first=Cemal|date=1995|title=Recurring-with-Carry Sequences|journal=Journal of Applied Probability|volume= 32|issue=4|pages=966–971|jstor=3215210|doi=10.2307/3215210}} 23. ^{{Cite journal|last=Couture|first=Raymond|last2=L'Ecuyer|first2=Pierre|date=1997|title=Distribution properties of multiply-with-carry random number generators|url=http://www.ams.org/journals/mcom/1997-66-218/S0025-5718-97-00827-2/S0025-5718-97-00827-2.pdf|journal=Mathematics of Computation|volume=66 Number. 218|pages=591–607|via=}} 24. ^{{Cite journal|last=Matsumoto|first=M.|last2=Nishimura|first2=T.|date=1998|title=MersenneTwister: A623-dimensionally Equidistributed Uniform Pseudo-Random Number Generator|url=|journal=ACM Trans. On Modeling and Computer Simulation|volume=8|issue=1|pages=3–30|via=|doi=10.1145/272991.272995|citeseerx=10.1.1.215.1141}} 25. ^{{cite journal| first=George | last=Marsaglia | authorlink=George Marsaglia| title=Xorshift RNGs| journal=Journal of Statistical Software| volume=8 | issue=14| date=July 2003| doi=10.18637/jss.v008.i14}} 26. ^{{Cite journal| ref = harv| doi = 10.1145/1132973.1132974| title = Improved long-period generators based on linear recurrences modulo 2| journal = ACM Transactions on Mathematical Software| volume = 32| number = 1| pages = 1–16| date = March 2006| last1 = Panneton | first1 = François O. | last2 = l'Ecuyer | first2 = Pierre | last3 = Matsumoto | first3 = Pierre | url = http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf| citeseerx = 10.1.1.73.5499}} 27. ^{{Cite web|url=http://burtleburtle.net/bob/rand/smallprng.html|title=A small noncryptographic PRNG|last=Jenkins|first=Bob|date=2009|website=|archive-url=|archive-date=|dead-url=|access-date=}} 28. ^1 2 {{Cite conference|title = Parallel random numbers: as easy as 1, 2, 3|last = Salmon|first = John|date = 2011|book-title = Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, Article No. 16|doi = 10.1145/2063384.2063405|last2 = Moraes|first2 = Mark|last3 = Dror|first3 = Ron|last4 = Shaw|first4 = David}} 29. ^{{Cite journal|last=Steele|first=Guy L. Jr.|last2=Lea|first2=Doug|last3=Flood|first3=Christine H.|date=2014|title=Fast splittable pseudorandom number generators|url=http://gee.cs.oswego.edu/dl/papers/oopsla14.pdf|journal=OOPSLA '14 Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications|volume=|pages=|via=}} 30. ^{{Cite journal|last=O'Neill|first=Melissa E.|date=2014|title=PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation|url=http://www.pcg-random.org/pdf/hmc-cs-2014-0905.pdf|journal=Technical Report|volume=|pages=|via=}} 31. ^{{Cite journal|last=Cookman|first=Richard|date=2016|title=random cycle bit generator (rcb_generator)|url=https://github.com/ceorron/cycle-bit-random-number-generator|journal=Technical Report|volume=|pages=|via=}} 32. ^{{cite arXiv |last=Blackman |first=David |last2=Vigna|first2=Sebastiano|eprint=1805.01407 |title= Scrambled Linear Pseudorandom Generators|class=cs.DS |year=2018 }} 33. ^{{Citation |title=Real time demonstration of high bitrate quantum random number generation with coherent laser light |author1=Thomas Symul |author2=Syed M. Assad |author3=Ping Koy Lam |journal=Applied Physics Letters |volume=98 |issue=23 |page=231103|date=2011-06-07 |doi=10.1063/1.3597793 |arxiv=1107.4438}} External links
4 : Computing-related lists|Mathematics-related lists|Pseudorandom number generators|Random number generation |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。