Download Presentation
Games, Hats, and Codes

Loading in 2 Seconds...

1 / 104

# Games, Hats, and Codes - PowerPoint PPT Presentation

Games, Hats, and Codes. Mira Bernstein Wellesley College SUMS 2005. A game with hats (N=3). Each player is randomly assigned a red or blue hat. A game with hats (N=3). Each player can see the color of his teammates’ hats but not his own. A game with hats (N=3). BLUE. PASS. RED.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

## PowerPoint Slideshow about 'Games, Hats, and Codes' - kezia

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Games, Hats, and Codes

Mira Bernstein

Wellesley College

SUMS 2005

A game with hats (N=3)

Each player is randomly assigned a red or blue hat.

A game with hats (N=3)

Each player can see the color of his teammates’ hats but not his own.

A game with hats (N=3)

BLUE

PASS

RED

Players simultaneously guess the colors of their own hats. Passing is allowed.

A game with hats (N=3)

BLUE

PASS

RED

At least one correct guess

No incorrect guesses

WIN!

Some 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%?
A better strategy for N=3

Instructions for all players:

If you see two hats of the same color, guess the other color.

If you see two different colors, pass.

Possible hat

configurations

Guesses

#1

#2

#3

Possible hat

configurations

Guesses

#1

#2

#3

Possible hat

configurations

Guesses

#1

#2

#3

Possible hat

configurations

Guesses

#1

#2

#3

Possible hat

configurations

Guesses

#1

#2

#3

Possible hat

configurations

Guesses

#1

#2

#3

Possible hat

configurations

Guesses

#1

#2

#3

X

X

Possible hat

configurations

Probability

of winning:

75%

X

• How is this possible?
• Can we do better?
• What about N >3?

X

Possible hat

configurations

Guesses

#1

#2

#3

Guesses

#1

#2

#3

6 correct guesses

6 incorrect guesses

# correct = # incorrect

Why?

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

In 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

Why does the N=3 strategy work?

#1

#2

#3

It takes only one correct guess to win!

Strategy:

Spread out the good guesses.

Concentrate the bad guesses.

In 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.
Do perfect strategies actually exist?

#1

#2

#3

N = 3: Yes!

Other N?

Some 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

Some 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)| = N+1

center 1 0 0 1

Some 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

An 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 player’s guess

h: 0 1 0 0 1 0√

h’: 0 1 0 1 10X

Corollaries

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.

Corollaries

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 ith entry and from h2 L in the jth 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. 

Corollaries

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.

Codes

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!

A perfect code

H

= points of L

A perfect code

H

= points of L

Perfect code perfect strategy

Instructions for Player i:

• If the hat configuration might be in L:

Guess so that if it’s in L, you’ll be wrong.

• If you can tell that the hat configuration is not in L: Pass
Perfect 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 can’t tell if the configuration is h or h’, so he guesses away from h’, correctly. All others pass.

Example: N=3 L = {000,111}

011

111

001

101

010

110

000

100

Example: N=3 L = {000,111}

011

111

001

101

010

110

000

100

Example: N=3 L = {000,111}

Instructions for Player i:

• If the hat configuration might be in L, guess so that if it’s in L you’ll be wrong.

Translation: If you see two 0’s or two 1’s, guess the opposite number.

Example: N=3 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.

How good are perfect strategies?

Theorem: If S is a perfect strategy for N players then the probability of winning is N/N+1.

Proof: In every ball, N out of the N+1 points correspond to winning configurations.

Example: If N=3, the probability of winning with a perfect strategy is ¾. There can be no better strategy than the one we found.

Do perfect codes exist for N>3?

Theorem: A perfect code of length N can exist only if N=2m-1 for some integer m.

Proof:A perfect code splits H into disjoint balls of radius 1.

Each of the balls has N+1 points and H has 2N points, so 2N is divisible by N+1.

Thus N+1 is a power of 2, so N=2m-1.

Example: We know a perfect code of length

3 = 22-1. But what about 7, 15, 31,…?

Error-correcting codes

I love you!

11010…

I love you too!

11010…

Error-correcting codes

I love you!

11010…

You what?

10010…

Error-correcting codes

I love you!

1001100

Error-correcting codes

I love you!

1001100

1000100

Error-correcting codes

I love you!

1001100

1000100

Error-correcting codes

I love you!

1001100

I love you too!

1001100

A different game: Nim

Rules

Take any number of stones

from any one pile

B

A

A different game: Nim

Rules

Whoever takes the last stone wins the game

B

A

A different game: Nim

Two equal piles: bad news for whoever is next to move.

B

A

A different game: Nim

Two equal piles: bad news for whoever is next to move.

B

A

A different game: Nim

From now on, B simply imitates A’s moves…

B

A

A different game: Nim

From now on, B simply imitates A’s moves…

B

A

A different game: Nim

From now on, B simply imitates A’s moves…

B

A

A different game: Nim

From now on, B simply imitates A’s moves…

B

A

A different game: Nim

… so B is guaranteed to take the last stone.

LOSE

WIN

B

A

Nim 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.

Who 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!

More 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 P+P
• N + P = N: can move to P+P
• N + N = ? (depends on the games)
Position 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)

Position vectors

Two equal heaps are a P-position, so we can ignore them (P+P=P, N+P=N).

1 heap of size 5

2 heaps of size 2

3 heaps of size 1

(1,0,0,2,3)

Position vectors

Thus we can replace all the entries in the position vector with 0’s and 1’s.

1 heap of size 5

2 heaps of size 2

3 heaps of size 1

(1,0,0,0,1)

Binary vector

Legal moves

Let X, Y be binary position vectors for Nim.

One can move from X to Y if

• X >Y (as binary numbers)
• Distance from X to Y is 1 or 2

Examples:

1 0 1

01 1

Legal moves

Let X, Y be binary position vectors for Nim.

One can move from X to Y if

• X >Y (as binary numbers)
• Distance from X to Y is 1 or 2

Examples:

1 0 1

0 0 1

Legal moves

Let X, Y be binary position vectors for Nim.

One can move from X to Y if and only if

• X >Y (as binary numbers)
• The distance from X to Y is 1 or 2

Examples:

1 0 1

0 0 0

P 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

P 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.

P 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.

How 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!
Why 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 N=2m-1,we may get a perfect code.
• To find perfect strategies for the hat game.
P-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 1’s

0 0 0 1 ? ? ? Impossible!

P-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 1’s

0 0 1 0 ? ? ? Impossible!

P-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 1’s

0 0 1 1 ? ? ?

P-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 1’s

0 0 1 1 0 0 1 Next smallest

0 0 1 1 ? ? ?

P-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 ? ? ?

P-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 A+B

0 1 0 0 ? ? ? Impossible!

P-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 A+B

0 1 0 1 ? ? ?

P-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 A+B

0 1 0 1 0 1 0 C

0 1 ? ? ? ? ?

P-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 A+B

0 1 0 1 0 1 0 C

0 1 0 1 1 0 1 C+A

0 1 1 0 0 1 1 C+B

0 1 1 0 1 0 0 C+A+B

P-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 D+A, D+B, etc: 16 total

Can we have 16 P-positions with heaps  6?

(16 balls of radius 1) (7 points per ball) > 26

Impossible!

P-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 A+B

0 1 0 1 0 1 0 C

0 1 0 1 1 0 1 C+A

0 1 1 0 0 1 1 C+B

0 1 1 0 1 0 0 C+A+B

P-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 A+B

0 1 0 1 0 1 0 C

0 1 0 1 1 0 1 C+A

0 1 1 0 0 1 1 C+B

0 1 1 0 1 0 0 C+A+B

P-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 A+B

0 1 0 1 0 1 0 C

0 1 0 1 1 0 1 C+A

0 1 1 0 0 1 1 C+B

0 1 1 0 1 0 0 C+A+B

P-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 A+B

0 1 0 1 0 1 0 C

0 1 0 1 1 0 1 C+A

0 1 1 0 0 1 1 C+B

0 1 1 0 1 0 0 C+A+B

P-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 D+A

0 0 1 1 0 0 1 B 1 0 1 0 0 1 0 D+B

0 0 1 1 1 1 0 A+B etc.

0 1 0 1 0 1 0 C

0 1 0 1 1 0 1 C+A

0 1 1 0 0 1 1 C+B

0 1 1 0 1 0 0 C+A+B

P-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

The Hamming Code for N=7

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.

The Hamming Code for N=7

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:

1+1 = 0, no carry!

• v  ker(A) iff you get 0
The Hamming Code for N=7

Example: v = ( 1 0 1 0 0 0 1 )

v has 1’s 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.

Finding 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, we’ll 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.

The Hamming Code for N=2m-1

Let A be the mN matrix whose columns are the numbers 1 through N, written in binary.

For N=15:

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 codeof length N.

The Hamming Code for N=2m-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!

Homework
• 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.
A 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.
A bit more about codes
• In a general error-correcting code, the balls around the code points may have radius r>1.
• The Hamming codes are (essentially) the only perfect codes with radius 1.
• The is only one other perfect code: the Golay code for N=23, with radius 3.
Lexicodes

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!

References
• 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