Random number generator

Add to website Metainformation

Other tools

Number generator

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.

Pick a random number

Pick a random number

Every day, millions of people use online random number generation services, but few people think about what lies behind this process. How do random number generators work and are these numbers random at all?

How random numbers are obtained

The best-known examples of experiments with random outcomes that can be interpreted as random numbers are the familiar tossing of a coin or dice, shuffling cards, or drawing a card from a shuffled deck. People have been using these techniques in everyday life for centuries, but obviously, such methods are not suitable for generating large arrays.

The first attempts to systematize the process of generating random numbers led to the creation of algorithms for filling tables with random numbers. However, the range of application of such tables is rather narrow, so tables of random numbers were soon supplanted by machines that generate random numbers in real time and are widely used today.

Random and pseudo-random number generators

Few people know, but most modern devices actually generate pseudo-random numbers. This is the name of sequences of numbers whose properties are in many respects similar to random ones, but the mechanism for their construction is significantly different. True random number generators use the results of tiny random physical processes in their work, such as thermal and shot noise, the photoelectric effect, or some quantum phenomena. The output sequence of such a generator cannot be predicted, which is the main advantage of random number generators over pseudo-random ones. This property of random numbers is most important in areas where data privacy and security are required, such as cryptography.

Unlike true random numbers, pseudo-random number sequences are generated based on some algorithm, so they are predictable and fixed. The results of the pseudo-random number generator can be improved by introducing some parameters into the system that complicate the dependencies between numbers, however, all currently existing pseudo-random number generators sooner or later loop and, therefore, are not capable of producing truly random numbers.

Certainly, due to the high complexity of the device and the cost of random number generators, much attention is currently being paid by scientists to finding and optimizing the most efficient algorithms for generating pseudo-random numbers. Even "Cryptographically Strong Pseudo-Random Number Generators" (CSPRNGS) have been invented, which are used in the areas of encryption and ensuring the integrity of transmitted information.

Where random and pseudo-random numbers are used

Random number generators are an integral part of most operating system software. In addition, they are indispensable for statistical tests and numerical simulations. Random number generators are also used in the creation of complex computer games and can significantly expand the capabilities of artificial intelligence, one of the most promising technologies of this decade. Of course, random numbers are widely used in lotteries, contests and drawings.

Generating random numbers is a time-consuming and in many ways mysterious process, but that's why it's even more interesting. Dive deeper into this topic and be sure to discover something new for yourself.