Pick a random number, if you can

In my continuing quest to showcase how our random number generator is well and truly broken (loyal readers will remember that people always go for carrot, and that you can easily win $20 million playing rock-paper-scissors), Bluematter. is proud to present solid scientific evidence to back the claims made here.

So, go ahead and ask your friends to pick a random number between 1 and 4. Dick De Veaux did (via Andrew Gelman), and here are the, well, not so random results:

Extend the selection range to twelve, and number 7 (as mentioned at the rock-paper-scissors post) is by far the most popular choice:

If you deal in statistics, or teaching others how to do it, De Veaux's presentation will make for an insightful read. Math is indeed music, and statistics literature:

We haven’t evolved to be statisticians. Our students who think statistics is an unnatural subject are right. This isn’t how humans think naturally.

But it is how humans think rationally. And it is how scientists think. This is the way we must think if we are to make progress in understanding how the world works and, for that matter, how we ourselves work.


  1. Gabriel Says:

    Oh, for a second there I got worried because I thought you mean that there's something wrong with the good, old and trusty pseudo-random number generator we normally use.

  2. datacharmer Says:

    Gabriel, since you brought it up, the pseudo-random number generator we normally use is not perfect either:

    We have shown that VB's pseudo random number generator, rnd(), is quite weak for anything but very simple needs:

    • It has too small a period, only 2^24 = 16 million values before it cycles.
    • The output stream is too predictable. For example, all the output numbers alternate between even and odd!
    • The randomize() function is not a strong hash function and enables much information to be determined about the initialiser value from the output stream.

    More here: http://www.noesis.net.au/resources/prngs/prng.html