Human beings have more than a few ways to decide something at random – roll a die, flip a coin, pick a number – but one thing that actually doesn’t works so well: computers. Computers struggle to truly be random, even when they’re programmed to do exactly that.
You’ve probably noticed that even if you have thousands of songs on your phone, your shuffle function will “randomly” choose some songs more often than others.
The reason? Your computer follows an algorithm, which is essentially a list of instructions they use to carry out a task. They don’t know how to deviate from the set path (when they figure that out, the robot revolution will be upon us).
So, while engineers have come up with some ways to write algorithms that help computers pretend to generate random numbers, when it comes down to it, they really can’t be truly random because they are following instructions that lead them to their outcome.
The best we can do is a pseudo-random number generator, which honestly, is good enough to fool anyone who isn’t a computer programmer. But if you had the coding skills, you could, say, figure out the randomness behind an online poker program and make some serious cash.
True random number generators use physical phenomena akin to rolling a die – things like radioactive decay, background noise, or even the amount of time between your keystrokes. But again, we can’t even really call them truly random, since they’re still following an algorithm that has the physical phenomenon at its root.
Which means I’m going to just keep rolling a dice for my numbers.
Not that I often need truly random numbers anyway…