Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
1 + 1 = 0 ou comment corriger les erreurs
Nicolas Billerey
Laboratoire de Mathématiques Université Blaise Pascal – Clermont-Ferrand 2
Fête de la science – Jeudi 13 octobre 2016
2/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Canal imparfait
Canal
a a?
Erreur e
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Sommaire
1 Les chiffres et les lettres
2 Détecter les erreurs
3 D’un mot à l’autre
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair0 + nombre pair0 = nombre pair0 nombre impair1 + nombre pair0= nombre impair1 nombre impair1 + nombre impair1= nombre pair0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .}
Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair0 + nombre pair0 = nombre pair0 nombre impair1 + nombre pair0= nombre impair1 nombre impair1 + nombre impair1= nombre pair0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .}
Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair0 + nombre pair0 = nombre pair0 nombre impair1 + nombre pair0= nombre impair1 nombre impair1 + nombre impair1= nombre pair0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 + nombre pair0 = nombre pair0 nombre impair1 + nombre pair0= nombre impair1 nombre impair1 + nombre impair1= nombre pair0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
=
nombre pair0 nombre impair1 + nombre pair0= nombre impair1 nombre impair1 + nombre impair1= nombre pair0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
= nombre pair
0 nombre impair1 + nombre pair0= nombre impair1 nombre impair1 + nombre impair1= nombre pair0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
= nombre pair
0
nombre impair
1 + nombre pair0= nombre impair1 nombre impair1 + nombre impair1= nombre pair0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
= nombre pair
0
nombre impair
1
+ nombre pair
0
=
nombre impair1 nombre impair1 + nombre impair1= nombre pair0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
= nombre pair
0
nombre impair
1
+ nombre pair
0
= nombre impair
1 nombre impair1 + nombre impair1= nombre pair0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
= nombre pair
0
nombre impair
1
+ nombre pair
0
= nombre impair
1
nombre impair
1 + nombre impair1= nombre pair0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
= nombre pair
0
nombre impair
1
+ nombre pair
0
= nombre impair
1
nombre impair
1
+ nombre impair
1
=
nombre pair0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0
+ nombre pair
0
= nombre pair
0
nombre impair
1
+ nombre pair
0
= nombre impair
1
nombre impair
1
+ nombre impair
1
= nombre pair
0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 + nombre pair
0
= nombre pair
0
nombre impair
1
+ nombre pair
0
= nombre impair
1
nombre impair
1
+ nombre impair
1
= nombre pair
0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 = nombre pair
0
nombre impair
1
+ nombre pair
0
= nombre impair
1
nombre impair
1
+ nombre impair
1
= nombre pair
0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 =
nombre pair
0 nombre impair
1
+ nombre pair
0
= nombre impair
1
nombre impair
1
+ nombre impair
1
= nombre pair
0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 =
nombre pair
0
nombre impair
1 + nombre pair
0
= nombre impair
1
nombre impair
1
+ nombre impair
1
= nombre pair
0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 =
nombre pair
0
nombre impair
1 +
nombre pair
0= nombre impair
1
nombre impair
1
+ nombre impair
1
= nombre pair
0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 =
nombre pair
0
nombre impair
1 +
nombre pair
0=
nombre impair
1 nombre impair
1
+ nombre impair
1
= nombre pair
0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 =
nombre pair
0
nombre impair
1 +
nombre pair
0=
nombre impair
1
nombre impair
1 + nombre impair
1
= nombre pair
0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 =
nombre pair
0
nombre impair
1 +
nombre pair
0=
nombre impair
1
nombre impair
1 +
nombre impair
1= nombre pair
0
4/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Quelques rappels...
Nombres pairs ={. . . ,−6,−4,−2,0,2,4,6, . . .} Nombres impairs ={. . . ,−5,−3,−1,1,3,5, . . .}
nombre pair
0 +
nombre pair
0 =
nombre pair
0
nombre impair
1 +
nombre pair
0=
nombre impair
1
nombre impair
1 +
nombre impair
1=
nombre pair
0
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Cherchez l’erreur !
1 + 1 = 0 ? ? ?
5/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Cherchez l’erreur !
1 + 1 = 0 ? ? ?
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Arithmétique modulo 2
On noteF2 l’ensemble{0,1}muni des deux lois d’addition et de multiplication suivantes
× 0 1
0 0 0
1 0 1
+ 0 1
0 0 1
1 1 0
L’ensembleF2 ainsi construit est uncorps. Un élément de l’ensembleF2 s’appelle unbit. Une suite de bits s’appelle unmot (binaire).
6/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Arithmétique modulo 2
On noteF2 l’ensemble{0,1}muni des deux lois d’addition et de multiplication suivantes
× 0 1
0 0 0
1 0 1
+ 0 1
0 0 1
1 1 0
L’ensembleF2 ainsi construit est uncorps. Un élément de l’ensembleF2 s’appelle unbit. Une suite de bits s’appelle unmot (binaire).
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Arithmétique modulo 2
On noteF2 l’ensemble{0,1}muni des deux lois d’addition et de multiplication suivantes
× 0 1
0 0 0
1 0 1
+ 0 1
0 0 1
1 1 0
L’ensembleF2 ainsi construit est uncorps. Un élément de l’ensembleF2 s’appelle unbit. Une suite de bits s’appelle unmot (binaire).
6/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Arithmétique modulo 2
On noteF2 l’ensemble{0,1}muni des deux lois d’addition et de multiplication suivantes
× 0 1
0 0 0
1 0 1
+ 0 1
0 0 1
1 1 0
L’ensembleF2 ainsi construit est uncorps.
Un élément de l’ensembleF2 s’appelle unbit. Une suite de bits s’appelle unmot (binaire).
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Arithmétique modulo 2
On noteF2 l’ensemble{0,1}muni des deux lois d’addition et de multiplication suivantes
× 0 1
0 0 0
1 0 1
+ 0 1
0 0 1
1 1 0
L’ensembleF2 ainsi construit est uncorps.
Un élément de l’ensembleF2 s’appelle unbit.
Une suite de bits s’appelle unmot (binaire).
6/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Arithmétique modulo 2
On noteF2 l’ensemble{0,1}muni des deux lois d’addition et de multiplication suivantes
× 0 1
0 0 0
1 0 1
+ 0 1
0 0 1
1 1 0
L’ensembleF2 ainsi construit est uncorps.
Un élément de l’ensembleF2 s’appelle unbit.
Une suite de bits s’appelle unmot (binaire).
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Un intérêt pratique
Les bits forment les briques du langage des ordinateurs :
0↔ le circuit est ouvert (le courant ne passe pas) 1↔ le circuit est fermé (le courant passe)
7/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Un intérêt pratique
Les bits forment les briques du langage des ordinateurs : 0↔ le circuit est ouvert (le courant ne passe pas)
1↔ le circuit est fermé (le courant passe)
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
Un intérêt pratique
Les bits forment les briques du langage des ordinateurs : 0↔ le circuit est ouvert (le courant ne passe pas) 1↔ le circuit est fermé (le courant passe)
8/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
La représentation ASCII
On dispose de 128 caractères (caractères latins, chiffres, signes de ponctuation, etc) :
Chaque caractère est représenté par un mot de 7 bits. Par exemple, a correspond à 1100001, et 1111000 à x.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
La représentation ASCII
On dispose de 128 caractères (caractères latins, chiffres, signes de ponctuation, etc) :
Chaque caractère est représenté par un mot de 7 bits. Par exemple, a correspond à 1100001, et 1111000 à x.
8/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
La représentation ASCII
On dispose de 128 caractères (caractères latins, chiffres, signes de ponctuation, etc) :
Chaque caractère est représenté par un mot de 7 bits.
Par exemple, a correspond à 1100001, et 1111000 à x.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Le corpsF2 ASCII
La représentation ASCII
On dispose de 128 caractères (caractères latins, chiffres, signes de ponctuation, etc) :
Chaque caractère est représenté par un mot de 7 bits.
9/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Sommaire
1 Les chiffres et les lettres
2 Détecter les erreurs
3 D’un mot à l’autre
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Comment faire ?
Il faut ajouter de la redondance...
mais pas trop !
Codage Canal Décodage
a m m' a?
Erreur e
10/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Comment faire ?
Il faut ajouter de la redondance...
mais pas trop !
Codage Canal Décodage
a m m' a?
Erreur e
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Comment faire ?
Il faut ajouter de la redondance...
mais pas trop !
Codage Canal Décodage
a m m' a?
Erreur e
10/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Comment faire ?
Il faut ajouter de la redondance... mais pas trop !
Codage Canal Décodage
a m m' a?
Erreur e
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité : définition
mot de 7 bits mot de 8 bits (=octet).
Le 8-ième bit, appelé bit de parité, vaut
0 si le nombre de 1 du mot de 7 bits est pair 1 si le nombre de 1 du mot de 7 bits est impair Maintenant a est codé par 11000011et x par 11110000
11/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité : définition
mot de 7 bits mot de 8 bits (=octet).
Le 8-ième bit, appelé bit de parité, vaut
0 si le nombre de 1 du mot de 7 bits est pair 1 si le nombre de 1 du mot de 7 bits est impair
Maintenant a est codé par 11000011et x par 11110000
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité : définition
mot de 7 bits mot de 8 bits (=octet).
Le 8-ième bit, appelé bit de parité, vaut
0 si le nombre de 1 du mot de 7 bits est pair 1 si le nombre de 1 du mot de 7 bits est impair Maintenant a est codé par 11000011et x par 11110000
12/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité et addition dans F
2Définition
On appellecode de paritél’ensemble des mots de 8 bits de la forme b1b2b3b4b5b6b7(b1+b2+b3+b4+b5+b6+b7)
oùbi =0 ou 1 et l’addition est celle deF2.
01101010, 10101010, 00001111 sont des éléments du code de parité.
00001110, 11000001, 01010111 ne le sont pas.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité et addition dans F
2Définition
On appellecode de paritél’ensemble des mots de 8 bits de la forme b1b2b3b4b5b6b7(b1+b2+b3+b4+b5+b6+b7)
oùbi =0 ou 1 et l’addition est celle deF2.
01101010, 10101010, 00001111 sont des éléments du code de parité.
00001110, 11000001, 01010111 ne le sont pas.
12/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité et addition dans F
2Définition
On appellecode de paritél’ensemble des mots de 8 bits de la forme b1b2b3b4b5b6b7(b1+b2+b3+b4+b5+b6+b7)
oùbi =0 ou 1 et l’addition est celle deF2.
01101010, 10101010, 00001111 sont des éléments du code de parité.
00001110, 11000001, 01010111 ne le sont pas.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité et détection
Si on change 1 bit dans un octet du code de parité, le résultat n’est plus dans le code de parité (et vice-versa).
Le code de parité détecte donc 1 erreur, mais il ne la corrige pas.
On parle de code détecteur.
13/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité et détection
Si on change 1 bit dans un octet du code de parité, le résultat n’est plus dans le code de parité (et vice-versa).
Le code de parité détecte donc 1 erreur, mais il ne la corrige pas.
On parle de code détecteur.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité et détection
Si on change 1 bit dans un octet du code de parité, le résultat n’est plus dans le code de parité (et vice-versa).
Le code de parité détecte donc 1 erreur, mais il ne la corrige pas.
On parle de code détecteur.
13/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Code de parité et détection
Si on change 1 bit dans un octet du code de parité, le résultat n’est plus dans le code de parité (et vice-versa).
Le code de parité détecte donc 1 erreur, mais il ne la corrige pas.
On parle de code détecteur.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Le numéro INSEE
Les deux derniers chiffres du numéro INSEE correspondent à la clé.
La clé est définie par
97−(le reste de la division euclidienne deN par 97), où N est le nombre formé des 13 premiers chiffres.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
14/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Le numéro INSEE
Les deux derniers chiffres du numéro INSEE correspondent à la clé.
La clé est définie par
97−(le reste de la division euclidienne deN par 97), où N est le nombre formé des 13 premiers chiffres.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Le numéro INSEE
Les deux derniers chiffres du numéro INSEE correspondent à la clé.
La clé est définie par
97−(le reste de la division euclidienne deN par 97), où N est le nombre formé des 13 premiers chiffres.
14/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Le numéro INSEE
Les deux derniers chiffres du numéro INSEE correspondent à la clé.
La clé est définie par
97−(le reste de la division euclidienne deN par 97), où N est le nombre formé des 13 premiers chiffres.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Code de parité
Les codes détecteurs dans la vie courante
Comment corriger les erreurs trouvées ?
16/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Choisir un entier entre 0 et 15.
Répondre aux sept questions suivantes. On a le droit de mentir au plus UNE fois.
1 L’entier choisi est-il inférieur ou égal à 7 ?
2 L’entier choisi est-il dans l’ensemble{0,1,2,3,8,9,10,11}?
3 L’entier choisi est-il dans l’ensemble{0,1,4,5,8,9,12,13}?
4 L’entier choisi est-il pair ?
5 L’entier choisi est-il dans l’ensemble{0,2,5,7,9,11,12,14}?
6 L’entier choisi est-il dans l’ensemble{0,3,4,7,9,10,13,14}?
7 L’entier choisi est-il dans l’ensemble{0,3,5,6,8,11,13,14}?
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Choisir un entier entre 0 et 15.
Répondre aux sept questions suivantes. On a le droit de mentir au plus UNE fois.
1 L’entier choisi est-il inférieur ou égal à 7 ?
2 L’entier choisi est-il dans l’ensemble{0,1,2,3,8,9,10,11}?
3 L’entier choisi est-il dans l’ensemble{0,1,4,5,8,9,12,13}?
4 L’entier choisi est-il pair ?
5 L’entier choisi est-il dans l’ensemble{0,2,5,7,9,11,12,14}?
6 L’entier choisi est-il dans l’ensemble{0,3,4,7,9,10,13,14}?
7 L’entier choisi est-il dans l’ensemble{0,3,5,6,8,11,13,14}?
16/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Choisir un entier entre 0 et 15.
Répondre aux sept questions suivantes. On a le droit de mentir au plus UNE fois.
1 L’entier choisi est-il inférieur ou égal à 7 ?
2 L’entier choisi est-il dans l’ensemble{0,1,2,3,8,9,10,11}?
3 L’entier choisi est-il dans l’ensemble{0,1,4,5,8,9,12,13}?
4 L’entier choisi est-il pair ?
5 L’entier choisi est-il dans l’ensemble{0,2,5,7,9,11,12,14}?
6 L’entier choisi est-il dans l’ensemble{0,3,4,7,9,10,13,14}?
7 L’entier choisi est-il dans l’ensemble{0,3,5,6,8,11,13,14}?
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Sommaire
1 Les chiffres et les lettres
2 Détecter les erreurs
3 D’un mot à l’autre
18/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
« Des chercheurs qui cherchent, on en trouve. Des chercheurs qui triqvent, on en cherche. »
triqvent
trouvent prouvent
On corrige au plus proche.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
« Des chercheurs qui cherchent, on en trouve. Des chercheurs qui triqvent, on en cherche. »
triqvent
trouvent prouvent
On corrige au plus proche.
18/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
« Des chercheurs qui cherchent, on en trouve. Des chercheurs qui triqvent, on en cherche. »
triqvent
2
xxtrouvent
prouvent
On corrige au plus proche.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
« Des chercheurs qui cherchent, on en trouve. Des chercheurs qui triqvent, on en cherche. »
triqvent
2
xx
3
&&
trouvent prouvent
On corrige au plus proche.
18/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
« Des chercheurs qui cherchent, on en trouve. Des chercheurs qui triqvent, on en cherche. »
triqvent
2
xx
3
&&
trouvent prouvent
On corrige au plus proche.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
« Des chercheurs qui cherchent, on en trouve. Des chercheurs qui triqvent, on en cherche. »
triqvent
2
xx
3
&&
trouvent prouvent
On corrige au plus proche.
18/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
« Des chercheurs qui cherchent, on en trouve. Des chercheurs qui triqvent, on en cherche. »
triqvent
2
xx
3
&&
trouvent prouvent
On corrige au plus proche.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Une distance entre les mots binaires ?
Définition intuitive : pourm etm0 deux mots de même longueur,
d(m,m0) =]{bits différents entre met m0}
Propriétés élémentaires
d(m,m) =0 et d(m,m0) =d(m0,m) quels que soientm et m0.
19/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Une distance entre les mots binaires ?
Définition intuitive : pourm etm0 deux mots de même longueur, d(m,m0) =]{bits différents entre met m0}
Propriétés élémentaires
d(m,m) =0 et d(m,m0) =d(m0,m) quels que soientm et m0.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Une distance entre les mots binaires ?
Définition intuitive : pourm etm0 deux mots de même longueur, d(m,m0) =]{bits différents entre met m0}
Propriétés élémentaires
d(m,m) =0 et d(m,m0) =d(m0,m) quels que soientm et m0.
20/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
L’inégalité triangulaire
m
m''
m'
d(m,m0)≤d(m,m00) +d(m00,m0)
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
L’inégalité triangulaire
m
m''
m'
d(m,m0)≤d(m,m00) +d(m00,m0)
20/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
L’inégalité triangulaire
m
m''
m'
d(m,m0)≤d(m,m00) +d(m00,m0)
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et détection
Définition
Un code est un ensemble de mots de même longueur. La longueur du code est la longueur des mots.
Définition
La distance de HammingdH d’un code est la distance minimale entre deux mots distincts du code.
La distance de Hamming du code de parité est 2. Un code de distance de Hamming d détecte
d −1
erreurs.
21/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et détection
Définition
Un code est un ensemble de mots de même longueur. La longueur du code est la longueur des mots.
Définition
La distance de HammingdH d’un code est la distance minimale entre deux mots distincts du code.
La distance de Hamming du code de parité est 2. Un code de distance de Hamming d détecte
d −1
erreurs.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et détection
Définition
Un code est un ensemble de mots de même longueur. La longueur du code est la longueur des mots.
Définition
La distance de HammingdH d’un code est la distance minimale entre deux mots distincts du code.
La distance de Hamming du code de parité est 2. Un code de distance de Hamming d détecte
d −1
erreurs.
21/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et détection
Définition
Un code est un ensemble de mots de même longueur. La longueur du code est la longueur des mots.
Définition
La distance de HammingdH d’un code est la distance minimale entre deux mots distincts du code.
La distance de Hamming du code de parité est 2. Un code de distance de Hamming d détecte
d −1
erreurs.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et détection
Définition
Un code est un ensemble de mots de même longueur. La longueur du code est la longueur des mots.
Définition
La distance de HammingdH d’un code est la distance minimale entre deux mots distincts du code.
La distance de Hamming du code de parité est
2.
Un code de distance de Hamming d détecte d−1 erreurs.
21/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et détection
Définition
Un code est un ensemble de mots de même longueur. La longueur du code est la longueur des mots.
Définition
La distance de HammingdH d’un code est la distance minimale entre deux mots distincts du code.
La distance de Hamming du code de parité est 2.
Un code de distance de Hamming d détecte d−1 erreurs.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et détection
Définition
Un code est un ensemble de mots de même longueur. La longueur du code est la longueur des mots.
Définition
La distance de HammingdH d’un code est la distance minimale entre deux mots distincts du code.
La distance de Hamming du code de parité est 2.
22/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction
triqvent
2
xxtrouvent
trichent
Lequel choisir ? On ne sait pas !
Définition
Un codeC est ditt-correcteur s’il permet de corriger t erreurs, autrement dit, si pour tout motm0, il existe au plus un élément m∈C tel qued(m0,m)≤t.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction
triqvent
2
xxtrouvent
trichent
Lequel choisir ? On ne sait pas !
Définition
Un codeC est ditt-correcteur s’il permet de corriger t erreurs, autrement dit, si pour tout motm0, il existe au plus un élément m∈C tel qued(m0,m)≤t.
22/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction
triqvent
2
xx
2
&&
trouvent trichent
Lequel choisir ? On ne sait pas !
Définition
Un codeC est ditt-correcteur s’il permet de corriger t erreurs, autrement dit, si pour tout motm0, il existe au plus un élément m∈C tel qued(m0,m)≤t.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction
triqvent
2
xx
2
&&
trouventoo 3 //trichent
Lequel choisir ? On ne sait pas !
Définition
Un codeC est ditt-correcteur s’il permet de corriger t erreurs, autrement dit, si pour tout motm0, il existe au plus un élément m∈C tel qued(m0,m)≤t.
22/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction
triqvent
2
xx
2
&&
trouventoo 3 //trichent
Lequel choisir ?
On ne sait pas !
Définition
Un codeC est ditt-correcteur s’il permet de corriger t erreurs, autrement dit, si pour tout motm0, il existe au plus un élément m∈C tel qued(m0,m)≤t.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction
triqvent
2
xx
2
&&
trouventoo 3 //trichent
Lequel choisir ? On ne sait pas !
Définition
Un codeC est ditt-correcteur s’il permet de corriger t erreurs, autrement dit, si pour tout motm0, il existe au plus un élément m∈C tel qued(m0,m)≤t.
22/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction
triqvent
2
xx
2
&&
trouventoo 3 //trichent
Lequel choisir ? On ne sait pas !
Définition
Un codeC est ditt-correcteur s’il permet de corriger t erreurs, autrement dit, si pour tout motm0, il existe au plus un élément m∈C tel qued(m0,m)≤t.
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction (suite)
Un code de distance de Hamming d est t-correcteur avec t =
(d −1)/2 sid est impair (d −2)/2 sid est pair
En particulier, un code de distance de Hamming 3 corrige 3−1
2 =1 erreur...
23/25 Les chiffres et les lettres
Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction (suite)
Un code de distance de Hamming d est t-correcteur avec t=
(d−1)/2 sid est impair (d−2)/2 sid est pair
En particulier, un code de distance de Hamming 3 corrige 3−1
2 =1 erreur...
Nicolas Billerey 1+1=0 ou comment corriger les erreurs
Les chiffres et les lettres Détecter les erreurs Interlude : un tour de prestidigitation D’un mot à l’autre
Correction et distance Détecter et corriger Le code de Hamming[7,4,3]
Distance de Hamming et correction (suite)
Un code de distance de Hamming d est t-correcteur avec t=
(d−1)/2 sid est impair (d−2)/2 sid est pair
En particulier, un code de distance de Hamming 3 corrige 3−1
2 =1 erreur...