![Page 1: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/1.jpg)
Playing with cards and hats - an introduction to error correcting codes
http://www.math.jussieu.fr/~miw/April 18, 2009
Michel Waldschmidt
Université P. et M. Curie - Paris VI
Centre International de Mathématiques Pures et Appliquées - CIMPA
HCMUS University of Science, Ho Chi Minh City, Vietnam
![Page 2: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/2.jpg)
2
Given 16 playing cards, if you select one of them, then with 4 questions I can deduce from your answers of yes/no type which card you choose. With one more question I shall detect if one of your answer is not compatible with the others, but I shall not be able to correct it. The earliest error correcting code, due to Richard Hamming (1950), shows that 7 questions suffice (and this is optimal).
Seven people are in a room, each has a hat on his head, the color of which is black or white. Hat colors are chosen randomly. Everybody sees the color of the hat on everyone's head, but not on their own. People do not communicate with each other. Everyone gets to guess (by writing on a piece of paper) the color of their hat. They may write: Black/White/Abstain. The people in the room win together or lose together. The team wins if at least one of the three people did not abstain, and everyone who did not abstain guessed the color of their hat correctly. How will this team decide a good strategy with a high probability of winning? Again the answer is given by Hammings code, and the probability of winning for the team is 7/8.
Before tossing a coin 7 consecutive time, you want to make a limited number of bets and be sure that one of them will have at most one wrong answer. How many bets are required? Once more the answer is given by Hamming and it is 16.
After a discussion of these three examples we shall give a brief survey of coding theory, up to the more recent codes involving algebraic geometry.
![Page 3: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/3.jpg)
The Hat Problem
![Page 4: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/4.jpg)
4
The Hat Problem• Three people are in a room, each has a hat on
his head, the colour of which is black or white. Hat colours are chosen randomly. Everybody sees the colour of the hat on everyone’s head, but not on their own. People do not communicate with each other.
• Everyone tries to guess (by writing on a piece of paper) the colour of their hat. They may write: Black/White/Abstention.
![Page 5: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/5.jpg)
5
• The people in the room win together or lose together as a team.
• The team wins if at least one of the three persons do not abstain, and everyone who did not abstain guessed the colour of their hat correctly.
• What could be the strategy of the team to get the highest probability of winning?
Rules of the game
![Page 6: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/6.jpg)
6
• Slightly better strategy: they agree that two of them abstain and the other guesses randomly.
• Probability of winning: 1/2.
• Is it possible to do better?
Strategy
• A weak strategy: anyone guesses randomly.
• Probability of winning: 1/23 =1/8.
![Page 7: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/7.jpg)
7
• Hint:
Improve the odds by using the available information: everybody sees the colour of the hat on everyone’s head except on his own head.
Information is the key
![Page 8: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/8.jpg)
8
• Better strategy: if a member sees two different colours, he abstains. If he sees the same colour twice, he guesses that his hat has the other colour.
Solution of the Hat Problem
![Page 9: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/9.jpg)
9
The two people with white hats see one white hat and one black hat, so they abstain.
The one with a black hat sees two white hats, so he writes black.
The team wins!
![Page 10: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/10.jpg)
10
The two people with black hats see one white hat and one black hat, so they abstain.
The one with a white hat sees two black hats, so he writes white.
The team wins!
![Page 11: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/11.jpg)
11
Everybody sees two white hats, and therefore writes black on the paper.
The team looses!
![Page 12: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/12.jpg)
12
Everybody sees two black hats, and therefore writes white on the paper.
The team looses!
![Page 13: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/13.jpg)
13
Winning team:
two whitesor
two blacks
![Page 14: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/14.jpg)
14
Loosing team:
three whitesor
three blacks
Probability of winning: 3/4.
![Page 15: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/15.jpg)
15
Playing cards:easy game
![Page 16: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/16.jpg)
16
I know which card you selected
• Among a collection of playing cards, you select one without telling me which one it is.
• I ask you some questions and you answer yes or no.
• Then I am able to tell you which card you selected.
![Page 17: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/17.jpg)
17
2 cards
• You select one of these two cards
• I ask you one question and you answer yes or no.
• I am able to tell you which card you selected.
![Page 18: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/18.jpg)
18
2 cards: one question suffices
• Question: is it this one?
![Page 19: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/19.jpg)
19
4 cards
![Page 20: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/20.jpg)
20
First question: is it one of these two?
![Page 21: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/21.jpg)
21
Second question: is it one of these two ?
![Page 22: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/22.jpg)
22
4 cards: 2 questions suffice
Y Y Y N
N Y N N
![Page 23: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/23.jpg)
23
8 Cards
![Page 24: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/24.jpg)
24
First question: is it one of these?
![Page 25: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/25.jpg)
25
Second question: is it one of these?
![Page 26: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/26.jpg)
26
Third question: is it one of these?
![Page 27: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/27.jpg)
27
8 Cards: 3 questions
YYY YYN YNY YNN
NYY NYN NNY NNN
![Page 28: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/28.jpg)
28
Yes / No
• 0 / 1
• Yin — / Yang - -
• True / False
• White / Black
• + / -
• Heads / Tails (tossing or flipping a coin)
![Page 29: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/29.jpg)
29
8 Cards: 3 questions
YYY YYN YNY YNN
NYY NYN NNY NNN
Replace Y by 0 and N by 1
![Page 30: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/30.jpg)
30
3 questions, 8 solutions
0 0 0 0 0 1 0 1 0 0 1 1
1 0 0 1 0 1 1 1 0 1 1 1
0 1 2 3
4 5 6 7
![Page 31: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/31.jpg)
31
8 = 2 2 2 = 23
One could also display the eight cards on the corners of a cube rather than in two rows of four entries.
![Page 32: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/32.jpg)
32
Exponential law
n questions for 2n cards
Add one question =multiply the number of cards by 2
Economy: Growth rate of 4% for 25 years = multiply by 2.7
![Page 33: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/33.jpg)
33
Complexity
An integer between 0 and 2n -1 is given by its binary expansion involving n digits.
Binary notationm=an-1an-2 … a1a0
meansm=2n-1an-1 + 2n-2an-2 + … + 2a1+ a0.
The complexity of m is its number of digits : n = 1+ [log2 m] if an-1 ≠ 0.
![Page 34: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/34.jpg)
34
16 Cards 4 questions
![Page 35: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/35.jpg)
35
Label the 16 cards
0 1 32
4 5 76
8 9 1110
12 13 1514
![Page 36: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/36.jpg)
36
Binary representation:
0 0 0 0 0 0 0 1 0 0 1 10 0 1 0
0 1 0 0 0 1 0 1 0 1 1 10 1 1 0
1 0 0 0 1 0 0 1 1 0 1 11 0 1 0
1 1 0 0 1 1 0 1 1 1 1 11 1 1 0
![Page 37: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/37.jpg)
37
Ask the questions so that the answers are:
Y Y Y Y Y Y Y N Y Y N NY Y N Y
Y N Y Y Y N Y N Y N N NY N N Y
N Y Y Y N Y Y N N Y N NN Y N Y
N N Y Y N N Y N N N N NN N N Y
![Page 38: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/38.jpg)
38
First question:
![Page 39: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/39.jpg)
39
Second question:
![Page 40: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/40.jpg)
40
Third question:
![Page 41: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/41.jpg)
41
Fourth question:
![Page 42: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/42.jpg)
42
The same works with 32, 64,128,… cards
![Page 43: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/43.jpg)
More difficult:
One answer may be wrong!
![Page 44: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/44.jpg)
44
One answer may be wrong
• Consider the same problem, but you are allowed to give (at most) one wrong answer.
• How many questions are required so that I am able to know whether your answers are all right or not? And if they are all right, to know the card you selected?
![Page 45: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/45.jpg)
45
Detecting one mistake
• If I ask one more question, I will be able to detect if one of your answers is not compatible with the other answers.
• And if you made no mistake, I will tell you which is the card you selected.
![Page 46: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/46.jpg)
46
Detecting one mistake with 2 cards
• With two cards I just repeat twice the same question.
• If both your answers are the same, you did not lie and I know which card you selected
• If your answers are not the same, I know that one answer is right and one answer is wrong (but I don’t know which one is correct!).
Y Y N N0 0 1 1
![Page 47: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/47.jpg)
47
Principle of coding theory
Only certain words are allowed (code = dictionary of valid words).
The « useful » letters (data bits) carry the information, the other ones (control bits or check bits) allow detecting errors and sometimes correcting errors.
![Page 48: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/48.jpg)
48
Detecting one error by sending twice the message
Send twice each bit
2 codewords among 4=22 possible words
(1 data bit, 1 check bit)
Codewords
(length two)
0 0
and
1 1
Rate: 1/2
![Page 49: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/49.jpg)
49
Principle of codes detecting one error:
Two distinct codewords have at least two distinct letters
![Page 50: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/50.jpg)
50
4 cards
![Page 51: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/51.jpg)
51
First question: is it one of these two?
![Page 52: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/52.jpg)
52
Second question: is it one of these two?
![Page 53: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/53.jpg)
53
Third question: is it one of these two?
![Page 54: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/54.jpg)
54
4 cards: 3 questions
Y Y Y Y N N
N Y N N N Y
![Page 55: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/55.jpg)
55
4 cards: 3 questions
0 0 0 0 1 1
1 0 1 1 1 0
![Page 56: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/56.jpg)
56
Correct triples of answers:
0 0 0 0 1 1 1 0 1 1 1 0
Wrong triples of answers
0 0 1 0 1 0 1 0 0 1 1 1
One change in a correct triple of answers yields a wrong triple of answers
In a correct triple of answers, the number 1‘s of is even, in a wrong triple of answers, the number 1‘s of is odd.
![Page 57: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/57.jpg)
57
Boolean addition
• even + even = even
• even + odd = odd
• odd + even = odd
• odd + odd = even
• 0 + 0 = 0
• 0 + 1 = 1
• 1 + 0 = 1
• 1 + 1 = 0
![Page 58: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/58.jpg)
58
Parity bit or Check bit• Use one extra bit defined to be the Boolean sum
of the previous ones.
• Now for a correct answer the Boolean sum of the bits should be 0 (the number of 1’s is even).
• If there is exactly one error, the parity bit will detect it: the Boolean sum of the bits will be 1 instead of 0 (since the number of 1’s is odd).
• Remark: also corrects one missing bit.
![Page 59: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/59.jpg)
59
Parity bit or Check bit• In the International Standard Book Number
(ISBN) system used to identify books, the last of the ten-digit number is a check bit.
• The Chemical Abstracts Service (CAS) method of identifying chemical compounds, the United States Postal Service (USPS) use check digits.
• Modems, computer memory chips compute checksums.
• One or more check digits are commonly embedded in credit card numbers.
![Page 60: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/60.jpg)
60
Detecting one error with the parity bit
Codewords (of length 3):
0 0 0
0 1 1
1 0 1
1 1 0
Parity bit : (x y z) with z=x+y.
4 codewords (among 8 words of length 3),
2 data bits, 1 check bit.
Rate: 2/3
![Page 61: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/61.jpg)
61
CodewordsNon Codewords
0 0 0 0 0 10 1 1 0 1 01 0 1 1 0 0
1 1 0 1 1 1
Two distinct codewords have at least two distinct letters.
![Page 62: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/62.jpg)
62
8 Cards
![Page 63: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/63.jpg)
63
4 questions for 8 cards
0000 0011 0101 0110
1001 1010 1100 1111
YYYY YYNN YNYN YNNY
NYYN NYNY NNYY NNNN
Use the 3 previous questions plus the parity bit question
(the number of N‘s should be even).
![Page 64: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/64.jpg)
64
First question: is it one of these?
![Page 65: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/65.jpg)
65
Second question: is it one of these?
![Page 66: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/66.jpg)
66
Third question: is it one of these?
![Page 67: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/67.jpg)
67
Fourth question: is it one of these?
![Page 68: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/68.jpg)
68
16 cards, at most one wrong answer:
5 questions to detect the mistake
![Page 69: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/69.jpg)
69
Ask the 5 questions so that the answers are:
YYYYY YYYNN YYNNYYYNYN
YNYYN YNYNY YNNNNYNNYY
NYYYN NYYNY NYNNNNYNYY
NNYYY NNYNN NNNNYNNNYN
![Page 70: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/70.jpg)
70
Fifth question:
![Page 71: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/71.jpg)
71
The same works with 32, 64,128,… cards
![Page 72: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/72.jpg)
72
Correcting one mistake
• Again I ask you questions to each of which your answer is yes or no, again you are allowed to give at most one wrong answer, but now I want to be able to know which card you selected - and also to tell you whether or not you lied and when you eventually lied.
![Page 73: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/73.jpg)
73
With 2 cards
• I repeat the same question three times.
• The most frequent answer is the right one: vote with the majority.
• 2 cards, 3 questions, corrects 1 error.
• Right answers: 000 and 111
![Page 74: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/74.jpg)
74
Correcting one errorby repeating three times
• Send each bit three times
2 codewords
among 8 possible ones
(1 data bit, 2 check bits)
Codewords
(length three)
0 0 0
1 1 1
Rate: 1/3
![Page 75: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/75.jpg)
75
• Correct 0 0 1 as 0 0 0
• Correct 0 1 0 as 0 0 0
• Correct 1 0 0 as 0 0 0
and
• Correct 1 1 0 as 1 1 1
• Correct 1 0 1 as 1 1 1
• Correct 0 1 1 as 1 1 1
![Page 76: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/76.jpg)
76
Principle of codes correcting one error: Two distinct codewords have at least
three distinct letters
![Page 77: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/77.jpg)
77
Hamming Distance between two words:
= number of places in which the two words
differ
Examples
(0,0,1) and (0,0,0) have distance 1
(1,0,1) and (1,1,0) have distance 2
(0,0,1) and (1,1,0) have distance 3Richard W. Hamming (1915-1998)
![Page 78: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/78.jpg)
78
Hamming distance 1
![Page 79: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/79.jpg)
79
Two or three 0‘s Two or three 1‘s
(0,0,1)(0,1,0)
(1,0,0)
(0,0,0)
(1,0,1)(1,1,0)
(1,1,1)
(0,1,1)
![Page 80: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/80.jpg)
80
• The set of words of length 3 (eight elements) splits into two spheres (balls)
• The centers are respectively (0,0,0) and (1,1,1)
• Each of the two balls consists of elements at distance at most 1 from the center
The code (0 0 0) (1 1 1)
![Page 81: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/81.jpg)
Back to the Hat Problem
![Page 82: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/82.jpg)
82
Connection with error detecting codes
• Replace white by 0 and black by 1; hence the distribution of colours becomes a
word of length 3 on the alphabet {0 , 1}• Consider the centers of the balls (0,0,0) and
(1,1,1).• The team bets that the distribution of
colours is not one of the two centers.
![Page 83: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/83.jpg)
83
If a player sees two 0,the center of the ball is (0,0,0)
(0,0,1)(0,1,0)
(1,0,0)
(0,0,0)
(1,0,1) (1,1,0)
(1,1,1)
(0,1,1)
Each player knows two digits only
If a player sees two 1, the center of the ball
is (1,1,1)
![Page 84: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/84.jpg)
84
If a player sees one 0 and one 1, he does not know the center
(0,0,1)(0,1,0)
(1,0,0)
(0,0,0)
(1,0,1)(1,1,0)
(1,1,1)
(0,1,1)
![Page 85: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/85.jpg)
85
Hamming’s unit sphere
• The unit sphere around a word includes the words at distance at most 1
![Page 86: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/86.jpg)
86
At most one error
![Page 87: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/87.jpg)
87
Words at distance at least 3
![Page 88: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/88.jpg)
88
Decoding
![Page 89: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/89.jpg)
89
With 4 cards
If I repeat my two questions three times
each, I need 6 questions
Better way:5 questions suffice
Repeat each of the two previous questions twice
and use the parity check bit.
![Page 90: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/90.jpg)
90
First question: Second question:
Third question: Fourth question:
Fifth question:
![Page 91: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/91.jpg)
91
4 cards, 5 questionsCorrects 1 error
4 correct answers: a b a b a+b
If you know ( a or b ) and a+b then you know a and b
At most one mistake: you know at least one of a , b
![Page 92: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/92.jpg)
92
• 4 codewords: a, b, a, b, a+b 0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0
• Two codewords have distance at least 3
Rate : 2/5.
•2 data bits, 3 check bits
Length 5
![Page 93: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/93.jpg)
93
• 4 codewords: a, b, a, b, a+b • Each has 5 neighbours• Each of the 4 balls of radius 1 has 6
elements • There are 24 possible answers
containing at most 1 mistake• 8 answers are not possible:
a, b, a+1, b+1, c (at distance 2 of each codeword)
•Number of words 25 =32
Length 5
![Page 94: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/94.jpg)
94
With 8 Cards
With 8 cards and 6 questions I can correct
one error
![Page 95: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/95.jpg)
95
8 cards, 6 questions, corrects 1 error
• Ask the three questions giving the right answer if there is no error, then use the parity check for questions (1,2), (1,3) and (2,3).
• Right answers : (a, b, c, a+b, a+c, b+c)
with a, b, c replaced by 0 or 1
![Page 96: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/96.jpg)
96
Fifth question
a+c
Sixth question
b+c
Fourth question
a+b
First question
a
Second question
b
Third question
c
![Page 97: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/97.jpg)
97
• 8 correct answers: a, b, c, a+b, a+c, b+c
8 cards, 6 questionsCorrects 1 error
• from a, b, a+b you know whether a and b are correct
• If you know a and b then among c, a+c, b+c there is at most one mistake, hence you know c
![Page 98: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/98.jpg)
98
3 data bits, 3 check bits
• 8 codewords: a, b, c, a+b, a+c, b+c 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1
0 1 1 1 1 0 1 1 1 0 0 0
8 cards, 6 questionsCorrects 1 error
Two codewords have distance
at least 3Rate : 1/2.
![Page 99: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/99.jpg)
99
• 8 codewords: a, b, c, a+b, a+c, b+c• Each has 6 neighbours • Each of the 8 balls of radius 1 has 7
elements • There are 56 possible answers
containing at most 1 mistake• 8 answers are not possible:
a, b, c, a+b+1, a+c+1, b+c+1
•Number of words 26 =64
Length 6
![Page 100: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/100.jpg)
100
Number of questions
No error Detects 1 error Corrects 1 error
2 cards 1 2 3
4 cards 2 3 5
8 cards 3 4 6
16 cards 4 5 ?
![Page 101: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/101.jpg)
101
Number of questions
No error Detects 1 error Corrects 1 error
2 cards 1 2 3
4 cards 2 3 5
8 cards 3 4 6
16 cards 4 5 7
![Page 102: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/102.jpg)
102
With 16 cards, 7 questions suffice to correct one mistake
![Page 103: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/103.jpg)
103
Claude Shannon
• In 1948, Claude Shannon, working at Bell Laboratories in the USA, inaugurated the whole subject of coding theory by showing that it was possible to encode messages in such a way that the number of extra bits transmitted was as small as possible. Unfortunately his proof did not give any explicit recipes for these optimal codes.
![Page 104: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/104.jpg)
104
Richard Hamming
Around the same time, Richard Hamming, also at Bell Labs, was using machines with lamps and relays having an error detecting code. The digits from 1 to 9 were send on ramps of 5 lamps with two lamps on and three out. There were very frequent errors which were easy to detect and then one had to restart the process.
![Page 105: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/105.jpg)
105
The first correcting codes
• For his researches, Hamming was allowed to have the machine working during the weekend only, and they were on the automatic mode. At each error the machine stopped until the next Monday morning.
• "If it can detect the error," complained Hamming, "why can't it correct some of them! "
![Page 106: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/106.jpg)
106
The origin of Hamming’s code
• He decided to find a device so that the machine would not only detect the errors but also correct them.
• In 1950, he published details of his work on explicit error-correcting codes with information transmission rates more efficient than simple repetition.
• His first attempt produced a code in which four data bits were followed by three check bits which allowed not only the detection, but also the correction of a single error.
![Page 107: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/107.jpg)
107
![Page 108: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/108.jpg)
108
Generalization of the parity check bit
The binary code of Hamming (1950)
4 previous questions, 3 new ones, corrects 1 error
Parity check in each of the three discs
![Page 109: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/109.jpg)
109
16 cards, 7 questions, corrects 1 error
Parity check in each of the three discs
![Page 110: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/110.jpg)
110
ab
d
c
e=a+b+d
g=a+b+c
f=a+c+d
How to compute e , f , g from a , b , c , d
![Page 111: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/111.jpg)
111
Hamming code
Words of length 7Codewords: (16=24 among 128=27)
(a, b, c, d, e, f, g)with
e=a+b+d f=a+c+d g=a+b+c
Rate: 4/74 data bits, 3 check bits
![Page 112: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/112.jpg)
112
16 codewords of length 7
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0
1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1
Two distinct codewords have at least three distinct letters
![Page 113: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/113.jpg)
113
Hamming code (1950): • There are 16= 24 codewords• Each has 7 neighbours • Each of the 16 balls of radius 1 has
8 = 23 elements • Any of the 816 = 128 words is in
exactly one ball (perfect packing)
•Number of words: 27 =128
Words of length 7
![Page 114: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/114.jpg)
114
16 cards , 7 questions correct one mistake
![Page 115: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/115.jpg)
115
Replace the cards by labels from 0 to 15 and write the binary expansions of these:
0000, 0001, 0010, 0011
0100, 0101, 0110, 0111
1000, 1001, 1010, 1011
1100, 1101, 1110, 1111
Using the Hamming code, get 7 digits.
Select the questions so that Yes=0 and No=1
![Page 116: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/116.jpg)
116
7 questions to find the selected number in {0,1,2,…,15} with one possible wrong answer
• Is the first binary digit 0?
• Is the second binary digit 0?
• Is the third binary digit 0?
• Is the fourth binary digit 0?
• Is the number in {1,2,4,7,9,10,12,15}?
• Is the number in {1,2,5,6,8,11,12,15}?
• Is the number in {1,3,4,6,8,10,13,15}?
![Page 117: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/117.jpg)
117
Hat problem with 7 people
For 7 people in the room in place of 3,which is the best strategy
and its probability of winning?
Answer: the best strategy gives a
probability of winning of 7/8
![Page 118: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/118.jpg)
118
The Hat Problem with 7 people
• The team bets that the distribution of the hats does not correspond to the 16 elements of the Hamming code
• Loses in 16 cases (they all fail)
• Wins in 128-16=112 cases (one of them bets correctly, the 6 others abstain)
• Probability of winning: 112/128=7/8
![Page 119: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/119.jpg)
Winning at the lottery
![Page 120: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/120.jpg)
120
Tails and Ends
Toss a coin 7 consecutive times
There are 27=128 possible sequences of results
How many bets are required in such a way that you are sure one at least of them has at most one wrong answer?
![Page 121: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/121.jpg)
121
Tossing a coin 7 times
• Each bet has all correct answers once every 128 cases.
• It has just one wrong answer 7 times: either the first, second, … seventh guess is wrong.
• So it has at most one wrong answer 8 times among 128 possibilities.
![Page 122: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/122.jpg)
122
• Now 128 = 8 16.
• Therefore you cannot achieve your goal with less than 16 bets.
• Coding theory tells you how to select your 16 bets, exactly one of them will have at most one wrong answer.
Tossing a coin 7 times
![Page 123: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/123.jpg)
123
Principle of codes correcting n errors:
Two distinct codewords have at least 2n+1 distinct letters
Principle of codes detecting n errors:
Two distinct codewords have at least n+1 distinct letters
![Page 124: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/124.jpg)
124
Hamming balls of radius 3Distance 6, detects 5 errors,
corrects 2 errors
![Page 125: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/125.jpg)
125
Hamming balls of radius 3Distance 7, corrects 3 errors
![Page 126: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/126.jpg)
126
Golay code on {0,1}= F2
Words of length 23, there are 223 words12 data bits, 11 control bits, distance 7, corrects 3 errors212 codewords, each ball of radius 3 has
( 230)+ ( 23
1)+ ( 232)+ ( 23
3)=1+23+253+1771=2048= 211
elements:Perfect packing
![Page 127: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/127.jpg)
127
Golay code on {0,1,2 }= F3
Words of length 11, there are 35 words6 data bits, 5 control bits, distance 5, corrects 2 errors36 codewords, each ball of radius 2 has
( 110)+ 2( 11
1)+ 22( 112)
=1+22+220=243= 35
elements:Perfect packing
![Page 128: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/128.jpg)
128
SPORT TOTO: the oldest error correcting code
• A match between two players (or teams) may give three possible results: either player 1 wins, or player 2 wins, or else there is a draw (write 0).
• There is a lottery, and a winning ticket needs to have at least 3 correct bets for 4 matches. How many tickets should one buy to be sure to win?
![Page 129: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/129.jpg)
129
4 matches, 3 correct forecasts
• For 4 matches, there are 34 = 81 possibilities. • A bet on 4 matches is a sequence of 4 symbols
{0, 1, 2}. Each such ticket has exactly 3 correct answers 8 times.
• Hence each ticket is winning in 9 cases. • Since 9 9 = 81, a minimum of 9 tickets is
required to be sure to win.
![Page 130: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/130.jpg)
130
9 tickets
0 0 0 0 1 0 1 2 2 0 2 1
0 1 1 1 1 1 2 0 2 1 0 2
0 2 2 2 1 2 0 1 2 2 1 0
This is an error correcting code on the alphabet{0, 1, 2} with rate 1/2
Rule: a, b, a+b, a+2b modulo 3
Finnish Sport Journal, 1932
![Page 131: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/131.jpg)
131
Perfect packing of F34 with 9 balls radius 1
(0,0,0,0)
(0,0,0,2)
(0,0,0,1)
(0,1,0,0)
(0,2,0,0)
(1,0,0,0)
(2,0,0,0)
(0,0,1,0)
(0,0,2,0)
![Page 132: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/132.jpg)
132
A fake pearl
• Among m pearls all looking the same, there are m-1 genuine identical ones, having the same weight, and a fake one, which is lighter.
• You have a balance which enables you to compare the weight of two objects.
• How many experiments do you need in order to detect the fake pearl?
![Page 133: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/133.jpg)
133
Each experiment produces three possible results
The fake pearl is not weighted
The fake pearlis on the right
The fake pearlis on the left
![Page 134: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/134.jpg)
134
3 pearls: put 1 on the left and 1 on the right
The fake pearl is not weighted
The fake pearlis on the right
The fake pearlis on the left
![Page 135: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/135.jpg)
135
9 pearls: put 3 on the left and 3 on the right
The fake pearl is not weighted
The fake pearlis on the right
The fake pearlis on the left
![Page 136: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/136.jpg)
136
Each experiment enables one to select one third of the collection
where the fake pearl is
• With 3 pearls, one experiment suffices. • With 9 pearls, select 6 of them, put 3 on the left
and 3 on the right. • Hence you know a set of 3 pearls including the
fake one. One more experiment yields the result.• Therefore with 9 pearls 2 experiments suffice.
![Page 137: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/137.jpg)
137
A protocole where each experiment is independent of the previous results
• Label the 9 pearls from 0 to 8, next replace the labels by their expansion in basis 3.
0 0 0 1 0 21 0 1 0 1 12 0 2 1 2 2
• For the first experiment, put on the right the pearls whose label has first digit 1 and on the left those with first digit 2.
![Page 138: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/138.jpg)
138
One experiment= one digit 0, 1 or 2
0
1
2
The fake pearl is not weighted
The fake pearlis on the right
The fake pearlis on the left
![Page 139: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/139.jpg)
139
Result of two experiments
• Each experiment produces one among three possible results: either the fake pearl is not weighted 0, or it is on the left 1, or it is on the right 2.
• The two experiments produce a two digits number in basis 3 which is the label of the fake pearl.
![Page 140: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/140.jpg)
140
81 pearls including a lighter one
• Assume there are 81 pearls including 80 genuine identical ones, and a fake one which is lighter. Then 4 experiments suffice to detect the fake one.
• For 3n pearls including a fake one, n experiments are necessary and sufficient.
![Page 141: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/141.jpg)
141
And if one of the experiments may be erronous?
• Consider again 9 pearls. If one of the experiments may produce a wrong answer, then 4 four experiments suffice to detect the fake pearl.
• The solution is given by Sport Toto: label the 9 pearls using the 9 tickets.
![Page 142: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/142.jpg)
142
0 0 0 0 1 0 1 2 2 0 2 1
0 1 1 1 1 1 2 0 2 1 0 2
0 2 2 2 1 2 0 1 2 2 1 0
a, b, a+b, a+2b modulo 3
Labels of the 9 pearls
Each experiment corresponds to one of the four digits. Accordingly, put on the left the three pearls with digits 1And on the right the pearls with digit 2
![Page 143: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/143.jpg)
143
Finite fields and coding theory
• Solving algebraic equations with radicals: Finite fields theory Evariste Galois (1811-1832)
• Construction of regular polygons with rule and compass
• Group theorySrinivasa Ramanujan (1887-1920)
![Page 144: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/144.jpg)
144
Codes and Mathematics
• Algebra (discrete mathematics
finite fields, linear algebra,…)
• Geometry
• Probability and statistics
![Page 145: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/145.jpg)
145
Codes and Geometry
• 1949: Marcel Golay (specialist of radars): produced two remarkably efficient codes.
• Eruptions on Io (Jupiter’s volcanic moon)• 1963 John Leech uses Golay’s ideas for
sphere packing in dimension 24 - classification of finite simple groups
• 1971: no other perfect code than the two found by Golay.
![Page 146: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/146.jpg)
146
Sphere Packing
• While Shannon and Hamming were working on information transmission in the States, John Leech invented similar codes while working on Group Theory at Cambridge. This research included work on the sphere packing problem and culminated in the remarkable, 24-dimensional Leech lattice, the study of which was a key element in the programme to understand and classify finite symmetry groups.
![Page 147: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/147.jpg)
147
Sphere packing
The kissing number is 12
![Page 148: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/148.jpg)
148
Sphere Packing
• Kepler Problem: maximal density of a packing of identical sphères :
/ 18= 0.740 480 49…
Conjectured in 1611.
Proved in 1999 by Thomas Hales.
• Connections with crystallography.
![Page 149: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/149.jpg)
149
Some useful codes
• 1955: Convolutional codes.
• 1959: Bose Chaudhuri Hocquenghem codes (BCH codes).
• 1960: Reed Solomon codes.
• 1970: Goppa codes.
• 1981: Algebraic geometry codes.
![Page 150: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/150.jpg)
150
error correcting codes and data transmission
• Transmissions by satellites
• CD’s & DVD’s
• Cellular phones
![Page 151: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/151.jpg)
151
The North polar cap of Mars
Olympus Month on Mars planet
Voyager 1 and 2 (1977)
Journey: Cape Canaveral, Jupiter, Saturn, Uranus, Neptune.
Mariner 2 (1971) and 9 (1972)
![Page 152: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/152.jpg)
152
Mariner spacecraft 9 (1979)
Black and white photographs of Mars
Voyager (1979-81)Jupiter Saturn
![Page 153: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/153.jpg)
153
• 1998: lost of control of Soho satellite recovered thanks to double correction by turbo code.
The power of the radio transmitters on these craft is only a few watts, yet this information is reliably transmitted across hundreds of millions of miles without being completely swamped by noise.
NASA's Pathfinder mission on Mars (1997)
with sojourner rover
![Page 154: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/154.jpg)
154
A CD of high quality may have more than 500 000 errors!
• After processing of the signal in the CD player, these errors do not lead to any disturbing noise.
• Without error-correcting codes, there would be no CD.
![Page 155: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/155.jpg)
155
1 second of audio signal = 1 411 200 bits
• 1980’s, agreement between Sony and Philips: norm for storage of data on audio CD’s.
• 44 100 times per second, 16 bits in each of the two stereo channels
![Page 156: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/156.jpg)
156
Current trends
In the past two years the goal of finding explicit codes which reach the limits predicted by Shannon's original work has been achieved. The constructions require techniques from a surprisingly wide range of pure mathematics: linear algebra, the theory of fields and algebraic geometry all play a vital role. Not only has coding theory helped to solve problems of vital importance in the world outside mathematics, it has enriched other branches of mathematics, with new problems as well as new solutions.
![Page 157: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/157.jpg)
157
Directions of research
• Theoretical questions of existence of specific codes
• connection with cryptography
• lattices and combinatoric designs
• algebraic geometry over finite fields
• equations over finite fields
![Page 158: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/158.jpg)
158
Mathematical aspects of Coding Theory in France:
http://www.math.jussieu.fr/~miw/
The main teams in the domain are gathered in the group
C2 ''Coding Theory and Cryptography'' ,which belongs to a more general group
(GDR) ''Mathematical Informatics''.
![Page 159: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/159.jpg)
159
GDR IMGroupe de Recherche
Informatique Mathématique
• The GDR ''Mathematical Informatics'' gathers all the french teams which work on computer science problems with mathematical methods.
http://www.gdr-im.fr/
![Page 160: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/160.jpg)
160
The most important ones are:
INRIA RocquencourtUniversité de Bordeaux ENST Télécom BretagneUniversité de Limoges Université de MarseilleUniversité de Toulon
Université de Toulouse
http://www.math.jussieu.fr/~miw/
![Page 161: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/161.jpg)
161
Brest
Bordeaux
MarseilleToulouse
Limoges
INRIA
Toulon
![Page 162: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/162.jpg)
162
Error Correcting Codesby Priti Shankar
• How Numbers Protect Themselves • The Hamming Codes Volume 2 Number 1• Reed Solomon Codes Volume 2 Number 3
http://www.ias.ac.in/resonance/
![Page 163: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/163.jpg)
163
Explosion of MathematicsSociété Mathématique de France
http://smf.emath.fr/Available in English (and Farsi)
![Page 164: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/164.jpg)
164
![Page 165: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/165.jpg)
165
The best card trickMichael Kleber,
Mathematical Intelligencer 24 (2002)
![Page 166: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/166.jpg)
166
Rules of the card trick
• Among 52 cards, select 5 of them, do not show them to me, but give them to my assistant.
• After looking at these 5 cards, my assistant gives me four of them, one at a time, and hides the fifth one which is known to you and to my assistant.
• I am able to tell you which one it is.
![Page 167: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/167.jpg)
167
Which information do I receive?
• I received 4 cards, one at a time. With my assistant we agreed beforehand with an ordering.
• I receive these 4 cards in one of 24 possible arrangements.
• There are 4 choices for the first card, once the first card is selected there are 3 choices for the second card, and then 2 choices for the third one. And finally no choice for the last one.
24 = 4 3 2 1
![Page 168: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/168.jpg)
168
24 possible arrangements for 4 cards
• I receive these 4 cards in one of the 24 following arrangements
1234, 1243, 1324, 1342, 1423, 1432, 2134, 2143, 2314, 2341, 2413, 2431, 3124, 3142, 3214, 3241, 3412, 3421, 4123, 4132, 4213, 4231, 4312, 4321.• So the information I receive can be
converted into a number between 1 and 24
![Page 169: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/169.jpg)
169
But there are 52 cards!
• I received 4 cards, there are 48 unknown cards.
• Therefore this idea is not sufficient: with a number between 1 and 24, I am only half way to a correct guess.
![Page 170: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/170.jpg)
170
There are 4 suits only!
Spade, Hart, Diamond, Club
My assistant received 5 cards.
![Page 171: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/171.jpg)
171
Pigeonhole Principle
• If there are more pigeons than holes, one at least of the holes hosts at least two pigeons.
• If there are more holes than pigeons, one at least of the holes is empty.
Dirichlet’s box principle(Schubfachprinzip)1834
![Page 172: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/172.jpg)
172
My assistant received 5 cards, there are 4 suitsSo one at least of the suits occurs twice.
We agree that the first card I receive will tell me the suit of the hidden card.
![Page 173: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/173.jpg)
173
Information I receive from the next 3 cards
• I need to find out which one it is among the 12 other cards of the same suit.
• Next, I receive 3 cards in one of the 6 possible orders. I convert this information into a number from 1 to 6.
![Page 174: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/174.jpg)
174
Last step
• I receive a number from 1 to 6, there are 12 possible cards, so again we are half way (but we made progress by reducing the total number of possibilities by a coefficient 4, namely from 48 to 12).
• My assistant had the choice between two cards for the first I received.
![Page 175: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/175.jpg)
175
Count from1 to 6
![Page 176: Playing with cards and hats - an introduction to error correcting codes](https://reader037.vdocuments.mx/reader037/viewer/2022103100/568137a4550346895d9f4dc5/html5/thumbnails/176.jpg)
Playing with cards and hats - an introduction to error correcting codes
http://www.math.jussieu.fr/~miw/April 18, 2009
Michel Waldschmidt
Université P. et M. Curie - Paris VI
Centre International de Mathématiques Pures et Appliquées - CIMPA
HCMUS University of Science, Ho Chi Minh City, Vietnam