Title: Codes Correcteurs dErreurs
1Codes Correcteurs dErreurs
Lycée Jules Verne
- Limours, 19 Novembre 2003
- Michel Waldschmidt
2Applications des codes correcteurs derreurs
- Télévision, Cd, CdRom, minitel, DVD, ordinateurs,
internet, - Transmissions dans lespace Voyager 1 et 2,
satellites, sondes spatiales, - Téléphonie,
- téléphonie mobile,
3(No Transcript)
4Ecouter un CD rayé
- Sur un disque compact comme sur un ordinateur,
chaque son est codé par une suite de 0 et de 1,
regroupés par paquets (les octets). - Pour garantir la fidélité de lenregistrement, on
rajoute dautres octets qui permettent de repérer
et de corriger les petites erreurs dues aux
poussières et aux rayures.
5Un disque compact de bonne qualité contient
facilement 500 000 erreurs!
- 1 seconde de signal audio 1 411 200 bits.
- La théorie mathématique des codes correcteurs
derreur permet daugmenter la fiabilité du son
tout en diminuant le coût du codage. Elle
sapplique aussi à la transmission des
informations par internet ou satellites.
6Codage du son sur un CD
- En utilisant un corps fini à 256 éléments, on
peut corriger 2 erreurs sur chaque mot de 32
octets avec 4 octets de contrôle pour 28 octets
dinformation.
7- Olympus Mons sur la planète Mars
- Image obtenue par la sonde spatiale Mariner 2
en 1971.
8- La sonde envoyait à la terre ses informations
en utilisant un code correcteur derreurs capable
de corriger jusquà 7 bits erronés sur 32. - Dans chaque groupe de 32 bits, 26 étaient des
bits de contrôle et les 6 autres constituaient
linformation nette.
9Voyager 1 et 2 (1977)
- Itinéraire Cap Canaveral, Jupiter, Saturne,
Uranus, Neptune. - Envoyait les informations en utilisant un code
binaire permettant de corriger 3 erreurs sur des
mots de longueur 24.
10Codes et Maths
- Algèbre
- (mathématiques discrètes, corps finis, algèbre
linéaire,) - Géométrie
- Probabilités et statistiques
11- Construire des codes qui détectent et
corrigent le plus grand nombre possible
derreurs, tout en allongeant le moins possible
les messages, et qui soient faciles à décoder.
12Transmission de données
13Transmission dun message codé
14Transmission imparfaitedun message codé
15Détecter une erreur
- Envoyer deux fois le même message
- 2 mots autorisés sur 422
- (1 lettre utile sur 2)
- Mots autorisés
- (deux lettres)
- 0 0
- 1 1
- Taux 1/2
16- Principe du codage
- on autorise seulement certains mots
- (code dictionnaire des mots autorisés).
- Les lettres utiles sont celles qui portent
linformation, les autres (bits de contrôle,
clefs) permettent de détecter des erreurs. - Taux nombre de lettres utiles / nombre total de
lettres
17- Principe du codage permettant de détecter une
erreur - deux mots autorisés distincts ont au moins
deux lettres différentes
18Corriger une erreur
- Envoyer trois fois le même message
- 2 mots autorisés sur 823
- (1 lettre utile sur 3)
- Mots autorisés
- (trois lettres)
- 0 0 0
- 1 1 1
- Taux 1/3
19- On corrige 0 0 1 en 0 0 0
- 0 1 0 en 0 0 0
- 1 0 0 en 0 0 0
- et
- 1 1 0 en 1 1 1
- 1 0 1 en 1 1 1
- 0 1 1 en 1 1 1
20- Principe du codage permettant de corriger une
erreur -
- deux mots distincts autorisés ont au moins trois
lettres différentes - Sil y a une erreur et une seule, il y a
exactement un mot du code qui la corrige.
21Un autre code détectant une erreurAméliorer le
taux 1/2 du code (0,0), (1,1)
-
- Mots autorisés (trois lettres)
- 0 0 0
- 0 1 1
- 1 0 1
- 1 1 0
- bit de parité (x y z) avec zxy modulo
2. - 42?222 mots autorisés sur 82 ?2 ?223
- (2 lettres utiles sur 3).
- Taux 2/3
22Mots autorisés Mots Interdits
- Deux mots autorisés distincts ont au moins deux
lettres différentes.
23Un autre code corrigeant une erreurAméliorer le
taux 1/3 du code (0,0,0), (1,1,1)
- Mots de 7 lettres
- Mots autorisés (1624 sur 12827)
- (a b c d e f g)
- Avec (modulo 2)
- eabd
- facd
- gabc
- Taux 4/7
24Le code binaire de Hamming et Shannon (1948) 16
mots de 7 lettres autorisés
- 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
Deux mots distincts ont au moins trois lettres
différentes.
25Distance de HammingRichard W. Hamming
(1915-1998)
- La distance de Hamming de deux mots est le nombre
de lettres différentes. - Un code permettant de détecter n erreurs est un
code dont la distance de Hamming entre deux mots
distincts est au moins n1. - Un code permettant de corriger n erreurs est un
code dont la distance de Hamming minimale est au
moins 2n1.
26- But décrire des codes dont les mots ont des
distances de Hamming mutuelles grandes, avec un
taux maximal. - Cela revient à trouver des points dont les
distances mutuelles sont aussi grandes que
possible.
27Outils mathématiques
- Algèbre linéaire les bits de contrôle sont
déterminés par des équations linéaires. - Théorie des corps finis
- (Evariste Galois, 1811-1832).
- Résolution des équations algébriques par
radicaux. - Géométrie algébrique, codes géométriques.
28(No Transcript)
29Le code binaire de Hamming et Shannon
-
- Cest un code linéaire (la somme de deux mots
du code est un mot du code) et les 1624 boules
de rayon 1 centrées aux mots du code recouvrent
lespace formé par les 12827 mots binaires de
longueur 723-1 - (chaque mot a 7 voisins, et (71)?16 256).
30Empilement de sphères
31Empilement de sphères
- Problème de Kepler densité maximale
d'empilement de sphères identiques - p / Ö 18 0,740 480 49
- Conjecturé en 1611.
- Démontré en 1999 par Thomas Hales.
- Liens avec la cristallographie.
32Le problème des chapeaux
- Trois personnes ont chacune un chapeau, blanc ou
noir, sur la tête. Les couleurs sont choisies au
hasard. Chacun voit la couleur du chapeau sur la
tête des deux autres, mais ne connaît pas la
couleur de son propre chapeau. Ils ne
communiquent pas. - Chacun écrit sur un papier la couleur quil
devine pour son propre chapeau blanc, noir, ou
bien il sabstient.
33- Léquipe gagne si une au moins des trois
personnes ne sest pas abstenue, et tout ceux qui
ne se sont pas abstenus ont donné une réponse
correcte.
34- Stratégie simple ils conviennent à lavance que
deux dentre eux sabstiennent, le troisième
donne une réponse au hasard. La probabilité
quils gagnent est 1/2. - Peut-on améliorer cette probabilité?
35- Indication
- Améliorer les chances en utilisant
linformation disponible chacun connaît la
couleur des deux autres.
36- Meilleure stratégie si lun des trois voit deux
chapeaux (sur la tête des autres) de la même
couleur, il parie que son chapeau est de lautre
couleur. Sil voit deux chapeaux de couleurs
distinctes, il sabstient.
37 38 39 40 41- Léquipe gagne exactement quand les trois
chapeaux ne sont pas tous de la même couleur,
cest-à-dire dans 6 cas sur 8 - Probabilité de gagner 3/4.
42- Y a-t-il de meilleures stratégies?
- Réponse NON!
- Y a-t-il dautres stratégies donnant la
probabilité de gagner 3/4? - Réponse OUI!
-
43Pile ou Face
- Lancer une pièce de monnaie trois fois de suite
- Il y a 8 résultats possibles
- (0,0,0), (0,0,1), (0,1,0), (0,1,1),
- (1,0,0), (1,0,1), (1,1,0), (1,1,1).
44Si vous pariez que le résultat sera (0,1,0), vous
avez
- Les trois valeurs justes si la suite est (0,1,0).
- Exactement deux bonnes valeurs si cest
(0,1,1), (0,0,0) ou (1,1,0), - Exactement une bonne valeur si cest (0,0,1),
(1,1,1) ou (1,0,0), - Aucune bonne valeur pour (1,0,1).
45Quelque soit le résultat final (8 possibilités),
- chaque pari
- a les trois valeurs justes dans 1 cas
- a exactement deux valeurs justes dans 3 cas
- a exactement une valeur juste dans 3 cas
- has zéro valeur juste dans 1 cas
46- But être sûr davoir au moins deux valeurs
justes - Évidemment, un seul pari ne suffit pas
- Suffit-il de deux paris?
- On rappelle quil y a 8 résultats possibles
et que chaque pari a au moins 2 réponses justes
dans 4 cas.
47Réponse OUI, deux paris
suffisent!
- Par exemple si on parie
- (0,0,0) et (1,1,1)
- dans tous les cas, lun des deux chiffres
- 0 et 1
- sortira plus dune fois.
- Donc un (et seulement un) des deux paris aura
deux ou trois résultats justes.
48Autres solutions
- On choisit deux tickets nayant pas de chiffre
commun, comme - (0 0 1) et (1 1 0)
- Ou bien le résultat est lun de ces deux,
- ou bien il a exactement un chiffre au même
endroit en commun avec lun des deux et deux en
commun avec lautre.
49- Revenons au cas de
- (0,0,0) et (1,1,1)
- Les 8 mots formées de 3 lettres
- 0 et 1
- Se répartissent en deux groupes
- celles qui ont deux ou trois 0
- et
- celles qui ont deux ou trois 1
-
50- (0,0,1)
- (0,0,0) (0,1,0)
- (1,0,0)
- (1,1,0)
- (1,1,1) (1,0,1)
- (0,1,1)
51Distance de Hamming entre deux mots
- nombre de places où les deux mots nont
pas la même lettre - Exemples
- (0,0,1) et (0,0,0) sont à distance 1
- (1,0,1) et (1,1,0) sont à distance 2
- (0,0,1) et (1,1,0) sont à distance 3
- Richard W. Hamming (1915-1998)
52- Lensemble des huit mots de trois lettres se
réparti en deux boules - Les centres sont (0,0,0) et (1,1,1)
- Chacune des deux boules est formée des mots dont
la distance est au plus 1 du centre.
53Retour au problème des chapeaux
- On remplace blanc par 0 et noir par 1
- Ainsi la répartition des couleurs devient un
mot à trois lettres sur lalphabet 0 , 1 - On considère les centres des boules (0,0,0) et
(1,1,1). - Léquipe parie que le résultat ne correspond pas
à un des centres des boules.
54Si la répartition des couleurs ne correspond pas
à un des centres des boules (0, 0, 0) et (1, 1,
1). alors
- Une couleur intervient exactement deux fois (le
mot comporte les deux chiffres 0 et 1). - Un et un seul des membres de léquipe voit deux
fois la même couleur 0 0 sil voit deux chapeaux
blancs, 1 1 sil voit deux chapeaux noirs. Il
connaît le centre de la boule (0, 0, 0) dans le
premier cas, (1, 1, 1) dans le second. - Il parie donc que le chiffre quil ne connaît pas
est celui qui ne produit pas le centre de la
boule.
55- Les deux autres voient deux couleurs différentes,
ils ne connaissent pas le centre de la boule, ils
sabstiennent (accessoirement ils savent que
léquipe va gagner). - Ainsi léquipe gagne quand la répartition des
couleurs ne correspond pas à lun des deux
centres.. - Cest pourquoi léquipe gagne dans 6 cas.
56- Maintenant si la répartition des couleurs (le mot
de trois lettres) correspond à un des centres,
chacun des membres de léquipe donne la mauvaise
réponse! - Ils perdent dans 2 cas.
57Autre stratégie
- On choisit deux mots dont la distance de Hamming
est 3 - cest-à-dire deux mots nayant pas de
même lettre à la même place, comme (0,0,1) et
(1,1,0) - On considère les deux boules, centrées en ces
deux mots, formées des éléments à distance au
plus 1 du centre.
58- (0,0,0)
- (0,0,1) (0,1,1)
- (1,0,1)
- (1,1,1)
- (1,1,0) (1,0,0)
- (0,1,0)
59- Léquipe parie que la distribution des couleurs
ne correspond pas à lun des deux centres
(0,0,1), (1,1,0) . - Un mot qui nest pas au centre a exactement une
lettre distincte du mot du centre, et deux
différentes de lautre centre.
60Si le mot correspondant à la répartition des
couleurs nest pas un des deux centres,
alors
- Exactement un des membres de léquipe connaît le
centre, il sait donc quoi parier. - Les autres ne connaissent pas le centre, ils
sabstiennent. - Dans ce cas léquipe gagne.
61Si le mot correspondant à la répartition des
couleurs est un des deux centres, alors
- Chacun des membres de léquipe parie le mauvais
résultat. - Ainsi léquipe perd dans 2 cas sur 8.
62Le problème des chapeaux avec 7 personnes
- Léquipe parie que la répartition des couleurs ne
correspond pas aux 16 éléments du code de
Hamming. - Léquipe perd dans 16 cas (ils se trompent tous!)
- Elle gagne dans 128-16112 cas (un seul donne la
réponse, les 6 autres sabstiennent) - Probabilité de gagner 112/1287/8
63Pile ou face 7 fois
- Il y a 27128 résultats possibles
- Chaque pari est un mot de 7 lettres sur
lalphabet 0, 1 - Combien de pari faut-il faire pour être sûr
davoir au moins 6 résultats corrects?
64- Chacun des 16 mots du code de Hamming a 7 voisins
(à distance 1), la boule dont il est le centre a
8 éléments. - Chacun des 128 mots est dans une et une seule de
ces boules.
65- Faire 16 paris correspondant aux 16 mots du code
dans tous les cas exactement un des paris aura
au moins 6 réponses justes.
66SPORT TOTO
- Un match entre deux adversaires a trois issues
possibles ou bien le joueur 1 gagne, ou bien le
2, ou sinon il y a match nul (x). - Comment parier sur les résultats de 4 matches en
étant sûr davoir au moins 3 réponses justes?
674
- Pour 4 matches, il y a 3 81 possibilités.
- Un pari sur 4 matches est un mot de 4 lettres sur
lalphabet 1, 2, x. Un mot a 8 voisins (à
distance 1). Par exemple les 8 voisins de (1, 2,
x, 1) sont - (2, 2, x, 1), (1, 1, x, 1), (1, 2, 1, 1), (1, 2,
x, 2) - (x, 2, x, 1), (1, x, x, 1), (1, 2, 2, 1), (1, 2,
x, x)
68- Chaque pari donne 4 réponses justes dans 1 cas et
3 réponses justes dans 8 cas, donc au moins 3
réponses justes dans 9 cas. - Il faut donc faire au moins 9 paris pour être sûr
davoir au moins 3 réponses justes. - Comment choisir ces 9 paris?
699 mots de 4 lettres (en colonnes)
- x x x 1 1 1 2 2
2 - x 1 2 x 1 2 x 1
2 - x 1 2 1 2 x 2 x
1 - x 1 2 2 x 1 1 2
x - ce code corrige une erreur
- Taux 1/2