Devoir à la maison - Département de Mathématiques d`Orsay

publicité
IUT d’Orsay
Département Informatique
Université Paris-Sud
2006/2007
Codes correcteurs d’erreurs
Devoir à la maison
A rendre impérativement en séance de TD la semaine du 5 mars
Exercice 1.
Préliminaires. On rappelle qu’un code de Hamming est un code parfait de distance 3 : tout mot est
soit un mot du code, soit à distance 1 d’un (unique) mot du code.
1. Expliquer comment construire un code de Hamming C de taille (15, 11). Combien un tel code
contient-il de mots ? Si on prend un mot binaire de longueur 15 au hasard, quelle est la probabilité
que ce mot fasse partie du code ?
Le cruel Dr M. a capturé 15 élèves de l’IUT pour les soumettre à une épreuve diabolique. Il explique
qu’il va leur faire porter à chacun un chapeau soit blanc, soit noir (la couleur est tirée au sort). Il va
ensuite les réunir dans une pièce, bâillonés, de telle sorte que chaque élève pourra voir la couleur des
chapeaux des autres, mais pas du sien. Après quoi chaque élève devra essayer de deviner la couleur
de son chapeau et notera en secret sur un papier “blanc”, “noir” ou rien du tout.
Si tous les élèves ayant écrit quelque chose ont bien deviné la couleur de leur chapeau, le Dr M. laissera
la vie sauve à tout le monde. Par contre, si un élève note une couleur qui n’est pas la bonne, ou que
personne n’écrit de couleur, le Dr M. fera périr tous les élèves dans d’atroces souffrances.
Les élèves ont quelques minutes pour se concerter avant le début de l’épreuve. Après réflexion, quelqu’un propose une stratégie. On considère qu’un chapeau noir vaut 0 et un chapeau blanc 1. En se
rangeant dans l’ordre, les chapeaux des élèves forment un mot binaire de longueur 15.
Chaque élève fait alors le test suivant : il regarde si le mot formé par les chapeaux appartient au code
de Hamming C en supposant que son chapeau est noir, si c’est le cas, il écrit “blanc” sur sa feuille.
Sinon, il recommence en supposant que son chapeau est blanc ; si ce nouveau mot est dans le code C,
il écrit “noir”, sinon, il n’écrit rien.
2. On suppose que le mot m formé par les chapeaux n’est pas dans C. En considérant le mot de
code le plus proche de m, montrer alors qu’un seul élève écrit une couleur sur sa feuille, et que
c’est la couleur de son chapeau.
3. On suppose maintenant que le mot m formé par les chapeaux est dans C. Montrer alors que
tous les élèves écrivent une couleur, et que toutes ces couleurs sont fausses.
4. Quelle est la probabilité de survie des élèves, s’ils choisissent d’utiliser cette stratégie ?
Exercice 2. Pour transmettre un message, on utilise un
matrice génératrice est

0 1 0 1 1 0

1 1 1 1 1 1
G0 = 
1 1 0 1 0 1
0 0 1 1 1 1
1
code linéaire C de taille (8, 4), dont une
1
1
0
0

0
1

0
0

1
0
1. Montrer que la matrice génératrice standard de C est G = 
0
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1

0
1

1
1
2. Donner une matrice de contrôle H du code C. Que peut-on en déduire sur la distance d(C) du
code ?
3. Montrer que tout mot du code C est de poids pair.
4. Montrer que d(C) = 4 (sans faire la liste de tous les mots du code).
Pour pouvoir transmettre des messages en français, on commence par coder certaines lettres en
éléments de (Z/2Z)4 :
espace
E
N
S
:
:
:
:
0000
0100
1000
1100
A
F
O
T
:
:
:
:
0001
0101
1001
1101
C
I
P
U
:
:
:
:
0010
0110
1010
1110
D
L
R
V
:
:
:
:
0011
0111
1011
1111
puis on code chaque bloc de quatre bits à l’aide de la matrice G.
Exemple : LE → 01110001 01001101
5. Coder le mot ERREURS.
6. En utilisant la méthode de votre choix, corriger puis décoder le message suivant :
01001010 01101110 10001111 01000000 00111100 01101000 00000100
00110100 01001101 11011111 10011011 00100110 10110010
2
Téléchargement