Algorithms for generating numbers according to a particular probability distribution. For example, the two most common problems are generating integers uniformly between 1 and n, and generating real numbers uniformly between 0 and 1. Other common distributions include Gaussian and Poisson. Because most random-number-generation algorithms have no influence from the outside environment, they are inherently pseudorandom: predictable, and following a pattern, also ideally not an apparent one. Thus the quote:
"Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." - John von Neumann (1951)A classic reference on this topic, and a good starting point, is Donald Knuth's Art of Computer Programming.
"Random number generators should not be chosen at random." - Donald Knuth (1986)Another good reference, for nonuniform random number generation in particular, is Luc Devroye's Non-Uniform Random Variate Generation (Springer-Verlag); see also his page in this category. There are also some approaches that claim to be "truly random," based on outside data like radioactive decay and white noise from deep space. However, randomness is inherently a theoretical notion, and is difficult to exhibit perfectly in real life, unless perhaps we fully master quantum mechanics.
Related categories 7
A pseudorandom number sequence test program. Free download of C++ source code and MS-DOS executable.
Fast RNG for the Linux kernel. A sourceforge project.
HENKOS Pseudorandom Number Generator
Presents and evaluates this generator, intended for use as a key generator for a one-time pad cipher.
Netlib: Random Number Generators
Source code for various random number generators in C and Fortran, including the well-known RANLIB library supporting many continuous and discrete probability distributions.
NIST: Random Number Generation and Testing
Project to develop a battery of statistical tests to detect nonrandomness in binary sequences, to produce documentation and a software implementation of these tests, and to provide guidance in the use of these tests.
The pLab Project
A server on the theory and practice of random number generation.
Pseudo Random Number Generators
Algorithms for good random number generators with theoretical discussion and software examples.
Generators for random number samples, random selection and random check number audits. Windows software for on-line purchase.
Random Number Generation, Taygeta Scientific Inc.
Information and articles on random number generation.
Random Number Generator
A small, simple open-source shareware program by Scott Donato Saccenti [Win95].
Random Number Generator Algorithms
Documentation of algorithms in the GNU Scientific Library Reference Manual.
A pseudorandom number generator package for Java. Source code free under BSD licence.
Universal Non-Uniform RANdom number generators: a GPL library of C functions to generate nonuniform random numbers, by Josef Leydold and Wolfgang Hoermann of the University of Economics, Vienna.
Last update:January 4, 2015 at 10:49:51 UTC