Kyle Schmitt
3/29/2007 8:14:00 PM
This is going to sound like a smartass answer, but real random numbers
are really random, psudo random numbers are random-ish.
Most "random" number generators are actually periodic, even if they
have large periods. I could be wrong, but having to specify a seed is
a clue it's psudo random. Seeding a "random" number generator is a
way to increase it's randomness somewhat. With the good old C rand
function, try seeding it with 10 (using srand) and write it out to a
file. Run it as many times as you want, and you'll end up with the
SAME file.
Some modern computers have real entropy sources built in, and for
those that don't, it's possible to collect entropy from various places
(you'll have to do some googling about openbsd since they go nuts with
this). You can use an entropy source as a _real_ random number
generator, or to seed a psudo random number generator to make it a
little less periodic.
If you want to be lazy there used to be a series of books called
numerical recipies in %w{c pascal youre-favorite-language}. One thing
they showed was a good random number generator, and apparently they
went into some depth on the subject.
Places where random vs psudo random are important:
If you are running models that use random numbers (a friend of mine
was going really neurotic once trying to make sure his supernovas
modeller was really really random)
Cryptography
umm... uhh... yea I can't think of more right now.