Computers cannot generate a random number without some kind of randomized input. Computers don’t do random, they follow absolute logic. You can make a really complicated formula to, say, take the last digit of the millisecond timer of the system clock and multiply it by the day of the month and then divide it by the system volume setting and take the last digit of that and do more and more things to it, which really does *look* random. However, if you take the same *seed* – the same starting numbers – and feed it into the formula, you get the same number back out. That means that, with enough information, you can deduce the formula and figure out what the number will be. It might not be practical to do so, but it can be done. This is a *pseudo-random* number, because it *looks* random, it might *practically* be random, but it is not random.
A mechanical random number generator uses some kind of formula, just like pseudo-random generators, but the seed is taken from some source outside of the control of the computer. For the most advanced sorts, they might use a radioactive element and count how many milliseconds it’s been since the last atom decayed. Radioactive decay is a quantum process that *cannot possibly* be predicted, only averaged. Famously, the company Silicon Graphics used [a wall of lava lamps](https://en.wikipedia.org/wiki/Lavarand) as their seed, by having cameras take images of the lava lamps and using the values of brightness and color in each pixel. Some simpler generators use radio noise captured with a small antenna on some empty radio frequency.
Since the seed isn’t connected to the computer or generated with any kind of formula, and since the source of the feed is very unpredictable or, in the case of radioactive decay, fundamentally unpredictable, the formula can spit out a truly random number. Yes, you might know the formula that creates the random number, but since you can’t know the seed, you can’t predict the random number you’ll get.
Latest Answers