A
random number generator (often abbreviated as
RNG) is a
computational or physical device designed to generate a sequence of
numbers or symbols that lack any pattern, i.e. appear
random.
The many
applications of randomness have led to the development of several different methods for generating
random data. Many of these have existed since ancient times, including
dice,
coin flipping, the
shuffling of
playing cards, the use of
yarrow stalks (by divination) in the
I Ching, and many other techniques. Because of the mechanical nature of these techniques, generating large amounts of sufficiently random numbers (important in statistics) required a lot of work and/or time. Thus, results would sometimes be collected and distributed as
random number tables. Nowadays, after the advent of computational random number generators, a growing number of government-run
lotteries, and lottery games, are using RNGs instead of more traditional drawing methods, such as using ping-pong or rubber balls. RNGs are also used today to determine the
odds of modern
slot machines.
[1]
Several computational methods for random number generation exist, but often fall short of the goal of true randomness — though they may meet, with varying success, some of the
statistical tests for randomness intended to measure how unpredictable their results are (that is, to what degree their patterns are discernible). Only in 2010 was the first truly random computational number generator produced, recurring to principles of
quantum physics.
[2]