Pseudorandom number generators
It's a well-known programming fact that computers do exactly and only what you tell them to do ( ignoring, possibly, the incidence of cosmic rays ). This fact makes it impossible for a computer to produce a truly random number since, given a program's particular starting state and inputs, the computer will always produce the same output - so if one were to know the starting state and inputs one would always be able to predict the output state. Truly random processes cannot be predicted in this way. Despite this, computers are used constantly to produce "random" behavior, from online poker websites to monte carlo simulators to photo screensavers that always show the wrong photo at the wrong time. To generate these to-human-eyes-random effects, programmers use what are known as pseudorandom number generators , which algorithmically produce numbers which are hard to predict if you do not know the initial inputs (known as seeds). One of the best and most well-know...