Games, Hats, and Codes Mira Bernstein Wellesley College SUMS 2005.

Slides:



Advertisements
Similar presentations
Transformations We want to be able to make changes to the image larger/smaller rotate move This can be efficiently achieved through mathematical operations.
Advertisements

CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Part 3: The Minimax Theorem
Progressively Finite Games
Induction and recursion
On the size of dissociated bases Raphael Yuster University of Haifa Joint work with Vsevolod Lev University of Haifa.
Eigenvalues and Eigenvectors
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
Games Game 1 Each pair picks exactly one whole number The lowest unique positive integer wins Game 2: Nim Example: Player A picks 5, Player B picks 6,
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 15 Chances, Probabilities, and Odds 15.1Random Experiments and Sample.
Recursive Definitions Rosen, 3.4 Recursive (or inductive) Definitions Sometimes easier to define an object in terms of itself. This process is called.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
1. 2 Overview Some basic math Error correcting codes Low degree polynomials Introduction to consistent readers and consistency tests H.W.
Lecture ,3.3 Sequences & Summations Proof by Induction.
Recursive Definitions Rosen, 3.4 Recursive (or inductive) Definitions Sometimes easier to define an object in terms of itself. This process is called.
6 6.3 © 2012 Pearson Education, Inc. Orthogonality and Least Squares ORTHOGONAL PROJECTIONS.
Using Reduction for the Game of NIM. At each turn, a player chooses one pile and removes some sticks. The player who takes the last stick wins. Problem:
Time for playing games Form pairs You will get a sheet of paper to play games with You will have 12 minutes to play the games and turn them in.
1 Binary Numbers Again Recall that N binary digits (N bits) can represent unsigned integers from 0 to 2 N bits = 0 to 15 8 bits = 0 to bits.
exercise in the previous class (1)
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
Properties of the Integers: Mathematical Induction
Great Theoretical Ideas in Computer Science.
Great Theoretical Ideas in Computer Science.
- ABHRA DASGUPTA Solving Adhoc and Math related problems.
Discrete Mathematics CS 2610 March 26, 2009 Skip: structural induction generalized induction Skip section 4.5.
The Hat Game 11/19/04 James Fiedler. References Hendrik W. Lenstra, Jr. and Gadiel Seroussi, On Hats and Other Covers, preprint, 2002,
Key Stone Problem… Key Stone Problem… next Set 22 © 2007 Herbert I. Gross.
Linear Algebra Chapter 4 Vector Spaces.
Lecture Discrete Probability. 5.1 Probabilities Important in study of complexity of algorithms. Modeling the uncertain world: information, data.
Week 5 - Wednesday.  What did we talk about last time?  Exam 1!
10.4 How to Find a Perfect Matching We have a condition for the existence of a perfect matching in a graph that is necessary and sufficient. Does this.
Information and Coding Theory Linear Block Codes. Basic definitions and some examples. Juris Viksna, 2015.
Section 7.1. Section Summary Finite Probability Probabilities of Complements and Unions of Events Probabilistic Reasoning.
College Algebra Sixth Edition James Stewart Lothar Redlin Saleem Watson.
Binomial Coefficients, Inclusion-exclusion principle
Chapter 7 With Question/Answer Animations. Section 7.1.
Section 3.1: Proof Strategy Now that we have a fair amount of experience with proofs, we will start to prove more difficult theorems. Our experience so.
AN ORTHOGONAL PROJECTION
Fall 2002CMSC Discrete Structures1 One, two, three, we’re… Counting.
March 10, 2015Applied Discrete Mathematics Week 6: Counting 1 Permutations and Combinations How many different sets of 3 people can we pick from a group.
Copyright © Cengage Learning. All rights reserved. CHAPTER 7 FUNCTIONS.
Mathematical Induction I Lecture 4: Sep 16. This Lecture Last time we have discussed different proof techniques. This time we will focus on probably the.
Discrete Structures Lecture 12: Trees Ji Yanyan United International College Thanks to Professor Michael Hvidsten.
CS717 Algorithm-Based Fault Tolerance Matrix Multiplication Greg Bronevetsky.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
Codes & the Hat Game Troy Lynn Bullock John H. Reagan High School, Houston ISD Shalini Kapoor McArthur High School, Aldine ISD Faculty Mentor: Dr. Tie.
Copyright © Cengage Learning. All rights reserved.
Word : Let F be a field then the expression of the form a 1, a 2, …, a n where a i  F  i is called a word of length n over the field F. We denote the.
An Introduction to Game Theory Math 480: Mathematics Seminar Dr. Sylvester.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Basic Concepts of Encoding Codes and Error Correction 1.
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
2/24/20161 One, two, three, we’re… Counting. 2/24/20162 Basic Counting Principles Counting problems are of the following kind: “How many different 8-letter.
Section 7.1. Probability of an Event We first define these key terms: An experiment is a procedure that yields one of a given set of possible outcomes.
Chapter 5. Section 5.1 Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If we can reach.
3/7/20161 Now it’s time to look at… Discrete Probability.
COMPSCI 102 Introduction to Discrete Mathematics.
Matrices CHAPTER 8.9 ~ Ch _2 Contents  8.9 Power of Matrices 8.9 Power of Matrices  8.10 Orthogonal Matrices 8.10 Orthogonal Matrices 
1 Objective To provide background material in support of topics in Digital Image Processing that are based on matrices and/or vectors. Review Matrices.
Content Game of Nim Impartial Games Sprague-Grundy theorem
MAT 322: LINEAR ALGEBRA.
The Pigeonhole Principle
What is Probability? Quantification of uncertainty.
Gray Code Can you find an ordering of all the n-bit strings in such a way that two consecutive n-bit strings differed by only one bit? This is called the.
Mathematical Induction Recursion
Discrete Mathematics for Computer Science
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) BLUEREDPASS Players simultaneously guess the colors of their own hats. Passing is allowed.

A game with hats (N=3) BLUEREDPASS 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 RED #1 #2#3

Possible hat configurations Guesses RED BLUE #1 #2#3

Possible hat configurations Guesses RED BLUE RED #1 #2#3

Possible hat configurations Guesses RED BLUE RED BLUE #1 #2#3

Possible hat configurations Guesses RED BLUE RED BLUE #1 #2#3

Possible hat configurations Guesses RED BLUE RED BLUE #1 #2#3 √ √ √ √ √ √ X X

Possible hat configurations √ √ √ √ √ √ X X Probability of winning: 75% How is this possible? Can we do better? What about N >3?

Possible hat configurations Guesses RED BLUE RED BLUE #1 #2#3

6 correct guesses 6 incorrect guesses # correct = # incorrect RED BLUE RED BLUE #1 #2#3 Guesses

Why? The same instructions that lead to a correct guess in one situation… … will lead to an incorrect guess in another. BLUE Player #3 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? It takes only one correct guess to win! Strategy: Spread out the good guesses. Concentrate the bad guesses. #1 #2#3

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? N = 3: Yes! Other N? #1 #2#3

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 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: B 1 (h): | B 1 (h)| = N+1 center

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. 4 th player’s guess h: √ h’: X

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 h 1  L in the i th entry and from h 2  L in the j th entry. Since S is a perfect strategy, all players guess incorrectly in h 1 and h 2. 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!

H A perfect code

H = points of L A perfect code

H = points of L A perfect code

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

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. Perfect code perfect strategy

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. Example: N=3 L = {000,111}

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=2 m -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 2 N points, so 2 N is divisible by N+1. Thus N+1 is a power of 2, so N=2 m -1. Example: We know a perfect code of length 3 = But what about 7, 15, 31,…?

Error-correcting codes I love you! … I love you too!

Error-correcting codes I love you! … … You what?

Error-correcting codes I love you!

Error-correcting codes I love you!

Error-correcting codes I love you!

Error-correcting codes I love you! I love you too!

A different game: Nim Rules Take any number of stones from any one pile A B

A different game: Nim Rules Whoever takes the last stone wins the game A B

A different game: Nim A B

A B

A B

A B

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

A different game: Nim A B Two equal piles: bad news for whoever is next to move.

A different game: Nim A B From now on, B simply imitates A’s moves…

A different game: Nim A B From now on, B simply imitates A’s moves…

A different game: Nim A B From now on, B simply imitates A’s moves…

A different game: Nim A B From now on, B simply imitates A’s moves…

A different game: Nim A B WINLOSE … so B is guaranteed to take the last stone.

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,0,0,2,3) 1 heap of size 5 2 heaps of size 2 3 heaps of size 1

Position vectors Two equal heaps are a P-position, so we can ignore them (P+P=P, N+P=N). (1,0,0,2,3) 1 heap of size 5 2 heaps of size 2 3 heaps of size 1

Position vectors Thus we can replace all the entries in the position vector with 0’s and 1’s. Binary vector 1 heap of size 5 2 heaps of size 2 3 heaps of size 1 (1,0,0,0,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:

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:

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:

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=2 m -1,we may get a perfect code. To find perfect strategies for the hat game.

P-positions for heaps of size  Start with Smallest v with three 1’s ? ? ?Impossible!

P-positions for heaps of size  Start with Smallest v with three 1’s ? ? ?Impossible!

P-positions for heaps of size  Start with Smallest v with three 1’s ? ? ?

P-positions for heaps of size  Start with Smallest v with three 1’s Next smallest ? ? ?

P-positions for heaps of size  A B ? ? ?

P-positions for heaps of size  A B A+B ? ? ?Impossible!

P-positions for heaps of size  A B A+B ? ? ?

P-positions for heaps of size  A B A+B C 0 1 ? ? ? ? ?

P-positions for heaps of size  A B A+B C C+A C+B 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) > 2 6 Impossible!

P-positions for heaps of size  A B A+B C C+A C+B C+A+B

P-positions for heaps of size  ? ? ?No! A B A+B C C+A C+B C+A+B

P-positions for heaps of size  ? ? ? A B A+B C C+A C+B C+A+B

P-positions for heaps of size  D A B A+B C C+A C+B C+A+B

P-positions for heaps of size  D A D+A B D+B A+Betc C C+A C+B C+A+B

P-positions for heaps of size  7 16 P-positions 8 points per ballA perfect code! 128 = 2 7 points A vector space over Z 2 with basis A B C D

The Hamming Code for N=7 Our code is the kernel of the matrix A = over Z 2 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 = ( ) v has 1’s in positions 7,5,1 7 = = = padding addition with no carry The answer is not 0, so v is not in the code.

Finding the nearest code vector v = ( ) Which coordinate of v should we change? When we “added” 7,5, and 1, we got If we change the “3” coordinate of v from 0 to 1, we’ll have to “add” another = ! v’ = ( ) is in the code.

The Hamming Code for N=2 m -1 Let A be the m  N matrix whose columns are the numbers 1 through N, written in binary. For N=15: A = ker(A) is called the Hamming code of length N.

The Hamming Code for N=2 m -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, On Hats and Other Covers, H. Lenstra and G. Seroussi, 2002 (preprint)