Number generator
Scientific and technological progress of the 20th century owes much to the development of probability theory and the creation of random number generators.
Random numbers are numbers that can be interpreted as the results of the implementation of some random variable - the basic concept of probability theory. The concept of randomness in this context implies the unpredictability of the value of a given quantity before the start of the experiment.
History of random numbers
Humanity's need to use random numbers arose long before the invention of devices by scientists that allow obtaining random arrays. For a long time, people used improvised means to generate random numbers, including objects of animate and inanimate nature.
One of the most striking examples of the simplest random number generators are the familiar dice, which are widely used today. In elementary and training experiments, the dependences of the law of motion of a dice on its environment, initial conditions, and the human factor can be completely neglected, so the number of points on a dice can, with some reservations, be considered a random variable. Dice played a significant role in the development of probability theory: in 1890, the English researcher Francis Galton proposed a method for generating random numbers using dice.
Slightly more complicated in the device is another number generator widely used in everyday life - the lottery drum. This device is a drum with numbered balls that are mixed inside it during rotation. The main area of application of lottery drums is lotteries and lotto. It is easy to guess that the lototron is unsuitable for use in serious scientific experiments due to the low degree of randomness and speed of operation.
The first random number generator that allows you to get large amounts of data and is suitable for solving applied problems was invented in 1939. Maurice George Kendall and Bernard Babington-Smith created a device that could generate a table containing 100,000 random numbers. And just 16 years later, the American strategic company RAND improved the results of English academicians 10 times - with the help of special machines, a table of a million random numbers was created. The tabular method for generating random numbers has received significant development thanks to George Marsaglia, who received 650 MB of random numbers in 1996. However, due to the narrowness of the scope, this method is not currently widely accepted.
Machines that generate random numbers in real time have a number of advantages over devices that create tables of random numbers. One of the first such machines was the Ferranti Mark 1 computer, which in 1951 included a program that generated random numbers based on the input noise stream of a resistor. Interestingly, the idea of creating such a program was the great English mathematician Alan Turing. Also innovative in the field of random number generation was the invention in 1957 of the ERNIE (Electronic Random Number Indicator Equipment), originally intended to generate winning numbers in the British lottery.
Pseudorandom numbers
The invention of random number generators has undoubtedly greatly accelerated the scientific and technological process. However, these devices had a critically important drawback, which significantly limited the possibility of their application. Already in the middle of the 20th century, the Hungarian-American mathematician John von Neumann noted the unsuitability of physical random number generators in computing, due to the impossibility of repeating a random experiment and, as a result, the impossibility of reproducing a random number to test the operation of a machine. This is how the scientific community needed pseudo-random numbers - numbers that have a number of important properties of random numbers, but obtained not as a result of a random experiment, but on the basis of some algorithm. John von Neumann himself became the author of the "middle of the square" method, which allows you to get ten-digit pseudo-random numbers at the output.
The main drawback of pseudo-random numbers is, of course, the lack of data randomness, which is so important in many areas of science and life. In addition, all pseudo-random number generators have the property of looping, that is, from a certain moment to repeat the sequence of output numbers, many algorithms are reversible, and some even have an uneven one-dimensional distribution. Therefore, at present, this area attracts many researchers who seek to develop existing or create new efficient pseudo-random number generators.
Interesting facts
- According to some historians, the first attempts to generate random numbers date back to 3500 BC. Oddly enough, they are connected with the ancient Egyptian board game "Senet", which consists in moving chips around the board.
- For a long time, the results of population censuses and other data tables obtained experimentally served as sources of random numbers for some real practical problems.
- A vulnerability in pseudo-random number generation algorithms was exploited in the early 2010s by the former security director of the Multi-State Lottery Association. The intruder had access to software used to determine the winning numbers of lottery tickets, with which he could determine the winning combinations several days a year. He was charged in 2015 after winning $16.5 million.
- A pseudo-random number generator installed on the on-board computer of one Apollo spacecraft once caused its movement to malfunction and seriously deviate from its intended trajectory. As the scientists found out, the output data of the generator used to calculate the angular velocities fell into the lower half-plane in 80% of cases, which absolutely did not meet the required criteria for the randomness of the results of the generator.
The problem of generating random numbers is currently one of the most relevant and promising in the scientific community. At the same time, this topic is mostly interesting for people who are far from the world of science. Familiarize yourself with the most famous pseudo-random number generation algorithms and their areas of use.