## Randomness is hard for humans

It is notoriously difficult for humans to come up with truly random numbers. I don’t really have any data I can point to in particular, but there are quite a few well-known phenomena that show how bad humans are at picking random numbers:

• When asked to pick a random number between 1 and 10, lots of people pick 7, presumably because it “seems the most random” (perhaps because it is prime). But of course if you always pick 7 when asked to pick a random number, it is not random at all!

• If asked to generate a sequence of outcomes from tosses of a fair coin (like Heads, Tails, Tails, Heads, …), most people will generate sequences which do not have enough strings of repeated outcomes, such as three heads in a row or four tails in a row. Such repeated sequences don’t “seem random”, but of course a truly random sequence will have them sometimes. In fact, the chance of getting four heads in a row is only $1/16$—so such sequences should actually occur pretty often.

• In fact, there are computer programs that can repeatedly guess whether you are going to pick heads or tails next, and end up being correct more than 50% of the time! It seems like the computer is somehow clairvoyant or reading your mind, but really it is just exploiting the fact that your sequence of picks is not truly random. Here’s one you can try—can you win?

## A human way to generate randomness?

I keep wondering whether there is some way to access a source of randomness as a human. As in, the next time someone asks you to pick a random number, you could use your method to pick a truly random number. Of course, you could use a computer—in fact, there are some nice apps, like this one from random.org, for generating random numbers. But I am interested in a method that can be done without aids.

You could carry around a coin with you everywhere, or some dice. But what if you have forgotten yours, or don’t have access to them? Again, I am hoping for something that can be done without any aids.

Methods for generating “truly” random numbers (as opposed to pseudorandom numbers) often sample from some noisy source and throw away all but the lowest-order information. So, for example, you could count the number of times your heart beats in one minute and decide it represents “heads” if the number is even and “tails” if the number is odd. However, one bit per minute is super slow (if you needed to pick a number from 1-10 it would take you at least four minutes). It also depends on having something to count sixty seconds for you.

Can anyone think of any better ideas? Crazy ideas are OK too. =)

Assistant Professor of Computer Science at Hendrix College. Functional programmer, mathematician, teacher, pianist, follower of Jesus.
This entry was posted in computation, people and tagged , , , . Bookmark the permalink.

### 27 Responses to Human Randomness

1. Naren Sundar says:

Hehe. I’ve often wondered about this myself. The most unpredictable part of my body is the hair on my head but I have no idea how I could measure it.

• Brent says:

Right, measuring is the hard part. The problem seems to be that things tend to be predictable on a large scale and unpredictable on a small scale, but humans are not good at measuring things on a small scale without technological assistance…

2. I’ve heard that poker players sometimes use the second hand of their watch to decide whether to raise or check so that they don’t inadvertently follow any predictable pattern.

• Brent says:

Interesting, that makes sense! I assume they do something like see whether the number of seconds is even or odd, which would give it a similar information rate as my counting heartbeats scenario (probably a little faster). For poker obviously that is sufficient since you only need a single bit of randomness every time it is your turn (maybe a few times a minute).

• Pete McAllister says:

I think more commonly it’s dividing the minute into contiguous chunks. Hands last >> 1 minute anyway, so that’s not too exploitable, and it’s easier to do things like 0.7-0.2-0.1 splits in your head quickly.

• Brent says:

Ah, I see! One thing this does suggest is that if you are asked to pick a random number from 1-10 and you do have a watch or a phone with a clock, one simple thing you can do is to just look at the last digit of the seconds (or if it is just a one-off thing, you can look at the last digit of the minutes).

3. Frederik says:

Spit straight against the wind. Does it land more to the left or more to the right? However, after a while you’re gonna be out of spit :-D. If clothes are allowed, you can flip a shoe in the air, and look at where the tip points.

• Brent says:

Haha, but what if it’s not windy? I like the shoe idea though it’s also somewhat obtrusive (“excuse me, I just need to take my shoe off for a minute…”).

4. Jamie Hope says:

It took SEVERAL tries, but I did defeat the bot, 25-22.

If you’re outside at the time, count the number of birds you can see, or take the direction they’re flying and use as a number from 0 to 359. I hear this kind of random number generation was popular among the ancient Romans.

• Brent says:

Hahaha, indeed, though I don’t think the ancient Romans thought of it that way… =)

5. Kaligule says:

Many answers use some sort of external source of randomness. Here is my strategy without one:

The idea is to have two phases, one for thinking of a (pseudo-)random source and one where you calculate your result/answer from that source. The calculation should be nontrivial (so it is hard to “cheat” by predicting the outcome when generating the source), but still easy to do when you concentrate on it.

You can easily come up with some instance of this algorythm (try it before you read further). Here is mine:

Take that song you have in your currently head (you always have one right? “Hello darkness my old friend…”) and sing it until some random point. Then use the last word you sang (this is your source). Count the number of consonants in that word modulo 2. You now have a pretty bit.

When asked to repeat, just switch to another song. “l’ll tell you what you want, what you really really want…”

• freddieknets says:

Isn’t that just moving the non-randomness of humans to another aspect? Just like humans tend to choose 7 the most for a number from 1 to 10, I’d expect people to choose the “random point” where to stop singing a certain song in a rather deterministic way

• kaligule says:

Yes, but since you are having multiple sources of randomness (which song, which point where you stop) it is more difficult to predict.

A friend said he could try to force a song on me by droping words from it.

• Brent says:

Ah, I like that a lot! Though personally I sometimes have music stuck in my head without any words (for example right now it is one of the movements from J.S. Bach’s French Suite in G major). I wonder about freddieknet’s question as well.

• Kaligule says:

I guess you could use the last intervall of the main melody then.
Did it go up -> head?
Did it go down -> head?

• kaligule says:

“Did it go down -> tails?” was what I meant obviously.

• Brent says:

Hmm, I’m not convinced this would work as well. For one thing up/down movements of the melody in a given song are not always equally likely. (For that matter I am unsure if the distribution of even/odd numbers of consonants in English is equal — but it’s probably close.) But the bigger problem is that it’s very hard to stop a song at a random point without being very explicitly aware of whether it is going up or down at the point that I stop, so I would be biased to stop at a place that would give me the bit I “want”. This is not an issue with the counting consonants thing because I am much less consciously aware of how many consonants are in any given word.

• kaligule says:

Good point, the cheating is too easy.

• Brent says:

Hmm, your answer gave me another idea: what if you simply take a chosen text and memorize it? Then you just mentally keep track of “where you are” in the text, and each time you need a random bit, count the number of consonants in the next word of the text modulo two. Of course you should not just choose any old text because the sequence of bits is likely not random. Instead, you should first generate a random sequence of bits, and then construct a text which matches it (a form of constrained writing, kind of like that poem whose word lengths match the digits of pi). This basically gives you your own personal *pseudo*random number generator. If you make the text long enough this should serve for most practical purposes.

• kaligule says:

To think this further, you could just memorize as many digits of pi as possible. Those are pretty pseudorandom, aren’t they?

• Brent says:

Good point, that would work too! The digits of pi are only conjectured to pass various tests of randomness but they are certainly good enough in practice. Though this is not appropriate if you are worried about others being able to predict your random choices (e.g. I would not use it while playing poker).

• Brent says:

Note, instead of a text with one word per bit, you could just convert your random sequence of bits to hexadecimal and memorize that. I thought of making a story/text since I thought it would be easier to memorize, but I am actually not sure that is true.

6. Bill Keen says:

I once worked for Plessey Underwater Systems in Templecombe, Somerset (UK) where a colleague of mine devised a foolproof random number generator. Outside our window there was a pheasant farm (the pheasants were kept captive by means of little plastic shades mounted on their beaks, so they could see sideways to feed, but not forward to fly away) and the random number was the number of pheasants visible at a glance. How many man-months will this project take? Ah, let me see… (glances out of window) Yes, that’ll be fifteen, maybe sixteen. It never failed.

• freddieknets says:

Ha that’s a cool application of a pheasant farm! I guess the variable won’t be uniformly but binomially distributed in that case?

7. I won 25-13 at my first attempt! I suppose that this happened by chance 🙂 but it was funny.