games hats and codes n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Games, Hats, and Codes PowerPoint Presentation
Download Presentation
Games, Hats, and Codes

Loading in 2 Seconds...

play fullscreen
1 / 104

Games, Hats, and Codes - PowerPoint PPT Presentation


  • 270 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

Games, Hats, and Codes

Mira Bernstein

Wellesley College

SUMS 2005

slide2

A game with hats (N=3)

Each player is randomly assigned a red or blue hat.

slide3

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
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 31
A game with hats (N=3)

BLUE

PASS

RED

At least one correct guess

No incorrect guesses

WIN!

some observations
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
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.

slide8

Possible hat

configurations

Guesses

#1

#2

#3

slide9

Possible hat

configurations

Guesses

#1

#2

#3

slide10

Possible hat

configurations

Guesses

#1

#2

#3

slide11

Possible hat

configurations

Guesses

#1

#2

#3

slide12

Possible hat

configurations

Guesses

#1

#2

#3

slide13

Possible hat

configurations

Guesses

#1

#2

#3

slide14

Possible hat

configurations

Guesses

#1

#2

#3

X

X

slide15

Possible hat

configurations

Probability

of winning:

75%

X

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

X

slide16

Possible hat

configurations

Guesses

#1

#2

#3

slide17

Guesses

#1

#2

#3

6 correct guesses

6 incorrect guesses

# correct = # incorrect

slide18
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
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
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 general1
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
Do perfect strategies actually exist?

#1

#2

#3

N = 3: Yes!

Other N?

some terminology
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 terminology1
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 terminology2
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
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
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.

corollaries1
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. 

corollaries2
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
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 code1
A perfect code

H

= points of L

a perfect code2
A perfect code

H

= points of L

perfect code perfect strategy
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 strategy1
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
Example: N=3 L = {000,111}

011

111

001

101

010

110

000

100

example n 3 l 000 1111
Example: N=3 L = {000,111}

011

111

001

101

010

110

000

100

example n 3 l 000 1112
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 1113
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
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
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
Error-correcting codes

I love you!

11010…

I love you too!

11010…

error correcting codes1
Error-correcting codes

I love you!

11010…

You what?

10010…

error correcting codes2
Error-correcting codes

I love you!

1001100

error correcting codes3
Error-correcting codes

I love you!

1001100

1000100

error correcting codes4
Error-correcting codes

I love you!

1001100

1000100

error correcting codes5
Error-correcting codes

I love you!

1001100

I love you too!

1001100

a different game nim
A different game: Nim

Rules

Take any number of stones

from any one pile

B

A

a different game nim1
A different game: Nim

Rules

Whoever takes the last stone wins the game

B

A

a different game nim6
A different game: Nim

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

B

A

a different game nim7
A different game: Nim

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

B

A

a different game nim8
A different game: Nim

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

B

A

a different game nim9
A different game: Nim

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

B

A

a different game nim10
A different game: Nim

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

B

A

a different game nim11
A different game: Nim

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

B

A

a different game nim12
A different game: Nim

… so B is guaranteed to take the last stone.

LOSE

WIN

B

A

nim is
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
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
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
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 vectors1
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 vectors2
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
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 moves1
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 moves2
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 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
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 revisited1
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
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
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
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 71
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 72
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 73
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 74
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 75
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 76
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 77
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 78
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 79
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 710
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 711
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 712
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 713
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 714
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 715
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
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 71
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 72
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
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 2 m 1
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 2 m 11
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
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
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 codes1
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
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
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