# Pseudorandom number generator

algorithm that generates a sequence of numbers whose properties approximate those of sequences of true random numbers

A pseudorandom number generator is a way that computers generate numbers. Computers aren't good at creating random numbers. We use an "algorithm" to make a random number.

A good analogy is a jar of (numbered) marbles. Humans can reach into the jar and grab "random" marbles. However, to understand pseudo random numbers, we must understand that this process is not random. We decided to reach into the bag based off of our brain giving us a signal to reach in this way, and the marbles themselves being arranged in a certain way.

Pseudo-Random Number Generators tell the computer to position the marbles in some way, and tells the computer to reach in and pick out the "random" marbles.

The initial position of the marbles is called the "seed." The seed is used to create the randomness. To come up with the seed some programs use time of day, while others convert background noise into a number.

When you need to get the next random number ("marble") the generator calculates it with some algorithm. It is based on the previous generated number, in turn, depending on the initial "seed." The algorithm is strict, it will always produce the same sequence of random numbers ("marbles") given the same initial "seed".