Title: Games, Hats, and Codes
1Games, Hats, and Codes
- Mira Bernstein
- Wellesley College
- SUMS 2005
2A game with hats (N3)
Each player is randomly assigned a red or blue
hat.
3A game with hats (N3)
Each player can see the color of his teammates
hats but not his own.
4A game with hats (N3)
BLUE
RED
PASS
Players simultaneously guess the colors of their
own hats. Passing is allowed.
5A game with hats (N3)
BLUE
RED
PASS
At least one correct guess No incorrect guesses
WIN!
6Some observations
- A player gets NO information about his own hat
from looking at his teammates hats - NO strategy can guarantee victory
- Easy strategy one player guesses, everyone else
passes. - Can the players do better than 50?
7A better strategy for N3
- Instructions for all players
- If you see two hats of the same color, guess
the other color. - If you see two different colors, pass.
8Possible hat configurations
Guesses
1
2
3
9Possible hat configurations
Guesses
1
2
3
RED
10Possible hat configurations
Guesses
1
2
3
RED
BLUE
11Possible hat configurations
Guesses
1
2
3
RED
BLUE
RED
12Possible hat configurations
Guesses
1
2
3
RED
BLUE
RED
BLUE
13Possible hat configurations
Guesses
1
2
3
RED RED
RED
BLUE
RED
BLUE
BLUE BLUE
14Possible hat configurations
Guesses
1
2
3
X
RED RED RED
RED
RED
BLUE
RED
BLUE
BLUE
BLUE BLUE BLUE
v
v
v
v
v
v
X
15Possible hat configurations
Probability of winning 75
X
v
v
v
- How is this possible?
- Can we do better?
- What about N gt3?
v
v
v
X
16Possible hat configurations
Guesses
1
2
3
RED RED RED
RED
RED
BLUE
RED
BLUE
BLUE
BLUE BLUE BLUE
17Guesses
1
2
3
RED RED RED
RED
RED
BLUE
RED
BLUE
BLUE
BLUE BLUE BLUE
- 6 correct guesses
- 6 incorrect guesses
- correct incorrect
18Why?
The same instructions that lead to a
correct guess in one situation
BLUE
Player 3
will lead to an incorrect guess in another.
BLUE
Player 3
19In general
- If the game is played once with each possible
configuration of hats, then - correct guesses incorrect guesses
- True for any number of people N
- True for any deterministic strategy S
20Why does the N3 strategy work?
1
2
3
- It takes only one correct guess to win!
- Strategy
- Spread out the good guesses.
- Concentrate the bad guesses.
21In general
- When played over all hat combinations with N
players, any strategy produces k correct guesses
and k incorrect guesses. (The value of k depends
on the strategy.) - Best possible guess arrangement
- 1 correct guess per winning combination
- N incorrect guesses per losing combination
- A strategy which achieves this is called a
perfect strategy.
22Do perfect strategies actually exist?
1
2
3
23Some terminology
- H set of all possible hat configurations
- (sequences of 0s and 1s)
- Distance in H number of places in which two
elements of H differ. - 1 0 0 1 0 1 1 0 1
- 1 0 1 1 0 1 0 0 1
- Distance 2
24Some terminology
- Ball of radius r around h ? H the set of all
- configurations whose distance from h is at most
r. - h 1 0 0 1
- B1(h) 0 0 0 1
- 1 1 0 1
- 1 0 1 1
- 1 0 0 0 B1(h) N1
- center 1 0 0 1
25Some terminology
- S a (deterministic) strategy
- L set of all hat configurations where a team
playing according to S loses - W set of all hat configurations where a team
playing according to S wins - L ? W H
26An important fact
- Suppose h and h are elements of H that differ
only in the i th entry. - If, according to strategy S, Player i guesses
correctly in h, then he guesses incorrectly in
h, and vice versa. - 4th players guess
- h 0 1 0 0 1 0 v
- h 0 1 0 1 1 0 X
27Corollaries
- Theorem 1 Every element h ? W is within distance
1 of some element of h ? L. - Proof Suppose Player j guesses correctly in h.
Let h be the hat configuration that differs from
h only in the j th entry. Then Player j must
guess incorrectly in h, so h is in L.
28Corollaries
- Theorem 2 In a perfect strategy S, every element
h ? W is within distance 1 of exactly one element
of L. - Proof Suppose h differs from h1 ? L in the i th
entry and from h2 ? L in the j th entry. Since S
is a perfect strategy, all players guess
incorrectly in h1 and h2. But then Players i and
j must both guess correctly in h, which cannot
happen in a perfect strategy. ??
29Corollaries
- In other words.
- Theorem 1 Every element h ? H is contained in a
ball of radius 1 around some element of L. - Theorem 2 In a perfect strategy S, the balls of
radius 1 around elements of L do not overlap.
30Codes
- A perfect code of length N is a subset L in H
such that the balls of radius 1 around points of
L - include all of H
- do not overlap
- A perfect strategy yields a perfect code!
31A perfect code
H
32A perfect code
H
points of L
33A perfect code
H
points of L
34Perfect code perfect strategy
- Instructions for Player i
- If the hat configuration might be in L
- Guess so that if its in L, youll be wrong.
- If you can tell that the hat configuration is not
in L Pass
35Perfect code perfect strategy
- Results (for hat configuration h)
- If h is in L Every player guesses wrong.
- If the hat configuration h is not in L
- There is a unique element h of L which
differs from h in one place -- say the i th
place.The i th player cant tell if the
configuration is h or h, so he guesses away
from h, correctly. All others pass.
36Example N3 L 000,111
011
111
001
101
010
110
000
100
37Example N3 L 000,111
011
111
001
101
010
110
000
100
38Example N3 L 000,111
- Instructions for Player i
- If the hat configuration might be in L, guess so
that if its in L youll be wrong. - Translation If you see two 0s or two 1s,
guess the opposite number.
39Example N3 L 000,111
- Instructions for Player i
- If you can tell that the hat configuration is not
in L, pass. - Translation If you see two different numbers,
pass.
40How good are perfect strategies?
- Theorem If S is a perfect strategy for N players
then the probability of winning is N/N1. - Proof In every ball, N out of the N1 points
correspond to winning configurations. - Example If N3, the probability of winning with
a perfect strategy is ¾. There can be no better
strategy than the one we found.
41Do perfect codes exist for Ngt3?
- Theorem A perfect code of length N can exist
only if N2m-1 for some integer m. - Proof A perfect code splits H into disjoint
balls of radius 1. - Each of the balls has N1 points and H has 2N
points, so 2N is divisible by N1. - Thus N1 is a power of 2, so N2m-1.
- Example We know a perfect code of length
- 3 22-1. But what about 7, 15, 31,?
42Error-correcting codes
I love you!
11010
I love you too!
11010
43Error-correcting codes
I love you!
11010
You what?
10010
44Error-correcting codes
I love you!
1001100
45Error-correcting codes
I love you!
1001100
1000100
46Error-correcting codes
I love you!
1001100
1000100
47Error-correcting codes
I love you!
1001100
I love you too!
1001100
48A different game Nim
Rules Take any number of stones from any one pile
B
A
49A different game Nim
Rules Whoever takes the last stone wins the game
B
A
50A different game Nim
B
A
51A different game Nim
B
A
52A different game Nim
B
A
53A different game Nim
B
A
54A different game Nim
Two equal piles bad news for whoever is next to
move.
B
A
55A different game Nim
Two equal piles bad news for whoever is next to
move.
B
A
56A different game Nim
From now on, B simply imitates As moves
B
A
57A different game Nim
From now on, B simply imitates As moves
B
A
58A different game Nim
From now on, B simply imitates As moves
B
A
59A different game Nim
From now on, B simply imitates As moves
B
A
60A different game Nim
so B is guaranteed to take the last stone.
WIN
LOSE
B
A
61Nim is
- Combinatorial no element of chance
- Impartial same moves available to each player
- Finite must end after a finite number of moves
- In any Nim position, exactly one of the
players has a winning strategy.
62Who wins?
- P-position Previous player wins
- N-position Next player wins
- e.g. the empty game is a P-position
- e.g. two equal piles is a P-position
- e.g. two unequal piles is an N-position
- Nim strategy Figure out which positions are
P-positions and move to them!
63More on P and N
- P-position cannot move to a P-position move
only to an N-position (or not at all) - N-position can move to at least one P-position
- If you combine two Nim games into one
- P P P cannot move to another PP
- N P N can move to PP
- N N ? (depends on the games)
64Position vectors
- A Nim position with all heaps of size ? N can be
described by a vector of length N.
1 heap of size 5 2 heaps of size 2 3 heaps of
size 1
(1,0,0,2,3)
65Position vectors
- Two equal heaps are a P-position, so we can
ignore them (PPP, NPN).
1 heap of size 5 2 heaps of size 2 3 heaps of
size 1
(1,0,0,2,3)
66Position vectors
- Thus we can replace all the entries in the
position vector with 0s and 1s.
1 heap of size 5 2 heaps of size 2 3 heaps of
size 1
(1,0,0,0,1)
Binary vector
67Legal moves
- Let X, Y be binary position vectors for Nim.
- One can move from X to Y if
- X gtY (as binary numbers)
- Distance from X to Y is 1 or 2
- Examples
1 0 1
0 1 1
68Legal moves
- Let X, Y be binary position vectors for Nim.
- One can move from X to Y if
- X gtY (as binary numbers)
- Distance from X to Y is 1 or 2
- Examples
1 0 1
0 0 1
69Legal moves
- Let X, Y be binary position vectors for Nim.
- One can move from X to Y if and only if
- X gtY (as binary numbers)
- The distance from X to Y is 1 or 2
- Examples
1 0 1
0 0 0
70P and N review
- P-position cannot move to a P-position move
only to an N-position (or not at all) - N-position can move to at least one P-position
71P and N revisited
- Theorem The distance between two P-position
vectors is 3. - Proof If the distance were 1 or 2, you could
move from the larger vector to the smaller one.
However, it is impossible to move from a
P-position to a P-position. - Corollary Balls of radius 1 around P-positions
do not overlap.
72P and N revisited
- Theorem Any vector X with distance 3 from all
smaller P-positions is a P-position. - Proof Since you cannot move from X to any
P-position, X itself must be a P-position. - Corollary We can look for P-positions
inductively.
73How to look for P-positions
- Start with (,0,0)
- At each step, look for the next smallest sequence
that has distance 3 from every previously-found
P-position. - The preceding theorems guarantee that this
procedure will give you all and only P-positions!
74Why look for P-positions?
- To win at Nim.
- The set of all P-positions with heaps of size ? N
will give us non-overlapping balls of radius 1.
If N2m-1,we may get a perfect code. - To find perfect strategies for the hat game.
75P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 Start with 0
- 0 0 0 0 1 1 1 Smallest v with three 1s
- 0 0 0 1 ? ? ? Impossible!
-
76P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 Start with 0
- 0 0 0 0 1 1 1 Smallest v with three 1s
- 0 0 1 0 ? ? ? Impossible!
77P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 Start with 0
- 0 0 0 0 1 1 1 Smallest v with three 1s
- 0 0 1 1 ? ? ?
-
78P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 Start with 0
- 0 0 0 0 1 1 1 Smallest v with three 1s
- 0 0 1 1 0 0 1 Next smallest
- 0 0 1 1 ? ? ?
-
79P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 ? ? ?
-
80P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 0 ? ? ? Impossible!
-
81P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 1 ? ? ?
-
82P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 1 0 1 0 C
- 0 1 ? ? ? ? ?
-
83P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 1 0 1 0 C
- 0 1 0 1 1 0 1 CA
- 0 1 1 0 0 1 1 CB
- 0 1 1 0 1 0 0 CAB
84P-positions for heaps of size ? 7
- Can we have any other P-positions that begin
- 0 1 X X X X X ? D
- Then we would have DA, DB, etc 16 total
- Can we have 16 P-positions with heaps ? 6?
- (16 balls of radius 1) (7 points per ball) gt 26
- Impossible!
85P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 1 0 1 0 C
- 0 1 0 1 1 0 1 CA
- 0 1 1 0 0 1 1 CB
- 0 1 1 0 1 0 0 CAB
86P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0 1 0 0 0 ? ? ? No!
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 1 0 1 0 C
- 0 1 0 1 1 0 1 CA
- 0 1 1 0 0 1 1 CB
- 0 1 1 0 1 0 0 CAB
87P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0 1 0 0 1 ? ? ?
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 1 0 1 0 C
- 0 1 0 1 1 0 1 CA
- 0 1 1 0 0 1 1 CB
- 0 1 1 0 1 0 0 CAB
88P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 D
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 0 1 1 1 1 0 AB
- 0 1 0 1 0 1 0 C
- 0 1 0 1 1 0 1 CA
- 0 1 1 0 0 1 1 CB
- 0 1 1 0 1 0 0 CAB
89P-positions for heaps of size ? 7
- 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 D
- 0 0 0 0 1 1 1 A 1 0 0 1 1 0 0 DA
- 0 0 1 1 0 0 1 B 1 0 1 0 0 1 0 DB
- 0 0 1 1 1 1 0 AB etc.
- 0 1 0 1 0 1 0 C
- 0 1 0 1 1 0 1 CA
- 0 1 1 0 0 1 1 CB
- 0 1 1 0 1 0 0 CAB
90P-positions for heaps of size ? 7
- 16 P-positions
- 8 points per ball A perfect code!
- 128 27 points
- A vector space over Z2 with basis
- 0 0 0 0 1 1 1 A
- 0 0 1 1 0 0 1 B
- 0 1 0 1 0 1 0 C
- 1 0 0 1 0 1 1 D
91The Hamming Code for N7
- Our code is the kernel of the matrix
- 1 1 1 1 0 0 0
- A 1 1 0 0 1 1 0
- 1 0 1 0 1 0 1 over Z2
- The columns are the numbers 1-7 in binary!
- This code is called the Hamming Code.
92The Hamming Code for N7
- A quick way to check if v ? ker(A)
- Record the numbers corresponding to the
positions where v has a 1 - Write these numbers in binary, with leading zeros
if necessary - Add the numbers as binary vectors
- 11 0, no carry!
- v ? ker(A) iff you get 0
93The Hamming Code for N7
- Example v ( 1 0 1 0 0 0 1 )
- v has 1s in positions 7,5,1
- 7 1 1 1
- 5 1 0 1
- 1 0 0 1 padding
- 0 1 1 addition with no carry
- The answer is not 0, so v is not in the code.
94Finding the nearest code vector
- v ( 1 0 1 0 0 0 1 )
- Which coordinate of v should we change?
- When we added 7,5, and 1, we got 0 1 1.
- If we change the 3 coordinate of v from 0 to 1,
well have to add another 0 1 1. - 0 1 1 0 1 1 0 0 0 !
- v ( 1 0 1 0 1 0 1 ) is in the code.
95The Hamming Code for N2m-1
- Let A be the m?N matrix whose columns are the
numbers 1 through N, written in binary. - For N15
- 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
- A 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0
- 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
- 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
- ker(A) is called the Hamming code of length N.
96The Hamming Code for N2m-1
- Every N-vector v is within distance 1 of exactly
one code vector v. - A(v), read as a binary number, gives the
coordinate in which v and v differ! - The Hamming code is a perfect code, which makes
error-correction especially simple!
97Homework
- Prove that the Hamming Code really is perfect and
that A(v) gives the coordinate of the error. - Using the Hamming code, find a practical strategy
for Nim. - Using the Hamming code, find a practical strategy
for the hat game for 7 players.
98A bit more about codes
- Not all codes are perfect
- In a general error-correcting code, the balls
around the code points are disjoint, but do not
necessarily include every point in the space. - In a general covering code, the balls cover the
whole space, but may overlap. - A perfect code is both an error-correcting code
and a covering code.
99A bit more about codes
- In a general error-correcting code, the balls
around the code points may have radius rgt1. - The Hamming codes are (essentially) the only
perfect codes with radius 1. - The is only one other perfect code the Golay
code for N23, with radius 3.
100Lexicodes
- We used the P-positions of a game (Nim)
- to construct a code (the Hamming code).
- In general, the P-positions of many impartial
games correspond to well-known codes! - These can be constructed in increasing
lexicographic order, starting at 0 -- hence the
name lexicodes!
101References
- Lexicographic Codes Error-Correcting Codes from
Game Theory, John H. Conway and N.J.A. Sloane,
IEEE Trans. Inform. Theory, 1986 - http//www.research.att.com/njas/doc/lex.pdf
- On Hats and Other Covers, H. Lenstra and G.
Seroussi, 2002 (preprint) - www.hpl.hp.com/infotheory/hats_extsum.pdf
102(No Transcript)
103(No Transcript)
104(No Transcript)