Skip

Human Random Generator
December 21, 2012 4:47 PM   Subscribe

Can you think of a method that allows an individual to pseudo randomly create a sequence of numbers (at the very least the randomness is opaque to the minds of other people) assuming said individual may only use his mind and body (no physical tools are allowed)?

Some use cases to test this method:
* tell someone a number between 1-100
* select 10 out out of 20 doors and select 5 out of those 10
* create a string consisting of 10 ascii characters
* select a date and time (YYYY-MM-DD, HH:MM)
posted by Foci for Analysis to Science & Nature (7 answers total) 4 users marked this as a favorite
 
From stack overflow!
posted by bensherman at 4:59 PM on December 21, 2012


You could do a linear feedback shift register in your head.
posted by jeb at 5:15 PM on December 21, 2012 [1 favorite]


Make use of your environment. For example, look at the thing in from of you. Door. D. 4. Look at the thing next to it. Window. W. 23. Multiply 4 by 23. Look at the thing next to it. Tree. T. Add 20 to 90. Etc.
posted by 3FLryan at 5:27 PM on December 21, 2012 [1 favorite]


Here's a method that is not fast, but I'm pretty sure would produce a reasonable degree of randomness, with as a bonus, no math beyond counting and addition-by-counting. Observers would be able to tell the number from the gestures.

1. Define a way of counting up to ten using the fingers of one hand. I defined it as fist closed for 0, then extending the fingers from thumb to pinky for 1-5, then closing the fingers from thumb to pinky for 6-10 (with 10 being all fingers closed, i.e. back to 0). So if the thumb and index fingers are out, that's 2; if the ring and pinky are out, that's 8.
2. Pick a category of things where there are a lot of them; cities and towns in an area you know well, animals, musicians, NFL players, things like that. A large pool of individual items, and you know a fair number of them. Something like members of the Beatles or books of the Bible is too well defined; something where there's a clear sequence that you automatically know is bad; the Bible again, or if you learned the capitols of states with a mnemonic song, for instance. For the example, we'll say the category is Metafilter user names.
3. Pick a target number; let's say 20 and it'll be clear later on how this works. Put both hands in the 0 position.
4. The iterative bit is as follows:
4a. Think of something in the category. Let's say "Jessamyn".
4b. Advance the counter in your left (assuming righthanded) hand by one.
4c. Count out the number of letters in the name on your right hand. Wrap around when you get to 0. Keep the count going.
4d. At this point, your left hand shows 1 and your right shows 8. Let's say "mathowie" was next; after that round, your left is on 2 and your right on 6. Keep going until the counter in your left hand is back to 0 the second time. The digit on your right hand is pseudorandom. If you need more digits, wash, rinse, repeat.

So in effect, you're picking 20 things in a category, adding the number of letters in them together and taking the least significant digit. The counting method only keeps this least significant digit, since we'll never care if you counted 203 letters or 473 or whatever -- those both produce "3" as the least significant digit. You can pick more than 20, but I don't think it would add significantly to the randomness unless you were picking things that usually have really short names (like verbs, or first names). If you're picking something that has really long names, (like country music song titles) you can probably get away with 10 of them.
posted by Homeboy Trouble at 5:30 PM on December 21, 2012 [1 favorite]


This thread from last year has some suggestions.
posted by A Thousand Baited Hooks at 6:42 PM on December 21, 2012


Humans are so spectacularly bad at picking random numbers that the best method would be to perform known random number algorithms in your head.
posted by Yowser at 6:43 PM on December 21, 2012 [3 favorites]


Implement a 10-bit Fibonnaci LFSR using your fingers. The maximal length polynomial for ten bits it X7 + X10 + 1 so you want taps at the seventh and tenth fingers.

Initialise your LFSR with whatever number you want (not all zeroes though), finger up is a one, finger down is a zero. Now XOR the rightmost bit (right thumb) with the 7th bit (right ring finger), that will feed back into your register from the left. Shift all the finger positions over - so the right thumb is now in whatever position the right pointing finger was and so-forth. The position of the left thumb is the ouput of the XOR you just did.

This random sequence will repeat every 1024 iterations. If you are sufficiently skilled at memory palace / method of loci memory techniques then I suspect you could implement a fairly large bit-count LFSR in your head.
posted by atrazine at 1:22 AM on December 22, 2012 [4 favorites]


« Older Our house was recently sold at...   |  Who is the youngest person to ... Newer »
This thread is closed to new comments.


Post