Ask HN: What's the most amount of entropy two humans can create in 30 seconds?

14 points by logancg ↗ HN
Every day, my colleague Jonny and I give each other N handshakes, where N is defined by:

N = 2 * (closest lower prime to today's date) % today's date

This has worked well (today, for example, is the 15th, so we shook hands (13 * 2) % 15 = 11 times today.

But we want to increase the complexity of it for fun, so we're looking to add some random process. But how do two humans generate a random number just by talking to each other? (We don't want to use a computer.)

So the idea is, we need to generate the most amount of entropy and output some pseudo-random number... but it has to be done through a human process (like talking.)

Any ideas? Thought this crowd may enjoy the question.

This is not a homework question... we actually do do this and are genuinely seeking your help.

9 comments

[ 3.1 ms ] story [ 29.2 ms ] thread
Are dices allowed?
Ideally we'd use nothing besides ourselves, but dice is a good idea.
I worked in a shop where we played a game called Chino. Everyone started with 3 coins in their left hand. Each transferred 0, 1, 2, or 3 coins to their right hand and extended their closed right hand. Each made a unique guess of the total coins. A correct guess wins the benefit or liberates the guesser from subsequent rounds to determine who had to do the dirty work. Modified for your situation, each would agree to have 0-3 coins when you meet. The total could pass for a pseudo-random number.
Rock paper scissors? Since you are both trying to win, and being predictable means losing you'll be as random as you can be.
You can count nearby people, cars, windows, cats, dogs, buildings, whatever you agree upon, those things are pretty pseudo-random, only limit is familiar environment, but you can find other alternatives there (number of pens on one's desktop, number of books, etc.).
I'm not sure what's allowed. Can use current seconds in someone's watch, for example? Or maybe ask some random person to say a random word, and then use the position of the first letter of that word in the alphabet? This sounds like a really fun problem but I'm certain about the rules.
From sci.math google group post: "How to generate random number sequences (in your head)"...

With the most relevant answer for you being George Marsaglia's:

~~~~~~~~~~~~~~~~

Choose a 2-digit number, say 23, your "seed".

Form a new 2-digit number: the 10's digit plus 6 times the units digit.

The example sequence is 23 --> 20 --> 02 --> 12 --> 13 --> 19 --> 55 --> 35 --> ...

and its period is the order of the multiplier, 6, in the group of residues relatively prime to the modulus, 10. (59 in this case).

The "random digits" are the units digits of the 2-digit numbers, ie, 3,0,2,2,3,9,5,... the sequence mod 10. The arithmetic is simple enough to carry out in your head.

This is an example of my "multiply-with-carry" random number generator, and it seems to provide quite satisfactory sequences mod 2^32 or 2^64 , particularly well suited to the way that modern CPU's do integer arithmetic.

~~~~~~~~~~~~~~~~

source: https://groups.google.com/forum/?hl=en#!msg/sci.math/6BIYd0c...

edit: so with two people, one of you could chose the seed on alternate days based on some other criteria (like the N you already have or the things @nenadg mentioned (nearby people, cars, windows, cats, dogs, buildings, whatever you agree upon, those things are pretty pseudo-random))