Computers are some of the most powerful machines on the planet. In recent years, there has been an increasing demand for sequences of random numbers for scientific, medical, and algorithmic purposes. Let’s take a look at how to understand random number generators and how they work.
True Random Numbers
True random number generators are the purest form of random numbers. They can come from sources in the atmosphere such as radioactive particles or randomness via white noise. Decades ago, this would require functions of a supercomputer that would measure ambient activity and translate this data to random numbers. Today, even a simple laptop or computer can produce these truly random numbers, although it often takes a few minutes to measure the randomness of particles. In practice, many numbers you see aren’t genuinely random numbers.
For many purposes, true random numbers simply aren’t necessary and their counterparts discussed below will suffice. However, for scientific modeling, true random numbers are critical to accurate data and results. It’s not an easy task to determine whether a bunch of random numbers are true. As you might expect, as the sample size increases, you can run statistical tests to check for a reasonable degree of randomness. It’s important to note that more randomness is not always a good thing; true random numbers can be more predictable than people might imagine. Nevertheless, true random numbers are by definition true, and they get their origins from the basic scientific principles of our universe.
Pseudorandom numbers are a cheap, nearly as effective alternative to true random numbers. These numbers are generated by some sort of formula or function involving primes. As you may know, prime numbers are the building blocks of math, the numbers which only have trivial divisors – 1 and the number itself. A computer takes a prime and repeatedly applies a function to spit out elements of a sequence. While these results aren’t entirely random, they appear random due to the purity of the prime. If you’re looking to gamble with friends or roll a die to determine where to eat for lunch, pseudorandom numbers are more than sufficient. In addition, they are easy to compute and can be generated in larger quantities than true random numbers. By changing the initial prime number, it’s very easy to produce variations of the number sequence at little to no cost.
Keep in mind that the seed value doesn’t have to be restricted to primes. Computers can use anything from natural landmarks to coordinates to determine this seed. As long as the device stands by this particular seed, pseudorandom numbers naturally follow and are unpredictable for millions of digits.
As mentioned before, there’s a limit to how much randomness is appropriate. In fact, when humans have been asked to randomize a series of objects in a study, they overestimate and make the configuration overly random. When your music library is put on shuffle, the system makes these sorts of compensations as well.
Although a couple of songs might be queued to play in order, the algorithm will shuffle it further to increase the amount of perceived randomization. It should be noted that this is a form of artificial randomness, and it goes even further beyond pseudorandom numbers. However, it’s a very valid point to make; random number generators can be shaped to meet demands as necessary. Fortunately, when left untouched, generators based on seeds tend toward a natural frequency of randomness. Coupled with the fact that they are the most efficient, these are the most common types of randomness you’ll see on a daily basis.
Random number generators play a very big role in cryptography. This field is concerned with sending and receiving data in a secure and efficient manner. As you might guess, directly sending info is a poor way of handling things. A bystander could intercept the message and use it for whatever evil purpose they have in mind. That’s why cryptographers are interested in the most effective ways of sending data. By using random number generators, they can randomize the contents of the message and encrypt it into a form that is unrecognizable to a passerby. Then, when the recipient wants to decode it, all they have to know is how to reverse the encryption that was done in the first place.
As third parties become equipped with more advanced tools to intercept messages, random number generators need to advance in a similar fashion. Two examples that you may encounter everyday are file encryption and internet encryption. When sending files between two devices, there could be many external devices on the same Wifi network or bandwidth. It’s important to make sure that only the target device can read the file. A random number generator produces some sort of protocol that allows for direct transmission. On the other hand, encrypting passwords for online accounts is essential to avoid attacks. Whenever you save a password for a website, it is encrypted via a series of numbers and letters, often with the help of a random number generator.
Examples Of Random Number Generation
- The government is well known to be a leader in random number generation. Faced with countless attacks and defenses per day, they’re equipped with the technology to encrypt keys at a moment’s notice. They release many publications per year on state of the art methods and how they are solving issues in today’s society.
- In 2010, a lottery draw was rigged via random number generation. The generator was pseudorandom, which meant that a team of hackers was able to anticipate which numbers were about to be drawn. This rigged the lottery and led to a scandal worth millions of dollars.
- Mathematicians frequently use these generators to determine whether a dataset is plausible or whether there’s some external source of noise. This check is closely related to tests of statistical significance, distribution and randomness. Researchers compare the angles and directions of lasers to randomly generated numbers and validate whether the measured entropy matches what should be put out in theory.
- Laptops have a unique method of generating random numbers. By filling the hard disk drive with random information and bytes, the system draws the numbers from the user’s mouse movements and actions. Once the user has made a certain number of movements, the system takes one at random to convert into numerical form.
Random number generators tend to be complex with many lines of code behind the scene. Fortunately, when they appear on your computer screen, they are greatly simplified and neatly presented. When you think of randomness, random number generators should come to mind as the essence of unpredictability.