The document outlines a problem called "The Hat Problem" where n players must guess the color of hats placed on their heads without communicating. It proposes using a Hamming code strategy where players determine their guess based on comparing the possible state vectors to the rows of a check matrix. This strategy guarantees a probability of success of 1 - 2^-r, a significant improvement over naive strategies. The document provides an example of this strategy for 7 players and discusses why the Hamming code approach works by ensuring there is a unique codeword at a distance of 1 from the true state vector.
Solving the Hat Problem: Strategies for Players to Guess Hat Colors Blindfolded
1. Outline The Problem The Solution Variants
T-79.4001:
The Hat Problem
Janne Peltola
5.3.2008
Janne Peltola T-79.4001: The Hat Problem
2. Outline The Problem The Solution Variants
1 The Problem
Introduction
Solutions
2 The Solution
Algorithm
Efficiency
3 Variants
Janne Peltola T-79.4001: The Hat Problem
3. Outline The Problem The Solution Variants
The situation
n players play a game. The rules are simple.
The players enter a room blindfolded.
Janne Peltola T-79.4001: The Hat Problem
4. Outline The Problem The Solution Variants
The situation
n players play a game. The rules are simple.
The players enter a room blindfolded.
A hat is put on each player’s head. The hat is either red or
blue.
Janne Peltola T-79.4001: The Hat Problem
5. Outline The Problem The Solution Variants
The situation
n players play a game. The rules are simple.
The players enter a room blindfolded.
A hat is put on each player’s head. The hat is either red or
blue.
The players must guess the color of their hat or pass.
Janne Peltola T-79.4001: The Hat Problem
6. Outline The Problem The Solution Variants
The situation
n players play a game. The rules are simple.
The players enter a room blindfolded.
A hat is put on each player’s head. The hat is either red or
blue.
The players must guess the color of their hat or pass.
The players may not communicate with each other.
Janne Peltola T-79.4001: The Hat Problem
7. Outline The Problem The Solution Variants
The situation
n players play a game. The rules are simple.
The players enter a room blindfolded.
A hat is put on each player’s head. The hat is either red or
blue.
The players must guess the color of their hat or pass.
The players may not communicate with each other.
The players win if each non-passing guess is correct.
Janne Peltola T-79.4001: The Hat Problem
8. Outline The Problem The Solution Variants
The situation
n players play a game. The rules are simple.
The players enter a room blindfolded.
A hat is put on each player’s head. The hat is either red or
blue.
The players must guess the color of their hat or pass.
The players may not communicate with each other.
The players win if each non-passing guess is correct.
We wish to find a strategy which maximizes the probability p that
the players win.
Janne Peltola T-79.4001: The Hat Problem
9. Outline The Problem The Solution Variants
Some history
The problem was first proposed by T. Ebert (UCLA) in his
Ph.D. thesis in 1998.
There’s certain charm as a puzzle but the problem doesn’t
seem terribly relevant.
Janne Peltola T-79.4001: The Hat Problem
10. Outline The Problem The Solution Variants
Some history
The problem was first proposed by T. Ebert (UCLA) in his
Ph.D. thesis in 1998.
There’s certain charm as a puzzle but the problem doesn’t
seem terribly relevant.
However, there are connections between its efficient
algorithmic solutions for n = 2k − 1 and coding theory.
Janne Peltola T-79.4001: The Hat Problem
11. Outline The Problem The Solution Variants
Some history
The problem was first proposed by T. Ebert (UCLA) in his
Ph.D. thesis in 1998.
There’s certain charm as a puzzle but the problem doesn’t
seem terribly relevant.
However, there are connections between its efficient
algorithmic solutions for n = 2k − 1 and coding theory.
Thus far the problem has eluded tractable solutions for
n = 2k − 1.
Janne Peltola T-79.4001: The Hat Problem
12. Outline The Problem The Solution Variants
3 Players: a na¨ strategy
ıve
Suppose n = 3. The players are Alice, Bob and Chuck.
Janne Peltola T-79.4001: The Hat Problem
13. Outline The Problem The Solution Variants
3 Players: a na¨ strategy
ıve
Suppose n = 3. The players are Alice, Bob and Chuck.
If Alice and Bob pass, Chuck guesses correctly 50% of the
time.
Janne Peltola T-79.4001: The Hat Problem
14. Outline The Problem The Solution Variants
3 Players: a na¨ strategy
ıve
Suppose n = 3. The players are Alice, Bob and Chuck.
If Alice and Bob pass, Chuck guesses correctly 50% of the
time.
Can we do better than this?
Janne Peltola T-79.4001: The Hat Problem
15. Outline The Problem The Solution Variants
3 Players: a better strategy
Each player looks at the other players’ R R R
hats. R R B
B B B
B R R
B B R
R B B
B R B
R B R
Janne Peltola T-79.4001: The Hat Problem
16. Outline The Problem The Solution Variants
3 Players: a better strategy
Each player looks at the other players’ R R R
hats. R R B
If the hats are different, he/she passes. B B B
B R R
B B R
R B B
B R B
R B R
Janne Peltola T-79.4001: The Hat Problem
17. Outline The Problem The Solution Variants
3 Players: a better strategy
Each player looks at the other players’ R R R
hats. R R B
If the hats are different, he/she passes. B B B
If the hats are of the same color, he/she B R R
picks the opposite one. B B R
R B B
B R B
R B R
Janne Peltola T-79.4001: The Hat Problem
18. Outline The Problem The Solution Variants
3 Players: a better strategy
Each player looks at the other players’ R R R
hats. R R B
If the hats are different, he/she passes. B B B
If the hats are of the same color, he/she B R R
picks the opposite one. B B R
R B B
This results in p = 3 , a 50% increase.
4 B R B
R B R
Janne Peltola T-79.4001: The Hat Problem
19. Outline The Problem The Solution Variants
3 Players: a better strategy
Each player looks at the other players’ R R R
hats. R R B
If the hats are different, he/she passes. B B B
If the hats are of the same color, he/she B R R
picks the opposite one. B B R
R B B
This results in p = 3 , a 50% increase.
4 B R B
This strategy can be generalized for all R B R
n = 2k − 1.
Janne Peltola T-79.4001: The Hat Problem
20. Outline The Problem The Solution Variants
7 Players
The size of the state space is 27 = 128.
Janne Peltola T-79.4001: The Hat Problem
21. Outline The Problem The Solution Variants
7 Players
The size of the state space is 27 = 128.
The na¨ strategy can be applied.
ıve
Janne Peltola T-79.4001: The Hat Problem
22. Outline The Problem The Solution Variants
7 Players
The size of the state space is 27 = 128.
The na¨ strategy can be applied.
ıve
63
However, there is a complex strategy to achieve p = 64 .
Janne Peltola T-79.4001: The Hat Problem
23. Outline The Problem The Solution Variants
7 Players
The size of the state space is 27 = 128.
The na¨ strategy can be applied.
ıve
63
However, there is a complex strategy to achieve p = 64 .
Next, the general strategy will be defined.
Janne Peltola T-79.4001: The Hat Problem
24. Outline The Problem The Solution Variants
The Idea
We have encoded certain states in C .
We present a strategy to obtain winning sequences via C .
We show that the strategy fails with probability p = 2−r .
Janne Peltola T-79.4001: The Hat Problem
25. Outline The Problem The Solution Variants
Definitions
Consider a game of n = 2r − 1 players and 2 colors.
Janne Peltola T-79.4001: The Hat Problem
26. Outline The Problem The Solution Variants
Definitions
Consider a game of n = 2r − 1 players and 2 colors.
Let v = (1110100)T ∈ Zn be the state vector.
2
Definition
Let H be an r × n matrix with entries in Z2 . Suppose that all
possible nonzero columns occur exactly once. Then H is the check
matrix (ie. Hv T = 0) of a code C . The code is called an [n, n − r ]
Hamming code.
Janne Peltola T-79.4001: The Hat Problem
27. Outline The Problem The Solution Variants
The Strategy
Recall the state vector v = (1110100)T ∈ Z7
2
Janne Peltola T-79.4001: The Hat Problem
28. Outline The Problem The Solution Variants
The Strategy
Recall the state vector v = (1110100)T ∈ Z7
2
1 1 1 1 0 0 0
We choose (for this case) H = 1 1 0 0 1 1 0
1 0 1 0 1 0 1
Janne Peltola T-79.4001: The Hat Problem
29. Outline The Problem The Solution Variants
The Strategy
Recall the state vector v = (1110100)T ∈ Z7
2
1 1 1 1 0 0 0
We choose (for this case) H = 1 1 0 0 1 1 0
1 0 1 0 1 0 1
For person 3, there are two possible v ’s: v0 = (1100100)T or
v1 = (1110100)T .
Janne Peltola T-79.4001: The Hat Problem
30. Outline The Problem The Solution Variants
The Strategy
Recall the state vector v = (1110100)T ∈ Z7
2
1 1 1 1 0 0 0
We choose (for this case) H = 1 1 0 0 1 1 0
1 0 1 0 1 0 1
For person 3, there are two possible v ’s: v0 = (1100100)T or
v1 = (1110100)T .
Person 3 uses the following rules to determine his call:
Janne Peltola T-79.4001: The Hat Problem
31. Outline The Problem The Solution Variants
The Strategy
Recall the state vector v = (1110100)T ∈ Z7
2
1 1 1 1 0 0 0
We choose (for this case) H = 1 1 0 0 1 1 0
1 0 1 0 1 0 1
For person 3, there are two possible v ’s: v0 = (1100100)T or
v1 = (1110100)T .
Person 3 uses the following rules to determine his call:
T T
If Hv0 = 0 and Hv1 = 0, he passes
Janne Peltola T-79.4001: The Hat Problem
32. Outline The Problem The Solution Variants
The Strategy
Recall the state vector v = (1110100)T ∈ Z7
2
1 1 1 1 0 0 0
We choose (for this case) H = 1 1 0 0 1 1 0
1 0 1 0 1 0 1
For person 3, there are two possible v ’s: v0 = (1100100)T or
v1 = (1110100)T .
Person 3 uses the following rules to determine his call:
T T
If Hv0 = 0 and Hv1 = 0, he passes
T T
If Hv0 = 0 and Hv1 = 0, he calls Red
Janne Peltola T-79.4001: The Hat Problem
33. Outline The Problem The Solution Variants
The Strategy
Recall the state vector v = (1110100)T ∈ Z7
2
1 1 1 1 0 0 0
We choose (for this case) H = 1 1 0 0 1 1 0
1 0 1 0 1 0 1
For person 3, there are two possible v ’s: v0 = (1100100)T or
v1 = (1110100)T .
Person 3 uses the following rules to determine his call:
T T
If Hv0 = 0 and Hv1 = 0, he passes
T T
If Hv0 = 0 and Hv1 = 0, he calls Red
T T
If Hv0 = 0 and Hv1 = 0, he calls Blue
Janne Peltola T-79.4001: The Hat Problem
34. Outline The Problem The Solution Variants
Why is this a good idea?
Lemma
There is a unique codeword c so that dH (v , c) = 1.
Proof.
Existence:
Let s = Hv T = 0. s is a column of H, therefore s = HeiT .
H(v + ei )T = s + s = 0, so dH (v , c) = 1.
Janne Peltola T-79.4001: The Hat Problem
35. Outline The Problem The Solution Variants
Why is this a good idea?
Lemma
There is a unique codeword c so that dH (v , c) = 1.
Proof.
Uniqueness:
Let c1 , c2 ∈ C so that dH (v , c1 ) = dH (v , c2 ) = 1.
Therefore v + c1 = ei and v + c2 = ej for some (i, j).
We have ei + ej = c1 + c2 ∈ C , so H(ei + ej )T = 0
HeiT = HejT so columns i and j must be equal, but there are
no equal columns by definition ⇒ contradiction.
Janne Peltola T-79.4001: The Hat Problem
36. Outline The Problem The Solution Variants
Why is this NOT a good idea?
Theorem
The strategy is successful whenever Hv T = 0, but fails when
Hv T = 0.
Proof.
We previously showed that there is a unique codeword c so
that dH (v , c) = 1.
Janne Peltola T-79.4001: The Hat Problem
37. Outline The Problem The Solution Variants
Why is this NOT a good idea?
Theorem
The strategy is successful whenever Hv T = 0, but fails when
Hv T = 0.
Proof.
We previously showed that there is a unique codeword c so
that dH (v , c) = 1.
If we iterate through the vectors vi = v + ei , we find that
HviT = 0 only for one value of i.
Janne Peltola T-79.4001: The Hat Problem
38. Outline The Problem The Solution Variants
Why is this NOT a good idea?
Theorem
The strategy is successful whenever Hv T = 0, but fails when
Hv T = 0.
Proof.
We previously showed that there is a unique codeword c so
that dH (v , c) = 1.
If we iterate through the vectors vi = v + ei , we find that
HviT = 0 only for one value of i.
Recall that we assumed that Hv T = 0, therefore the case
T
Hv0 = 0 precludes all other possibilities ⇒ v0 = v .
Janne Peltola T-79.4001: The Hat Problem
39. Outline The Problem The Solution Variants
Why is this NOT a good idea?
Theorem
The strategy is successful whenever Hv T = 0, but fails when
Hv T = 0.
Proof.
We previously showed that there is a unique codeword c so
that dH (v , c) = 1.
If we iterate through the vectors vi = v + ei , we find that
HviT = 0 only for one value of i.
Recall that we assumed that Hv T = 0, therefore the case
T
Hv0 = 0 precludes all other possibilities ⇒ v0 = v .
If Hv T = 0, no one would pass ⇒ the strategy fails.
Janne Peltola T-79.4001: The Hat Problem
40. Outline The Problem The Solution Variants
A helpful lemma
Lemma
An [n, k] linear code has 2k elements.
Proof.
An [n, k] linear code C has a check matrix H ∈ Zk×n .
2
Janne Peltola T-79.4001: The Hat Problem
41. Outline The Problem The Solution Variants
A helpful lemma
Lemma
An [n, k] linear code has 2k elements.
Proof.
An [n, k] linear code C has a check matrix H ∈ Zk×n .
2
The elements of C are the columns + (000)T
Janne Peltola T-79.4001: The Hat Problem
42. Outline The Problem The Solution Variants
A helpful lemma
Lemma
An [n, k] linear code has 2k elements.
Proof.
An [n, k] linear code C has a check matrix H ∈ Zk×n .
2
The elements of C are the columns + (000)T
By combinatorics, there are 2k elements.
Janne Peltola T-79.4001: The Hat Problem
43. Outline The Problem The Solution Variants
How often does one fail?
Theorem
The probability that players win by using the strategy is 1 − 2−r .
Proof.
There are 2n elements in Zn .
2
Janne Peltola T-79.4001: The Hat Problem
44. Outline The Problem The Solution Variants
How often does one fail?
Theorem
The probability that players win by using the strategy is 1 − 2−r .
Proof.
There are 2n elements in Zn .
2
2k
Therefore, the probability to find k specific elements is 2n .
Janne Peltola T-79.4001: The Hat Problem
45. Outline The Problem The Solution Variants
How often does one fail?
Theorem
The probability that players win by using the strategy is 1 − 2−r .
Proof.
There are 2n elements in Zn .
2
2k
Therefore, the probability to find k specific elements is 2n .
Therefore, the probability to hit an element v so that
Hv T = 0 is 2−r .
Janne Peltola T-79.4001: The Hat Problem
46. Outline The Problem The Solution Variants
How often does one fail?
Theorem
The probability that players win by using the strategy is 1 − 2−r .
Proof.
There are 2n elements in Zn .
2
2k
Therefore, the probability to find k specific elements is 2n .
Therefore, the probability to hit an element v so that
Hv T = 0 is 2−r .
The complement case’s (Hv T = 0) probability is 1 − 2−r .
Janne Peltola T-79.4001: The Hat Problem
47. Outline The Problem The Solution Variants
Food for thought
In the best tradition of the literature, I explore the
opportunities for expanding the problem without providing
actual solutions.
One could consider k colors instead of 2.
Janne Peltola T-79.4001: The Hat Problem
48. Outline The Problem The Solution Variants
Food for thought
In the best tradition of the literature, I explore the
opportunities for expanding the problem without providing
actual solutions.
One could consider k colors instead of 2.
One could consider n = 2r − 1.
Janne Peltola T-79.4001: The Hat Problem
49. Outline The Problem The Solution Variants
Food for thought
In the best tradition of the literature, I explore the
opportunities for expanding the problem without providing
actual solutions.
One could consider k colors instead of 2.
One could consider n = 2r − 1.
One could consider non-symmetrical color distributions.
Janne Peltola T-79.4001: The Hat Problem
50. Outline The Problem The Solution Variants
Food for thought
In the best tradition of the literature, I explore the
opportunities for expanding the problem without providing
actual solutions.
One could consider k colors instead of 2.
One could consider n = 2r − 1.
One could consider non-symmetrical color distributions.
One could consider variants with more error tolerance (i.e. 1
error allowed). Could one solve n = 2r − 1 with relaxed
conditions?
Janne Peltola T-79.4001: The Hat Problem
51. Outline The Problem The Solution Variants
Summary
We found an interesting connection between coding theory
and game theory.
One can encode certain states and then make sure that there
are only unique legal states which encode to nearby
codewords.
One can use this knowledge to develop a near-optimal
strategy.
Janne Peltola T-79.4001: The Hat Problem