# Why did Shannon's outguessing machine beat Hagelbarger's?

I'm reading "Rock Breaks Scissors", which describes two "outguessing machines" built at Bell Labs that try to exploit human non-randomness in the game of matching pennies. There was an outguessing machine built by the famous Claude Shannon, and one built by Dave Hagelbarger.

The machines worked like this (quoted from the book):

Suppose you win twice in a row with the same choice. What would you pick next? You could stick with the choice that's been winning - or you could switch, perhaps on the grounds that three times in a row wouldn't be "random."

Each time a particular situation occurred, [Shannon's] machine archived what the player had decided. Every decision was encoded as a 1 or 0 and slotted into one of the machine's 16 precious bits of memory. For each of the eight given situations, Shannon's machine cataloged the last two decisions only. That filled the machine's 16 bits.

When the machine needed to predict, it looked at what the player had done the last two times that the same situation had occurred. Whenever the player's response had been identical both times, the machine predicted that the player would do the same thing once again. Otherwise, it guessed randomly from its [random number generator].

The main difference between Shannon's machine and Hagelbarger's was that Shannon's was simpler. Hagelbarger's machine kept track of a percentage of outcomes for each of the eight situations. The higher the percentage, the more likely Hagelbarger's machine was to predict a repeat of the past. This may sound more reasonable and nuanced than Shannon's all-or-nothing approach, but in practice, Shannon's device was the better predictor.

Shannon's machine beat humans at a higher rate than Hagelbarger's, and also beat Hagelbarger's machine when they played each other. I don't understand why Shannon's simpler approach was significantly better than Hagelbarger's percentage-based approach.

• The answer has entirely to do with human psychology. Given the results, I'd guess the issue is that people do fairly well at choosing randomly when losing, but when they win, they are worse at it. But to truly answer this question, you'd need a psychological study. It's even possible that Shannon's results only apply to the population at Bell Labs, not humanity entirely. And in general explaining why people do things a certain way is immensely hard. – Steven Burnap Jun 15 '14 at 0:22
• It can't be entirely human psychology since Shannon's machine also beat Hagelbargers machine – Thomas Johnson Jun 15 '14 at 1:21
• From backup.itsoc.org/review/meir/node1.html "No one knows if this was due to a superior algorithm or just a chance happening associated with the specific sequence at that game." In other words, there was only one trial between the two machines so we can't say that Shannon's beat Hagelbarger's due to any inherent superiority. – Steven Burnap Jun 15 '14 at 1:31

## 1 Answer

Why did algorithm S do better at beating humans than algorithm H? Because S was a better model of human behaviour. The obvious difference is that S (Shannon) had a short memory and H (Hagelbarger) had one that was longer. We can hypothesise that humans play this game with more short term than long term consistency. Obviously to check our hypothesis will require more experiments.

Why did algorithm S beat algorithm H? Because it could and it did.

For a game such as this which is fair and for which there is no simple Nash equilibrium, then any algorithm with deterministic features (such as H) can be beaten by another algorithm designed specifically for that purpose. [Shannon acknowledges as much in that reference.] I surmise that S by chance was such an algorithm.

If there exists a full specification of each algorithm it would now be trivial to code the simulation and run a few billion trials to see if the result was inherent in the algorithm, or occurred by chance.