You are on page 1of 271

EIDGENSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE

POLITECNICO FEDERALE LOSANNA


C O L E P O L Y T E C H N I Q U E SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE
F DR A L E D E L A U S A N N E

Facult Informatique et Communications

Introduction la Thorie de lInformation


et ses applications

F. Bavaud J.-C. Chappelier J. Kohlas

version 2.4FR 20080130 cours EPFL

Cours destin aux tudiants :


Informatique BA-6
Mathmatiques MA-2 (OPT)

Ecublens, Fvrier 2008.



c sous licence Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License .
Table des matires

1 Incertitude et Information 1
1.1 Entropie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Choix et incertitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Choix avec probabilit connue . . . . . . . . . . . . . . . . . . . . . . 9
1.1.3 Variables alatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1.4 Entropie conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Linformation et sa mesure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.1 Observations et vnements . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.2 Information mutuelle et divergence de Kullback-Leibler . . . . . . . . 34
1.2.3 Surprise, entropie et information . . . . . . . . . . . . . . . . . . . . . 42

2 Exercices du module C1 47
2.1 Entropie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 La mesure de linformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3 Processus stationnaires & chanes de Markov 53


3.1 Le taux dentropie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2 Le thorme AEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.1 Le concept densemble typique : redondance et compressibilit . . . . . 58
3.3 Chanes de Markov de premier ordre . . . . . . . . . . . . . . . . . . . . . . . 62
3.3.1 Matrice de transition en n tapes . . . . . . . . . . . . . . . . . . . . . 62
3.3.2 Chair et squelette. Classification des tats. . . . . . . . . . . . . . . . . 63
3.3.3 Distribution stationnaire . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3.4 Taux dentropie dune chane de Markov . . . . . . . . . . . . . . . . 67
3.3.5 Irrversibilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.4 Chanes de Markov dordre suprieur . . . . . . . . . . . . . . . . . . . . . . 71
3.4.1 Distribution stationnaire et taux dentropie . . . . . . . . . . . . . . . 71
3.5 Reconstruction de modles de Markov partir des donnes . . . . . . . . . . . 73
3.5.1 Distributions empiriques et thoriques . . . . . . . . . . . . . . . . . . 74
3.5.2 La formule des types pour les chanes de Markov . . . . . . . . . . . . 76
3.5.3 Vraisemblance maximale et maldiction de la dimensionnalit . . . . . 78
3.5.4 Tester lordre dune chane de Markov . . . . . . . . . . . . . . . . . . 79
3.5.5 Simuler un processus de Markov . . . . . . . . . . . . . . . . . . . . . 83

4 Exercices du module C3 87
4.1 Chanes de Markov de premier ordre . . . . . . . . . . . . . . . . . . . . . . . 87

i
ii TABLE DES MATIRES

5 Codage efficace de linformation 89


5.1 Coder une variable alatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.1.1 Codes sans prfixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.1.2 Arbres n-aires pour le codage . . . . . . . . . . . . . . . . . . . . . . 94
5.1.3 Ingalit de Kraft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2 Codage efficace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2.1 Quest-ce quun code efficace ? . . . . . . . . . . . . . . . . . . . . . 101
5.2.2 Arbres n-aires probabiliss : longueur du chemin et incertitude . . . . . 102
5.2.3 Thorme du codage sans bruit . . . . . . . . . . . . . . . . . . . . . . 105
5.2.4 Codes de Huffman . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

6 Exercices du module C2 117


6.1 Coder une variable alatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2 Codage efficace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

7 Complments au Codage efficace de lInformation 121


7.1 Codes de longueur fixe : Code de Tunstall . . . . . . . . . . . . . . . . . . . . 121
7.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.1.2 Ensembles Propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.1.3 Ensembles de messages de Tunstall . . . . . . . . . . . . . . . . . . . 124
7.1.4 Algorithme de construction du code de Tunstall . . . . . . . . . . . . . 126
7.2 Codage des Entiers Positifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.3 Codage de Sources Mmoire . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.3.1 Codage de Huffman par blocs . . . . . . . . . . . . . . . . . . . . . . 131
7.3.2 Schma de Codage de Source de Elias-Willems . . . . . . . . . . . . . 132
7.3.3 Codages de Lempel-Ziv . . . . . . . . . . . . . . . . . . . . . . . . . 134

8 Exercices du module I1 139


8.1 Codes de longueur fixe : codes de Tunstall . . . . . . . . . . . . . . . . . . . . 139
8.2 Codage de squences dentiers positifs . . . . . . . . . . . . . . . . . . . . . . 139
8.3 Codage de sources mmoire . . . . . . . . . . . . . . . . . . . . . . . . . . 140

9 Transmission dinformation en prsence de bruit 143


9.1 Canal de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.1.1 Canaux de communication . . . . . . . . . . . . . . . . . . . . . . . . 145
9.1.2 Capacit dun canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.1.3 Canal symtrique lentre . . . . . . . . . . . . . . . . . . . . . . . 149
9.1.4 Canal symtrique en sortie . . . . . . . . . . . . . . . . . . . . . . . . 150
9.1.5 Canal symtrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
9.1.6 Taux de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
9.2 Quelques lemmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.2.1 Lemme de lutilisation multiple . . . . . . . . . . . . . . . . . . . . . 152
9.2.2 Lemme du traitement des donnes . . . . . . . . . . . . . . . . . . . . 152
9.2.3 Lemme de Fano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
9.3 Le thorme de codage en prsence de bruit . . . . . . . . . . . . . . . . . . . 155
9.3.1 Codage par rptition . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
TABLE DES MATIRES iii

9.3.2 La partie rciproque du thorme de codage en prsence de bruit pour


un DMC sans retour . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.3.3 Le thorme de codage en prsence de bruit pour un DMC . . . . . . . 159

10 Exercices du module C4 167


10.1 Canaux de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.2 Thorme de codage en prsence de bruit . . . . . . . . . . . . . . . . . . . . 170

11 Codes correcteurs derreurs 171


11.1 Notions de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
11.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
11.1.2 Distance de Hamming et poids dun mot de code . . . . . . . . . . . . 173
11.1.3 Dcodage distance minimale et vraisemblance maximale . . . . . . 175
11.1.4 Dtection et correction derreurs . . . . . . . . . . . . . . . . . . . . . 177
11.2 Codes linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.2.2 Quelques proprits des codes linaires . . . . . . . . . . . . . . . . . 181
11.2.3 Codage avec des codes linaires . . . . . . . . . . . . . . . . . . . . . 183
11.2.4 Forme systmatique dun code linaire . . . . . . . . . . . . . . . . . 184
11.2.5 Dcodage : Matrice de vrification . . . . . . . . . . . . . . . . . . . . 186
11.2.6 Syndromes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
11.2.7 Distance minimale et matrice de vrification . . . . . . . . . . . . . . . 190
11.2.8 Codes de Hamming binaires . . . . . . . . . . . . . . . . . . . . . . . 192
11.3 Codes cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
11.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
11.3.2 Codes cycliques et polynmes . . . . . . . . . . . . . . . . . . . . . . 196
11.3.3 Dcodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.4 Codes convolutionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
11.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
11.4.2 Codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
11.4.3 Dfinition gnrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
11.4.4 Reprsentation sous forme de treillis . . . . . . . . . . . . . . . . . . . 206
11.4.5 Dcodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.4.6 Distance minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

12 Exercices du module I2 215


12.1 Codes linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
12.2 Codes cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
12.3 Codes de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

13 Cryptographie 219
13.1 Cadre Gnral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
13.1.1 Buts de la Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . 220
13.1.2 Exemples Historiques . . . . . . . . . . . . . . . . . . . . . . . . . . 221
13.2 Confidentialit Parfaite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
13.2.1 Dfinition et Consquences . . . . . . . . . . . . . . . . . . . . . . . . 224
13.2.2 Un Exemple : le One-Time Pad . . . . . . . . . . . . . . . . . . . . . 225
iv TABLE DES MATIRES

13.2.3 Confidentialit Imparfaite et Distance dUnicit . . . . . . . . . . . . . 226


13.2.4 Distance dUnicit Croissante : Codage Homophonique . . . . . . . . 228
13.3 Confidentialit en Pratique : Scurit Algorithmique . . . . . . . . . . . . . . . 229
13.3.1 Complexit Algorithmique . . . . . . . . . . . . . . . . . . . . . . . . 230
13.3.2 Fonctions Sens Unique . . . . . . . . . . . . . . . . . . . . . . . . . 232
13.3.3 DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
13.4 Cryptographie cl publique . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
13.4.1 Un peu de Mathmatiques . . . . . . . . . . . . . . . . . . . . . . . . 236
13.4.2 Le Systme de Distribution de Cls de Diffie-Hellman . . . . . . . . . 237
13.4.3 Fonctions trappe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
13.4.4 RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
13.5 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
13.5.1 Authentification et Scurit . . . . . . . . . . . . . . . . . . . . . . . . 242
13.5.2 Authentification de Diffie-Lamport . . . . . . . . . . . . . . . . . . . 244
13.5.3 Authentification par RSA . . . . . . . . . . . . . . . . . . . . . . . . . 244
13.5.4 Secrets partags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

14 Exercices du module I3 253


14.1 Cadre gnral Exemples historiques . . . . . . . . . . . . . . . . . . . . . . 253
14.2 Confidentialit parfaite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
14.3 Scurit algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
14.4 Cryptographie cl publique . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
14.5 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Notations

VX : ensemble des valeurs de la variable alatoire X.


: la chane vide.
E [X] : esprance de X.
P (X = 3) : probabilit.
pX (3) : distribution de probabilit de la variable X.
Notez que pX (3) = P (X = 3).
1 an
an bn : quivalence exponentielle asymptotique : lim log( ) = 0.
n n bn
X := Y , et Y =: X: gal par dfinition.
Dans les deux cas, il faut comprendre X est par dfinition gal Y .
M T : transpose de la matrice M .
e
h(x) = x log2 x (1 x) log2 (1 x)

v
vi TABLE DES MATIRES
Chapitre 1

Module C1 : Incertitude et
information

par J RG KOHLAS

O BJECTIFS PDAGOGIQUES DU CHAPITRE 1


Aprs avoir tudi ce module, vous devriez comprendre
pourquoi il est important de mesurer le degr dincertitude dans une situation de
choix ;
en quoi lentropie est une bonne unit de mesure de lincertitude ;
en quoi linformation et lincertitude sont lies et, par consquent, pourquoi
lentropie a un rle important dans la mesure de linformation ;
que linformation est toujours relative une question prcise et une information
pralable.

Introduction

Bienvenue dans cette premire tape du monde de la thorie de linformation. De toute vi-
dence, dans un monde qui est en passe de devenir une socit dinformation, la notion et
le concept dinformation devraient soulever une grande attention scientifique. En fait, bien
que le dveloppement de linformation pragmatique, dans les ordinateurs, sur Internet et dans
dautres rseaux informatiques, volue une allure extrmement rapide, ltude thorique et
conceptuelle de ce quest linformation et de la faon dont elle devrait tre traite ne suit pas
vraiment ce rythme frntique.
La thorie de linformation, dans le sens technique quon lui donne aujourdhui, remonte au
travail de Claude Shannon. Elle a t introduite comme moyen dtudier et de rsoudre les
problmes de communication ou de transmission de signaux travers des canaux. Bien que
ce soit une vision relativement troite de linformation qui se penche plus particulirement sur
la mesure du contenu de linformation, elle doit tre incluse dans toute thorie plus large
de linformation. Cest pourquoi ce module est une introduction aux lments de base de la

1
2 CHAPITRE 1. INCERTITUDE ET INFORMATION

thorie de linformation telle que Shannon et ses successeurs lont tablie.


Mais, dans ce premier module dj, nous tenterons dlargir notre vision de linformation.
Nous soulignerons quune information doit toujours tre considre par rapport des questions
prcises. Une mme information peut porter sur diffrentes questions, et son contenu dinfor-
mation sera diffrent selon chaque question. Dans le cas de certaines questions, le contenu peut
mme tre vide. La quantit contenue dans une information par rapport une question donne
sera mesure par la rduction de lincertitude concernant cette question et induite par lin-
formation ou, plus gnralement, par le changement de lincertitude. Nous suivrons Shannon
en mesurant lincertitude par lentropie. Notre approche est dans lesprit de celle de Shannon
dans la mesure o linformation est mesure par changement dentropie, mais, en indiquant
explicitement la question laquelle linformation est applique, nous irons plus loin que lui.
Nous insisterons galement sur limportance de linformation pralable, par rapport laquelle
la quantit dinformation sera mesure. Bien que ceci soit implicite dans lapproche de Shan-
non, lexpliciter rend le concept plus clair. En effet, de ce point de vue, il devient vident
que les probabilits sont elles-mmes de linformation dont le contenu peut tre mesur par
changement dentropie.
Au fil des discussions il devient clair que linformation a aussi une structure algbrique : lin-
formation peut tre combine ou assemble et doit tre concentre sur des questions spcifies.
Cependant, nous ne traiterons pas cet aspect important en profondeur; cette tche est rserve
dautres modules. Ceci est galement valable pour lapplication de la thorie classique de
linformation au codage, la communication et dautres domaines.
Nous vous souhaitons beaucoup de plaisir dans ltude de ce cours.

1.1 Entropie

O BJECTIFS PDAGOGIQUES DE LA SECTION 1.1


Aprs avoir tudi cette section, vous devriez
savoir comment lentropie est dfinie et quelles sont ses proprits les plus impor-
tantes;
comprendre en quoi lentropie est une bonne mesure de lincertitude.

1.1.1 Choix et incertitude

O BJECTIFS PDAGOGIQUES DE LA SOUS - SECTION 1.1.1


Aprs avoir tudi cette sous-section, vous devriez
savoir comment dcrire formellement une situation de choix ;
comprendre comment un jeu de questions-rponses mne une mesure de la quan-
tit dincertitude dans une situation de choix;
comprendre pourquoi cette mesure est un logarithme et quelles sont ses units;
comprendre comment des choix possibles peuvent tre cods par lutilisation du
jeu des questions-rponses.

Toute situation dincertitude peut tre dcrite comme une situation dans laquelle il existe plu-
sieurs possibilits, sans que lon sache laquelle sera slectionne. Un exemple typique li aux
1.1. ENTROPIE 3

ordinateurs est la question : quelle sera la prochaine frappe de lutilisateur ? Selon le type
de clavier, il y aura plusieurs douzaines de possibilits, si les frappes combines sont permises.
Une situation dincertitude plus complexe natra si lon considre une squence complte de
frappes dans une session de dialogue. Il existe bien sr un grand nombre de situations din-
certitude dans la vie courante, dans la recherche et le diagnostic mdicaux, ainsi que dans
linfrence statistique et les enqutes criminelles, etc. Ltude de lincertitude et la mesure
de sa quantit dans une situation donne prsentent donc un intrt certain. La mesure de la
quantit dincertitude est mme une question fondamentale en communication et en thorie de
linformation.
Commenons par la description formelle dune situation dincertitude. Supposons quil existe
un cas dans lequel il se trouve une possibilit parmi m diffrentes possibilits. Nous dsi-
gnons ces possibilits par e1 , e2 , . . . , em . Un tel ensemble de possibilits, dsign par S =
{e1 , e2 , . . . , em } est appel un schma de choix (fini). Lide est que lune de ces possibilits
est slectionne par une personne, un processus ou un mcanisme etc. Lincertitude survient
parce que nous ignorons laquelle des m possibilits est slectionne.
Comment mesurer la quantit dincertitude dans un schma de choix S? Intuitivement, plus la
cardinalit |S| de S (le nombre dlments de S) est grande, plus lincertitude sera grande. Ceci
semble clair. Aussi, pourquoi ne pas simplement prendre |S| comme mesure de lincertitude?
En effet, cest une possibilit. Mais nous allons suivre une autre approche. Imaginons le jeu
suivant : je slectionne une possibilit de S et vous pouvez me poser des questions sur mon
choix. Toutefois, je naccepte que les questions auxquelles je peux rpondre par oui ou par
non. Dans tous les cas nous pouvons considrer que les possibilits sont reprsentes par les
nombres 1, 2, . . . , m = |S|. Aussi pourriez-vous poser des questions telles que: le nombre
que vous avez slectionn est-il impair?, est-il infrieur 10?, suprieur 13?, etc. Plus
vous aurez besoin de poser des questions, plus lincertitude sera grande. Donc lide est de
mesurer lincertitude par le nombre de questions que vous aurez besoin de poser pour trouver
mon choix.
Bien entendu, vous devrez poser des questions habiles. Si vous choisissez de demander si le
nombre est 1, si non, si cest 2, etc., vous pourriez avoir besoin des m questions pour dcouvrir
mon choix. Il est clair que ceci nest pas une mthode optimale. Cependant, si vous demandez
dabord si le nombre est infrieur m/2, ma rponse vous permettra de limiter la suite de votre
investigation la moiti des possibilits initiales seulement. Ensuite vous pourriez procder
dune faon similaire. Ceci semble donc tre une faon habile de dcouvrir mon choix.
Pour tre un peu plus formels, considrons dabord que m est une puissance de 2, m = 2n .
Puis nous pourrions diviser S par la premire question (votre choix est-il suprieur 2n1 ?)
en deux moitis de taille gale : {1, . . . , 2n1 } et {2n1 + 1, . . . , 2n }. Chaque moiti peut tre
encore divise en deux avec la deuxime question. Si la rponse la premire question est
non, alors la deuxime question dtermine soit {1, . . . , 2n2 } soit {2n2 + 1, . . . , 2n1 }.
Si la rponse la premire question tait oui, alors la question suivante fait la distinction
entre {2n1 + 1, . . . , 2n1 + 2n2 } ou {2n1 + 2n2 + 1, . . . , 2n }. Ce processus de questions
et rponses est reprsent en figure 1.1. Chaque question est reprsente par un nud, en
commenant par la premire question. Un nud de questions est dsign par lensemble des
possibilits identifies jusque-l. Le premier nud est donc dsign par tout lensemble S;
les nuds du premier niveau par les deux demi-ensembles; au second niveau par les quatre
quarts densembles, etc. Chaque rponse possible est indique par un arc quittant le nud.
Nous dsignons une rponse non par un 0 et une rponse oui par un 1.
Le processus de division des ensembles de possibilits en moitis gales prend fin avec la
dcouverte du choix exact aprs exactement n tapes. Le nombre n nest rien dautre que le
4 CHAPITRE 1. INCERTITUDE ET INFORMATION

F IG . 1.1 Larbre des questions-rponses pour la recherche binaire dun choix inconnu parmi
les lments 2n .

logarithme de m = 2n base 2, soit n = log2 m. Et ce nombre est largement infrieur m


lui-mme.
Il semble donc raisonnable dexprimer la quantit dincertitude dans un systme de choix S
avec |S| = 2n possibilits par le logarithme la base 2. Dsignons la quantit dincertitude
dun systme de choix S par h(|S|). Donc nous posons h(|S|) = log |S|, du moins si |S|
est une puissance de 2. Mais quen est-il du cas gnral, dans lequel la cardinalit |S| est
nimporte quel nombre? Nous pouvons tenter demployer le mme schma de questions. La
seule diffrence que nous rencontrons est que certains nuds de questions peuvent reprsenter
des ensembles de cardinalit impaire, comme 2k+1 par exemple. Ensuite les questions divisent
cet ensemble en deux ensembles lgrement ingaux, lun avec k +1, lautre avec des lments
k. La figure 1.2 schmatise cette situation.

F IG . 1.2 Le nud typique dun arbre de questions-rponses pour la recherche binaire dun
choix inconnu dans le cas gnral.

Si le nombre de possibilits dans le systme de choix S est entre les deux puissances de 2,
2n |S| < 2n+1 , alors nous pouvons soit enlever quelques possibilits pour obtenir 2n
possibilits, ou ajouter quelques possibilits pour obtenir 2n+1 possibilits. Dans le premier
cas, nous avons besoin de n questions, dans le second nous avons besoin de n + 1 questions
pour trouver le choix exact. Donc la quantit dincertitude de S doit se situer quelque part entre
ces deux limites. A prsent, nous avons n log |S| < n + 1. Donc nous pouvons de nouveau
prendre h(|S|) = log |S| comme mesure de la quantit dincertitude dans le cas gnral, mme
si cette fois log |S| nest plus ncessairement un nombre entier. Nous adoptons finalement la
dfinition suivante :
1.1. ENTROPIE 5

Dfinition 1.1 La quantit dincertitude dun schma de choix. Pour un systme de


choix S avec |S| choix possibles, nous dfinissons la quantit dincertitude h(|S|)
par

h(|S|) = log |S|.

Exemple 1.1 (Echiquier) Prenons comme premier exemple celui dun chiquier vide. Il
existe exactement m = 64 = 26 possibilits de placer une pice dessus. Ainsi, le systme de
choix peut tre reprsent par S = {1, 2, . . . , 64}, o chaque nombre reprsente une case de
lchiquier. La quantit dincertitude du placement dune pice sur un chiquier est

h(|S|) = log 64 = 6 bit.

Comme toute dfinition, celle-ci est galement arbitraire jusqu un certain degr. Cest fina-
lement son utilit et son lgance dans les applications qui la justifiera. Nous tenterons de le
faire dans la suite de ce module et dans dautres.
On peut dailleurs galement jouer aux questions-rponses avec des questions qui ont plus de
2 rponses possibles. Supposons que les questions ont k > 2 rponses possibles . Alors chaque
question permet de diviser lensemble de m possibilits en k sous-ensembles denviron m/k
lments. Donc, comme nous lavons dmontr plus haut, si |S| = k n , alors nous aurons
besoin dexactement n = logk |S| questions. Cette fois nous utilisons le logarithme base k.
Donc nous aurions pu dfinir
h(|S|) = logk |S|.
Mais nous avons
logk |S| = logk (2) log2 |S|.
Changer la base du logarithme revient donc changer dunit de mesure, et ce nest pas un
changement vraiment essentiel. Dornavant, un log sans indication de la base a par dfaut dans
ce chapitre, un logarithme en base 2.
Si nous avons un systme de choix S et un arbre de questions correspondant, (comme en
figure 1.1), alors nous avons en mme temps un codage des possibilits du systme de choix.
En concatnant le 0 et le 1 sur le chemin de la racine la possibilit en question, on
obtient un code de cette possibilit. Si nous utilisons des questions binaires, nous aurons un
code binaire pour le systme de choix. Notez que la longueur du code de chaque possibilit
gale soit lentier infrieur suivant, soit lentier suprieur suivant de h(|S|) = log |S|. Ceci
est une premire approche de la relation troite entre lincertitude et le codage. Ce point sera
tudi plus loin, dans le chapitre 5.

Exemple 1.2 (Arbre de questions binaires) Un systme de choix est donn par S =
{1, 2, 3, 4, 5}. Sa quantit dincertitude est

h(|S|) = log 5 2, 3219 bit

Un arbre de questions binaires correspondant possible est reprsent en figure 1.3. On voit
aisment que le code 001 reprsente la possibilit {2} et que sa longueur 3 est lentier suivant
suprieur de h(|S|). La possibilit {3} a comme longueur de code 2, {4} a comme longueur
2, etc.
6 CHAPITRE 1. INCERTITUDE ET INFORMATION

F IG . 1.3 Example: Larbre de questions binaires dun sytme de 5 possibilits.

Voici maintenant quelques proprits trs simples de notre mesure de lincertitude h(|S|) :
1. Si S1 et S2 sont deux systmes de choix et |S1 | = |S2 |, alors h(|S1 |) = h(|S2 |). Seul le
nombre de possibilits importe dans un systme de choix, et non leur nature.
2. Si S1 et S2 sont deux systmes de choix et |S1 | < |S2 |, alors h(|S1 |) < h(|S2 |), puisque
le logarithme est une fonction croissante. Cest ce que nous attendons : lincertitude
augmente avec le nombre de possibilits dun choix.
3. Si S1 et S2 sont deux systmes de choix et que S2 a le double des possibilits de S1
(|S2 | = 2 |S1 |), alors, en utilisant le logarithme en base 2, nous obtenons h(|S2 |) =
h(|S1 |) + 1. Ceci dcoule de ladditivit du logarithme, et de log2 2 = 1,

h(|S2 |) = log2 |S2 | = log2 (2 |S1 |) = log2 2 + log2 |S1 | = 1 + h(|S1 |).

4. Si S est un systme de choix avec seulement deux possibilits, alors, avec la base 2 pour
le logarithme, h(|S|) = log2 2 = 1. Cette unit de mesure est appele un bit (binary
information unit). Nous verrons que lincertitude est troitement lie linformation, et
quon mesure cette dernire par les mmes units que lincertitude. Nous pntrerons
ainsi dans le royaume des ordinateurs. Cest pour cela que les questions binaires sont les
plus connues.
Si nous avons deux systmes de choix S1 = {e1,1 , e1,2 , . . . , e1,n } et S2 = {e2,1 , e2,2 , . . . , e2,m },
alors les deux possibilits de choix correspondantes peuvent tre assembles en un systme
combin qui contient toutes les combinaisons n m par paires de choix possibles :

{(e1,1 , e2,1 ), (e1,1 , e2,2 ), . . . , (e1,2 , e2,1 ), . . . , (e1,n , e2,m )} .

Un tel ensemble de paires est appel produit cartsien des deux ensembles individuels, et se
prsente comme suit :

S1 S2 = {(e1,1 , e2,1 ), (e1,1 , e2,2 ), . . . , (e1,2 , e2,1 ), . . . , (e1,n , e2,m )} .

On appelle ce nouveau systme de choix un systme de choix indpendants. Ceci exprime


lide selon laquelle le choix, dans chacun des deux systmes, se fait indpendamment du choix
dans lautre systme, afin dobtenir le choix combin. Comment la quantit dincertitude dun
tel systme de choix indpendants est-elle relie la quantit dincertitude dans chacun des
deux systmes de choix ? La rponse, simple, est donne dans le thorme ci-dessous.
1.1. ENTROPIE 7

Thorme 1.1 (Additivit de lincertitude) Lincertitude du systme de choix ind-


pendants est la somme de lincertitude des deux systmes simples.

h(|S1 S2 |) = h(|S1 |) + h(|S2 |).

D MONSTRATION La dmonstration est simple, puisquil sagit essentiellement de ladditi-


vit du logarithme. En fait,

h(|S1 S2 |) = log |S1 S2 | = log(|S1 | |S2 |)


= log |S1 | + log |S2 | = h(|S1 |) + h(|S2 |).

Ce thorme est une parfaite justification de notre dfinition de la mesure de lincertitude : on


pourrait sattendre ce que les incertitudes de deux situations indpendantes sadditionnent
lorsquelles sont considres ensemble.

Exemple 1.3 (Echiquier - Suite) Retournons la situation de lchiquier, dcrite dans


lexemple 1.1. Nous avons vu que la quantit dincertitude du placement dune pice sur
tout lchiquier est h(|S|) = log 64 = 6. De la mme faon, nous voyons que la quantit
dincertitude du placement dune pice dans une seule range ou dans une seule colonne est
log 8 = 3. Nous obtenons donc le rsultat attendu

6 = log 64 = log 8 + log 8.

Bien entendu, ceci peut tre gnralis et tendu la combinaison de plus de deux choix
indpendants. Admettons que S1 , S2 , . . . , Sm soient m systmes de choix. Alors le produit
cartsien des m-tuples

S1 S2 Sm = {(e1,1 , e2,1 , . . . , em,1 ), . . .}

est le systme de choix indpendants correspondant.

Corollaire 1.1

h(|S1 S2 Sm |) = h(|S1 |) + h(|S2 |) + + h(|Sm |). (1.1)

Exemple 1.4 (D) Lanons un d m fois et considrons que les lancers sont indpendants.
Ceci peut tre model par m systmes de choix indpendants S1 , . . . , Sm , dans lesquels
chaque systme contient 6 possibilits. Daprs le corollaire 1.1, nous obtenons que

h(|S1 S2 Sm |) = h(|S1 |) + h(|S2 |) + + h(|Sm |) = m log 6.

R SUM DE LA SOUS - SECTION 1.1.1

Nous avons donn une forme prcise des situations dincertitude par des systmes de
choix S, dans lesquels une, parmi un nombre fini de possibilits, sera slectionne, sans
que lon sache laquelle;
8 CHAPITRE 1. INCERTITUDE ET INFORMATION

Lincertitude associe un systme de choix est mesure par le (plus petit) nombre de
questions poser pour dcouvrir le choix rel. Ceci mne poser log |S| comme mesure
de lincertitude. Avec des questions binaires lunit de mesure est appele un bit;
Le jeu des questions dfinit un arbre qui peut tre utilis pour dfinir des codes pour les
possibilits du systme de choix S. La longueur de ces codes est approximativement gale
la mesure de lincertitude log |S|. Si des questions binaires sont utilises, nous obtenons
des codes binaires;
Nous avons dcouvert que les incertitudes de systmes de choix indpendants saddi-
tionnent.

valuation 1

Pour x 0, le logarithme log2 (x) est


1. toujours positif;
2. une fonction croissante;
3. maximal pour x = 10;
4. gal 0 pour x = 0;
5. gal 0 pour x = 1;
6. gal 1 pour x = 2.

valuation 2

Si nous avons deux systmes de choix S1 = {e1,1 , e1,2 , . . . , e1,n } et S2 = {e2,1 , e2,2 , . . . , e2,m },
alors le systme de choix indpendants S1 S2 a
1. n + m lments;
2. n m lments.

valuation 3

Etant donn deux systmes de choix S1 et S2 avec |S2 | = 2 |S1 |, alors h(|S1 S2 |) est gal
1. h(|S1 |) + h(|S2 |);
2. 1 + 2 h(|S1 |);
3. log(|S1 | |S2 |);
4. h(|S1 |) h(|S2 |);
1
5. 1 + 2 h(|S2 |).

valuation 4

Retournons la dernire control question. Laquelle des assertions correctes restera vraie, arbi-
trairement, pour S1 et S2 sans la proprit |S2 | = 2 |S1 |.
1.1. ENTROPIE 9

1.1.2 Choix avec probabilit connue

O BJECTIFS PDAGOGIQUES DE LA SOUS - SECTION 1.1.2


Aprs avoir tudi cette sous-section, vous devriez
comprendre comment lincertitude est affecte, si les probabilits des choix pos-
sibles sont connues;
connatre la dfinition de lentropie et certaines de ses proprits lmentaires;
avoir une premire apprciation de lentropie comme mesure de lincertitude.

Dans certaines situations, les probabilits des diffrentes possibilits qui pourraient se produire
sont connues. Par exemple, si lon sait quune personne tape un texte en anglais, alors nous
savons que certaines lettres se prsentent plus frquemment que dautres, et quelles sont donc
plus susceptibles dtre tapes. Ou, au niveau des mots, si lon sait que lutilisateur fait de
la programmation, alors nous savons que certains mots-cls tels que si, alors, sinon,
etc. sont plus susceptibles dtre taps que la plupart des autres combinaisons de lettres. Nous
verrons dans cette section comment cette connaissance supplmentaire des probabilits affecte
la quantit dincertitude dans un systme de choix.
Pour commencer, nous introduisons formellement des probabilits dans un systme de choix
S = {e1 , e2 , . . . , em } en assignant des probabilits pi aux possibilits ei pour i = 1, 2, . . . , m.
Ces probabilits doivent remplir les conditions suivantes :
m
X
0 pi 1, pour i = 1, 2, . . . m, pi = 1. (1.2)
i=1

La seconde condition exprime le fait quexactement une des m possibilits doit tre slectio-
ne. Le systme de choix S forme avec lensemble de probabilits P = {p1 , p2 , . . . , pm } un
systme de choix probabiliste. Voici la dfinition formelle :

Dfinition 1.2 Systme de choix probabiliste. Si S est un systme de choix, et P un


ensemble de probabilits sur S remplissant les conditions (1.2), alors la paire (S, P )
est appele un systme de choix probabiliste.

Si E S est un sous-ensemble de S, soit un vnement dans le langage de la thorie de la


probabilit, alors sa probabilit est donne par
X
p(E) = pi .
ei E

Quelle est la quantit dincertitude dans un systme de choix probabiliste ? Nous pourrions es-
sayer demployer le mme jeu de questions-rponses que dans la question prcdente. Cepen-
dant, il nest plus ingnieux de diviser lensemble de possibilits en sous-ensembles de taille
gale, parce que cette mthode ne tient pas compte des probabilits. Supposons par exemple
quune possibilit, disons e1 , est bien plus vraisemblable que toutes les autres. Alors, nous
devrions dabord bien entendu demander si ceci est la bonne possibilit. Il y a de grandes
chances que nous frappions juste et trouvions la bonne possibilit avec une seule question.
Cest seulement si la rponse est non que nous devrons continuer. Examinons un exemple.

Exemple 1.5 (Arbres lis un systme de choix probabiliste) Posons un sys-


10 CHAPITRE 1. INCERTITUDE ET INFORMATION

tme de choix probabiliste (S, P ) par S = {e1 , e2 , . . . , e8 } et P =


{0.3, 0.2, 0.1, 0.05, 0.05, 0.1, 0.15, 0.05}. Un arbre binaire correspondant ainsi quune
alternative est reprsente sur les figures 1.4 et 1.5. Un simple calcul montre que la longueur
moyenne des mots pour le premier arbre binaire est de 3, et de 2.75 pour le second.

F IG . 1.4 Larbre binaire de notre exemple avec la longueur moyenne de mot de 3.

F IG . 1.5 Dans cette alternative la longueur moyenne des mots est rduite 2.75.

Comme lexemple le dmontre, nous devrions tenter de slectionner nos questions de faon
minimiser le nombre moyen de questions ncessaires. Ceci nest pas une tche banale. Ce-
pendant, la solution ce problme est connue et frquemment utilise en thorie du codage
comme expos dans le chapitre 5. Lide-cl est de diviser lensemble des possibilits, non pas
en sous-ensembles de cardinalit gale, mais en sous-ensembles de probabilit gale. On sait
en particulier, daprs la thorie du codage, que le nombre moyen de questions est approxima-
tivement
m
X
pi log pi .
i=1
1.1. ENTROPIE 11

Cette grandeur est appele entropie, et nous proposons de lutiliser comme mesure de la quan-
tit dincertitude dans un systme de choix probabiliste. Nous nexcluons pas que certaines
des probabilits pi tendent vers zro, pi = 0. Dans ce cas nous adoptons la convention selon
laquelle 0 log 0 = 0, ce qui est raisonnable tant donn que limx0 x log x = 0.

Dfinition 1.3 La quantit dincertitude dans un systme de choix probabiliste. Ad-


mettons que (S, P ) soit un systme de choix probabiliste. Alors nous dfinissons la
quantit dincertitude dans (S, P ) comme lentropie
m
X
H(P ) = pi log pi . (1.3)
i=1

Une fois de plus, cette dfinition comporte un certain degr darbitraire. La base k du loga-
rithme dans lentropie correspond, comme dans la section prcdente, au nombre k de rponses
possibles chaque question dans le jeu des questions-rponses. Nous laissons ceci ouvert, tant
donn quun changement de la base correspond seulement un changement dunit. Comme
prcdemment, le logarithme en base 2 est le plus populaire; lunit correspondante est le bit;
nous allons gnralement lemployer dans les exemples.

Exemple 1.6 (Arbres lis un systme de choix probabiliste - Suite) Nous compltons
lexemple 1.5 en calculant la quantit dincertitude dans le systme de choix probabiliste; ce
qui revient calculer lentropie.
8
X
H(P ) = pi log pi
i=1
= 0.3 log 0.3 0.2 log 0.2 0.2 log 0.1
0.15 log 0.05 0.15 log 0.15
2.7087 bit

Donc H(P ) est infrieur la longueur moyenne des mots dans le meilleur arbre.

Lentropie est rellement une notion fondamentale dans la thorie de linformation et de la


communication, comme le dmontrera la suite de ce cours. Il est donc utile dtudier ses pro-
prits. Notez que nous crivons parfois
H(P ) = H(p1 , p2 , . . . , pm ),
si P = {p1 , p2 , . . . , pm }.
Nous tablissons dabord le lien entre la notion gnrale dentropie telle quelle est introduite
ici, et la mesure de lincertitude pour des systmes de choix sans probabilits comme nous
lavons dfini dans la sous-section prcdente. Nous voyons que si P est la distribution uni-
forme sur m choix, alors
Xm
1 1 1 1 1
H ,..., = log = log = log m = h(m).
m m m m m
i=1

Proprit 1.1 Lentropie de la distribution de probabilit uniforme sur m possibili-


ts gale la mesure de lincertitude du systme correspondant de choix sans probabi-
lit.
12 CHAPITRE 1. INCERTITUDE ET INFORMATION

Ceci est une expression du principe de raison insuffisante de Laplace qui dit que si vous navez
pas dautre information, posez des probabilits gales. Dans ce contexte ceci fonctionne bien.
En ce sens, lentropie couvre aussi le cas particulier des systmes de choix sans probabilits.
Pour un systme de choix S avec |S| = m, intuitivement, nous avons une incertitude maxi-
male si nous ne connaissons pas les probabilits, ou si nous posons des probabilits uniformes
(gales) sur toutes les possibilits.

H(P ) h(|S|) = log m.

Ceci est vrai et peut tre dmontr.


Afin de dmontrer ce rsultat, nous avons besoin du lemme suivant.

Lemme 1.1 Soient p1 , p2 , . . . , pm et q1 , q2 , . . . , qm deux distributions de probabilit


sur le mme nombre de m possibilits. Alors
m
X m
X
pi log qi pi log pi (1.4)
i=1 i=1

avec galit si, et seulement si, pi = qi .

D MONSTRATION Nous avons log x = log eln x, o ln reprsente le logarithme naturel (en
base e). ln x est une fonction concave, ce qui signifie que tous les points de son diagramme
sont sous sa tangente (see Figure 1.6). Si nous prenons la drive de ln x dans le point x = 1,
alors nous obtenons ln x x 1 avec galit si, et seulement si, x = 1. Par consquent,
nous avons
qi qi
ln 1,
pi pi
do
m
X X m
X m
qi
pi ln qi pi = 1 1 = 0.
pi
i=1 i=1 i=1

Nous en concluons que


m
X m
X m
X qi
pi log qi pi log pi = log e pi ln 0.
pi
i=1 i=1 i=1

Ceci montre que (1.4) est vrifi avec lgalit si, et seulement si, qi /pi = 1 pour tous i,
cest--dire pi = qi .

En appliquant ce lemme, on a

m
X m
X 1
H(P ) log m = pi log pi + pi log 0,
m
i=1 i=1

avec galit si, et seulement si, pi = 1/m. Nous avons dmontr le thorme suivant :
1.1. ENTROPIE 13

F IG . 1.6 Convexit de la fonction y = ln x et la tangente au point x = 1.

Thorme 1.2

max H(P ) = log m, (1.5)

o le maximum est pris sur toutes les distributions de probabilit P pour m possibi-
lits. Ce maximum est atteint pour la distribution quiprobable uniquement.

Citons ci-dessous dautres proprits lmentaires de lentropie :

1. Si (S1 , P1 ) et (S2 , P2 ) sont deux systmes de choix probabilistes avec |S1 | = |S2 | et
P1 = P2 , alors H(P1 ) = H(P2 ). Ceci signifie que lentropie dpend uniquement de
la distribution de probabilits, et non pas de la nature des possibilits ei dans le sys-
tme de choix. Ceci dcoule directement de la dfinition de lentropie (1.3) qui dpend
uniquement des probabilits pi .
2. Nous avons

H(p1 , p2 , . . . , pn ) = H(p1 , p2 , . . . , pn , 0).

qui rsulte de la convention 0 log 0 = 0. Elle signifie que les possibilits probabilit
tendant vers zro importent peu pour la quantit dincertitude. Ceci est raisonnable, tant
donn que nous pouvons tre srs que de telles possibilits ne sont jamais slectionnes.
3. Considrons un schma deux niveaux comme illustr sur la figure 1.7. Au premier
niveau, une des deux possibilits est slectionne, avec les probabilits p et q = 1 p.
Si au premier niveau, la premire possibilit est slectionne, alors au second, une des
n possibilits est slectionne avec les probabilits pi /p. Si la seconde possibilit est
slectionne au premier niveau, alors une des m possibilits est slectionne au second
niveau avec les probabilits qi /q. Ici il est admis que

n
X m
X
pi = p, qi = q.
i=1 i=1
14 CHAPITRE 1. INCERTITUDE ET INFORMATION

Notez que cela implique

p1 + p2 + pn + q1 + q2 + qm = 1,

cest--dire {p1 , . . . , pn , q1 , . . . , qm } est une distribution de probabilit sur n + m l-


ments. Ensuite nous avons lgalit suivante entre les entropies des deux niveaux :

H(p1 , p2 , . . . , pn , q1 , q2 , . . . , qm )
p1 p2 pn q1 q2 qm
= H(p, q) + pH( , , . . . , ) + qH( , , . . . , ).
p p p q q q
Ceci peut tre vrifi daprs la dfinition de lentropie.

F IG . 1.7 Un systme de choix probabiliste deux niveaux dans lequel une des deux possibi-
lits est slectionne avec les probabilits p et q = 1 p et, au second niveau, soit une des n
possibilits avec la probabilit pi /p soit une des m possibilits avec la probabilit qi /q.

Quelques proprits plus techniques de lentropie :

Proposition 1.1 1. H(p1 , p2 , . . . , pn ) = H(p(1) , p(2) , . . . , p(n) ) pour chaque


permutation .
2. H(p1 , p2 , . . . , pn ) est continue dans toutes ses variables.
3. Nous avons lquation

H(p1 , . . . , pn ) = H(p1 + p2 , p3 , . . . , pn )
p1 p2
+(p1 + p2 )H( , ),
p1 + p2 p1 + p2
pour chaque distribution de probabilit p1 , . . . , pn avec n 2.
4. H( n1 , . . . , n1 ) est croissant avec n.

Ces propositions sont trs faciles dmontrer. Leur importance rside dans le fait quelles
sont des proprits caractrisantes pour lentropie. Cela signifie que lorsque nous imposons
ces quatre conditions raisonnables sur une mesure dincertitude, nous obtenons ncessairement
lentropie pour cette mesure.
1.1. ENTROPIE 15

D MONSTRATION (1) Rsulte directement de la dfinition de lentropie et de la commutati-


vit de laddition.
(2) Rsulte du fait que le logarithme est une fonction continue.
(3) Rsulte de quelques calculs simples :

H(p1 , p2 , . . . , pn )
n
X
= p1 log p1 p2 log p2 pi log pi
i=3
n
X
= (p1 + p2 ) log(p1 + p2 ) pi log pi
i=3
+p1 log(p1 + p2 ) p1 log p1 + p2 log(p1 + p2 ) p2 log p2

p1 p1 p2 p2
= H(p1 + p2 , p3 , . . . , pn ) (p1 + p2 ) log + log
p1 + p2 p1 + p2 p1 + p2 p1 + p2
p1 p2
= H(p1 + p2 , p3 , . . . , pn ) + (p1 + p2 )H( , ).
p1 + p2 p1 + p2

(4) Rsulte du fait que H( n1 , . . . , n1 ) = log n et que le logarithme est une fonction croissante.

1.1.3 Variables alatoires

titre de rfrence supplmentaire, introduisons une notion alternative. Un schma de choix


probabiliste peut aussi tre reprsent par une variable alatoire finie X, qui prend des valeurs
ei de S = {e1 , e2 , . . . , em }. La probabilit que X = ei est alors pX (ei ) et P est appel
la densit de probabilit de X. Inversement, chaque variable alatoire nombre fini dtats
donne lieu un systme de choix probabiliste. Formellement, une variable alatoire valeurs
dans S est une application dun chantillon despace dans S. Une distribution de probabilit
dans S est alors induite par
X
pX (x) = p(),
:X()=x

si {p() : } sont les probabilits dfinies sur lchantillon despace fini . Lensemble
{pX (x) : x S} dfinit alors les probabilits sur lespace de choix S. Nous pouvons donc
aussi bien parler de variables alatoires au lieu de systmes de choix probabilistes, et dfinir,
en consquence :

Dfinition 1.4 (Entropie dune v.a.) Lentropie de la variable X avec des valeurs
dans S est dfinie par :
X
H(X) = pX (x) log pX (x).
xS

Ceci mesure donc lincertitude associe la variable alatoire X. Dans ce qui suit, ce sera
souvent une faon plus commode de voir les choses.
16 CHAPITRE 1. INCERTITUDE ET INFORMATION

Exemple 1.7 (Bernoulli) Admettons que X soit une variable alatoire binomiale reprsen-
tant n preuves de Bernoulli, soit avec

n x
pX (x) = p (1 p)nx .
x

Lentropie de X est donne par


n
X
n i ni n i ni
H(X) = p (1 p) log p (1 p) .
i i
i=0

Prenons n = 4 et p = q = 0.5. Do
4
X
4 i 4i 4 i 4i
H(X) = (0.5) (0.5) log (0.5) (0.5)
i i
i=0
= 0.1250 log 0.0625 0.5 log 0.25 0.375 log 0.375
2.0306 bit.

Thorme 1.3 Lentropie dune variable alatoire X valeurs dans S est borne
par :
0 H(X) log |S|
Les bornes peuvent tre atteintes :
H(X) = 0 dans le cas dun systme dterministe (une seule valeur de S a un
probabilit de 1, toutes les autres ont une probabilit nulle).
H(X) = log |S| dans le cas dun systme quirparti (voir thorme 1.2).

R SUM DE LA SOUS - SECTION 1.1.3

Nous avons vu que pour un choix probabiliste, reprsent par un systme de choix proba-
biliste, on doit employer une stratgie diffrente dans le jeu des questions-rponses : au
lieu de diviser lensemble de possibilits en sous-ensembles de cardinalit gale, nous le
divisons en sous-ensembles de probabilit presque gale. Ceci mne, approximativement,
lentropie en tant que logarithme du nombre moyen de questions et, ainsi, comme mesure
approprie de lincertitude;
Nous avons vu que lincertitude dun systme de choix gale lentropie dun choix proba-
biliste probabilits gales, soit une distribution de probabilit uniforme. Ceci correspond
au principe de raison insuffisante de Laplace. Donc le concept dentropie couvre aussi le
cas de systmes de choix non probabilistes;
En fait, des probabilits gales, ou des systmes de choix sans probabilits connues repr-
sentent, pour un ensemble S dune cardinalit donne, la plus grande incertitude;
Lentropie dpend uniquement de la distribution de probabilit dun systme de choix, et
non pas de la nature des possibilits;
Nous avons vu quelques proprits simples de lentropie qui caractrisent ce concept.

valuation 5
1.1. ENTROPIE 17

Soit un systme de choix probabiliste (S, P ) par S = {e1 , e2 , . . . , en } et P = {p1 , p2 , . . . , pn }.


Alors, H(P )
P
1. = ni=1 pi log pi
2. = h(n)
3. log n
4. h(|S|)
5. > 0

valuation 6

Etant donn larbre binaire reprsent en figure 1.8, calculez


1. la longueur moyenne des mots;
2. lentropie.

0.21 0.79

0.11 0.10 0.10 0.69

0.10 0.01 0.03 0.07


0.05 0.05 0.40 0.29

F IG . 1.8 Calculez la longueur moyenne des mots et lentropie dans cet arbre binaire.

valuation 7

Etant donn un systme de choix probabiliste (S, P ) par S = {e1 , e2 , . . . , en } et P = {p1 , p2 ,


. . . , pn }. Alors, H(p1 , p2 , . . . , pn )
1. = H(0, p1 , . . . , pn );
2. = H(p1 + p2 , p3 , . . . , pn ) + (p1 + p2 )H( p1p+p
1
, p2 );
2 p1 +p2

3. = H(p1 + pn , p2 , . . . , pn1 ) + (p1 + pn )H( p1p+p


1
, pn );
n p1 +pn
P
4. = ni=1 pi log p1i .
18 CHAPITRE 1. INCERTITUDE ET INFORMATION

1.1.4 Entropie conditionnelle

O BJECTIFS PDAGOGIQUES DE LA SOUS - SECTION 1.1.4


Aprs avoir tudi cette section, vous devriez
savoir comment lentropie de systmes de choix composs ou comment des va-
riables multidimensionnelles sont lies lentropie des composantes ou des va-
riables uniques;
comprendre comment la connaissance du choix dans une composante ou de la
valeur dune variable affecte lincertitude des composantes ou variables restantes.

Commenons par considrer deux systmes de choix S1 et S2 et le systme de choix indpen-


dants S1 S2 = {(e1,1 , e2,1 ), (e1,1 , e2,2 ), . . . , (e1,n , e2,m )} qui lui est associ. En affectant les
probabilits pi,j au choix compos (e1,i , e2,j ), nous tendons le systme de choix indpendants
un systme de choix probabiliste compos (S1 S2 , P ), o P = {pi,j ; i = 1, 2, . . . , n; j =
1, 2, . . . , m}. Nous devons avoir
n X
X m
0 pi,j , pi,j = 1.
i=1 j=1

Ceci est une distribution de probabilit bi-dimensionnelle. Nous pouvons calculer les deux
(1) (1) (1) (2) (2) (2)
distributions marginales P1 = {p1 , p2 , . . . , pn }, et P2 = {p1 , p2 , . . . , pm }, dfinies
par
m
X n
X
(1) (2)
pi = pi,j , pj = pi,j . (1.6)
j=1 i=1

Ceci nous donne donc deux systmes de choix probabilistes associs (S1 , P1 ) et (S2 , P2 ).
Nous allons introduire une variable alatoire pour chaque systme de choix probabiliste comme
expliqu la fin de la sous-section prcdente. Donc, admettons que X soit associ au systme
(S1 , P1 ) et Y au systme (S2 , P2 ). La paire de variables (X, Y ) est alors associe au systme
probabiliste compos (S1 S2 , P ). Nous avons la distribution de probabilit bi-dimensionnelle
p(X,Y ) (e1,i , e2,j ) = pi,j pour la paire de variables alatoires (X, Y ). La variable X possde
(1) (2)
la distribution marginale pX (e1,i ) = pi et Y la distribution marginale pY (e2,j ) = pj .
Rappelons que deux systmes de choix probabilistes, ou deux variables alatoires X et Y sont
appels indpendants, si, et seulement si,

pX,Y (x, y) = pX (x) pY (y), pour toutes les paires (x, y) S1 S2 .

Nous avons trois entropies diffrentes associes aux trois systmes de choix probabilistes : les
deux variables uniques X et Y et la variable bi-dimensionnelle (X, Y ),
X X
H(X, Y ) = pX,Y (x, y) log pX,Y (x, y),
xS1 yS2
X
H(X) = pX (x) log pX (x),
xS1
X
H(Y ) = pY (y) log pY (y).
yS2
1.1. ENTROPIE 19

Exemple 1.8 (Systme de choix probabiliste compos) Etant donn un systme de choix
indpendants composs

S1 S2 = {(e1,1 , e2,1 ), (e1,1 , e2,2 ), (e1,2 , e2,1 ), (e1,2 , e2,2 )},


P = {0.5, 0.1, 0.3, 0.1},

et deux variables alatoires (X, Y ) associes (S1 S2 , P ), il est ais didentifier les sys-
tmes de choix simples

S1 = {e1,1 , e1,2 }, S2 = {e2,1 , e2,2 }.

En appliquant (1.6) nous obtenons les deux distributions marginales P1 = {0.6, 0.4} et P2 =
{0.8, 0.2}. Nous sommes maintenant en mesure de calculer les entropies
X X
H(X, Y ) = pX,Y (x, y) log pX,Y (x, y)
xS1 yS2
= 0.5 log 0.5 0.1 log 0.1 0.3 log 0.3 0.1 log 0.1
1.6855 bit,
X
H(X) = pX (x) log pX (x) = 0.6 log 0.6 0.4 log 0.4
xS1
0.9710 bit,
X
H(Y ) = pY (y) log pY (y) = 0.8 log 0.8 0.2 log 0.2
yS2
0.7219 bit.

La question qui se pose est la suivante : comment les trois entropies ci-dessus sont-elles
lies ? La rponse se trouve dans le thorme suivant

Thorme 1.4 Pour toute paire de variables alatoires X et Y , nous avons

H(X, Y ) H(X) + H(Y ). (1.7)

Il y a galit si, et seulement si, X et Y sont des variables alatoires indpendantes.

D MONSTRATION Ce thorme est dmontr par un simple calcul et en employant le lemme


1.1 :

H(X) + H(Y )
!
X X
= pX (x) log pX (x) + pY (y) log pY (y)
x y
!
XX XX
= pX,Y (x, y) log pX (x) + pX,Y (x, y) log pY (y)
x y x y
!
XX
= pX,Y (x, y) log pX (x) pY (y) .
x y
20 CHAPITRE 1. INCERTITUDE ET INFORMATION

A prsent, le lemme 1.1 nous donne lingalit suivante,


!
XX
pX,Y (x, y) log pX (x) pY (y)
x y
!
XX
pX,Y (x, y) log pX,Y (x, y)
x y
= H(X, Y ).

ce qui dmontre lingalit (1.7). Daprs le lemme 1.1 nous avons lgalit dans la dernire
ingalit si, et seulement si, pX,Y (x, y) = pX (x) pY (y), ce qui signifie que X et Y sont
indpendants.

Ce thorme nous apprend que les entropies de deux variables ne sajoutent lentropie des
variables bi-dimensionnelles composes que si les variables sont indpendantes. Si ce nest
pas le cas, il y a moins dincertitude dans la situation compose que dans les deux systmes
de choix simples. La raison en est que linter-dpendance des variables, (leur corrlation) cre
certaines parties dincertitude communes aux deux variables.

Exemple 1.9 (Systme de choix probabiliste compos - Suite) Dans lexemple 1.8 nous
avons les variables alatoires X et Y . Vrifiez vous-mme que H(X, Y ) < H(X) + H(Y ).

Le thorme 1.4 peut aisment tre tendu plus de deux variables. Notons X le vecteur
(X1 , X2 , . . . , Xm ) de m variables alatoires Xi . Cette variable alatoire vectorielle possde
la distribution de probabilit pX (x), o x = (x1 , x2 , . . . , xm ) et chaque variable Xi a la
distribution marginale
X
pXi (xi ) = pX (x1 , x2 , . . . , xi1 , xi , xi+1 , . . . , xm ).
x1 ,...,xi1 ,xi+1 ,...,xm

Les variables alatoires X1 , X2 , . . . , Xm sont appeles (mutuellement) indpendantes, si, et


seulement si,

pX (x) = pX1 (x1 ) pX2 (x2 ) pXm (xm )

Lentropie commune de la variable multidimensionnelle X est dfinie par


X
H(X) = pX (x) log pX (x).
x

Ensuite le thorme 1.4 est gnralis, comme lindique le corollaire suivant.

Corollaire 1.2 Pour toute variable alatoire multidimensionnelle X =


(X1 , X2 , . . . , Xm ) nous avons
m
X
H(X) H(Xi ).
i=1

Il y a galit si, et seulement si, les variables X1 , X2 , . . . , Xm sont mutuellement


indpendantes.
1.1. ENTROPIE 21

D MONSTRATION (Par rcurrence sur m) Le corollaire est valable pour m = 2 daprs le


thorme 1.4. Supposons quil soit valable pour m. Considrons ensuite la paire de variables
alatoires Xm = (X1 , X2 , . . . , Xm ) et Xm+1 , telle que Xm+1 = (Xm , Xm+1 ). Ici encore,
daprs le thorme 1.4 et par lhypothse dinduction, nous avons
m
X m+1
X
H(Xm+1 ) H(Xm ) + H(Xm+1 ) H(Xi ) + H(Xm+1 ) = H(Xi ).
i=1 i=1

Exemple 1.10 (Indpendance) Supposons que X1 , . . . , Xn soient des variables alatoires


indpendantes fournissant le rsultat 0 avec la probabilit 0.5 et 1 avec la probabilit 0.5, ce
qui signifie que

pXi (0) = 0.5, pXi (1) = 0.5, pour i = 1, . . . , n.

Do H(X1 , . . . , Xn ) = n H(X1 ) = n.

Revenons au cas de deux entits et considrons une variable alatoire X lie une situation
de choix probabiliste (S, P ), et supposons quun vnement E S est observ. En quoi cela
affecte-t-il lincertide ?
Lobservation de lvnement E change la variable alatoire X en variable conditionnelle XE
lie la nouvelle situation de choix probabiliste (E, PXE ).

Dfinition 1.5 Soit X une variable alatoire lie une situation de choix probabiliste
(S, P ). On note XE la variable alatoire conditionnelle X tant donn un vnement
E S ; i.e. XE est lie la nouvelle situation de choix probabiliste (E, PXE ).
Sa distribution de probabilit est donne par :

pX (x)
pXE (x) = , pour x E.
pX (E)

Cette nouvelle situation engendre par lobservation de lvnement E, a lincertitude qui


correspond lentropie conditionnelle H(XE ) :
X
H(XE ) = pXE (x) log pXE (x).
xE

Lobservation de E change donc lincertitude de H(X) H(XE ), qui est appele entropie
conditionnelle.
Exemple 1.11 (Entropie conditionnelle) Soit X une variable alatoire lie la situation de
choix probabiliste (S, P ) donne par S = {1, 2, 3, 4}, P = {0.5, 0.25, 0.125, 0.125}, et
E = {1, 3} un vnement. Ainsi

H(X) = 0.5 log 0.5 0.25 log 0.25 0.125 log 0.125 0.125 log 0.125
= 1.75bit.

Avec pX (E) = 0.625, pXE (1) = pX (1)/pX (E) = 0.8 et pXE (3) = pX (3)/pX (E) = 0.2
22 CHAPITRE 1. INCERTITUDE ET INFORMATION

nous obtenons

H(XE ) = pXE (1) log pXE (1) pXE (3) log pXE (3)
= 0.8 log 0.8 0.2 log 0.2
0.7219 bit.

Reprenons maintenant lexemple de deux variables alatoires X et Y . Supposons que nous


observions la valeur dune variable, disons Y = y. Comment ceci affecte-t-il lincertitude
concernant la variable X ?
Nous remarquons que cette observation change la distribution pX (x) en distribution conditio-
nelle pX|y (x, y) dfinie comme
pX,Y (x, y)
pX|y (x, y) = .
pY (y)
Par consquent, nous obtenons :

Dfinition 1.6 (Entropie conditionnelle lmentaire) Lentropie conditionnelle


(lmentaire) de X, tant donn Y = y, est donne par :
X
H(X|Y = y) = pX|y (x, y) log pX|y (x, y).
x

Pour simplifier la notation nous abrgeons souvent H(X|Y = y) par H(X|y). Donc, lobser-
vation de Y = y change lincertitude concernant X de H(X) H(X|y). Comme lexemple
suivant le montre, la nouvelle entropie ou incertitude peut tre plus grande ou plus petite que
lancienne. Une observation particulire peut augmenter ou diminuer lincertitude. Notons tou-
tefois que si les deux variables alatoires sont indpendantes, alors nous avons pX|y (x, y) =
pX (x) pour x et y. Dans ce cas nous voyons que
X
H(X|y) = pX (x) log pX (x) = H(X).
x
Lincertitude dans X ne change pas, lorsquon observe une variable Y qui est indpendante de
X.
Exemple 1.12 (Entropie conditionnelle) Etant donn que pX,Y (0, 1) = pX,Y (1, 0) =
pX,Y (0, 0) = 13 , pX,Y (1, 1) = 0, pX (0) = pY (0) = 32 et pX (1) = pY (1) = 31 . Do

H(X|Y = 0) = pX|y (0, 0) log pX|y (0, 0) pX|y (1, 0) log pX|y (1, 0)
pX,Y (0, 0) pX,Y (0, 0) pX,Y (1, 0) pX,Y (1, 0)
= log log
pY (0) pY (0) pY (0) pY (0)
= 0.5 log 0.5 0.5 log 0.5
= 1,
pX,Y (0, 1) pX,Y (0, 1) pX,Y (1, 1) pX,Y (1, 1)
H(X|Y = 1) = log log
pY (1) pY (1) pY (1) pY (1)
= 0,
2 2 1 1
H(X) = H(Y ) = log log 0.9183.
3 3 3 3

Nous obtenons donc que H(X|Y = 1) < H(X) < H(X|Y = 0).
1.1. ENTROPIE 23

En plus de lentropie conditionnelle de X tant donne une observation particulire Y = y,


nous pouvons considrer lesprence de lentropie conditionnelle de X tant donn Y , qui est
lesprence de H(X|y) par rapport y :

Dfinition 1.7 (Entropie conditionnelle) Lentropie conditionnelle (moyenne) de


X sachant Y est dfinie comme la moyenne, sur toutes les valeurs possible y de
Y , de lentropie conditionnelle lmentaire H(X|y) :
X
H(X|Y ) = pY (y)H(X|y).
y

Insistons sur la diffrence entre H(X|y), H(XE ) et H(X|Y ). Dans les deux premiers cas,
nous comprenons que lentropie de la variable X est conditionne par un vnement observ
Y = y ou E. Dans le second cas nous parlons de lentropie conditionnelle moyenne (moyenne
sur tous les venements y).

Thorme 1.5 Pour toute paire de variables alatoires X et Y , nous avons toujours :

H(X, Y ) = H(Y ) + H(X|Y ). (1.8)

D MONSTRATION Remarquons que

pX,Y (x, y) = pY (y)pX|y (x, y).

Par consquent, nous pouvons dvelopper lentropie conditionnelle (moyenne) comme suit,
X
H(X|Y ) = pY (y)H(X|y)
y
XX
= pY (y)pX|y (x, y) log pX|y (x, y)
x y
XX pX,Y (x, y)
= pX,Y (x, y) log
x y
pY (y)
XX
= pX,Y (x, y) (log pX,Y (x, y) log pY (y))
x y
= H(X, Y ) H(Y ).

Ce thorme nous apprend que nous pouvons toujours considrer lincertitude dune paire de
variables comme le rsultat dun enchanement dans lequel nous commenons par lincerti-
tude de lune des variables, disons Y , et ajoutons lincertitude conditionnelle (moyenne) de
la seconde, tant donne la premire variable. Bien entendu, nous pouvons commencer par
nimporte laquelle des variables. Donc

H(X, Y ) = H(X) + H(Y |X)

est aussi valable.


Exemple 1.13 (Entropie conditionnelle moyenne) Compltons lexemple 1.12 en calcu-
24 CHAPITRE 1. INCERTITUDE ET INFORMATION

lant lentropie conditionnelle moyenne de X tant donn Y et lentropie compose de


(X, Y ).
2
H(X|Y ) = pY (0)H(X|Y = 0) + pY (1)H(X|Y = 1) = bit
3
1
H(X, Y ) = log 1.5850 bit.
3
Comme vous pouvez le vrifier H(X, Y ) = H(Y ) + H(X|Y ).

En thorie de la communication, les canaux de transmission de signaux sont pris en considra-


tion. Supposons qu lentre, des signaux, pris au hasard dans un certain systme de choix I,
apparaissent avec des probabilits connues. Ceci dfinit alors une variable alatoire X. Durant
une transmission, un signal dentre peut tre chang en un signal de sortie dun systme de
choix de sortie O. Bien entendu, il doit y avoir une dpendance entre le signal dentre et le
signal de sortie. Si lon reprsente le signal de sortie par la variable Y , alors cette dpendance
est dcrite par les probabilits conditionnelles pY |x (y, x), o

X
0 pY |x (y, x) pour tous x I, y O, pY |x (y, x) = 1 pour tous x I.
y

On appelle cela la matrice de transmission. La figure 1.9 expose ce systme de canaux. Daprs
lquation

H(X, Y ) = H(X) + H(Y |X)

toute lincertitude du systme est donc compose de lincertitude propos du signal dentre
H(X) et de lincertitude de la transmission travers le canal H(Y |X).

Source Canal Rcepteur


entre sortie

F IG . 1.9 Canal de transmission.

Exemple 1.14 (Canal binaire symtrique) ] Un canal binaire symtrique simple avec des
variables alatoires X pour lentre et Y pour la sortie est donn par la matrice de transmis-
sion suivante :

pY |x (0, 0) pY |x (1, 0) 1
P= =
pY |x (0, 1) pY |x (1, 1) 1

Ainsi, la probabilit dune erreur de transmission est . Posons pX (0) = p et pX (1) = q =


1 p. Do H(X) = p log p (1 p) log(1 p) et

pY (0) = pY |x (0, 0) pX (0) + pY |x (0, 1) pX (1)


= (1 )p + (1 p),
pY (1) = pY |x (1, 0) pX (0) + pY |x (1, 1) pX (1)
= p + (1 )(1 p).
1.1. ENTROPIE 25

Avec

H(Y |0) = pY |x (0, 0) log pY |x (0, 0) pY |x (1, 0) log pY |x (1, 0)


= (1 ) log(1 ) log ,
H(Y |1) = pY |x (0, 1) log pY |x (0, 1) pY |x (1, 1) log pY |x (1, 1)
= log (1 ) log(1 )
= H(Y |0),

nous obtenons

H(Y |X) = pX (0)H(Y |0) + pX (1)H(Y |1)


= pX (0)H(Y |0) + pX (1)H(Y |0) = pH(Y |0) + (1 p)H(Y |0)
= H(Y |0) = H(Y |1).

Ceci nest pas une surprise, puisque le canal est symtrique. En faisant un effort, vous pouvez
montrer H(X, Y ) = H(X) + H(Y |X).
Considrons prsent un exemple numrique. Etant donn que = 0.1, pX (0) = p = 0.2 et
pX (1) = q = 0.8. Alors H(X) = 0.2 log 0.2 0.8 log 0.8 0.7219 bit,

pY (0) = 0.9 0.2 + 0.1 0.8 = 0.26,


pY (1) = 0.1 0.2 + 0.9 0.8 = 0.74,

et H(Y |X) = H(Y |0) = 0.9 log 0.9 0.1 log 0.1 0.4690 bit. Puisque

pX,Y (0, 0) = pY |x (0, 0)pX (0) = 0.9 0.2 = 0.18,


pX,Y (1, 0) = pY |x (0, 1)pX (1) = 0.1 0.8 = 0.08,
pX,Y (0, 1) = pY |x (1, 0)pX (0) = 0.1 0.2 = 0.02,
pX,Y (1, 1) = pY |x (1, 1)pX (1) = 0.9 0.8 = 0.72,

nous obtenons finalement H(X, Y ) = 0.18 log 0.18 0.08 log 0.08 0.02 log 0.02
0.72 log 0.72 1.1909 bit.

Les problmes de transmission de donnes travers des canaux seront traits en dtail dans le
chapitre 3.
Une fois de plus, le thorme 1.5 stend aisment une squence de plus de deux variables.
Contrairement lentropie conditionnelle de X, tant donne une observation Y = y, len-
tropie conditionnelle moyenne de X tant donn Y est toujours infrieure ou, au plus, gale
lentropie de X. Donc, en moyenne, une observation de Y diminue effectivement lincertitude
de X.

Corollaire 1.3 Pour toute paire de variables X et Y , nous avons

H(X|Y ) H(X). (1.9)

Lgalit se ralise si, et seulement si, X et Y sont indpendants.


26 CHAPITRE 1. INCERTITUDE ET INFORMATION

D MONSTRATION Pour dmontrer lingalit, (1.9) nous employons la rgle de lenchane-


ment et le thorme 1.4.

H(X|Y ) = H(X, Y ) H(Y ) H(X) + H(Y ) H(Y ) = H(X).

Dans cette inquation, il y a galit daprs le thorme 1.4 si X et Y sont indpendants.

Si X et Y sont indpendants, alors observer lune de ces deux variables ne change pas lincer-
titude de lautre. Ce qui signifie, intuitivement dans ce cas, quune variable ne peut pas donner
dinformation propos de lautre.

Corollaire 1.4 Soient X1 , X2 , . . . , Xm des variables alatoires. Alors

H(X1 , X2 , . . . , Xm )
= H(X1 ) + H(X2 |X1 ) + + H(Xm |X1 , X2 , . . . , Xm1 ). (1.10)

D MONSTRATION La dmonstration se fait par rcurrence. Lgalit est vraie pour m = 2


selon le thorme 1.5. Supposons quelle soit vraie pour un certain m. Alors, posons Xm =
(X1 , X2 , . . . , Xm ). Par le thorme 1.5 et par hypothse dinduction, nous obtenons que

H(X1 , X2 , . . . , Xm , Xm+1 ) = H(Xm , Xm+1 )


= H(Xm ) + H(Xm+1 |Xm ) = H(X1 , X2 , . . . , Xm ) + H(Xm+1 |X1 , X2 , . . . , Xm )
= H(X1 ) + H(X2 |X1 ) +
+ H(Xm |X1 , X2 , . . . , Xm1 ) + H(Xm+1 |X1 , X2 , . . . , Xm ).

Donc lquation (1.10) est valable pour m + 1, donc pour m.

(1.10) est appel rgle de lenchanement (gnralise). Elle est particulirement importante
en thorie de la communication.

R SUM DE LA SOUS - SECTION 1.1.4

Nous avons dcouvert que lentropie jointe de plusieurs variables alatoires est toujours
infrieure ou gale la somme des entropies de la variable individuelle. Elle est gale la
somme uniquement si les variables sont indpendantes.
Lentropie conditionnelle mesure lincertitude dune variable, lorsque la valeur dune autre
variable est observe. Cette incertitude peut, suivant linformation, augmenter ou diminuer.
Cependant, lentropie conditionnelle moyenne est toujours infrieure lentropie originale.
Lentropie conditionnelle est gale lentropie inconditionnelle si les variables alatoires
sont indpendantes.

valuation 8

Soit X une variable alatoire lie une situation de choix probabiliste (S, P ) et E un vne-
ment E S. Alors H(XE ) H(X). Cette assertion est-elle correcte ?

valuation 9
1.1. ENTROPIE 27

H(X) peut tre

1. < H(X|Y );

2. < H(X|y);

3. > H(X|y);

4. = H(X|y);

5. = H(X|Y ).

valuation 10

Faire la relation entre

1. H(X|y);

2. H(X|Y );

3. H(XE );

et

a. lentropie conditionnelle moyenne;

b. lentropie conditionne par un vnement observ.

valuation 11

Faire la relation, si possible, entre

1. H(X, Y );

2. H(X|Y );

et

a. H(X);

b. H(Y );

c. H(X) + H(Y );

d. = H(Y ) + H(X|Y );

e. = H(X) + H(Y |X);

f. = H(Y ) + H(Y |X);


P
g. = x,y pX|Y (x, y) log pX|Y (x, y);

h. = H(X, Y ) H(X).
28 CHAPITRE 1. INCERTITUDE ET INFORMATION

1.2 Linformation et sa mesure


O BJECTIFS PDAGOGIQUES DE LA SECTION 1.2
Aprs avoir tudi cette section, vous devriez comprendre
comment linformation est mesure ;
que la mesure de linformation est toujours relative une question prcise et une
information pralable ;
que linformation et les questions ont une structure algbrique naturelle;
dautres quantits, lies la mesure de linformation, telles que linformation mu-
tuelle, la divergence et le degr de surprise, ainsi que leurs proprits et leurs rela-
tions.

1.2.1 Observations et vnements

O BJECTIFS PDAGOGIQUES DE LA SOUS - SECTION 1.2.1


Aprs avoir tudi cette sous-section, vous devriez comprendre
que lobservation dune variable alatoire ou dun vnement li une variable
alatoire est une information ;
que la quantit dinformation gagne en observant la valeur dune variable ou un
vnement est mesure par le changement dincertitude qui en rsulte ;
que par consquent, lentropie et la mesure de linformation sont intimement lies.

Quest-ce que linformation et comment est-elle mesure ? Nous commenons ltude de cette
question dans cette sous-section. Lide de base est que linformation est une chose qui change
lincertitude, de prfrence en la faisant diminuer. En consquence, nous proposerons de me-
surer la quantit dinformation par la quantit de changement dincertitude. Cette ide sera
dveloppe progressivement dans cette section, en considrant un panorama de situations de
complexit croissante. Dans cette section, nous insisterons plus sur la mesure du contenu din-
formation que sur la reprsentation de linformation et ses proprits autres que la quantit.
Pour commencer, considrons un systme de choix probabiliste (S, P ) reprsent par une va-
riable alatoire X qui prend des valeurs x S avec des probabilits pX (x) (voir sous-section
1.1.2). Cette variable alatoire dcrit une certaine exprience dont le rsultat est incertain. Lin-
certitude de cette situation est mesure par lentropie
X
H(X) = pX (x) log pX (x). (1.11)
xS

Lorsque lexprience est effectue, une certaine valeur x S de la variable alatoire est obser-
ve. Il ny a plus dincertitude. Donc lincertitude pralable H(X) est rduite lincertitude
postrieure 0. La diffrence H(X) 0 = H(X) est la quantit dinformation gagne par
lexcution de lexprience. Donc lentropie dune variable alatoire mesure la quantit din-
formation gagne par lobservation de la valeur relle de la variable.
Cette ide soulve deux remarques importantes :
Etant donn que linformation est un changement dentropie, elle est mesure par la mme
unit que lentropie, cest--dire des bits, si la base 2 est slectionne pour le logarithme.
La quantit dinformation gagne par une observation est la mme pour toutes les observa-
tions possibles. En particulier, elle est la mme, que la probabilit de lobservation relle
soit petite ou grande. Nous reviendrons sur ce point dans la sous-section 1.2.3.
1.2. LINFORMATION ET SA MESURE 29

Exemple 1.15 (Variable alatoire binaire) Si, pour une variable binaire X le rsultat 0
surgit avec la probabilit p, et 1 avec la probabilit q = 1 p, alors lobservation du rsultat
de cette exprience binaire aboutit un gain dinformation H(X) = p log p q log q. En
particulier, dans le cas dune pice de monnaie non truque, observer le rsultat dun lancer
donne 1 bit dinformation.

Gnralisons prsent la situation. Nous considrons toujours une variable alatoire X lie
une situation de choix probabiliste (S, P ). Lincertitude qui lui est associe est toujours H(X).
Mais cette fois, nous ne procdons qu une partie de lexprience. Nous nobservons pas la
valeur exacte de X, mais uniquement un vnement E S. Bien entendu, ceci est aussi une
information. Mais quelle est sa quantit ? Lobservation de lvnement E change la variable
alatoire X en la variable conditionnelle XE (voir section 1.1.4).
Cette nouvelle situation engendre par lobservation de lvnement E, a lincertitude qui
correspond lentropie conditionnelle H(XE ). Lobservation de E change donc lincertitude
de H(X) H(XE ). La quantit dinformation gagne est donc H(X) H(XE ). Plus loin
nous verrons que ceci nest pas toujours vraiment un gain dinformation, tant donn que
H(XE ) peut tre plus grand que H(X), de faon ce que lobservation de lvnement E
augmente lincertitude qui correspond, daprs notre dfinition, une information ngative.

Exemple 1.16 (Meurtrier) Admettons que nous ayons n suspects pour un meurtre, mais
que lun dentre eux (disons le numro 1) soit bien plus suspect que les n 1 autres. Nous
pouvons reprsenter cette situation par une probabilit que le suspect 1 est le meurtrier de
pX (1) = 1 , qui vaut peu prs 1. Les probabilits que lun des autres suspects soit le
meurtrier est seulement pX (i) = /(n 1). Lentropie est alors

H(X) = (1 )(log 1 ) log . (1.12)
n1
Si est petit, alors cette entropie sera trs petite. Ceci reflte notre quasi-certitude que le
no. 1 est le meurtrier. Mais supposons maintenant que le no. 1 fournisse subitement un alibi.
Nous sommes alors forcs dexclure le no. 1 de la liste des suspects. Ceci correspond
lvnement E selon lequel X {2, . . . , n}. La distribution conditionnelle de X tant donn
E est alors pXE (i) = 1/(n 1) pour i = 2, . . . , n. La nouvelle incertitude correspondante
est H(XE ) = log(n 1). Ceci peut tre bien plus grand que H(X). Donc la nouvelle
information, soit lalibi du no. 1, transforme (inopinment) une situation claire et nette en
une situation trs incertaine et dsordonne. Linformation est donc ngative. Cet exemple
devrait vous convaincre que linformation ngative est une ralit.

Introduisons prsent une notation : notons i(E/X) la quantit dinformation de lvnement


E sur la variable X.

Dfinition 1.8 Linformation de lvnement E sur la variable X est dfinie par :

i(E/X) = H(X) H(XE ).

Si, en particulier, lvnement E correspond lobservation dune valeur prcise x de la va-


riable alatoire X, i.e. E = {x}, alors, pour la quantit dinformation correspondante, nous
crivons i(x/X). Et nous avons H(X|x) = 0, do, comme indiqu plus haut
i(x/X) = H(X). (1.13)
30 CHAPITRE 1. INCERTITUDE ET INFORMATION

Dans ce sens, et uniquement dans ce sens, lentropie est une mesure de linformation.
Sil nous intresse de savoir si un vnement E a lieu ou non, nous sommes confronts une
nouvelle situation de choix ({E, E c }, P ). Une nouvelle variable alatoire Y lui est associe,
avec la distribution de probabilit suivante
X X
pY (E) = pX (E) = pX (x), pY (E c ) = pX (E c ) = pX (x).
xE xE c

Quelle est alors lesprence de linformation lorsque nous apprenons si E a lieu ou non ? Cest :

I(X|Y )
= pY (E)i(E/X) + pY (E c )i(E c /X)
= H(X) (pY (E)H(XE ) + pY (E c )H(XE c ))
= H(X) H(X|Y ). (1.14)

Mais nous savons (voir corollaire 1.3) que H(X|Y ) H(X). Donc, la mesure dinformation
moyenne (ou information mutuelle), gagne en observant si un vnement a lieu ou non,
nest jamais ngative, cest--dire I(X|Y ) 0. Nous reviendrons sur cette notion importante
dinformation mutuelle dans la sous-section 1.2.2.

Dfinition 1.9 (Information mutuelle) On appelle information mutuelle de deux


v.a. X et Y linformation moyenne de X sachant Y , dfinie par :

I(X|Y ) = EY [i(y/X)]
= H(X) H(X|Y )

Exemple 1.17 (Meurtrier - Suite) Reprenons lexemple du meurtre 1.16 pos plus haut.
Supposons que quelquun annonce quil produira une preuve de la culpabilit ou de lin-
nocence du no. 1 ( laide dun test ADN, par exemple). Avec la probabilit 1 nous nous
attendons prouver la culpabilit du no. 1. Ceci reprsente lvnement E c dans la notation
de lexemple 1.16. Dans ce cas, lincertitude qui en rsulte sera 0 et linformation obtenue
H(X) (voir (1.12)). Avec la probabilit nous nous attendons ce que linnocence du no.
1 soit prouve (vnement E). Lincertitude restante est alors, comme nous lavons vu dans
lexemple 1.16 log(n 1) et linformation obtenue H(X) log(n 1). Donc, dans ce cas
particulier, linformation moyenne qui sera gagne par cette preuve est gale

(1 )H(X) + (H(X) log(n 1))


= H(X) log(n 1)
= (1 ) log(1 ) log 0.

La dernire quation est obtenue en employant (1.12). Notez que ceci est exactement la quan-
tit dinformation que nous gagnerons en apprenant si le suspect no. 1 est coupable ou non.

Supposons maintenant que linformation survienne par tapes, sous forme dvnement ob-
servs. Tout dabord nous observons un vnement E1 S, puis nous obtenons une infor-
mation plus prcise par un vnement E2 E1 . Etant donn que lvnement E1 change la
variable alatoire X en variable alatoire conditionnelle XE1 , linformation gagne par E2
1.2. LINFORMATION ET SA MESURE 31

propos de linformation prcdente E2 est i(E2 /XE1 ) = H(XE1 ) H(XE2 ). En effet, pour
E1 E2 6= , H(XE1 E2 ) = H(XE2 E1 ) = H(XE1 E2 ).

D MONSTRATION Soit F = E1 E2 (suppos non vide).


XE1 E2 na en toute rigueur de sens que si E2 E1 . Cest alors une v.a. sur (F, PXE1 E ).
2

Dans ce cas on a :
PXE1 (x)
PXE1 E (x) =
2 PXE1 (E2 )
PX (x) PX (E1 )
=
PX (E1 ) PX (F )
PX (x)
=
PX (F )
= PXF (x)

Le thorme suivant montre que lon peut additionner linformation gagne chaque tape
pour obtenir linformation complte.

Thorme 1.6 Admettons que X soit une variable alatoire associe une situation
de choix probabiliste (S, P ) et E1 , E2 deux vnements, E2 E1 S. Alors

i(E2 /X) = i(E1 /X) + i(E2 /XE1 ). (1.15)

D MONSTRATION La dmonstration est simple et emploie la dfinition de linformation

i(E2 /X)
= H(X) H(XE2 )
= H(X) H(XE1 ) + H(XE1 ) H(XE2 )
= i(E1 /X) + i(E2 /XE1 ).

Ici il est important dinsister sur limportance de laspect de linformation ci-dessous :


Une quantit dinformation est toujours relative une information pralable. Donc, la quan-
tit dinformation de lvnement E2 relative la variable originale X est gnralement
diffrente de sa quantit relative linformation donne par lvnement E1 : en gnral
i(E2 /X) 6= i(E2 /XE1 ). La notation que nous employons souligne ceci : i(E2 /X) est la
quantit dinformation contenue dans lvnement E2 relative linformation pralable ou
la distribution de probabilit de X pralable, tandis que i(E2 /XE1 ) est la quantit din-
formation du mme vnement E2 relatif linformation pralable ou la distribution de
probabilit de XE1 .
Exemple 1.18 (Relativit une information pralable) Cette remarque peut tre illustre
par le cas particulier du choix sans probabilits. Ainsi, soit S un systme de choix dtermi-
niste. Si E S est un vnement observ, alors nous pouvons dnoter sa quantit dinfor-
32 CHAPITRE 1. INCERTITUDE ET INFORMATION

mation relative linformation pralable S par i(E/S). Ensuite nous avons

|S|
i(E/S) = log |S| log |E| = log .
|E|

Si, comme dans le thorme 1.6, nous avons E2 E1 S, alors, une fois que E1 est
observ, nous avons un nouveau systme de choix E1 . Si nous observons ensuite E2 , nous
gagnons linformation i(E2 /E1 ) propos de linformation prcdente E1 . Ainsi,

i(E1 /S) = log |S| log |E1 |,


i(E2 /S) = log |S| log |E2 |,
i(E2 /XE1 ) = log |E1 | log |E2 |.

Bien entendu, dans ce cas nous avons galement i(E2 /S) = i(E1 /S) + i(E2 /XE1 ).
Notez que nous obtenons exactement les mmes rsultats, si nous considrons, non pas un
systme de choix S sans probabilits, mais un systme de choix probabiliste (S, P ), o P est
la distribution de probabilit uniforme sur S.

Bien entendu, le thorme 1.6 stend plus de deux vnements.

Corollaire 1.5 Si Em Em1 . . . E1 S, alors

i(Em /X) = i(E1 /X) + i(E2 /XE1 ) + + i(Em /XEm1 ). (1.16)

Exemple 1.19 (D non pip) Admettons que X soit la variable alatoire associe au lancer
dun d non pip. Nous avons alors H(X) = log 16 = log 6 bit. Quelquun nous dit que
X 6= 1. Admettons donc que E1 soit lvnement X 6= 1. Ainsi
6
i(E1 /X) = H(X) H(XE1 ) = log 6 log 5 = log bit,
5
tant donn que H(XE1 ) = log 5 bit. Un peu plus tard, nous recevons une information selon
laquelle X 6= 1 et X 6= 2 et nous lui associons lvnement E2 . Donc
3
i(E2 /X) = H(X) H(XE2 ) = log 6 log 4 = log bit,
2
tant donn que H(XE2 ) = log 4 bit. Finalement nous calculons
5
i(E2 /XE1 ) = H(XE1 ) H(XE2 ) = log 5 log 4 = log bit.
4
Nous vrifions queffectivement,
3 6 5
i(E2 /X) = log = log + log = i(E1 /X) + i(E2 /XE1 ).
2 5 4

Nous pouvons galement avoir une situation dans laquelle deux sources dinformation diff-
rentes rapportent deux vnements E1 , E2 S relatifs une situation de choix probabiliste
(S, P ) et une variable alatoire X qui lui est associe. Ces deux fragments dinformation
peuvent tre combins en un vnement E1 E2 . Nous considrons que E1 E2 nest pas
1.2. LINFORMATION ET SA MESURE 33

vide, puisque cela reprsenterait une information contradictoire ou incompatible. La quantit


de linformation combine est alors i(E1 E2 /X). Par le thorme 1.6, nous constatons que
i(E1 E2 /X) = i(E1 /X) + i(E1 E2 /XE1 ) = i(E2 /X) + i(E1 E2 /XE2 ).
Il nest pas important de savoir dans quelle squence les deux fragments dinformation sont
combins. Dans les deux cas, nous obtenons le mme rsultat. Ici nous observons que linfor-
mation peut survenir par fragments qui peuvent ensuite tre combins. Ce point signale une
certaine structure algbrique de linformation, en plus de son aspect quantitatif.

Exemple 1.20 (D non pip - Suite) Une fois de plus nous lanons un d non pip (variable
alatoire X). Comme prcdemment, H(X) = log 6 bit. Nous constatons que le rsultat est
un chiffre pair (vnement E1 ). Etant donn que H(XE1 ) = log 3 bit, nous obtenons que

6
i(E1 /X) = H(X) H(XE1 ) = log 6 log 3 = log = log 2 = 1 bit.
3

Notre observation suivante est que le rsultat est infrieur 4 (vnement E2 ). Donc, avec
H(XE2 ) = log 3 bit,

i(E2 /X) = H(X) H(XE2 ) = log 6 log 3 = 1 bit.

Notez que E1 E2 = {2}. Etant donn que H(XE1 E2 ) = 0 bit, nous obtenons finalement

i(E1 E2 /X) = log 6 bit,


i(E1 E2 /XE1 ) = log 3 bit,
i(E1 E2 /XE2 ) = log 3 bit.

Et nous constatons que

i(E1 E2 /X) = log 6 = i(E1 /X) + i(E1 E2 /XE1 ) = 1 + log 3.

R SUM DE LA SOUS - SECTION 1.2.1

Dans cette sous-section, nous avons vu que les vnements ou, plus prcisment, lobser-
vation des valeurs de variables alatoires est une information.
La quantit dinformation gagne par un vnement est mesure par le changement din-
certitude, soit lentropie. Donc linformation est mesure en bits, comme lentropie.
La quantit dinformation gagne par lobservation dun vnement peut tre ngative,
cest--dire que lincertitude peut tre augmente.
Dans le cas o la valeur exacte dune variable alatoire est observe, la quantit dinfor-
mation gagne est gale lentropie de la variable, qui est toujours non ngative.
La quantit dinformation gagne est relative linformation pralable. Ce qui signifie
quun vnement na pas une quantit dinformation absolue, mais que la quantit dpend
de ce qui tait connu avant, soit la distribution de probabilit pralable.
Si linformation, represente par des vnements, survient par tapes successives, alors
linformation totale gagne est la somme de linformation gagne chaque tape relative-
ment ltape prcdente.
34 CHAPITRE 1. INCERTITUDE ET INFORMATION

valuation 12

Quelle est la relation entre lentropie et la mesure de linformation ?


1. Il ny a pas de relation.
2. Etant donn quune distribution de probabilit P reprsente linformation, alors dans ce
sens, et uniquement dans ce sens, H(P ) mesure la fois lentropie et linformation.
3. Linformation est dfinie par le changement dentropie.
4. Entropie et information sont toutes deux mesures en bits.

valuation 13

i(E/X) est toujours positif, tant donn que


1. H(X|Y ) H(X);
2. H(XE ) H(X);
3. H(X) 0;
4. linformation est toujours relative une information pralable;
5. lassertion est fausse; linformation peut tre ngative.

valuation 14

Admettons que X soit une variable alatoire lie une situation de choix probabiliste (S, P )
et E2 E1 S. Alors i(E2 /X)
1. = 0, si E2 correspond lobservation dune valeur prcise x de X;
2. = H(X) H(XE2 );
3. = i(E1 /X) + i(E2 /XE1 );
4. = log |E 2|
|S| si X est distribue uniformment.

1.2.2 Information mutuelle et divergence de Kullback-Leibler

O BJECTIFS PDAGOGIQUES DE LA SOUS - SECTION 1.2.2


Aprs avoir tudi cette sous-section, vous devriez comprendre
la notion dinformation mutuelle et sa relation avec lentropie et linformation ;
la notion de distance informationnelle (divergence de Kullback-Leibler) et sa rela-
tion avec linformation mutuelle.

Examinons de nouveau une situation de choix probabiliste compose (S1 S2 , P ) et les va-
riables alatoires X et Y qui lui sont associes. Si une valeur y est observe pour Y , alors nous
obtenons la quantit dinformation i(y/X) = H(X) H(X|y) concernant X. Plutt que
1.2. LINFORMATION ET SA MESURE 35

de nous pencher sur une observation particulire y, nous examinons la quantit dinformation
moyenne relative X, gagne en observant Y . Cette valeur est

X X
I(X|Y ) = pY (y)i(y/X) = pY (y)(H(X) H(X|y)) = H(X) H(X|Y ). (1.17)
y y

I(X|Y ) est appele linformation mutuelle entre X et Y . Cest une notion importante en tho-
rie de linformation, mais ce nest pas une information au sens strict du terme. Cest la quantit
dinformation moyenne obtenue sur X en observant Y . Dans le corollaire 1.3 dans la sous-
section 1.1.4, nous avons vu que H(X|Y ) H(X) toujours et quil ny a galit que si
X et Y sont indpendantes. Ceci implique que la proprit suivante est valable.

Thorme 1.7

I(X|Y ) 0, (1.18)

et I(X|Y ) = 0 si, et seulement si, X et Y sont indpendantes.

Donc, bien que dans un cas particulier linformation i(y/X) puisse tre ngative, en moyenne
nous attendons une quantit dinformation positive sur X en observant Y .

Exemple 1.21 (Canal de communication) Considrons un canal de communication, avec


X comme source dentre et Y la sortie. En observant la sortie Y nous attendons donc
une quantit dinformation positive concernant lentre X. Bien que dans des transmissions
particulires, lincertitude concernant lentre soit augmente, en moyenne lobservation de
la sortie diminue lincertitude concernant lentre. Evidemment, ceci est extrmement impor-
tant pour une communication raisonnable.

De plus, daprs (1.8) nous obtenons

I(X|Y ) = H(X) + H(Y ) H(X, Y ).

Parce que cette formule est symtrique dans X et Y , nous concluons que I(X|Y ) = I(Y |X).
Nous attendons autant dinformation sur X en observant Y que sur Y en observant X.

Thorme 1.8
I(X|Y ) = I(Y |X).

Cest un rsultat remarquable. Donc linformation mutuelle entre X et Y est la mme quentre
Y et X : elle est bien mutuelle ! Cet adjectif qui pouvait sembler trange jusquici est mainte-
nant pleinement justifi. On pourra dailleurs librement la noter I(X; Y ) au lieu de la formule
disymtrique I(X|Y ) (ou I(Y |X)).
36 CHAPITRE 1. INCERTITUDE ET INFORMATION

Cette symtrie est galement vidente dans la formule suivante pour linformation mutuelle,
que nous obtenons daprs (1.17), en y introduisant la dfinition des entropies y apparaissant :

X X
I(X|Y ) = pX (x) log pX (x) + pY (y)pX|Y (x, y) log pX|Y (x, y)
x x,y
X pX,Y (x, y)
= pX,Y (x, y)(log log pX (x))
x,y
pY (y)
X pX,Y (x, y)
= pX,Y (x, y) log . (1.19)
x,y
pX (x)pY (y)

Finalement, nous concluons daprs I(X|Y ) 0 et H(X|Y ) 0 que I(X|Y ) H(X) =


i(x/X). Par symtrie nous avons galement I(Y |X) H(Y ) = i(y/Y ). Linformation
moyenne sur lune des variables en observant lautre est toujours infrieure linformation
gagne en observant directement lune des variables. Bien entendu, dans un systme de trans-
mission, il nest pas possible dobserver lentre directement. Cest pourquoi on doit sattendre
une perte dinformation en transmettant une information.

Exemple 1.22 (Infrence Statistique) Admettons que X et Y soient des variables alatoires
binaires reprsentant le lancer dune pice de monnaie. La pice peut tre truque ou non.
ceci est reprsent par un systme de choix ou par une variable alatoire Q. Sa distribution
de probabilit est donne par pQ (non truque) = pQ (truque) = 0.5. Nous savons que si la
pice nest pas truque, nous avons

pX|Q (0|non truque) = pX|Q (1|non truque) = pY |Q (0|non truque)


= pY |Q (1|non truque) = 0.5

et que si elle est truque,

pX|Q (0|truque) = pY |Q (0|truque) = 0.9,


pX|Q (1|truque) = pY |Q (1|truque) = 0.1.

De plus, nous supposons que X et Y soient indpendantes; ainsi, la distribution de probabilit


conditionnelle de (X, Y |Q) est donne par

pX,Y |Q (0, 0|non truque) = pX,Y |Q (0, 1|non truque) = pX,Y |Q (1, 0|non truque)
= pX,Y |Q (1, 1|non truque) = 0.25,
pX,Y |Q (0, 0|truque) = 0.81,
pX,Y |Q (0, 1|truque) = pX,Y |Q (1, 0|truque) = 0.09,
pX,Y |Q (1, 1|truque) = 0.01.
1.2. LINFORMATION ET SA MESURE 37

Etant donn que

pX,Y (0, 0) = pX,Y |Q (0, 0|non truque)pQ (non truque)


+pX,Y |Q (0, 0|truque)pQ (truque)
= 0.25 0.5 + 0.81 0.5 = 0.53,
pX,Y (0, 1) = pX,Y |Q (0, 1|non truque)pQ (non truque)
+pX,Y |Q (0, 1|truque)pQ (truque)
= 0.25 0.5 + 0.09 0.5 = 0.17,
pX,Y (1, 0) = pX,Y |Q (1, 0|non truque)pQ (non truque)
+pX,Y |Q (1, 0|truque)pQ (truque)
= 0.25 0.5 + 0.09 0.5 = 0.17,
pX,Y (1, 1) = pX,Y |Q (1, 1|non truque)pQ (non truque)
+pX,Y |Q (1, 1|truque)pQ (truque)
= 0.25 0.5 + 0.01 0.5 = 0.13,

nous obtenons

H(X, Y ) = pX,Y (0, 0) log pX,Y (0, 0) pX,Y (0, 1) log pX,Y (0, 1)
pX,Y (1, 0) log pX,Y (1, 0) pX,Y (1, 1) log pX,Y (1, 1)
= 0.53 log 0.53 0.17 log 0.17 0.17 log 0.17 0.13 log 0.13
1.7373 bit.

Et finalement, avec
X
H(X, Y |non truque) = pX,Y |Q (x, y|non truque) log pX,Y |Q (x, y|non truque)
x,y
= pX,Y |Q (0, 0|non truque) log pX,Y |Q (0, 0|non truque)
pX,Y |Q (0, 1|non truque) log pX,Y |Q (0, 1|non truque)
pX,Y |Q (1, 0|non truque) log pX,Y |Q (1, 0|non truque)
pX,Y |Q (1, 1|non truque) log pX,Y |Q (1, 1|non truque)
= log 4 = 2 bit,

H(X, Y |truque) = 0.81 log 0.81 0.09 log 0.09 0.09 log 0.09 0.01 log 0.01
0.938 bit,

X
H(X, Y |Q) = pQ (q)H(X, Y |q)
q
= pQ (non truque)H(X, Y |non truque)
+pQ (truque)H(X, Y |truque)
0.5 2 + 0.5 0.938
1.469 bit,
38 CHAPITRE 1. INCERTITUDE ET INFORMATION

nous avons

I((X, Y ); Q) = H(X, Y ) H(X, Y |Q) 1.7373 1.469 0.2683 bit.

Ceci est linformation moyenne sur la question la pice est-elle truque?, lorsque nous
observons deux lancers de la pice.

Exemple 1.23 (Canal binaire symtrique - Suite) Dans le cas dun canal de communica-
tion, nous devons nous attendre obtenir moins dinformation sur lentre en observant la
sortie quen observant directement lentre. Par exemple, considrons le canal binaire sym-
trique de lexemple 1.14 avec = 0.1, pX (0) = 0.2 et pX (1) = 0.8. Nous avons vu que
pY (0) = 0.26 et pY (1) = 0.74, ainsi

H(Y ) = 0.26 log 0.26 0.74 log 0.74 0.8267 bit,

et nous obtenons

I(X; Y ) = I(Y ; X) = H(Y ) H(Y |X)


= 0.26 log 0.26 0.74 log 0.74 + 0.9 log 0.9 + 0.1 log 0.1
0.3578 bit.

Mais H(X) = 0.2 log 0.2 0.8 log 0.8 0.7219 bit > I(X; Y ). Ceci signifie que la perte
dinformation moyenne est H(X) I(X; Y ) 0.7219 0.3578 = 0.3641 bit.

Introduisons une autre notion importante de la thorie de linformation. Considrons deux


systmes de choix probabilistes, avec le mme ensemble de choix S, mais avec des distributions
de probabilit diffrentes. Si X et Y sont les variables alatoires correspondantes, alors nous
dfinissons :

Dfinition 1.10 (Divergence de Kullback-Leibler) La divergence de Kullback-


Leibler entre X et Y est dfinie par :
X pX (x)
K(PX , PY ) = pX (x) log . (1.20)
pY (x)
xS

La divergence de Kullback-Leibler est une sorte de distance entre les distributions de probabi-
lit de X et Y , bien que K(PX , PY ) 6= K(PY , PX ). Mais

Thorme 1.9

K(PX , PY ), K(PY , PX ) 0,

et

K(PX , PY ) = K(PY , PX ) = 0

si, et seulement si, PX = PY .


1.2. LINFORMATION ET SA MESURE 39

D MONSTRATION En effet, nous avons


X X
K(PX , PY ) = pX (x) log pX (x) pX (x) log pY (x).
xS xS

Daprs le lemme 1.1, K(PX , PY ) 0 et gal 0 seulement si pX (x) = pY (x).

Exemple 1.24 (Canal binaire symtrique - Suite) Revenons au canal binaire symtrique
des exemples 1.14 and 1.23. Ici nous avons

pX (0) pX (1)
K(PX , PY ) = pX (0) log + pX (1) log
pY (0) pY (1)
0.2 0.8
= 0.2 log + 0.8 log
0.26 0.74
0.0143 bit,
pY (0) pY (1)
K(PY , PX ) = pY (0) log + pY (1) log
pX (0) pX (1)
0.26 0.74
= 0.26 log + 0.74 log
0.2 0.8
0.0152 bit.

Considrons une situation probabiliste compose (S S, P ) et la paire de variables alatoires


X et Y qui lui est associe. Ces variables ont toutes deux le mme ensemble de valeurs S.
Dnotez par (S, PX ) et (S, PY ) les situations de choix probabilistes relies aux deux variables
X et Y . Cest--dire que pX et pY sont les distributions marginales de X et Y , donnes par
X X
pX (x) = pX,Y (x, y), pY (y) = pX,Y (x, y).
y x

De plus, PX PY dnote la distribution de probabilit avec les valeurs pX (x) pY (y). Alors
(1.19) montre que

Proprit 1.2

I(X; Y ) = K(P, PX PY ). (1.21)

De ce point de vue, I(X; Y ) mesure quel degr la distribution de probabilit commune de la


paire (X, Y ) diverge du cas dindpendance. Cest pourquoi linformation mutuelle est aussi
considre parfois comme une mesure de dpendance entre deux variables alatoires avec le
mme ensemble de valeurs.
Finalement nous avons (voir 1.19)
X pY |x (x, y)
I(X; Y ) = pX,Y (x, y) log
x,y
pY (y)
X pY |x (x, y)
= pX (x)pY |x (x, y) log
x,y
pY (y)
X
= pX (x)K(PY |x , PY )
x
X
= pX (x)i(x/Y ). (1.22)
x
40 CHAPITRE 1. INCERTITUDE ET INFORMATION

i(x/Y ) = H(Y ) H(Y |x) mesure linformation gagne sur Y en observant X = x. Ainsi,
bien quen gnral K(PY |x , PY ) 6= i(x/Y ), il y a galit dans la moyenne sur x entre cette
information et la divergence de Kullback-Leibler K(PY |x , PY ). Par symtrie nous avons ga-
lement

X X
I(Y ; X) = pY (y)K(PX|y , PX ) = pY (y)i(y/X).
y y

Exemple 1.25 (Divergence de Kullback-Leibler et information mutuelle) Considrons


S = (e1 , e2 ), S S = {(e1 , e1 ), (e1 , e2 ), (e2 , e1 ), (e2 , e2 )} et P = {0.5, 0.1, 0.3, 0.1}.
Admettons que X et Y soient les variables alatoires associes la situation probabiliste
compose (S S, P ). Ainsi, les distributions marginales de X et Y sont donnes par

pX (e1 ) = pX,Y (e1 , e1 ) + pX,Y (e1 , e2 ) = 0.5 + 0.1 = 0.6,


pX (e2 ) = pX,Y (e2 , e1 ) + pX,Y (e2 , e2 ) = 0.3 + 0.1 = 0.4,
pY (e1 ) = pX,Y (e1 , e1 ) + pX,Y (e2 , e1 ) = 0.5 + 0.3 = 0.8,
pY (e2 ) = pX,Y (e1 , e2 ) + pX,Y (e2 , e2 ) = 0.1 + 0.1 = 0.2.

Nous dfinissons la distribution PX PY par p(x, y) = pX (x)pY (y). Calculons prsent


quelques entropies. Avec

pX,Y (e1 , e1 ) 0.5


pX|Y =e1 (e1 , e1 ) = = = 0.625,
pY (e1 ) 0.8
pX,Y (e2 , e1 ) 0.3
pX|Y =e1 (e2 , e1 ) = = = 0.375,
pY (e1 ) 0.8
pX,Y (e1 , e2 ) 0.1
pX|Y =e2 (e1 , e2 ) = = = 0.5,
pY (e2 ) 0.2
pX,Y (e2 , e2 ) 0.1
pX|Y =e2 (e2 , e2 ) = = = 0.5,
pY (e2 ) 0.2

nous obtenons

H(X) = 0.6 log 0.6 0.4 log 0.4 0.9710 bit,


H(X|e1 ) = pX|Y =e1 (e1 , e1 ) log pX|Y =e1 (e1 , e1 ) pX|Y =e1 (e2 , e1 ) log pX|Y =e1 (e2 , e1 )
= 0.625 log 0.625 0.375 log 0.375
0.9544 bit,
H(X|e2 ) = pX|Y =e2 (e1 , e2 ) log pX|Y =e2 (e1 , e2 ) pX|Y =e2 (e2 , e2 ) log pX|Y =e2 (e2 , e2 )
= 0.5 log 0.5 0.5 log 0.5
= 1 bit,
H(X|Y ) = pY (e1 )H(X|e1 ) + pY (e2 )H(X|e2 )
0.8 0.9544 + 0.2 1 = 0.9635 bit.
1.2. LINFORMATION ET SA MESURE 41

Do I(X; Y ) = H(X) H(X|Y ) 0.9710 0.9635 0.0074 bit. Etant donn que
X pX,Y (x, y)
K(P, PX PY ) = pX,Y (x, y) log
p(x, y)
(x,y)SS
pX,Y (e1 , e1 ) pX,Y (e1 , e2 )
= pX,Y (e1 , e1 ) log + pX,Y (e1 , e2 ) log
p(e1 , e1 ) p(e1 , e2 )
pX,Y (e2 , e1 ) pX,Y (e2 , e2 )
+pX,Y (e2 , e1 ) log + pX,Y (e2 , e2 ) log
p(e2 , e1 ) p(e2 , e2 )
0.5 0.1 0.3 0.1
= 0.5 log + 0.1 log + 0.3 log + 0.1 log
0.6 0.8 0.6 0.2 0.4 0.8 0.4 0.2
0.0074 bit,

nous vrifions que I(X; Y ) = K(P, PX PY ). Et finalement, avec

pX,Y (e1 , e1 ) 0.5 5


pY |X=e1 (e1 , e1 ) = = = ,
pX (e1 ) 0.6 6
pX,Y (e1 , e2 ) 0.1 1
pY |X=e1 (e2 , e1 ) = = = ,
pX (e1 ) 0.6 6
pX,Y (e2 , e1 ) 0.3 3
pY |X=e2 (e1 , e2 ) = = = ,
pX (e2 ) 0.4 4
pX,Y (e2 , e2 ) 0.1 1
pY |X=e2 (e2 , e2 ) = = = ,
pX (e2 ) 0.4 4
et

H(Y ) = 0.8 log 0.8 0.2 log 0.2 0.7219 bit,


5 5 1 1
i(e1 /Y ) = H(Y ) H(Y |e1 ) 0.7219 + log + log 0.0719 bit,
6 6 6 6
3 3 1 1
i(e2 /Y ) = H(Y ) H(Y |e2 ) 0.7219 + log + log 0.00894 bit,
4 4 4 4
nous obtenons
X
I(X; Y ) = pX (x)i(x/Y ) = pX (e1 )i(e1 /Y ) + pX (e2 )i(e2 /Y )
x
0.6 0.0719 0.4 0.0894 0.0074 bit.

Il est intressant de noter que i(e2 /Y ) est ngative.

R SUM DE LA SOUS - SECTION 1.2.2

Nous avons dfini linformation mutuelle I(X; Y ) entre deux variables alatoires X et Y
comme tant le gain dinformation moyenne sur une variable, obtenu si lautre est obser-
ve. De faon remarquable, cette valeur est symtrique, I(X; Y ) = I(Y ; X).
Linformation mutuelle est aussi la diffrence entre la somme des entropies individuelles
des deux variables et lentropie relle de la paire. Ceci montre que linformation mutuelle
est toujours non ngative et sannule si et seulement si les deux variables X et Y sont
indpendantes. Elle mesure donc aussi la rduction de lincertitude de la situation relle
42 CHAPITRE 1. INCERTITUDE ET INFORMATION

dans le cas de variables indpendantes.


La divergence de Kullback-Leibler K(PX , PY ) de deux distributions de probabilit PX et
PY mesure la distance de PX PY . Cependant, K(PX , PY ) 6= K(PY , PX ) en gnral.
Nanmoins nous avons K(PX , PY ) = K(PY , PX ) = 0 si PX = PY .
Linformation mutuelle I(X; Y ) est gale la divergence de Kullback-Leibler, de la dis-
tribution commune de la paire (X, Y ) au produit de leurs distributions marginales. Cest
une autre mesure de la distance entre la situation relle et le cas suppos dindpendance.
Linformation gagne sur une variable Y en observant une autre variable X gale en
moyenne la divergence de Kullback-Leibler entre la distribution conditionnelle de Y tant
donn X = x et la distribution marginale inconditionnelle de Y .

valuation 15

Que peut-on dire de linformation mutuelle entre X et Y ?

1. Linformation mutuelle est la quantit dinformation moyenne relative X en observant


Y.
2. Dans certains cas linformation mutuelle peut tre ngative.
3. Linformation mutuelle peut tre nulle mme si X et Y ne sont pas indpendants.
4. Linformation mutuelle entre X et Y est gale linformation mutuelle entre Y et X.

valuation 16

Dire si les affirmations suivantes sont vraies ou fausses :


1. K(PX , PY ) = K(PY , PX ), tant donn que K est une sorte de distance.
2. K(PX , PY ) = 0, si X et Y sont indpendantes.
3. I(X; Y ) = K(PX PY , P ), si X et Y sont les variables alatoires associes la situation
probabiliste compose (S S, P ).

1.2.3 Surprise, entropie et information

O BJECTIFS PDAGOGIQUES DE LA SOUS - SECTION 1.2.3


Aprs avoir tudi cette sous-section, vous devriez comprendre
la notion de degr de surprise associe un vnement;
sa relation avec lentropie, avec les mesures de linformation et linformation mu-
tuelle.

Si E S est un vnement rare dans une situation de choix probabiliste (S, P ), nous pourrions
tre trs surpris de lobserver. Il serait donc intressant de mesurer le degr dinattendu ou de
surprise dun vnement. Dnotons par s(E) le degr dinattendu de lvnement E. Il semble
raisonnable dy appliquer les caractristiques suivantes :
s(E) devrait dpendre uniquement de la probabilit p(E) de lvnement E, cest--dire

s(E) = f (p(E)).
1.2. LINFORMATION ET SA MESURE 43

s(E) devrait tre une fonction dcroissante de sa probabilit p(E). Plus grande sera la pro-
babilit, plus petit sera linattendu de lvnement; plus petite sera la probabilit, plus grande
sera la surprise.
Si deux vnements E1 et E2 sont indpendants, le degr de surprise de leur venue commune
devrait tre la somme de leurs degrs de surprise individuelle,

s(E1 E2 ) = s(E1 ) + s(E2 ).


Le logarithme est la seule fonction qui satisfait ces exigences,

s(E) = log p(E).

Si, en plus, nous exigeons (arbitrairement) que le degr de surprise dun vnement avec la pro-
babilit 1/2 soit gal 1, f (1/2) = 1, le logarithme doit tre pris la base 2. Donc log2 p(E)
est considr comme une mesure du degr de surprise ou dinattendu dun vnement E.
Certains auteurs dfinissent log p(E) comme linformation contenue dans E ou lauto-
information de E. Nous dsapprouvons cette vue : une information est une rponse, peut-
tre partielle, une question prcise, et cest une information dans la mesure o elle change
lincertitude quant la rponse possible cette question. Si nous considrons un vnement
simple E, aucune question spcifique ne lui est associe. Dautre part, le degr dinattendu est
associ un vnement, et non une question spcifie.

Exemple 1.26 (Loterie) Supposons que vous gagniez une loterie o les chances sont de 1
, disons 1015 plus ou moins. Vous serez (agrablement) surpris. Si vous ne gagnez pas, vous
ne serez pas du tout surpris. La quantit dinformation relative la question vais-je gagner
ou non? est la mme que si vous dcouvrez que vous navez pas gagn. La quantit de la
mme information (soit le nombre tir la loterie) relative la question quel nombre est
tir est bien plus grande. Dautre part, le degr de surprise associ au nombre tir ne dpend
pas de la question pose.

Exemple 1.27 (Swiss-Lotto) Nous jouons au Swiss-Lotto, nous devons donc choisir 6
nombres parmi 45. Il y a exactement

45 45!
= = 8145060
6 6! (45 6)!

possibilits, donc le degr dinattendu s(gain) = log 8145060 22.9575. Admettons que
X dnote la variable alatoire selon laquelle nous gagnons ou non. Ainsi
1
p(X = gagnant) = ,
8145060
1
p(X = perdant) = 1 ,
8145060
par consquent

1 1 1 1
H(X) = log 1 log 1
8145060 8145060 8145060 8145060
2.9957 106 bit.

Lincertitude quant savoir si nous gagnerons ou non est trs faible, parce quil est quasiment
sr que nous ne gagnerons pas.
44 CHAPITRE 1. INCERTITUDE ET INFORMATION

Pour rendre plus vidente la diffrence entre surprise et information, considrons une situation
de choix probabiliste dans laquelle les choix possibles S sont seulement E ou non E (soit
E c ) avec les probabilits p et 1 p pour les deux cas possibles. Lincertitude associe cette
situation est
e
h(p) = p log p (1 p) log(1 p).

En figure 1.10, on a reprsent le graphique de cette incertitude et le degr de surprise log p


comme fonction de p. Lincertitude est maximale pour p = 1/2. Cest galement linformation
maximale obtenue en observant E par rapport la question est-ce que E se produit ou non ?.
Lincertitude est nulle si p = 0 ou si p = 1. Toutefois la surprise est maximale (infinie, en fait),
si p = 0. Dans ce cas nous ne nous attendons pas du tout ce que E se produise. Dautre part,
la surprise est nulle si p = 1. Dans ce cas nous sommes srs que E se produira, et nous ne
sommes pas du tout surpris si, effectivement, E se produit.

F IG . 1.10 Information contenue dans lvnement E, relative la question E ou non E


versus degr de surprise dans E.

Si nous examinons lentropie

H(X) = pX (x1 ) log pX (x1 ) pX (x2 ) log pX (x2 ) pX (xm ) log pX (xm )

dune variable alatoire X, nous voyons que cest la valeur moyenne (esprence) de la surprise
log pX (xi ) des vnements X = xi . Donc la surprise, lentropie et linformation sont inti-
mement lies, mais sont des concepts diffrents. La quantit dinformation (de la valeur dune
variable alatoire observe) est le degr de surprise moyen des vnements possibles.
Il y a mme une autre relation. Admettons que X et Y soient deux variables alatoires associes
la situation de choix probabiliste (S1 S2 , P ). Comment linattendu de lvnement X = x
change, si Y = y est observe ? A lorigine, le degr de surprise de lvnement {X = x} est
log pX (x). Une fois Y = y observe, il devient
pX,Y (x, y)
log pX|y (x|y) = log .
pY (y)
Donc le changement de surprise est
pX,Y (x, y) pX,Y (x, y)
log pX (x) + log = log .
pY (y) pX (x)pY (y)
1.2. LINFORMATION ET SA MESURE 45

De l nous voyons que linformation mutuelle


X pX,Y (x, y)
I(X; Y ) = pX,Y (x, y) log
x,y
pX (x)pY (y)

est le changement de surprise moyenne pour une valeur X tant donn quune valeur de Y est
observe. Ou, en dautres termes, la quantit moyenne dinformation concernant X, gagne en
observant Y , est gale au changement moyen dinattendu de lobservation de X tant donn
que Y est observe, ceci constitue un autre lien entre la quantit dinformation et le degr de
surprise.

R SUM DE LA SOUS - SECTION 1.2.3

Nous avons dfini le degr dinattendu ou de surprise dun vnement comme le ngatif
du logarithme de sa probabilit. Il augmente si la probabilit de lvnement diminue; est
nul pour une probabilit de un et infini pour une probabilit de zro.
La surprise ne doit pas tre confondue avec linformation. La premire est simplement
associe un vnement tandis que la seconde est mesure par rapport une question. Ce
qui signifie quun vnement possde toujours la mme surprise. Cependant, la quantit
dinformation quil porte dpend de la question considre.
Surprise et information sont nanmoins lies : lentropie dune variable, donc linforma-
tion, est gale la valeur moyenne de la surprise des valeurs possibles de la variable
alatoire. Et linformation mutuelle, cest--dire linformation moyenne concernant une
variable tant donn que lautre est observe, est gale au changement moyen de surprise
dans la premire variable, tant donne lobservation de la seconde.

valuation 17

Admettons que E soit un vnement avec p(E) = 0. Alors


1. s(E) = 0, tant donn que nous sommes srs que E ne peut pas se produire;
2. s(E) = 1, puisque s(E) est maximal si p(E) = 0.

valuation 18

Le degr de surprise s(E)

1. est dcroissant (en tant que fonction de p(E));


2. est continu;
3. peut tre nul;
4. est mesur par rapport une question spcifie.

R SUM DU CHAPITRE 1

Nous avons vu que lentropie est employe pour mesurer lincertitude dans une situation de
choix probabiliste ou dans une variable alatoire. Lentropie est lie au jeu des questions-
rponses (binaires) dans le sens quil indique le nombre attendu de questions poser pour
46 CHAPITRE 1. INCERTITUDE ET INFORMATION

dcouvrir llment relllement slectionn dans la situation de choix, ou la valeur relle


de la variable alatoire. Lincertitude est essentiellement mesure en bits.
Linformation est donne par un vnement observ ou par la valeur observe dune va-
riable alatoire. Une distribution de probabilit spcifie sur une situation de choix repr-
sente galement une information relative la situation sans probabilits connues. La quan-
tit dinformation est mesure par le changement dans lincertitude entre la situation avant
que linformation soit obtenue et aprs. Comme lincertitude, linformation est mesure en
bits.
La quantit dinformation est relative une question spcifie, qui est indique ou repr-
sente par une situation de choix. Elle est galement relative linformation pralable qui
est donne par la distribution de probabilit pralable (a priori). Linformation mne une
distribution de probabilit a posteriori. La quantit dinformation est la diffrence entre
les entropies de ces deux distributions.
Linformation mutuelle entre deux variables alatoires est la quantit dinformation atten-
due gagne sur une variable si lautre peut tre observe. Elle est symtrique : le gain
dinformation attendu est le mme pour les deux variables.
Le degr de surprise dun vnement peut aussi tre mesur. Il savre que lentropie est
le degr de surprise moyen dans une situation de choix. Donc la surprise, lincertitude et
linformation sont intimement lies, mais sont des concepts diffrents.

Pour aller plus loin

Ce module contient une introduction lmentaire aux bases de la thorie de linformation. Il


nous reste examiner brivement deux questions :
1. Quelles sont les applications de cette thorie ?
2. Dans quelle direction peut-on encore dvelopper cette thorie ?
La principale application de la thorie de linformation est la thorie du codage. Cette thorie
tudie la faon de coder de la faon la plus avantageuse les signaux ou linformation provenant
de sources aux caractristiques spcifiques. Elle aborde galement la question du codage de
signaux ou dinformation pour la transmission travers des canaux bruits o linformation
est perdue. Le problme est dintroduire suffisamment de redondance dans le code, de faon
compenser la perte dinformation. Ces problmes seront tudis dans les modules C2, C3 et
C4.
Le codage nest toutefois quun aspect relativement limit de linformation. Il existe bien
dautres questions lies linformation :
1. Comment linformation est-elle traite, cest--dire comment de linformation prove-
nant de diffrentes sources est-elle combine et concentre sur les questions qui nous
intressent ? Ceci se rapporte au traitement de linformation en gnral, en particulier
par les ordinateurs.
2. Quentend-on en affirmant que linformation est incertaine ?
3. Comment linformation est-elle reprsente et comment peut-on en dduire ou infrer
des consquences ? Ceci fait entrer en jeu la logique et les mthodes gnrales dinf-
rence, par exemple les mthodes infrentielles statistiques.
Ces questions soulvent bien des sujets de recherche.
Chapitre 2

Exercices du module C1

par J. KOHLAS

2.1 Entropie

Exercice 2.1.1:

Dessinez un arbre de questions-rponses binaires pour un schma de choix S avec |S| = 8.


Calculez la quantit dincertitude h(|S|) et donnez les codes de toutes les possibilits dans S.

Exercice 2.1.2:

Admettons que S1 = {1, 2, 3} et S2 = {1, 2}. Notez lensemble S1 S2 et calculez h(|S1


S2 |), h(|S1 |), h(|S2 |).

Exercice 2.1.3:

Quel jeu est le plus incertain ?:


1. le Swiss-Lotto (6 sur 45) ;
2. prendre, en 4 tentatives, les 4 as dun jeu de 52 cartes.
Calculez la quantit dincertitude dans les deux jeux.

47
48 CHAPITRE 2. EXERCICES DU MODULE C1

Exercice 2.1.4:

Montrez que

H(p1 , p2 , . . . , pn , q1 , q2 , . . . , qm )

p1 pn q1 qm
= H(p, q) + pH ,..., + qH ,..., ,
p p q q

si p = p1 + p2 + + pn , q = q1 + q2 + + qm et p + q = 1.

Exercice 2.1.5:

Montrez que
1. H(X|X) = 0;
2. H(X|Y ) = H(X) si, et seulement si, X et Y sont indpendantes.

Exercice 2.1.6:

Etant donnes les variables alatoires indpendantes X, Y et Z avec



pX (i) = 1/10 pour i = 1, . . . , 10 0.99 pour i = 1
pZ (i) =
pY (i) = i/10 pour i = 1, . . . , 4 0.01 for i = 2.

Calculez
1. H(X), H(Y ), H(Z),
2. H(X, Y ), H(X|Y ).

Exercice 2.1.7:

Soient les variables alatoires Y et Z comme dans lexercice prcdent. Admettons que Q soit
la variable alatoire Q = Y + Z. Calculez
1. H(Q),
2. H(Q|Y = 1),
3. H(Q|Y ).
2.2. LA MESURE DE LINFORMATION 49

Exercice 2.1.8:

Admettons que X et Y soient des variables alatoires avec mme ensemble de choix et
X pX (x)
K(PX , PY ) = pX (x) log .
pY (x)
xX

Montrez que

H(X) = log |X| K(PX , PU ),

o |X| est le nombre de valeurs prises par X et U la distribution de probabilit uniforme sur
ces valeurs.

2.2 La mesure de linformation

Exercice 2.2.1:

Admettons que X soit une variable alatoire avec pX (1) = 0.01, pX (2) = 0.02, pX (3) =
0.07, pX (k) = 0.1 pour k = 4, . . . , 12 et E1 , . . . , E4 quatre vnements donns par

E1 = {X < 5}, E2 = {X 6= 10},


E3 = {X impair}, E4 = {X pair}.

Calculez:

1. H(XEk ) pour k = 1, 2, 3, 4
2. i(Ek /X) pour k = 1, 2, 3, 4
3. i(Ek+1 /XEk ) pour k = 1, 2, 3

Exercice 2.2.2:

Etant donn un systme de choix indpendants compos

S1 S2 = {(e1,1 , e2,1 ), (e1,1 , e2,2 ), (e1,2 , e2,1 ), (e1,2 , e2,2 )}

avec P = {a, b, c, d}, a + b + c + d = 1. Admettons que X soit la variable alatoire associe


S1 , Y la variable alatoire associe S2 et considrons lvnement E = {(e1,1 , e2,1 ), (e1,2 , e2,2 )}.
1. Calculez H(X, Y ), H(X), H(Y ).
2. Montrez que H(X|E) = H(Y |E) = H(X, Y |E)
3. Calculez i(E/X, Y ), i(E/X), i(E/Y ).
50 CHAPITRE 2. EXERCICES DU MODULE C1

Exercice 2.2.3:

Admettons que X soit la variable alatoire associe au systme de choix (S, P ) avec S =
{1, 2, 3} et P = {0.1, 0.6, 0.3} et deux vnements E2 E1 donns par E1 = {1, 3} et E2 =
{1}. Caclculez H(X), i(E1 /X), i(E2 , X) et vrifiez que i(E2 /X) = i(E1 /X)+i(E2 /XE1 ).

Exercice 2.2.4:

Admettons que (X, Y ) ait la distribution jointe suivante:

Y=
pX,Y 1 2 3 4
1 1 1 1
1 8 16 32 32
1 1 1 1
2 16 8 32 32
1 1 1 1
X= 3 16 16 16 16
1
4 4 0 0 0

Calculez
1. pX (x), pY (y),
2. H(X), H(Y ),
3. H(X|Y ), H(Y |X), H(X, Y ),
4. I(X|Y ).

Exercice 2.2.5:

Montrez que

1. H(X, Y ) I(X|Y ) = H(X|Y ) + H(Y |X),


2. H(X) + H(Y ) 2I(X|Y ) = H(X|Y ) + H(Y |X),
3. 2H(X, Y ) H(X) H(Y ) = H(X|Y ) + H(Y |X).

Exercice 2.2.6:
1. Supposons que vous ayez un choix de 5 romans ou 6 livres de science fiction lire.
Si vous ne devez en prendre quun, combien de choix diffrents pouvez-vous faire?
Calculez le degr dincertitude de votre choix. Si toutefois vous devez prendre 1 roman et
1 livre de science fiction, combien de slections diffrentes pouvez-vous faire? calculez
le degr dincertitude de votre choix.
2. Vous devez choisir, entre 4 personnes, qui jouera en premire, seconde et troisime base
dans une quipe de baseball. Quel est le degr dincertitude de votre choix?
2.2. LA MESURE DE LINFORMATION 51

Exercice 2.2.7:

Il tait une fois une princesse qui vivait sur une le, dans limmense chteau de son pre. Ce
dernier, un mchant vieillard, enfermait sa fille dans une prison. Un beau jour, un chevalier ar-
riva sur lle. Il entendit parler de la princesse prisonnire et dcida de la librer. Il entra dans le
chteau et constata quil contenait trois prisons diffrentes. Aprs rflexion, il en choisit une.
Subitement, juste avant quil nouvre la porte, un oracle apparut et lui dit: Cher chevalier,
savez-vous que si vous nouvrez pas la bonne porte, vous et la princesse mourrez ? Malheureu-
sement, je ne peux vous dire dans laquelle des prisons se trouve la princesse. Mais je peux tout
de mme vous aider. Choisissez une prison. Il est en mon pouvoir de vous dire dans laquelle
des deux prisons restantes la princesse ne se trouve srement pas ! Ensuite, vous serez libre de
choisir de nouveau.
Les variables alatoires suivantes sont introduites :
X: position de la princesse; X {1, 2, 3}
Y : premier choix du chevalier; Y {1, 2, 3}
Z: indication de loracle; Z {1, 2, 3}
W = X = Y : le premier choix tait correct; W {vrai, faux}
Hypothses:
X et Y sont indpendantes
W et Z sont indpendantes
X et Y ont une distribution de probabilit uniforme
pZ|w (z, vrai) = 0.5
1. Loracle vous aide-t-il? Est-il ingnieux de changer le premier choix?
2. Calculez I(X|Z), I(Y |Z) et I(W |Z).

Supposons que les vnements E1 = {1, 2} Y Z et E2 = {1} Y soient donns.

3. Calculez i(E1 /X). Donnez une interprtation.


4. Calculez i(E2 /X). Donnez une interprtation.
52 CHAPITRE 2. EXERCICES DU MODULE C1
Chapitre 3

Module C3: Taux dentropie des


processus stationnaires. Chanes de
Markov.

par F. BAVAUD

Introduction

Considrons un systme doublement discret Xt qui, chaque temps t Z := {. . . , 2, 1, 0,


1, 2, . . .}, est dans un tat xt := {1 , . . . , m }. Dans la description que nous adoptons,
lespace des tats est fini avec m = || tats; aussi lensemble de temps t Z est galement
discret mais bi-infini aux deux extrmits.

Dfinition 3.1 Un processus stochastique est une squence bi-infinie



X = . . . X2 X1 X0 X1 X2 . . . = {Xt }

de variables alatoires Xt indexes par un entier t.

Exemple 3.1 Soit Xt la temprature locale du t-ime jour midi. La squence des Xt suc-
cessifs constitue un processus stochastique qui peut tre modlis par des modles plus ou
moins sophistiqus : par exemple, la distribution de chaque Xt est indpendante de chaque
autre Xt , ou dpendante de Xt1 uniquement, etc. Lobservation dune srie numrique de
valeurs . . . x2 x1 x0 x1 x2 . . . constitue une ralisation du processus stochastique.

Supposons que xt reprsente la valeur observe de la variable Xt . Le processus stochas-


tique est compltement dtermin condition que toutes les probabilits jointes (= multiva-
ries) de la forme

p(xl . . . , xn ) = p(xnl ) := P (Xl = xl , Xl+1 = xl+1 , . . . , Xn = xn )

53
54 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

soient dfinies, pour tout l et n avec l n. Notons que la squence xnl contient n l + 1
lments. Pour tre cohrente, la mesure de probabilit doit sommer lunit :
X
p(xnl ) = 1
xn
l
nl+1

Aussi, la probabilit dune sous-squence contenue dans une squence doit sobtenir en som-
mant sur toutes les variables napparaissant pas dans la sous-squence, cest--dire, par exemple
X
p(x1 x2 x3 x4 x5 ) = p(x1 x4 )
(x2 x3 x5 ) 3

La dynamique probabiliste dun processus stochastique peut dpendre ou non explicitement du


temps i auquel elle est observe. Dans le second cas, on dit que le processus est stationnaire :

Dfinition 3.2 Un processus stochastique est stationnaire si la probabilit jointe


dune sous-squence est invariante relativement une translation globale dans le
temps, cest--dire

P (Xl+T = xl , Xl+T +1 = xl+1 , . . . , Xn+T = xn ) =


P (Xl = xl , Xl+1 = xl+1 , . . . , Xn = xn )

pour tout l, n, T lments Z, n l.

3.1 Le taux dentropie

O BJECTIFS PDAGOGIQUES DE LA SECTION 3.1


Aprs avoir tudi cette section, vous devriez
connatre le concept de taux dentropie par rapport aux concepts densemble ty-
pique, de redondance et de compression
tre capable dvaluer la faisabilit dun schma de compression (en diminuant la
longueur et/ou le nombre de catgories du message)

Considrons un processus stationnaire. Lentropie jointe de la squence X1 , X2 , . . . , Xk =


X1k , en mesurant lincertitude totale du rsultat de la squence, est
X
H(X1k ) = p(xk1 ) log p(xk1 )
xk1 k

H(X1k ) augmente dans k: ajouter des arguments augmente lincertitude.

Dfinition 3.3 (Taux dentropie) On dfinit le taux dentropie hc


(X) du processus
comme la limite (si elle existe)
1
hc
(X) := lim H(X1k ) (3.1)
k k
3.1. LE TAUX DENTROPIE 55

1 k 1 k
Notez que si le processus est stationnaire, la suite k H(X1 ) est dcroissante : k H(X1 )
1 k1
k1 H(X1 ).

D MONSTRATION En effet, on a toujours (pour k > 1) :

H(X1k ) = H(X1k1 ) + H(Xk |X1k1 )

et donc pour tout j entre 1 et k 1 :

H(X1k ) H(X1k1 ) + H(Xk |Xkj+1


k1
)

(en notant j = 1 le cas H(X1k ) H(X1k1 ) + H(Xk )).


Par stationnarit, on obtient pour tout j entre 1 et k 1 :

H(X1k ) H(X1k1 ) + H(Xj |X1j1 )

et en sommant toutes ces ingalits :


k1
X
(k 1)H(X1k ) (k 1)H(X1k1 ) + H(Xj |X1j1 )
j=1

cest--dire :
(k 1)H(X1k ) kH(X1k1 )

Considrons maintenant galement lentropie conditionnelle hk (X), pour k = 1, 2, 3 . . ., en


mesurant lincertitude dans Xk conditionnellement X1 . . . , Xk1 , ainsi que sa limite lorsque
k :

(a)
hk (X) := H(Xk |X1k1 ) = H(X1k ) H(X1k1 ) h (X) := lim hk (X) (3.2)
k

o (a) dcoule de H(Y |Z) = H(Y, Z)H(Z). La grandeur hc (X) dans 3.1 mesure lincerti-
tude par variable dans une squence infinie, et la grandeur h (X) dans 3.2 mesure lentropie
rsiduelle sur la dernire variable lorsque le pass est entirement connu. Il savre que ces
deux grandeurs concident pour des processus stationnaires:

Thorme 3.1 Pour un processus stationnaire, la grandeur non-ngative hk (X) d-


finie dans 3.2 est dcroissante dans k. Sa limite h (X) := limk hk (X) dfinit
le taux dentropie h (X) du processus ; elle existe et peut tre calcule de lune de
ces deux faons
1
h (X) = lim H(X1k ) = lim H(Xk |X1k1 ) (3.3)
k k k

Exemple 3.2 Pour un processus i.i.d., H(X1k ) = k H(X), o H(X) est lentropie pour une
seule variable. Par consquent, h (X) = limk k1 kH(X) = H(X). Le comportement
de hk (X) dans ce processus et dans dautres est reprsent en figure 3.10.
56 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

Thorme 3.2 h (X) log m, o m := || est la taille de lalphabet. Lga-


k
Qk se vrifie si et seulement si le processus est indpendant (cest--dire p(x1 ) =
lit
i=1 p(xi )) et uniforme (cest--dire p(xi ) = 1/m).

D MONSTRATION
(a) (b)
h (X) = lim H(Xk |X1k1 ) lim H(Xk ) log m
k k

o lgalit dans (a) a lieu sous indpendance, et lgalit dans (b) a lieu sous uniformit.

Le taux dentropie h (X) mesure lincertitude conditionnelle associe chaque rsultat dun
processus, connaissant tout son pass. Pour un m fix, cette incertitude est maximale lorsque
la prvisibilit du rsultat est minimale, cest--dire lorsque le processus est maximalement
alatoire. Le thorme 3.2 dit quun processus maximalement alatoire doit tre uniforme et
indpendant, tout comme un d non pip avec m cts qui doit tre non biais (= uniforme) et
sans mmoire (= rsultats successifs indpendants).
Plus gnralement, la dcomposition exacte ci-dessous est valable:

Thorme 3.3 Pour un processus stationnaire,

hk (p) = log m Kk (p||pIND ) K1 (p||pUNI )

o Kk (p||pIND ) 0 est la divergence de Kullback-Leibler par rapport la situation


dindpendance, savoir
X p(xk1 )
Kk (p||pIND ) := p(xk1 ) log pIND (xk1 ) := p(xk1
1 ) p(xk ) (3.4)
pIND (xk1 )
xk1

et K1 (p||pUNI ) est la divergence de Kullback-Leibler dune composante par rapport


la situation duniformit, savoir
X p(xk )
K1 (p||pUNI ) := p(xk ) log (3.5)
xk
1/m

Note: K1 (p||pUNI ) est indpendant de k par stationnarit.

D MONSTRATION Par construction


X X
hk (X) = H(Xk |X1k1 ) = p(xk1
1 ) p(xk |xk1 k1
1 ) log p(xk |x1 ) =
xk1 xk
1
X X p(xk1 ) p(xk ) 1/m
= p(xk1
1 ) p(xk |xk1
1 ) log[ ]=
xk p(xk1
1 )
p(xk ) 1/m
xk1
1
X p(xk1 ) X p(xk )
= p(xk1 ) log k1
p(xk ) ln + log m
p(x1 ) p(xk ) xk
1/m
xk1
3.2. LE THORME AEP 57

Remarque : si lon emploie des grandeurs de thorie de linformation, la dmonstration peut


alternativement tre prsente comme

hk (X) = H(X1k ) H(X1k1 ) =


= H(X1k ) H(X1k1 ) H(Xk ) + H(Xk ) log m + log m
| {z } | {z }
Kk (p||pIND ) K1 (p||pUNI )

3.2 Le thorme AEP


P
Rappel : une variable Zn converge en probabilit vers la constante c (note Zn c) si et
seulement si

lim P (|Zn c| ) = 1) > 0 (3.6)


n

Exemple 3.3 Supposons que {Yi } reprsente une squence de variables numriques i.i.d.
2 1 Pn
avec pour moyenne et pour variance finie . La variable Sn := n t=1 Yt converge donc
en probabilit vers . Cela entrane que pour n suffisamment grand, la probabilit que lon
observe une dviation Sn plus grande que toute grandeur finie > 0 devient ngligeable.

Thorme 3.4 Thorme AEP (= asymptotic equipartition property): pour un pro-


cessus stationnaire ergodique X, la variable
1
Zn (X) := log p(X1n ) (3.7)
n
P
converge en probabilit vers le taux dentropie h (X) dfini dans 3.3: Zn (X)
h (X).

De mme, (voir thorme 3.5 (a)), et en employant dornavant, par souci de simplicit, des
logarithmes naturels, le thorme 3.4 nous dit que

> 0 , lim P (exp[n(h + )] p(X1n ) exp[n(h )]) = 1


n

Dfinition 3.4 Le (n, )-ensemble typique Tn () est lensemble de toutes les s-


quences empiriques xn1 (appeles typiques) dont la probabilit p(xn1 ) est proche de
exp(n h ) en ce sens que

Tn () := {xn1 n | exp[n(h + )] p(xn1 ) exp[n(h )]} (3.8)

La probabilit que les donnes appartiennent Tn () est


X
P (Tn ()) := P (X1n Tn ()) = p(xn1 ) (xn1 Tn ()) (3.9)
xn
1
n

o (x E) vaut 1 pour tout x dans E et 0 sinon. Le thorme 3.4 peut alors tre rcrit
comme suit :

> 0 , lim P (X1n Tn ()) = 1 (3.10)


n
58 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

Ceci signifie que pour n de plus en plus grand, il devient de plus en plus certain quen slec-
tionnant au hasard un n-gramme X1n qui savre tre xn1 , on dcouvre que p(xn1 ) est trs proche
de exp(n h ) : la plupart des squences empiriques observes xn1 ont une probabilit de
plus en plus proche de exp(nh ): pour un grand n, pratiquement tous les vnements sont
presque galement surprenants . Le thorme suivant rend cet nonc prcis et rigoureux:

Thorme 3.5
1
1. xn1 Tn () ssi | n ln p(X1n ) h (X)| .
2. P (Tn ()) > 1 pour n suffisamment grand.
3. |Tn ()| exp(n (h (X) + )).
4. |Tn ()| > (1 ) exp(n (h (X) )) pour n suffisamment grand.

D MONSTRATION
1. dcoule de la dfinition 3.4.
2. lquation 3.10 a pour consquence de rendre P (Tn ()) arbitrairement proche de 1
pour n suffisamment grand.
3.
X X X
1= p(xn1 ) p(xn1 ) exp[n(h + )] =
xn
1
n xn
1 Tn () xn
1 Tn ()

= exp[n(h + )] |Tn ()|

4.
X
1 < P (Tn ()) exp(n(h )) = exp(n(h )) |Tn ()|
xn
1 Tn ()

3.2.1 Le concept densemble typique : redondance et compressibilit

Lensemble n de toutes les squences xn1 de longueur n avec m = || catgories contient mn


lments distincts. Suppposons que le processus probabiliste qui les produit soit indpendant
et uniforme; alors chaque squence possde la mme probabilit, soit P (xn1 ) = mn . Inver-
sement, supposons que la dpendance dans le processus soit si forte quune seule squence
de longueur n puisse tre produite; par construction, cette squence a la probabilit un, et les
mn 1 squences restantes ont la probabilit zro.
Gnralement, cest--dire entre ces deux situations extrmes, la grandeur-cl contrlant le
nombre de squences typiquement observables ainsi que leurs probabilits est le taux den-
tropie h (rappel : h = log m dans le premier cas ci-dessus, et de h = 0 dans le second
cas). On a que lensemble n de toutes les squences xn1 de longueur n se scinde, pour n
suffisamment grand, en deux sous-ensembles1 :
1
On peut donner aux noncs prcdents un statut parfaitement rigoureux grce au thorme de la proprit
dquipartition asymptotique (AEP); ici Tn () dnote lensemble de squences de longueur n dont la probabilit
se situe entre exp(n(h + )) et exp(n(h )).
3.2. LE THORME AEP 59

lensemble Tn () de squences typiques, contenant essentiellement |Tn ()| = exp(nh )


squences, chacune dentre elles ayant la probabilit exp(nh ). Pour n grand, toute la
probabilit est concentre dans lensemble typique: P (Tn ()) = 1.
lensemble de squences non-typiques Tnc () := n \ Tn (), contenant mn exp(nh )
squences, chacune dentre elles ayant une probabilit ngligeable: P (Tnc ()) = 0.
Ainsi, plus le taux dentropie h est lev, cest--dire plus le futur, tant donn tout le pass,
est incertain, plus nombreuses seront les squences typiques, les seules qui soient rellement
observables (pour n grand). La notion de redondance est troitement lie au concept dentro-
pie :

Dfinition 3.5 (redondance) La redondance R dun processus stochastique station-


naire ergodique X sur m tats avec comme taux dentropie h (X) est

h (X)
R(X) := 1 (3.11)
log m

Evidemment, la mme unit logarithmique (e.g. bits ou nats) est employe dans log m et dans
la dfinition de h , ce qui rend R indpendant du choix dunits. Il rsulte de 0 h log m
(thorme 3.2) que 0 R 1. Par construction, h = (1 R) log m et exp(nh ) =
m(1R)n . Ainsi, parmi toutes les mn squences de n , un total de |Tn ()| = m(1R)n dentre
elles sont typiques ; chacune de ces squences typiques a la probabilit m (1R)n 1/|Tn ()|.
En particulier :
un processus maximalement alatoire (cest--dire indpendant et uniforme) est caractris
par h = log m ou, ce qui est quivalent, par R = 0. Le nombre de squences typiques est
gal mn , le nombre total de squences; ce qui signifie que chaque squence est typique et
possde la probabilit mn .
un processus minimalement alatoire est caractris par h = 0, ou, ce qui est quivalent,
par R = 1. Le processus est finalement dterministe : tant donn une portion de pass
suffisamment grande, . . . , xl , xl+1 , . . . , xn , la valeur xn+1 de ltat suivant Xn+1 peut tre
prdite avec certitude. Le nombre de squences typiques est gal m0 = 1: cest--dire
quasymptotiquement, il y a une seule et unique squence typique avec la probabilit 1,
savoir la seule squence produite dans un processus dterministe.
entre ces deux cas extrmes, un processus stochastique gnrique obissant 0 < h <
log m satisfait 0 < R < 1 : le processus est partiellement redondant et partiellement impr-
visible. La proportion de squences typiques est

m(1R)n
= mR n
mn
et tend vers zro pour n .
Exemple 3.4 La mtaphore suivante, que lon doit Hillman (1996), peut aider rendre le
concept dAEP intuitif (voir figure 3.1). Une plage dun volume total de mn reprsente la
totalit des squences. La plus grande partie du volume est constitue de exp(nh ) galets,
chacun dentre eux ayant un volume de exp(nh ). La plage contient aussi environ mn
grains de sable, mais ils sont si petits que leur contribution totale au volume de la plage est
de lordre de << 1.

Ainsi, parmi les mn squences possibles, seules m(1R) n peuvent effectivement se produire,
toutes avec la mme probabilit (pour n grand). Ce qui signifie que la quantit moyenne totale
60 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

F IG . 3.1 Le thorme AEP : pour 0 < h < log m et n grand, presque toutes les squences
de n sont non-typiques (grains de sable) et leur contribution au volume total est ngligeable.
Par contraste, le nombre relatif de squences typiques (galets) est ngligeable, mais leur vo-
lume reprsente la quasi-totalit du volume total.

dinformation n h porte par une squence de longueur n avec un taux dentropie h sur un
alphabet m peut, de faon quivalente, tre obtenue
A) par lensemble de squences de longueur effective neff = (1R)n distribue quiproba-
blement sur m catgories; le taux dentropie de ce nouveau processus atteint maintenant
son maximum log m.
B) par lensemble de squences de longueur n distribues quiprobablement sur m(1R)
catgories, avec un taux dentropie correspondant de log m(1R) = (1 R) log m.
Modifier le processus original ne modifie pas linformation totale, qui reste gale nh :

neff log m = n (1 R) log m = n h (A)


n log m(1R) = n (1 R) log m = n h (B)

Cependant, la redondance du processus modifi est prsent de zro dans les deux cas: lap-
plication de 3.11 produit

log m (1 R) log m
RA = 1 = 0 (A) RB = 1 = 0 (B)
log m (1 R) log m

Les faons prcises et dtailles dont les squences initiales peuvent tre compresses (du point
de vue de leurs longueurs (A) ou de la taille de leur alphabet (B)) constitue une partie de la
thorie du codage (voir module C2).

Exemple 3.5 Lentropie dun texte reprsentatif en anglais simplifi avec m = 27 cat-
gories (pas de ponctuation ni de distinction minuscule/majuscule, soit 26 lettres un caractre
espace ) a t estime environ h = 1.3 bits par lettre, correspondant une redon-
dance denviron R = 1 1.3/ log2 27 = 0.73 (Shannon 1950, cit dans Cover and Thomas
1991). Ce qui signifie quun roman de 300 pages pourrait tout fait tre rduit un roman
de 300(1 0.73) = 81 pages avec le mme alphabet, ou un roman de mme longueur avec
seulement 27(10.73) = 2.43 (cest--dire au moins 3) symboles. Laspect dun chantillon
de ce texte pourrait ressembler ceci

MUUMMXUUMMMMUMXXUMXMMXMMUXMUMXMMMMXXXUUXMXMUUXMUXMUXMU
UMUXUMUUUXMMUUUMXMMMXXXXMUMXXMMXXMUMXUMUUXMUUXMMMXMUXX
3.2. LE THORME AEP 61

UXXXUXXUUMMUXUXMUUMXUUXMUXXUXUMUUUXXXMMXXUMXUUUMMUXMXM

La redondance de ce nouveau texte est maintenant de zro, ce qui signifie que la plus petite
modification modifierait le contenu de louvrage. Par contraste, la redondance leve (R =
0.73) de langlais standard permet de corriger et de rcuprer un texte altr, qui contiendrait
par exemple des fautes dorthographe.
Note : lexemple ci-dessus prsuppose que langlais crit est produit par un processus sto-
chastique stationnaire, ce qui est bien entendu discutable.

valuation 19

Un processus stochastique stationnaire produit une squence de n symboles conscutifs (n


grand) ou un alphabet avec m signes. Supposons que la redondance du processus soit R =
0.25. Alors

1. il est possible de compresser (sans diminuer linformation totale) la longueur de la s-


quence de n 0.75 n? Rponses possibles : oui - non - cela dpend de n.

2. il est possible de compresser (sans diminuer linformation totale) la longueur de lalpha-


bet de m 0.75 m? Rponses possibles : oui - non - cela dpend de m.

Exemple 3.6 Des prvisions mtorologiques largement simplifies placent chaque journe
dans lune de ces trois catgories: belle (N), pluvieuse (R) ou neigeuse (S). Par
exemple, NNRNSRN constitue une semaine mtorologique possible. Il y a un maximum
de 3n squences diffrentes de n jours; chacune de ces squences serait quiprobable (avec la
probabilit 3n ) si le temps suivait effectivement un processus parfaitement alatoire (avec
un taux dentropie maximum de h = log 3, comme lindique le thorme 3.2). Cependant,
le temps rel nest certainement pas un processus totalement alatoire, cest--dire que sa
redondance R est strictement positive:
si R = 0.5 par exemple, alors, parmi toutes les 3n diffrentes squences posssibles de n
jours, 3(10.5) n = 1.73n sont typiques.
si R = 0.75, seules 3(10.75) n = 1.32n squences de n jours sont typiques.
si R = 1, seule 3(11) n = 30 = 1 squence est typique, soit la seule squence gnre par
le processus en loccurrence dterministe.
Dans cet exemple, le nombre effectif de types de temps possibles pour le jour suivant (tel
quil est mesur par lincertitude conditionnelle du jour prcdent) passe de 3 1.73, 1.32 et
mme 1 puisque R augmente de 0 1.
62 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

3.3 Chanes de Markov de premier ordre

O BJECTIFS PDAGOGIQUES DE LA SECTION 3.3


Aprs avoir tudi cette section, vous devriez
connatre le concept de chane de Markov (de premier ordre), sa matrice de transi-
tion et leurs itrations, ainsi que le concept de distribution stationnaire.
tre capable de classer les tats comme rcurrents, transients, absorbants et prio-
diques.
comprendre la signification thorique de lentropie associe ainsi que son calcul.
comprendre la nature de lirrversibilit produite par lvolution temporelle.

Dfinition 3.6 Une chane de Markov de premier ordre, ou, plus simplement, une
chane de Markov, est un processus stochastique discret dont la mmoire est limite
au dernier tat, cest--dire:

p(xt+1 |xt ) = p(xt+1 |xt ) t Z

Admettons que := {1 , . . . , m } reprsente les m tats du systme. La chane de


Markov est entirement dtermine par la matrice de transition m m

pjk := P (Xt+1 = k |Xt = j ) = p(k |j )

obissant aux conditions de consistance


m
X
pjk 0 pjk = 1
k=1

Exemple 3.7 Considrons un processus deux tapes avec un espace des tats = {a, b}.
Lorsque le systme est dans ltat a, il reste dans le mme tat avec la probabilit 0.7 (et se
dplace vers ltat b avec la probabilit 0.3). Lorsque le systme est dans ltat b, il reste dans
le mme tat avec la probabilit 0.6 (et se dplace vers ltat a avec la probabilit 0.4). Les
probabilits conditionnelles sont p(a|a) = 0.7, p(b|a) = 0.3, p(b|b) = 0.6 et p(a|b) = 0.4.
En numrotant a en 1 et b en 2, les probabilits sexpriment de faon quivalente comme
p11 = 0.7, p12 = 0.3, p21 = 0.4 et p22 = 0.6, ou, sous forme matricielle,

0.7 0.3
P = (3.12)
0.4 0.6

On observe que la somme de chaque ligne vaut 1.

3.3.1 Matrice de transition en n tapes

Considrons un processus gouvern par une chane de Markov qui est dans un tat j au temps
t. Par dfinition, sa probabilit dtre dans ltat k au temps t + 1 est pjk . Mais quen est-il de
sa probabilit dtre dans ltat k au temps t + 2 ?
3.3. CHANES DE MARKOV DE PREMIER ORDRE 63

F IG . 3.2 La probabilit datteindre ltat k au temps t + 2 (disons k = 3) partir de ltat j


au temps t sobtient en sommant sur tous les tats intermdiaires possibles l au temps t + 1.

La figure 3.2 montre que la probabilit en question sobtient en sommant sur tous les tats
intermdiaires possibles l au temps t + 1 (ici m = 3). Cest--dire
m
X
(2)
pjk := P (Xt+2 = k |Xt = j ) = pjl plk (3.13)
l=1
(2)
En dnotant respectivement P := (pjk ) et P (2) := (pjk ) les matrices de transition mm une
tape et deux tapes, lquation 3.13 montre que lon obtient la dernire daprs la premire
par une simple multiplication matricielle, cest--dire P (2) = P 2 := P P . Le mcanisme se
gnralise pour des dcalages dordres suprieurs et nous avons le rsultat

Thorme 3.6 Si la probabilit que le systme passe (en une fois) de ltat j ltat
k est donne par la matrice de transition P = (pjk ), alors la matrice de transition
(n)
P (n) n tapes dont les composants pjk := P (Xt+n = k |Xt = j ) donnent la
probabilit datteindre ltat k au temps t + n tant donn que le systme tait dans
ltat j au temps t sobtient comme

P (n) = P
| P {zP P} = P
n

n fois

Exemple 3.8 (Exemple 3.7, suite:) Les matrices de transition deux et trois tapes donnant
les probabilits datteindre ltat k partir de ltat j dans n = 2 et n = 3 tapes, sont P (2)
et P (3) avec

0.61 0.39 0.583 0.417
P (2) := P P = P (3) := P P P =
0.52 0.48 0.556 0.444

Note : la proprit selon laquelle chaque ligne de P somme 1 est automatiquement hrite
par P (2) et P (3) .

3.3.2 Chair et squelette. Classification des tats.

Le concept de communication entre les tats dfinit une relation dquivalence entre len-
semble des m tats impliqus dans une chane de Markov finie:
64 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

F IG . 3.3 Ltat a satteint lui-mme et atteint les tats b, c, d et e. Ltat b satteint lui-mme
et atteint les tats c, d et e. Ltat c satteint lui-mme et atteint les tats d et e. Ltat d satteint
lui-mme et atteint les tats c et e, etc. Les classes dquivalence de communication sont {a},
{b}, {c, d, e}, {f }, {g} et {h}.

Dfinition 3.7
ltat j atteint ltat k, ce que lon note j k, sil y a un chemin jl1 l2 ln1 k de
longueur n 0 tel que pjl1 pl1 l2 pln1 k > 0, cest--dire sil y a un n 0 tel que
(n) (0)
pjk > 0. Comme pjj = 1 > 0, chaque tat satteint lui-mme par construction:
j j pour tout j.
les tats j et k commmuniquent, ce que lon note j k, si et seulement si j k
et k j.

La relation est donc rflexive (j j) et transitive (j l et l k impliquent j k).


En outre, la relation de communicabilit est symtrique (j k implique k j). Ce
qui signifie que la relation communique avec est une relation dquivalence qui spare les
tats en groupes dtats, chaque tat lintrieur dun groupe communicant avec tous les autres
tats lintrieur du mme groupe.
Notez que les aspects squelette (cest--dire la possibilit ou limpossibilit dune tran-
sition) dominent les aspects chair (cest--dire la question de la probabilit exacte dune
transition possible) dans la classification ci-dessus. Cela signifie que j et k communiquent si
(n) (n )
et seulement si il y a des entiers n et n avec pjk > 0 et pkj > 0; la question des valeurs
(n) (n )
exactes de pjk > 0 et pkj > 0 est secondaire relativement au fait que ces deux grandeurs
sont strictement positives.

Exemple 3.9 Considrons une chane de Markov avec un squelette donn en figure 3.3. Les
flches dnotent latteignabilit dans une tape. Ltat a satteint lui-mme et atteint les tats
b, c, d et e. Cependant, a ne peut tre atteint qu partir de lui-mme. Ainsi, la classe dqui-
valence de a (relativement la relation ) contient a lui-mme. Si lon pousse le rai-
sonnement plus loin, on dcouvre que les classes dquivalence sont {a}, {b}, {c, d, e}, {f },
{g} et {h}.

Dfinition 3.8 Ltat j est rcurrent (ou persistant, ou ergodique) si la probabilit


que le processus commenant en j finisse aussi en j vaut 1. Ltat j est transient sil
nest pas rcurrent, cest--dire si la probabilit de non-retour j partir de j est non
nulle.

On peut montrer que les tats appartenant la mme classe dquivalence sont soit tous rcur-
rents, soit tous transients, ce qui justifie la dfinition suivante :
3.3. CHANES DE MARKOV DE PREMIER ORDRE 65

F IG . 3.4 Exemple 3.10 : Les classes dquivalence de communication sont {a}, {e} (classes
rcurrentes) et {b, c, d} (classe transiente). Les tats a et e sont absorbants.

Dfinition 3.9 Les classes rcurrentes sont des classes dquivalence dont tous les
lments sont rcurrents. Les classes transientes sont des classes dquivalence dont
tous les lments sont transients.

Dans lexemple 3.9, les classes rcurrentes sont {c, d, e} et {h}. Toutes les autres classes sont
transientes.
Exemple 3.10 Considrons la matrice de transition de Markov ci-dessous

1 0 0 0 0
0.5 0 0.5 0 0

P = 0 0.5 0 0.5 0

(3.14)
0 0 0.5 0 0.5
0 0 0 0 1

dont le squelette est reprsent en figure 3.4. Il y a deux classes rcurrentes, savoir {a} et
{e}, et une classe transiente, savoir {b, c, d}. Les tats rcurrents qui sont les seuls de leur
classe, comme a et e, ne peuvent pas tre quitts une fois atteints. On dit que de tels tats
sont absorbants. Une condition ncessaire et suffisante pour quun tat j soit absorbant est
pjj = 1, comme cela a t dmontr dans les ranges 1 et 5 de 3.14.

(n)
Il peut arriver que pjj = 0 pour tout n ne soit pas divisible par d, et que d soit le plus grand
entier ayant cette proprit. Ceci signifie que si la chane est dans un tat j un temps t, elle
ne peut quy retourner aux temps de la forme t + md o m est un entier. On dit alors que ltat
(n)
j est de la priode d. On dit quun tat avec la priode d = 1 est apriodique. Si pjj = 0 pour
tout n 0, ltat j a une priode infinie d = . On peut montrer que les tats appartenant
la mme classe dquivalence ont tous la mme priode: par exemple, en figure 3.4, les tats a
et e sont apriodiques, tandis que b, c et d sont de la priode d = 2.

Exemple 3.11 Un arbre est un graphe ne contenant pas de circuit. La figure 3.5 gauche
reprsente une chane de Markov sur un arbre symtrique: il y a une seule classe dqui-
valence rcurrente {a, b, c, d, e, f } dont tous les tats ont la priode d = 2. En ajoutant un
seul circuit tel quen figure 3.5 milieu ou droite, on conserve la classe dquivalence unique
{a, b, c, d, e, f }, mais tous les tats sont maintenant apriodiques (d = 1).

3.3.3 Distribution stationnaire

A partir de maintenant, on considre uniquement les chanes de Markov rgulires.


66 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

F IG . 3.5 Example 3.11. Gauche : le squelette sous-jacent est un arbre symtrique, et tous les
tats sont de la priode d = 2. Ladjout dun seul circuit (milieu ou droite) rend tous les tats
apriodiques (d = 1).

Dfinition 3.10 (Chane de Markov rgulire) Une chane de Markov rgulire


consiste en une seule classe rcurrente apriodique. De faon quivalente, chaque
tat peut tre atteint partir de chaque autre aprs un laps de temps suffisant, cest--
(n)
dire quil existe un entier N tel que pjk > 0 pour tous les tats j, k et tous les temps
n N.

Thorme 3.7 Soit P = (pjk ) la matrice de transition m m dune chane de


Markov rgulire sur m tats. Alors
pour n , les puissances P n approchent une matrice de transition P de la
forme

1 2 m1 m
1 2 m1 m Xm

P =


avec j > 0 et j = 1 (3.15)
1 2 m1 m j=1
1 2 m1 m

la distribution = (1 , 2 , . . . , m )T est la seule solution de lquation


m
X
j pjk = k k i.e. PT = (3.16)
j=1
Pm
obissant la condition de normalisation j=1 j = 1.

La distribution est qualifie de distribution stationnaire ou dquilibre associe la chane P .

Exemple 3.12 Considrons la matrice de transition suivante



0.823 0.087 0.045 0.044
0.058 0.908 0.032 0.001
P = 0.030 0.032 0.937 0.001

(3.17)
0.044 0.002 0.001 0.952
3.3. CHANES DE MARKOV DE PREMIER ORDRE 67

Certaines de ses puissances successives sont



0.431722 0.262400 0.159454 0.141811
0.174831 0.661191 0.136434 0.022850
P (5) =
0.106409 0.136458

0.741758 0.014806
0.141905 0.036039 0.020341 0.796752


0.19967 0.30232 0.28125 0.19724
0.20108 0.34353 0.30090 0.13496
P (25) =
0.18813

0.30168 0.38828 0.11189
0.19752 0.20453 0.16520 0.40992


0.2 0.3 0.3 0.2 1 2 3 4
0.2 0.3 0.3
0.2 1 2 3 4
P () =
0.2 =
0.3 0.3 0.2 1 2 3 4
0.2 0.3 0.3 0.2 1 2 3 4

et
Pla distribution dquilibre correspondante est = (0.2, 0.3, 0.3, 0.2). On peut vrifier que
m
j=1 j pjk = k est valable pour chaque k: en effet,

0.2 0.823 + 0.3 0.058 + 0.3 0.030 + 0.2 0.044 = 0.2 (k = 1)


0.2 0.087 + 0.3 0.908 + 0.3 0.032 + 0.2 0.002 = 0.3 (k = 2)
0.2 0.045 + 0.3 0.032 + 0.3 0.937 + 0.2 0.001 = 0.3 (k = 3)
0.2 0.044 + 0.3 0.001 + 0.3 0.001 + 0.2 0.952 = 0.2 (k = 4)

3.3.4 Taux dentropie dune chane de Markov

Thorme 3.8 Le taux dentropie dune chane de Markov rgulire de premier


ordre de matrice de transition P = (pjk ) est
X X
h (X) = j pjk log pjk (3.18)
j k

o est la distribution stationnaire associe la matrice de transition P .

D MONSTRATION Le thorme 3.1 donne


(a)
h (X) = lim H(Xn |X1n1 ) = lim H(Xn |Xn1 )
n n
m
X m
X X X
(b) (n1) (c)
= lim pj [ pjk log pjk ] = j pjk log pjk
n
j=1 k=1 j k

o (a) dcoule de la dfinition 3.6, (b) dcoule de la dfinition H(Xn |Xn1 ) impliquant la
(n1)
quantit pj , la probabilit que le systme soit dans ltat j au temps n 1, et (c) dcoule
(n1)
du thorme 3.7, impliquant la quantit limn pj = j .
68 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

F IG . 3.6 Une chane de Markov de premier ordre sur = {a, b}.

Exemple 3.13 On considre la chane de Markov (dordre 1) sur 2 tats = {a, b}, avec
p(a|a) = 2/3, p(b|a) = 1/3, p(b|b) = 2/3 et p(a|b) = 1/3 (figure 3.6). Par symtrie, la
distribution stationnaire correspondante est (a) = (b) = 0.5. Compte tenu de 3.18, son
taux dentropie est

h (X) = h2 (X) = (a) [p(a|a) ln p(a|a) + p(b|a) ln p(b|a)]


(b) [p(a|b) ln p(a|b) + p(b|b) ln p(b|b)] =
1 2 2 1 1 1 1 1 2 2
[ ln + ln ] [ ln + ln ] = 0.325 nats = 0.469 bits
2 3 3 3 3 2 3 3 3 3

Exemple 3.14 On considre la table de mobilit N = (njk ), donnant leffectif crois pro-
fession du pre (lignes j = 1, . . . , 5) par premier emploi plein temps du fils (colonnes
k = 1, . . . , 5) pour 19912 hommes amricains en 1973 dans cinq catgories: a = non-
manuel suprieur ; b = non-manuel infrieur ; c = manuel suprieur ; d = manuel
infrieur ; e = travail agricole (source: Hout 1986, cit dans Mirkin 1996).

a b c d e total

a 1 414 521 302 643
40 2 920

b 724 524 254 703 48 2 253

N =
c 798 648 856 1 676 108 4 086
(3.19)
d 756 914 771
3 325 237 6 003

e 409 357 441 1 611 1 832 4 650


total 4 101 2 964 2 624 7 958 2 265 19 912

En divisant chaque cellule njk par le total de ses ranges nj on obtient ume matrice de
transition P = (pjk ) avec pjk := njk /nj donnant les probabilits conditionnelles quun
individu (dont le pre possde la profession j) ait un premier mtier k:

a b c d e
a 0.48 0.18 0.10 0.22 0.01

b 0.32 0.23 0.11 0.31 0.02
P = (3.20)
c 0.20 0.16 0.21 0.41 0.03

d 0.12 0.15 0.13 0.55 0.04
e 0.09 0.08 0.09 0.35 0.39

Les composantes de la solution stationnaire associe la matrice de transition 3.20 sont


a = 0.26, b = 0.17, c = 0.13, d = 0.40 et e = 0.04. Ce qui signifie que, sous la
fiction dune matrice de transition constante 3.19, on observera long terme que 26% des
P a, 17% dans la catgorie b, etc. Les entropies conditionnelles
individus sont dans la catgorie
H(Xn |Xn1 = j) = k pjk log pjk , mesurant lincertitude quant au mtier du fils Xn
3.3. CHANES DE MARKOV DE PREMIER ORDRE 69

(connaissant la profession du pre Xn1 = j) sont (en bits):

H(Xn |Xn1 = a) = 1.85 H(Xn |Xn1 = b) = 2.01


H(Xn |Xn1 = c) = 2.02 H(Xn |Xn1 = d) = 1.83
H(Xn |Xn1 = e) = 1.95

Le mtier du fils est donc le plus incertain lorsque le pre est manuel suprieur (2.02 pour
Xn1 = c) et le moins incertain lorsque le pre est manuel infrieur (1.83 pour Xn1 = d).
En moyenne, lincertitude est
5
X
j H(Xn |Xn1 = j) = 0.26 1.85 + 0.17 2.01 + 0.13 2.02 +
j=1
+0.40 1.83 + 0.04 1.95 = 1.90 = h

ce qui nest rien dautre que le taux dentropie du processus h en raison de 3.18: comme
prvu et par construction, le taux dentropie dun processus de Markov mesure lincertitude
conditionnelle moyenne sur ltat suivant, connaissant ltat
P prcdent. Par contraste, lincer-
titude totale (non conditionnelle) correspondante est j j log j = 2.05 bits, ce qui est
plus grand que h = 1.90 mais plus petit que lincertitude uniforme log2 5 = 2.32 bits.

valuation 20

Vrai ou faux?
1. le taux dentropie h (X) dune chane de Markov de premier ordre ne peut jamais
excder son entropie totale (non conditionnelle) H(X) Rponses possibles: vrai - faux
2. le taux dentropie h (X) dune chane de Markov de premier ordre ne peut jamais
galer son entropie totale (non conditionnelle) H(X) Rponses possibles: vrai - faux
3. le taux dentropie h (X) dune chane de Markov de premier ordre nest pas dfini si
la chane nest pas rgulire Rponses possibles : vrai - faux
4. le taux dentropie h (X) associ une chane avec m catgories ne peut jamais excder
log m. Rponses possibles : vrai - faux

3.3.5 Irrversibilit

Considrons une matrice de transition (m m) P = (pjk ) dfinissant un processus de Markov


(0) P (0)
rgulire, avec la distribution stationnaire associe . Soit fj 0 (obissant m j=1 fj =
1) la distribution initiale (t = 0) du systme sur ses diffrents tats possibles j = 1, . . . , m. Au
(1) P (0)
temps t = 1, la distribution devient fk = m j=1 fj pjk . Plus gnralement,la distribution
f (n) au temps t = n est donne par
m
X
(n) (0) (n)
fk = fj pjk (3.21)
j=1

(n) (n)
Comme limn pjk = k daprs le thorme 3.7, la formule 3.21 montre que limn fk =
Pm (0)
j=1 fj k = k . Ce qui signifie quindpendamment du profil de la distribution initiale
70 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

f (0) , la distribution long terme f (n) converge long terme n vers la distribution sta-
tionnaire . On parle dquilibre si f (0) = . En rsum, un profil gnral non-quilibr
f (0) 6= Pm volue vers le profil dquilibre f () = o il reste alors inchang, puisque
k = j=1 j pjk en raison de 3.16.
La dynamique de Markov est donc irrversible : toute distribution initiale f (0) volue toujours
vers la (seule) distribution stationnaire , et jamais dans lautre sens; aussi, la dissemblance
entre deux distributions, quelles quelles soient, disparat durant lvolution, comme le montre
le thorme suivant:

Thorme 3.9 Soient f (n) et g (n) deux distributions dont lvolution 3.21 est gou-
verne par le mme processus de Markov rgulier P = (pjk ). Lvolution rend les
deux distributions de plus en plus similaires (et de plus en plus similaires la distri-
bution stationnaire ) au sens o

K(f (n+1) ||g (n+1) ) K(f (n) ||g (n) )

o f (n+1) et g (n+1) sont les distributions au temps daprs correspondantes,


savoir
m
X m
X
(n+1) (n) (n+1) (n)
fk = fj pjk gk = gj pjk (3.22)
j=1 j=1

Cas particuliers:
K(f (n+1) ||) K(f (n) ||) (obtenu avec g (n) := , ce qui implique g (n+1) = ): lentropie
relative de f (n) relativement diminue avec n: de nouveau, limn f (n) = .
K(||g (n+1) ) K(||g (n) ) (obtenu avec f (n) := , ce qui implique f (n+1) = ): lentropie
relative de relativement g (n) diminue avec n.
K(f (n+1) ||f (n) ) K(f (n) ||f (n1) ) (obtenu avec g (n) := f (n1) , ce qui implique g (n+1) =
f (n) ): la dissemblance entre la distribution actuelle et la prcdente (telle que mesure
par K(f (n) ||f (n1) )) diminue avec n.
Exemple 3.15 (suite de lexemple 3.13) Supposons que la distribution initiale f (0) soit
f (0) (a) = 0.9 et f (0) (b) = 0.1. En employant 3.21 et le thorme 3.6, les distributions
successives f (n) au temps t = n et leur divergence K(f (n) ||) (en nats) relativement la
distribution stationnaire = f () (avec (a) = (b) = 0.5) sont, dans lordre,

n f (n) (a) f (n) (b) K(f (n) ||)


0 0.9 0.1 0.3681
1 0.633 0.367 0.0358
2 0.544 0.456 0.0039
3 0.515 0.485 0.0005
... ... ... ...
0.5 0.5 0

valuation 21

Dterminez la seule rponse correcte:


3.4. CHANES DE MARKOV DORDRE SUPRIEUR 71

1. une fois quil a quitt un tat, le systme y retournera avec la probabilit un si ltat est
a) transient; b) absorbant; c) rcurrent; d) apriodique.
2. la matrice didentit I est la matrice de transition dune chane de Markov dont tous les
tats sont a) transients; b) absorbants; c) irrversibles; d) apriodiques.
3. soit P une matrice de transition deux-par-deux. Le nombre minimal de composants non-
zro de P assurant la rgularit de la chane de Markov est a) 1; b) 2; c) 3; d) 4.
4. supposons que P 5 = I, o P soit une matrice de transition de Markov finie et I la
matrice didentit. Alors P est a) indtermine; b) rgulire; c) I; d) apriodique.

3.4 Chanes de Markov dordre suprieur

O BJECTIFS PDAGOGIQUES DE LA SECTION 3.4


Aprs avoir tudi cette section et la suivante, vous devriez
tre capable de gnraliser les concepts de la section prcdente aux chanes de
Markov dordre arbitraire r
comprendre les fondements thoriques du test de lordre de la chane et tre capable
de lappliquer
connatre le concept de sur-paramtrage et ses consquences sur la simulation de
texte

Dfinition 3.11 Une chane de Markov dordre r > 0 est un processus stochastique
discret dont la mmoire est limite aux r tats passs, soit:

p(xn |x1n1 ) = p(xn |xnr


n1
) n r + 1

Une chane de Markov dordre r = 0, galement appele processus de Bernoulli, est


un processus stochastique sans mmoire, cest--dire

p(xn |x1n1 ) = p(xn ) n 1

Une chane de Markov dordre zro est donc clairement un processus indpendant.
Tous les processus de Markov considrs ici sont stationnaires, cest--dire que leurs
n1
probabilits de transition p(xn |xnr ) sont indpendantes du temps. Ces dernires
sont gnralement dnotes ici par p(|) o est ltat actuel et r spci-
tats immdiatement antrieurs. Par construction, p(|) := p()/p()
fie les rP
0 avec p(|) = 1.

3.4.1 Distribution stationnaire et taux dentropie

Une chane de Markov de r-ime ordre sur dfinie par les transitions p(|) o et
r peut formellement tre considre comme une chane de Markov de premier ordre sur
r avec une matrice de transition de probabilit (mr mr ) Q = (q ) (o = 1r r et
= 1r r ) donne par

q = q(|) := 1 2 2 3 . . . r1 r p(r |1r ) (3.23)


72 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

F IG . 3.7 Une chane de Markov dordre r (ici k = 4) sur est spcifie par lensemble de
probabilits conditionnelles de la forme p(4 |1 2 3 4 ). La mme chane peut tre consi-
dre comme une chane de Markov de premier ordre q sur r o = (1 2 3 4 ) et
= (1 2 3 4 ); comme exprim par 3.23, la matrice de transition q est zro, moins que
1 = 2 , 2 = 3 et 3 = 4 .

o ab := 1 si a = b et ab := 0 si a 6= b. Lquation 3.23 nous dit que la transition est


possible si et seulement si les r 1 premiers tats lmentaires de correspondent aux r 1
derniers tats lmentaires de (voir figure 3.7)
Supposons en outre que la chane Q = (q ) soit rgulire (cest--dire que chaque tat r
communique avec chaque tat de r et que la chane soit apriodique). Il y a alors une seule
distribution stationnaire () = (1r ) sur r satisfaisant 3.16 sur r , cest--dire, en em-
ployant 3.23:
X
(1 , 2 , . . . , r ) p(r+1 |1 , 2 , . . . , r ) = (2 , . . . , r , r+1 ) (3.24)
1
P P
De la mme faon, 3.18 montre que le taux dentropie correspondant h est h = () q log q
ou, en employant 3.23
X X
h = () p(|) log p(|) (3.25)
r

Rappel : en gnral, lentropie conditionnelle hk (X) := H(Xk |X1k1 ) est dcroissante dans
k. Dautre part, 3.25 montre que le taux dentropie h (X) concide avec hr+1 (X). En conclu-
sion :

Thorme 3.10 Pour une chane de Markov de r-ime ordre, h (X) = hr+1 (X).
Cest--dire

h1 (X) h2 (X) hr (X) hr+1 (X) = hr+2 (X) = hr+3 (X) = . . . = h (X)
(3.26)

Le comportement 3.26 de hk (X) est illustr en figure 3.10 b) pour r = 1 et en figure 3.10 c)
pour r = 3.
Cas particuliers :
r = 1: le taux dentropie devient
X X X X
h = () p(|) log p(|) = j pjk log pjk
j k

qui est la mme expression que 3.18.


3.5. RECONSTRUCTION DE MODLES DE MARKOV PARTIR DES DONNES 73

F IG . 3.8 Une chane de Markov de second ordre p(|) sur = {a, b} (exemple 3.16) crite
comme une chane de premier ordre q sur les bigrammes = 1 2 2 et = 1 2 2 .
Les transitions sont interdites si 2 6= 1 : par exemple, la transition de = ab = aa est
impossible.

r = 0: le taux dentropie devient


X X
h = p() log p() = k log k
k

qui est lentropie de la distribution stationnaire correspondante.


Exemple 3.16 Considrons (figure 3.8) la chane de Markov dordre r = 2 on m = 2 tats
= {a, b}, avec

p(a|aa) = 0.3 p(b|aa) = 0.7 p(a|ab) = 0.6 p(b|ab) = 0.4


p(a|ba) = 0.7 p(b|ba) = 0.3 p(a|bb) = 0.4 p(b|bb) = 0.6

Par symtrie, la distribution stationnaire (1 , 2 ) obissant 3.24 savre tre la distribution


uniforme sur 2 , soit (aa) = (ab) = (ba) = p(bb) = 41 . Par exemple, on vrifie que
lgalit suivante est valable
1 1 1
(aa) p(a|aa) + (ba) p(a|ba) = 0.3 + 0.7 = = (aa)
4 4 4
ainsi que dautres galits impliques dans 3.24. Le taux dentropie 3.25 est

h = (aa) [p(a|aa) log p(a|aa) + p(b|aa) log p(b|aa)]


(ab) [p(a|ab) log p(a|ab) + p(b|ab) log p(b|ab)]
(ba) [p(a|ba) log p(a|ba) + p(b|aa) log p(b|ba)]
(bb) [p(a|bb) log p(a|bb) + p(b|bb) log p(b|b)] =
1
[0.3 log 0.3 + 0.7 log 0.7 + 0.6 log 0.6 + 0.4 log 0.4] = 0.189 nats
2

3.5 Reconstruction de modles de Markov partir des donnes

Jusqu prsent, nous avons considr que les divers modles qui nous intressaient (station-
naire, Markov dordre r, Markov dordre 1, etc.) taient donns. Trs souvent, cependant, nous
ne disposons que dune ralisation empirique dun processus, cest--dire que seules les don-
nes D sont connues, et que les modles M doivent tre infrs partir des donnes D. Ce
74 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

P
F IG . 3.9 Lidentit l n() = n() a lieu si et seulement si il ny a pas doccurrence
dun symbole de dans les l derniers symboles de xn1 .

type de situation est paradigmatique en statistique infrentielle (voir module S1). Par souci de
clart, les grandeurs empiriques (respectivement thoriques) seront dornavant indexes par la
lettre D (respectivement M ).

3.5.1 Distributions empiriques et thoriques

Une squence de k tats conscutifs xl+r1


l k est appele un k-gramme. Etant donns le
k-gramme k et le l-gramme l , le k + l-gramme obtenu en concatnant la
droite de est simplement dnot par . La longueur dune sous-squence est simplement
dnote ||: par exemple, k = || et l = ||.
Les donnes D consistent en xn1 , la squence complte observe de taille n. Soit n() leffectif
empirique du k-gramme k , savoir le nombre de fois que la sous-squence se produit
dans xn1 (par exemple, le bigramme = 11 est contenu n() = 3 fois dans la squence
x71 = 0111011). Le nombre de tous les k-grammes contenus dans une squence de longueur n
est (pour n k)
X
n() = n k + 1
k

Aussi avons-nous
X
n() n()
l

o lgalit est atteinte ssi les donnes xn1 ne contiennent pas doccurences dlments de
plus proches que l endroits du bord de droite (voir figure 3.9).
La distribution empirique et la distribution empirique conditionnelle sont dfinies comme
n() n()
f D () := f D (|) := P
k l (3.27)
nk+1 l n( )
P
o les dnominateurs assurent une normalisation correcte, savoir k f D () = 1 et
P D
l f (|) =P1. Asymptotiquement, soit pour n grand, nous avons approximativement

n k + 1 = n et l n() = n(), et ainsi

n() n()
f D ()
= f D (|)
= k l (3.28)
n n()
Afin de souligner le contraste avec les ditributions empiriques, nous dnoterons dornavant les
distributions thoriques correspondantes f M () et f M (|) avec
p()
f M () := p() f M (|) :=
p()
3.5. RECONSTRUCTION DE MODLES DE MARKOV PARTIR DES DONNES 75

o p(. . .) est la mesure de probabilit compatible dfinie dans la section 3.

Exemple 3.17 La l-ime squence Thue-Morse Dl est une squence binaire construite r-
cursivement comme suit:

D0 = 1 Dl+1 = Dl Dl

o dnote la concatnation et linversion binaire D remplaant chaque symbole de D (dans


lordre) par son complment, savoir 1 = 0 et 0 = 1. Les premires squences Thue-Morse
sont

l Squence Thue-Morse Dl
0 1
1 10
2 1001
3 10010110
4 1001011001101001
5 10010110011010010110100110010110
6 1001011001101001011010011001011001101001100101101001011001101001

En gnral, la l-ime squence Dl contient 2l symboles binaires en proportions gales (pour


l 1). Dl peut galement tre obtenue en appliquant l fois la rgle de substitution 1 10
et 0 01 la squence initiale D0 = 1. Les entres impaires de Dl+1 reproduisent Dl .
Bien quelles soient purement dterministes, les squences Dl peuvent tre utilises pour
dfinir les distributions empiriques f D () et les distributions conditionnelles empiriques
f D (|). Par exemple, pour D = D6 , on trouve

symbole 1 0 total
1 1
frquence empirique relative 2 2 1

bigramme 11 10 01 00 total
frquence empirique relative 10
= 1 21
= 1 21
= 1 11
= 1
1
63 6 63 3 63 3 63 6

trigramme 111 110 101 100 011 010 001 000 total
frquence rel. emp. 0 10
= 16 10
= 16 11
= 16 10
= 16 10
= 16 11
= 16 0 1
62 62 62 62 62 62

symbole conditionnel 1|11 0|11 total 1|10 0|10 total


frquence empirique relative 0 1 1 10
= 12 11
= 12 1
21 21

symbole conditionnel 1|01 0|01 total 1|00 0|00 total


1 1
frquence empirique relative 2 2 1 1 0 1

Le comportement de hk pour k 1 pour la squence D14 (contenant 16384 symboles


binaires) est illustr en figure 3.10.

Les valeurs des distributions empiriques f D () et les distributions conditionnelles f D (|)


(comme celles trouves dans lexemple 3.17) peuvent servir dfinir un modle, i.e. des distri-
76 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

butions thoriques f M () et f M (|). De nouvelles squences stochastiques D peuvent leur


tour tre simules partir de chanes des Markov avec les paramtres f M () et f M (|). Par
construction, les proprits statistiques de la squence rsultante D seront similaires celles
de la squence dapprentissage D:

3.5.2 La formule des types pour les chanes de Markov

Considrons une chane de Markov de r-ime ordre dfinie par la distribution conditionnelle
f M (|) o et r . La probabilit dobserver les donnes xn1 est
n
Y Y Y
P (xn1 ) = p(xr1 ) p(xi |xi1 r
ir ) = p(x1 ) f M (|)n()
i=r+1 r

Pour r fix et pour n , la contribution du terme p(xr1 ) devient ngligeable relativement


la contribution du produit. Ainsi, asymptotiquement, soit pour n grand, les effets de bord
causs par la finitude de n et se produisant au tout dbut ou tout la fin de la squence xn1
deviennent ngligeables, et lon peut crire approximativement
Y Y
P (xn1 )
= f M (|)n() (3.29)
r

Dans la mme approximation (cf. 3.27) nous avons


n() n()
f D ()
= f D (|)
= r (3.30)
n n()
Intuitivement, nous pouvons nous attendre ce que pour n grand, la distribution empirique
f D (|) tende vers f M (|) avec des fluctuations autour de cette valeur. Le thorme suivant
(o, par commodit, les entropies sont exprimes en nats) montre que cest effectivement le
cas; de plus, la fluctuation des valeurs empiriques autour des valeurs thoriques est contrle
par la divergence conditionnelle de Kullback-Leibler Kr (f D ||f M ) dordre r:

Thorme 3.11 (formule des types pour les chanes de Markov) Pour les chanes
de Markov dordre r, la probabilit dobserver la distribution empirique condition-
nelle f D (|) (pour tout et r ) est, asymptotiquement,

P (f D | f M ) exp(n Kr (f D ||f M )) (3.31)

o
X
Kr (f D ||f M ) := f D () K([f D ||f M ]|) (3.32)
r
X f D (|)
K([f D ||f M ]|) := f D (|) ln (3.33)
f M (|)

En particulier, pour des effectifs donns n() (et donc pour des f D () donns et pour des
f D (|)) donns, la probabilit 3.31 est maximale si et seulement si fM (|) = f D (|):
comme prvu, lestimation de vraisemblance maximale du modle M est simplement donne
par la grandeur empirique correspondante (voir module S1 pour une exposition plus dtaille
du cas indpendant).
3.5. RECONSTRUCTION DE MODLES DE MARKOV PARTIR DES DONNES 77

Remarque : K0 (f D ||f M ) est la divergence (inconditionnelle) rgulire :


X f D ()
K0 (f D ||f M ) = K(f D ||f M ) = f D () log
f M ()

D MONSTRATION Rappel : an bn signifie limn n1 log(an /bn ) = 0. Par exemple,


lapproximation de Stirling est n! nn exp(n).
Q
La valeur de f D (|) est la mme pour toutes n()!/( n()!) donnes xn1 possdant
les mmes effectifs n() mais diffrant de par lordre doccurence. Ainsi
Y Y 1
P (f D | f M )
= n()! f M (|)n()
n()!
r

Prendre le logarithme en employant 3.30 et lapproximation de Stirling donne


" #
X X n()n() M
D M n()
ln P (f | f ) = ln f (|) =
r
n()n()
X X f M (|) X X f D (|)
D D
= n() ln = n f () f (|) ln
f D (|) f M (|)
r r

Exemple 3.18 Considrons une chane de Markov de premier ordre avec deux tats a et b.
Dans un tat donn (a ou b), le systme reste dans le mme tat avec la probabilit 0.9, et
change avec la probabilit 0.1. Cest--dire f M (a|a) = 0.9, f M (b|a) = 0.1, f M (b|b) = 0.9
et f M (a|b) = 0.1. Supposons que les donnes soient de la forme

D aaaa
| {z
aaaa}
n fois

Alors f D (a) = 1, f D (b) = 0, f D (a|a) = 1 et f D (b|a) = 0. Alors

f D (a|a) f D (b|a)
K([f D ||f M ]|a) = f D (a|a) ln M
+ f D (b|a) ln M =
f (a|a) f (b|a)
1 0
= 1 ln + 0 ln = 0.105 nats
0.9 0.1
Dautre part, ni f D (a|b) ni f D (b|b) ne sont dfinis, puisque le systme na jamais t observ
dans ltat b: les quations 3.27 ou 3.28 retournent la valeur indtermine 0/0 (que lon
considre finie). Donc K([f D ||f M ]|b) nest pas dfini, mais K1 (f D ||f M ) lest:

K1 (f D ||f M ) = f D (a) K([f D ||f M ]|a) + f D (b) K([f D ||f M ]|b) =


= 1 2.30 + 0 K([f D ||f M ]|b) = 0.105 nats

Ainsi

P (f D | f M ) exp(n 0.105) = (0.9)n

Par exemple, la probabilit dobserver la squence aaaaaaaaaa sous le modle (n = 10)


est approximativement (0.9)10 = 0.35 (la formule est exacte au terme initial prs P (X1 =
a), dj nglig dans 3.29); la probabilit dobserver la squence aaaaaaaaaaaaaaaaaaaa
78 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

(n = 20) est (0.9)20 = 0.12, etc.

Exemple 3.19 (exemple 3.18, suite). Par symtrie, la probabilit stationnaire associe la
chane est (a) = (b) = 0.5, et le taux dentropie est

h = (a)[f M (a|a) ln f M (a|a) + f M (b|a) ln f M (b|a)] (b)[f M (a|b)


ln f M (a|b) + f M (b|b) ln f M (b|b)] = 0.9 ln 0.9 0.1 ln 0.1 = 0.325 nats

Donc la taille de lensemble des squences typiques augmente jusqu |Tn ()| = exp(0.325
n n
n) = (1.38) , au lieu de 2 pour un processus maximalement alatoire (= indpendant +
uniforme). En dautres termes, la dynamique du systme observ se comporte comme si
seuls 1.38 choix effectifs taient disposition chaque tape, au lieu de 2 choix effectifs (
savoir a et b) pour la dynamique maximalement alatoire.

3.5.3 Vraisemblance maximale et maldiction de la dimensionnalit

Supposons que lon observe une squence xn1 n de longueur n avec m := || tats dont
on pense quils sont gnrs par une chane de Markov dordre r. La spcification complte de
cette dernire ncessite que lon dtermine toutes les grandeurs de la forme f M (|) pour tout
et r soit un total de mr (m 1) grandeurs (les grandeurs P f M (|) ne sont pas
compltement libres, mais elles doivent obir aux mr contraintes f M (|) = 1 pour
tout r , do le facteur m 1).
Mais mme pour des valeurs relativement modestes de m et r, le nombre de paramtres libres
mr (m 1) augmente trs rapidement (par exemple 48 paramtres libres pour m = 4 et r = 2,
ou 54 paramtres libres pour m = 3 et r = 3). Par consquent, la quantit de donnes D
requise pour estimer tous ces paramtres avec une marge derreur raisonnable devient trs
grande! Ce phnomne, que lon appelle parfois la maldiction de la dimensionnalit, repr-
sente un inconvnient majeur qui restreint normment lemploi des modles markoviens pour
r grand, malgr la gnralit et la flexibilit de ces derniers.
Concrtement, considrons lestimation de vraisemblance maximale qui consiste estimer
f M (|) comme la valeur fM (|) maximisant P (f D |f M ) pour une f D donne. La formule
des types 3.31 dmontre alors que la recherche de la fM (|) estime est simplement donne
par la distribution empirique correspondante fM (|) = f D (|). Mais une squence D =
xn1 de longueur n contient un maximum de nr transitions distinctes , et si m ou r sont
assez grands, la majorit des transitions observes thoriquement ne se produiront simplement
pas dans D = xn1 , et les estimations de vraisemblances maximales correspondantes seront
donnes par la valeur fM (|) = 0, mme si f M (|) > 0.
Ce problme de transitions inobserves se produit chaque fois que le nombre dtats pos-
sibles m ainsi que lordre de la chane r sont grands en comparaison de la taille chantillon
n. Diffrents remdes ont t proposs afin de pallier ce problme, comme la stratgie du
trigramme qui consiste estimer f M (3 |1 2 ) (pour une chane de Markov dordre r = 2)
comme
fM (3 |1 2 ) = 0 f D (3 ) + 1 f D (3 |2 ) + 2 f D (3 |1 2 )
o le choix optimal des poids non-ngatifs 0 , 1 et 2 , obissant 0 + 1 + 2 = 1 est
typiquement dtermin par essai et erreur et a pour but de maximiser un indice de performance
relativement une application donne.
3.5. RECONSTRUCTION DE MODLES DE MARKOV PARTIR DES DONNES 79

Bien quelles soient parfois satisfaisantes pour une application pratique donne, de telles es-
timations manquent de fondements thoriques et de justification formelle. Cette situation est
quelque peu analogue au problme des espces inobserves qui se produit chaque fois que
le nombre dtats possibles m est si grand en comparaison de la taille chantillon n quil se
peut que certains tats naient pas t observs du tout dans les donnes D. Bien quil ait
t identifi clairement dans les donnes textuelles et biologiques depuis un certain temps, ce
problme na pas reu de solution simple et universellement convenue; on peut toutefois se
rfrer au module L1 pour une stratgie qui vise estimer le nombre total dtats (= observs
+ inobservs) possibles.

3.5.4 Tester lordre dune chane de Markov

Dnotons f D (. . .) la fonction de distribution empirique dtermine daprs les donnes D =


xn1 n , et dnotons f M (. . .) p(. . .) sa contrepartie thorique relativement un modle M .
Les entropies correspondantes empiriques et thoriques hk (X) introduites dans la section 3.1
sont respectivement
X X
k1
hM k
k (X) = H(X1 ) H(X1 )= f M () f M (|) ln f M (|)
k1
X X
hD
k (X) := D
f () f D (|) ln f D (|)
k1

Supposons que le modle M soit une chane de Markov dordre r. Alors le thorme 3.10
implique
hM M M M M M M
1 h2 hr hr+1 = hr+2 = hr+3 = . . . = h = h
M

De faon quivalente, la grandeur dM


k dfinie pour k 1 par
k1
dM M M k
k := hk hk+1 = 2H(X1 ) H(X1 ) H(X1k+1 )
obit, pour une chane de Markov dordre r, aux conditions :
dM
1 0 dM
2 0 dM
r 0 dM M M
r+1 = dr+2 = . . . d = 0

Donc le plus grand k pour lequel dM k est strictement positif indique lordre r = k de la chane
M
de Markov M . Intuitivement, dk mesure la rduction de lincertitude lorsque le dernier sym-
bole dune squence est prdit laide dun pass de longueur k au lieu de k 1, do dMk =0
si k > r.
Comme avec tout problme infrentiel en statistique, la difficult est due au fait que les entro-
pies conditionnelles hM k
k sont des grandeurs thoriques dfinies par (m 1)m paramtres qui
n
ne sont pas directement observables. Mais si les donnes D = x1 sont assez nombreuses, on
sattend ce que hD M
k soit proche de hk , pour k petit. Aussi le rapport nombre de paramtres
log n
estimer/nombre de donnes est-il petit si et seulement si k est petit relativement log m.
Donc les estimations empiriques sont bonnes tant que k kmax , o kmax est de lordre de
log n
log m . Les figures 3.10 et 3.11 suggrent que

1 log n
kmax := (3.34)
2 log m
est un choix pragmatique satisfaisant.
Par consquent, pour k kmax , de grandes valeurs de dDk constituent un signe que le modle
est probablement dordre k, comme le confirme le test de vraisemblance maximale ci-dessous:
80 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

Le test dordre

Considrons un processus de Markov sur || = m tats observs n fois successives, propos


duquel, pour k kmax , deux hypothses sont en comptition, savoir:
H0k : : le processus est gouvern par une chane de Markov dordre k 1
H1k : le processus est gouvern par une chane de Markov dordre (strict) de k
Alors H0k est rejete au niveau si

2n dD D D 2 2 k1
k = 2n [hk hk+1 ] 1 [(m 1) m ] (3.35)

o dD
k est mesur en nats.

Le test peut tre appliqu successivement pour k = 1, 2, ... kmax := 21 ln ln n


m . Des modles
candidats potentiels de k-ime ordre sont signals par des valeurs leves de dDk . Par exemple,
si tous les dk sont petits, un modle dindpendance peut tre considr (voir figure 3.11). Si
tous les dk sont grands, chaque k + 1-ime modle bat le modle dordre k immdiatement
infrieur. La figure 3.11 montre que lordre r de la chane est signal par un pic dD k (pour
k kmax ).

Exemple 3.20 Soit M une chane de Markov binaire dordre 3 spcifie par f M (4 |1 2 3 )
sur = {a, b}. Une squence de longueur n = 1024 est gnre partir de ce modle,
daprs lequel les distributions empiriques f D sont dtermines et les entropies condition-
nelles hD
k (X) calcules.

Les valeurs de hD D 2 2 k1 au niveau


k (X) et dk ainsi que le seuil 1 [df] avec df = (m 1) m
de signification = 0.001 sont:

k hD
k dDk 2n dDk df 20.999 [df]
1 0.692 0 0 1 10.8
2 0.692 0.001 2.05 2 13.8
3 0.691 0.054 110.59 4 16.3
4 0.637 0.006 12.29 8 18.
5 = kmax 0.631 0.0088 18.022 16 20.5

D MONSTRATION Les stratgies de rapport de vraisemblance, dont Neyman et Pearson ont


montr quelles minimisent les erreurs des deux types (voir module S1), conduisent prendre
comme variable de dcision le rapport de probabilits correspondant aux deux modles ou,
ce qui est quivalent, leur rapport de vraisemblance logarithmique LL

P (f D |fk ) P (f D |fk )
LL := log
P (f D |fk1 ) P (f D |fk1 )

o fk est, (dans le sens ML), le meilleur modle de f D par une chane de Markov dordre
k, et fk1 est le meilleur modle pour f D dordre k 1. Le premier est plus gnral que le
dernier et va donc aboutir un meilleur ajustement, soit P (f D |fk ) P (f D |fk1 ), cest--
dire LL 0. Dautre part, la formule 3.31 des types P (f D | f M ) exp(n Kr (f D ||f M ))
donne

LL = n [Kk1 (f D ||fk1 ) Kk (f D ||fk )] 0


3.5. RECONSTRUCTION DE MODLES DE MARKOV PARTIR DES DONNES 81

F IG . 3.10 Les valeurs observes hD M


k (ligne continue) et les valeurs thoriques hk (ligne
pointille) en termes de k pour diffrents modles. Dans a), b) et c), les estimations de vrai-
semblance maximale empirique hD k concident approximativement avec les valeurs thoriques
M 1 log n
hk tant que k kmax = 2 log m . Les estimations avec k > kmax ne sont pas fiables en raison
de la prolifration de transitions inobserves. a): processus uniforme et indpendant (pile ou
face quilibrs) de longueur n = 1024 sur m = 2 tats. b): chane de Markov dordre r = 1 de
longueur n = 1024 sur m = 2 tats (voir exemple 3.13). c): chane de Markov dordre r = 3
de longueur n = 1024 sur m = 2 tats (voir exemple 3.20). d): la figure reprsente les valeurs
empiriques hD k obtenues daprs la 14-ime squence D
14 de longueur n = 214 sur m = 2

tats (voir exemple 3.17).


82 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

F IG . 3.11 Valeurs observes (ligne) et attendues (points) de dk = hk (X) hk+1 (X) en


termes de k pour les modles prsents en figure 3.10.

Finalement, les divergences conditionnelles Kr (f D ||fr ) sont, pour n grand, bien reprsen-
tes par leurs approximations quadratiques, les khi-carrs 21n 2 (f D ||fr ). On peut d-
montrer que ces derniers suivent sous le modle fr , une distribution du khi-carr 2 [df] o
df est le nombre de paramtres libres associs au modle dordre r. On a donc dmontr que
la diffrence 2n[Kk1 (f D ||fk1 ) Kk (f D ||fk )], cause par les fluctuations de f D possi-
blement produites par fk mais non par fk1 , se comporte comme un 2 [df] avec df gal la
diffrence des nombres de paramtres libres entre les deux modles.
En assemblant les les pices, on obtient la recette infrentielle rejeter le modle fk1 et
accepter le modle fk au niveau si 2n [Kk1 (f D ||fk1 ) Kk (f D ||fk )] 21 [df] o
df est ici (m 1) mk (m 1) mk1 = (m 1)2 mk1 .
La dmonstration sera complte si nous montrons que Kk1 (f D ||fk1 ) = hD
k (et que
Kk (f D ||fk ) = hD
k+1 ). Mais il rsulte de 3.2 que
X X
k1
hD k
k (X) = H(X1 ) H(X1 )= f D () log f D () + f D () log f D ()
k k1
(a) X X X
= f D () log f D () + f D () log f D ()
k1 k1
(b) X X
= f D () f D (|) log f D (|)
k1
3.5. RECONSTRUCTION DE MODLES DE MARKOV PARTIR DES DONNES 83

3.5.5 Simuler un processus de Markov

Etant donnes les n observations xn1 , et sous lhypothse que le processus sous-jacent est une
chane de Markov dordre r,
on dtermine tout dabord lordre k de la chane (avec k 12 ln ln n
m ) laide du test 3.35.
on estime ensuite les transitions thoriques correspondantes f M (|) (avec et
r ) par les transitions empiriques f D (|) := n() (estimation de vraisemblance
maximale).
A ce stade, on est en position de simuler le processus de Markov en faisant tourner un processus
de k-ime ordre avec la matrice de transition f D (|) partir dun tat initial r tir avec
la probabilit f D ().

Exemple 3.21 Ecrite avec m = 27 tats (lalphabet + les espaces, sans ponctuation), la
version anglaise de la Dclaration Universelle des Droits de lHomme constitue un texte xn1
de longueur n = 8 149 partir duquel les distributions empiriques conditionnelles f D (|)
peuvent tre calcules. On peut imaginer que le texte a t produit par une chane de Markov
dordre r dfinie par lensemble de probabilits conditionnelles thoriques {f M (|)} o
est un r-gramme. Ces probabilits thoriques peuvent tre estimes (estimation ML) daprs
les estimations empiriques correspondantes, soit fM (|) := f D (|), et, en raison de 3.34,
log n 1 log 8 149
lestimation est garantie fiable pour r 21 log m = 2 log 27 = 1.36, qui est plutt petit! Les
simulations bases sur fM (|) = f D (|) avec || = r produisent:

r = 0 (Processus indpendant)
iahthire edr pynuecu d lae mrfa ssooueoilhnid nritshfssmo
nise yye noa it eosc e lrc jdnca tyopaooieoegasrors c hel
niooaahettnoos rnei s sosgnolaotd t atiet

Les frquences relatives de tous les m = 27 symboles sont correctement chantillonnes; en


particulier, la proportion despaces (16.7%) est respecte, et les mots ont peu prs la bonne
longueur. Il est toutefois vident que les transitions originales entre les symboles ne sont pas
reproduites correctement.

r = 1 (Chane de Markov de premier ordre)


erionjuminek in l ar hat arequbjus st d ase scin ero tubied
pmed beetl equly shitoomandorio tathic wimof tal ats evash
indimspre tel sone aw onere pene e ed uaconcol mo atimered

Les transitions de premier ordre sont prises en compte, ce qui rend cet chantillon plus lisible
que le premier (en particulier, les transitions consonnes-voyelles sont respectes).

r = 2 (Chane de Markov de second ordre)


mingthe rint son of the frentery and com andepent the halons
hal to coupon efornitity the rit noratinsubject will the the
in priente hareeducaresull ch infor aself and evell

Lchantillon commence ressembler de langlais, mais avec un zeste de latin....

r = 3 (Chane de Markov de troisime ordre)


law socience of social as the right or everyone held
84 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV

genuinely available sament of his no one may be enties the


right in the cons as the right to equal co one soveryone

Le texte ressemble nettement de langlais, avec des mots entiers reproduits correctement.
Cependant, nous sommes au-del de la limite prudente de kmax = 1.36: le texte simul
trahit son origine, savoir la Dclaration Universelle des Droits de lHomme, et non un autre
texte anglais original de taille comparable comme une recette culinaire ou un texte traitant de
mathmatiques. De faon quivalente, les estimations de modle fM (|) = f D (|) avec
|| = 3 sont sur-paramtres.

r = 4 (Chane de Markov de quatrime ordre)


are endowed with other means of full equality and to law no
one is the right to choose of the detent to arbitrarily in
science with pay for through freely choice work

Tous les mots simuls sont prsents de vritables mots anglais, ce qui reflte la grande
redondance de langlais R = 0.73 (voir exemple 3.5). Entre-temps, le problme de sur-
paramtrage empire....

r = 9 (Chane de Markov dordre 9)


democratic society and is entitled without interference and
to seek receive and impartial tribunals for acts violating
the fundamental rights indispensable for his

Le sur-paramtrage a atteint des niveaux scandaleux daprs les standards statistiques: len-
semble {f M (|)} de transitions dordre neuf (|| = 9) contient (27 1) 279 = 6.1 1013
paramtres estims daprs un texte de longueur n = 8.1 103 seulement! Par consquence,
des morceaux entiers du texte original sont reproduits sans altration dans le texte simul.

valuation 22

Dterminez la seule rponse correcte:

1. la maldiction de la dimensionnalit fait allusion un problme a) de visualisation


dans des espaces de grandes dimensions; b) de manque de rgularit des chanes de
Markov; c) dincapacit deffectuer un test dhypothses; d) de sur-paramtrage.

2. le nombre darguments de la fonction de la distribution stationnaire associe une chane


de Markov dordre r est a) 1; b) r 1; c) r; d) variable.

3. lobservation dune transition interdite par un modle de Markov a) est un vnement


rare; b) est possible si lchantillon est suffisamment petit; c) devrait se produire dans
une proportion infrieure au niveau de signification; d) indique limpossibilit du modle
considr.

4. la divergence conditionnelle de Kullback-Leibler Kr (f D ||f M ) dordre r a) est zro si et


seulement si une transition interdite se produit; b) est infinie si et seulement si une transi-
tion interdite se produit; c) augmente dans r; d) augmente avec la probabilit P (f D |f M ).
3.5. RECONSTRUCTION DE MODLES DE MARKOV PARTIR DES DONNES 85

Histoire et bibliographie
Section 3.3.5. Le comportement irrversible a t reconnu clairement et officiellement pour
la premire fois en Thermodynamique au milieu du XIXime sicle sous le nom de Se-
cond Principe de Thermodynamique, dclarant que lentropie (physique) dun systme
physique isol non-quilibr augmente jusqu atteindre lquilibre . La formulation
moderne du second principe, en termes de thorie de linformation pure, est donne
(dans le cadre des processus de Markov) par le thorme 3.9. Elle montre en particu-
lier que K(f (n) ||) diminue jusqu zro pour n . Si la distribution stationnaire
est uniforme (cest--dire j = 1/m pour tout j = 1, . . . , m), alors K(f (n) ||) =
log m H(f (n) ) o H(f ) est lentropie de Shannon de la distribution f : ici le thorme
3.9 confirme que H(f (n) ) augmente en effet dans n avec la limite log m. Mais dans le
cas gnral, o nest pas uniforme, le Second Principe devrait tre expos plus correc-
tement comme suit: lentropie relative (relativement ) dun systme physique isol
non-quilibr diminue jusqu ce que lquilibre soit atteint .
Section 3.5. La Dclaration Universelle des Droits de lHomme a t adopte par lassemble
gnrale de lONU (rsolution 217 A (III)) du 10 dcembre 1948.

Pour aller plus loin


Cover,T.M. et Thomas,J.A. Elements of Information Theory, Wiley (1991)
Hillman, C. An entropy primer, http://www.math.washington.edu/ hillman/PUB/primer.ps,
(1996)
Jelinek,F. Statistical Methods for Speech Recognition, The MIT Press, Cambridge, MA
(1998)
Mirkin,B. Mathematical Classification and Clustering, Kluwer, Dordrecht, (1996)
Shields, P.C. The Ergodic Theory of Discrete Sample Paths, Graduate Studies in Mathema-
tics, Volume 13, American Mathematical Society (1996)
Xanthos, A. Entropizer 1.1: un outil informatique pour lanalyse squentielle. Proceedings
of the 5th International Conference on the Statistical Analysis of Textual Data (2000).
86 CHAPITRE 3. PROCESSUS STATIONNAIRES & CHANES DE MARKOV
Chapitre 4

Exercices du module C3

par F. BAVAUD

4.1 Chanes de Markov de premier ordre

Exercice 4.1.1:

Une tudiante suivant un certain programme peut chouer ses examens une fois; si elle choue
deux fois, elle est limine du programme. Afin de formaliser le processus, considrons un mo-
dle cinq tats = {a, b, c, d, e} o a = enregistre dans le programme sans stre encore
prsente , b = premire tentative russie , c = premire tentative infructueuse, seconde
tentative faire , d = seconde tentative russie et e = seconde tentative infructueuse
(limine) .
A)
dessinez le diagramme des transitions possibles entre les cinq tats.
quels tats atteignent quels tats ?
quels tats communiquent avec quels tats ?
numrez toutes les classes rcurrentes et transientes.
numrez tous les tats absorbants.
B) Identifiez les tats b et d (qui correspondent tous deux une tentative russie) et rpondez
aux mmes questions.

Exercice 4.1.2:

Considrons la table de changement dopinion suivante N = (njk ), qui donne les effectifs
croiss de lopinion de 493 Danois slectionns au hasard en ce qui concerne la CEE en Oc-
tobre 1971 (lignes j = 1, . . . , 3) par leur opinion envers la CEE en dcembre 1973 (colonnes

87
88 CHAPITRE 4. EXERCICES DU MODULE C3

k = 1, . . . , 3) (source : Anderson 1990)



oui non indcis total
oui 167 36 15 218

N =
non 19 131 10 160 (4.1)
indcis 45 50 20 115
total 231 217 45 493

1. calculez la matrice de transition P associe la table de contingence N donne en 4.1.


2. calculez la distribution stationnaire associe la matrice de transition P .
3. supposons que la dynamique du changement dopinion en 26 mois ( = dcembre 1973
moins octobre 1971) obisse un processus de Markov la matrice de transition constante
P.
(a) si tout le monde tait initialement en faveur de la CEE (= oui ), quelle serait la
proportion dindividus restant dans ltat oui aprs 26 mois ? aprs 52 mois ?
long terme ?
(b) quelle est lincertitude long terme sur ltat dune personne ?
(c) quelle est lincertitude conditionnelle sur ltat dune personne, connaissant son
tat 26 mois avant ?
(d) sans faire le calcul, crivez la formule donnant lincertitude conditionnelle sur
ltat dune personne, connaissant son tat 52 mois avant.
Chapitre 5

Module C2 : Codage efficace de


linformation

par J.-C. C HAPPELIER

O BJECTIFS PDAGOGIQUES DU CHAPITRE 5


Dans ce chapitre, nous prsentons :
1. les bases du codage des sources dinformation discrtes afin den compresser
les messages ;
2. les conditions quun code doit remplir pour compresser de faon efficace ;
3. la limite fondamentale la compression des donnes ;
4. et une mthode pour produire des codes de compression efficaces.

Introduction

Dans le chapitre prcdent, nous avons introduit la mesure dincertitude de Shannon et plu-
sieurs de ses proprits. Cependant, nous navons pas encore montr quel point cette mesure
peut tre utile sur un plan pratique. Dans ce chapitre, nous prsentons le premier exemple de
problme pratique qui tire avantage de la mesure de Shannon. Ce problme est celui du codage
dune source dinformation discrte laide dune squence de symboles. Nous dveloppons
galement quelques mthodes efficaces pour effectuer de tels codages, puis nous tudions sous
quelles conditions de tel codages peuvent tre efficaces. Dans le cadre prcis des code non am-
bigus, lentropie savre tre la limite fondamentale la compression de donnes, cest--dire
quelle est fortement lie la longueur moyenne de code minimale possible.
Mais demandons nous dabord pour quelles raisons code-t-on une source ? Il y a en fait trois
raisons principales :
coder pour compresser les donnes, cest--dire pour rduire (en moyenne) la longueur des
messages.
Pour ce faire, il faut tenter de supprimer un maximum de redondance des messages.

89
90 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

Ut Zt
Source Codeur
F IG . 5.1 Schma de base pour le codage dune source : le symbole Ut , mis par la source au
temps t, est transform en un mot de code Zt .

coder pour assurer une bonne qualit de transmission en prsence de bruit.


Pour ce faire, il faut ajouter de la redondance afin de pouvoir corriger les messages bruits.
coder par souci de discrtion en rendant le message impossible (ou difficile) dchiffrer par
des lecteurs non autoriss. Pour ce faire, il faut rendre laccs au contenu dinformation du
message difficile.
Ce chapitre, ainsi que le chapitre 7, examine le premier aspect du codage, savoir coder par
souci defficacit. Le chapitre 9, ainsi que le chapitre 11, examinent le second aspect, savoir
le codage correcteur derreurs. Le chapitre 13 examine le dernier aspect, soit le codage pour
garantir une certaine confidentialit.
Le prsent chapitre aborde le problme du codage dune source dinformation discrte. Mais
quest-ce que cela signifie ? La section suivante rpond cette question. Nous examinons en-
suite lefficacit du codage dans le but de compresser les donnes. Enfin, la dernire section
fournit un algorithme pour construire un code efficace.

5.1 Coder une variable alatoire


O BJECTIFS PDAGOGIQUES DE LA SECTION 5.1
Aprs avoir tudi cette section, vous devriez savoir :
1. ce que signifie coder une source dinformation discrte sans mmoire ;
2. quelles sont les proprits gnrales dun code ;
3. quelle relation existe entre les codes et les arbres ;
4. sous quelles conditions certains codes peuvent exister.

Une source dinformation est un gnrateur de messages cest--dire un gnrateur de s-


quences de symboles. Un symbole est simplement un lment dun ensemble, appel alphabet.
Dans ce cours, seuls les alphabets finis seront abords. Lorsque lalphabet est fini, on dit que
la source dinformation est discrte ; et la taille de lalphabet est appele larit de la source.
Par ailleurs, seuls les messages de longueur finie seront considrs.
Par exemple, un journal peut tre considr comme une source dinformation discrte dont les
messages sont les textes contenus dans le journal, les symboles tant simplement les lettres de
lalphabet ordinaire (y compris les espaces et autres signes de ponctuation).
Les messages de la source entrent alors dans un codeur qui les transforme en une squence de
mots de code . Le schma de base dune telle structure de codage est donn en figure 5.1.
Un mot de code est simplement une squence (non vide) de symboles pris dans lalphabet de
codage, un autre alphabet employ par le codeur. Par consquent, le codage fait correspondre
les symboles-sources et les mots de code, un mot de code pouvant tre compos de plusieurs
symboles-codes.
5.1. CODER UNE VARIABLE ALATOIRE 91

Plus formellement, une source dinformation Ut , (plus gnralement U lorsque lindexation


explicite par le temps t nest pas pertinente), est un processus alatoire sur un alphabet donn
VU ; cest--dire une squence de variables alatoires sur VU .
Chaque symbole a une probabilit P (Ut = ui ) dtre mis par la source linstant t. On dit
que la source est sans mmoire si la probabilit quun symbole ui soit mis ne dpend pas des
valeurs mises prcdemment, cest--dire si :
t 1 ui VU P (Ut = ui |U1 ...Ut1 ) = P (Ut = ui ).

En outre, seules les sources stationnaires , cest--dire les sources pour lesquelles P (Ut =
ui ) ne dpend pas de t, sont prises en considration dans ce chapitre. Dans un tel cas, et
lorsquil ny a pas dambigut possible, P (U = ui ) sera dans la suite not simplement pi .
Nous supposons que pi 6= 0 pour tout symbole considr ui dans lalphabet de la source ; ce
qui signifie que nous ne nous proccupons pas des symboles de probabilit nulle.
En ce qui concerne le codeur, seul le cas le plus simple o un seul mot de code est associ
chaque symbole-source est pris en considration. Techniquement parlant, le processus de
codage Z := f (U ) est une application de lalphabet de la source VU lensemble de mots de
code VZ .
Soit Z lensemble de toutes les squences de longueur finie dlments de lalphabet Z.
Lensemble des mots de code VZ est un sous-ensemble de Z qui ne contient pas la chane
vide (cest--dire la squence de longueur 0).
En outre, nous nous concentrons sur les codes dans lesquels deux symboles diffrents de la
source correspondent deux mots de code diffrents. Techniquement parlant, lapplication f
est injective.
De tels codes, o Z = f (U ) est une application injective, sont appels codes non-singuliers .

Dfinition 5.1 (Code non-singulier) On dit que le code dune source dinforma-
tion discrte est non-singulier lorsque deux symboles diffrents de la source cor-
respondent deux mots de code diffrents.
Formellement, en notant zi le mot de code correspondant au symbole-source ui , nous
avons :
ui 6= uj = zi 6= zj .

Tous les codes pris en considration dans le reste de ce chapitre sont non-singuliers.
Puisquil ny a pas de raison de crer des mots de code qui ne sont pas utiliss, cest--dire
qui ne correspondent pas un symbole de la source, lapplication f de VU VZ est surjective ;
cest donc une bijection.

Exemple 5.1 (Codage dune source finie) Un exemple de code trs courant est celui du
code Morse. Ce code est utilis pour coder des lettres usuelles. Il emploie essentiellement
deux symboles : un point () et un tiret ().1 Par exemple, les lettres E, A et K sont respective-
ment codes , et .

tant donn que nous ne nous intressons pas uniquement au codage de symboles seuls, mais
galement au codage de messages (cest--dire des squences de symboles), nous examinons
1
En ralit quatre symboles sont employs en Morse : des sparateurs de lettres et des sparateurs de mots sont
galement utiliss.
92 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

des codes qui permettent de dcoder chaque message individuellement. De tels codes sont
appels des codes non-ambigus .

Dfinition 5.2 (Codes non-ambigus) On dit que le code dune source discrte est
non-ambigu si et seulement si chaque squence (de longueur finie) de mots de code
ne correspond qu un seul message de la source.

Plus formellement, on dit quun code est non-ambigu si et seulement si lextension triviale f de
lapplication f lensemble de messages VU , prenant sa valeur dans lensemble de squences
de mots de code de longueur finie VZ (f : VU VZ ), est une bijection.

Exemple 5.2 (Code ambigu) Considrons la source compose des trois symboles a, b et
c. Ses messages peuvent tre nimporte quelle squence de ces symboles ; par exemple
aabca est un message de cette source.
Le codage suivant de cette source :
a 7 1 b 7 00 c 7 11
est ambigu.
Par exemple, une fois cods, il ny a aucun moyen de distinguer le message aaaa du
message cc. En effet, tous deux sont cods 1111.

Exemple 5.3 (Code non-ambigu) Conservons la source de lexemple prcdent et consid-


rons prsent le code suivant :
a 7 1 b 7 00 c 7 10
On peut montrer que ce code est non-ambigu. Par exemple, la squence 10000 se dcode
abb et la squence 1000 se dcode cb.

5.1.1 Codes sans prfixe

Parmi les codes non-ambigus, certains prsentent un intrt particulier. Ce sont les codes sans
prfixe. Avant de dfinir ce quest un tel code, il nous faut introduire la notion de prfixe .
On dit quune squence z de longueur n (n 1) est un prfixe dune autre squence z si et
seulement si les n premiers symboles de z forment exactement la squence z. Par exemple,
abba est un prfixe de abbabc. Notez que toute squence est trivialement son propre prfixe.

Dfinition 5.3 (Code sans prfixe) On dit que le code dune source discrte est sans
prfixe lorsquaucun mot de code nest le prfixe dun autre mot de code.
Plus formellement, on dit quun code Z, dont lalphabet est Z et dont lensemble de
mots de code est VZ , est sans prfixe si et seulement si

z VZ y Z (zy VZ = y = )

( reprsentant la chane vide, cest--dire la chane de longueur 0 ).


5.1. CODER UNE VARIABLE ALATOIRE 93

Codes gnraux
Codes nonsinguliers
Codes nonambigus

Codes instantans

F IG . 5.2 Comment les diffrents types de codes sont relis.

Exemple 5.4 (Code sans prfixe) Considrons la source compose des trois symboles a, b
et c.
Le code suivant de cette source :
a 7 0 b 7 10 c 7 11
est sans prfixe.
Dautre part, le code suivant :
a 7 1 b 7 00 c 7 10
nest pas sans prfixe puisque 1 (le mot de code pour a) est un prfixe de 10 (le mot de code
pour c).

Pourquoi se focaliser sur des codes sans prfixe ? La rponse se trouve dans les deux proprits
suivantes (5.1 et 5.2), qui soulignent leur intrt.

Proprit 5.1 Tout code sans prfixe est non-ambigu.

Cependant, il est important de remarquer quil existe des codes non-ambigus qui ne sont pas
sans prfixe comme lexemple 5.3 le montre.
Venons-en maintenant la seconde proprit intressante des codes sans prfixe.

Dfinition 5.4 On dit quun code est instantan si et seulement si chaque mot de
code dans toute chane de mots de code peut tre dcod ds que lon a atteint sa fin.

Proprit 5.2 Un code est instantan si et seulement si il est sans prfixe.

Cette dfinition garantit quil nest ni ncessaire de mmoriser les mots de code reus ni dat-
tendre les suivants pour effectuer le dcodage. Un tel code permet dconomiser du temps et
de lespace dans le processus de dcodage dun message cod.
Jusqu prsent, nous avons rencontr diffrents types de codes : non-singulier, non-ambigu,
instantan. La faon dont ces diffrents types de codes sont relis les uns aux autres est rsume
sur la figure 5.2.

valuation 23
94 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

noeuds
intrieurs racine

profondeur
feuilles

F IG . 5.3 Rsum des termes se rapportant aux arbres.

Considrons une source dinformation U , dont les symboles sont u1 = 1, u2 = 2, u3 = 3, et


u4 = 4, avec la distribution de probabilit suivante :

ui 1 2 3 4
P (U = ui ) 0.5 0.25 0.125 0.125

Considrons donc le codage suivant de cette source, (o zi est le mot de code pour ui ) :

z1 z2 z3 z4
0 10 110 111

1. Le code est-il non-ambigu ?


2. Codez le message 1423312.
3. Dcodez la squence 1001101010.

valuation 24

Ces codes sont-ils sans prfixe ? Non-ambigus ? Instantans ?


a. z1 =00, z2 =10, z3 =01, z4 =11
b. z1 =0, z2 =1, z3 =01
c. z1 =1, z2 =101

5.1.2 Arbres n-aires pour le codage

Afin dtudier plus en dtail les proprits des codes instantans, nous devons introduire plus
de dfinitions et formuler quelques thormes. Parmi ceux-ci, loutil le plus utile ltude des
codes instantans est sans doute les arbres n-aires.
Pour commencer, rsumons le concept darbre, ainsi que les termes qui sy rapportent (cf
figure 5.3). Un arbre est un graphe (nuds et arcs) qui commence par un nud de racine
(simplement la racine). Chaque nud du graphe est soit une feuille soit un nud intrieur.2
2
Notez que daprs cette dfinition, la racine dun arbre non rduit un seul nud est aussi un nud intrieur.
5.1. CODER UNE VARIABLE ALATOIRE 95

Un nud intrieur a un ou plusieurs fils et est appel le parent de ses fils. Larit dun nud
est le nombre de ses fils. Un nud feuille est un nud sans fils, soit un nud darit 0.
Contrairement un arbre rel, la racine est gnralement reprsente au sommet de la figure
et les feuilles en bas. La profondeur dun nud dans un arbre est le nombre darcs parcourir
pour aller de la racine ce nud. Par convention, la profondeur de la racine est nulle. La
profondeur dun arbre est la profondeur maximale de ses feuilles, soit le nombre maximal
darcs pour aller de la racine une feuille. Finalement, on dit quun nud n1 couvre un autre
nud n2 si le chemin de la racine n2 contient n1 . Notez quun nud se couvre lui-mme, au
minimum.

Dfinition 5.5 (Arbre n-aire) Un arbre n-aire (n 1) est un arbre dans lequel
chaque nud intrieur a comme arit n, cest--dire quil a exactement n fils.
Un arbre n-aire complet est un arbre n-aire dans lequel toutes les feuilles ont la mme
profondeur.

Exemple 5.5 (Arbre n-aire)

Arbre binaire (n = 2) Arbre ternaire (n = 3) Arbre ternaire complet

Proprit 5.3 Dans larbre n-aire complet de profondeur d 0, chaque nud la


profondeur (0 d) couvre exactement nd feuilles.

Dfinition 5.6 (Arbre de codage) Un arbre de codage est un arbre n-aire, dont les
arcs sont tiquets par des lettres dun alphabet donn de taille n, de faon ce que
chaque lettre apparaisse tout au plus une fois partir dun nud donn.
Les mots de code dfinis par un tel arbre correspondent des squences dtiquettes
le long des chemins menant de la racine une feuille.

Exemple 5.6 (Arbre de codage)

a b c

2
a b c a b c
1

Un arbre de codage ternaire: le mot de code reprsent par la feuille 1 est ac et la feuille 2
reprsente le mot de code c.
96 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

Dfinition 5.7 (Code n-aire) Un code avec un alphabet de taille n est appel un
code n-aire.

Proprit 5.4 Pour tout code instantan n-aire, il existe au moins un arbre de co-
dage n-aire tel que chaque mot de code corresponde la squence dtiquettes dun
chemin (unique) de la racine une feuille.
Inversement, chaque arbre de codage dfinit un code instantan. Les mots de code de
ce code instantan sont dfinis comme les squences dtiquettes de chaque chemin
de la racine chaque feuille de larbre de codage.

En rsum, les codes instantans et les arbres de codage sont quivalents.

Exemple 5.7 Larbre de codage correspondant au code instantan de lexemple 5.4


({0, 10, 11}) est

0 1
a 0 1
b c

Par convention, les feuilles sont tiquetes par le symbole-source, dont le mot de code est le
chemin partir de la racine.

Notez que lorsque lon reprsente un code (instantan) par un arbre, il peut arriver que cer-
taines feuilles ne correspondent aucun mot de code. De telles feuilles sont appeles feuilles
inutilises.

Par exemple, larbre de codage binaire correspondant au code { 0, 101 } 0 1


a deux feuilles vides, comme illustr droite. 0 1
0 1
En effet, ni 11 ni 100 ne correspondent des mots de code. Ils sont
inutiles.

Dfinition 5.8 (Code complet) On dit que le code est un code complet lorsquil ny
a pas de feuille vide dans larbre de codage n-aire correspondant.

valuation 25

De chaque arbre ci-dessous, dites sil sagit ou non dun arbre de codage ; si oui, dites
1. quelle est son arit,
2. si le code correspondant est complet,
3. quelle est la longueur du mot de code associ au message c.
5.1. CODER UNE VARIABLE ALATOIRE 97

1) 2)

a b c d e
a b c d e f h i j k g

3) 4) 5)
a b c d e a b c
a b c d e f h i j k g

5.1.3 Ingalit de Kraft

Examinons prsent les conditions essentielles lexistence dun code instantan. Lingalit
de Kraft en est une condition ncessaire et suffisante.

Thorme 5.1 (Ingalit de Kraft) Il existe un code instantan D-aire de N mots


de code et dont les longueurs des mots de code sont les entiers positifs l1 , l2 , . . . , lN
si et seulement si
N
X
Dli 1. (5.1)
i=1

Lorsque lgalit se ralise dans (5.1), le code instantan correpondant est complet.

Exemple 5.8 Pour le code instantan binaire complet (D = 2) de lexemple 5.4


N
X
({0, 10, 11}), la somme Dli est 21 + 22 + 22 , cest--dire 12 + 41 + 14 qui est effec-
i=1
tivement gal 1.
De mme, lingalit de Kraft nous apprend quil existe au moins un code instantan ternaire
dont les longueurs de mots de code sont 1, 2, 2 et 4. En effet,
46
31 + 32 + 32 + 34 = 0.57 < 1.
81
Un tel code ne serait pas complet.

e-nnexe : Kraft Inequality


Attention! Un pige classique viter avec ce thorme est le suivant : le thorme nous
apprend uniquement quand un code instantan peut exister, mais il ne rpond absolument pas
la question est-ce quun code donn (avec telles et telles longueurs de ses mots de code) est
instantan ?.
Par exemple, le premier code donnPdans lexemple 5.4 ({1, 00, 10}) nest pas instantan.
Toutefois la somme correspondante Dli est 21 + 22 + 22 = 1. Le pige viter est
que le thorme 5.1 ne nous dit pas que ce code est instantan, mais quil existe un code
instantan avec les mmes longueurs de mots de code. Un tel code est par exemple donn dans
la seconde partie de lexemple 5.4 ({0, 10, 11}).
98 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

Donnons prsent la dmonstration du thorme 5.1.

D MONSTRATION
= Supposons tout dabord quil existe un code instantan D-aire dont les longueurs de
mots de code sont l1 , l2 , . . . , lN . Soit L := max li + 1. Considrons la construction de larbre
i
de codage correspondant Tcode consistant laguer Tcomplet ,3 larbre D-aire de profondeur L.

0 1
Tcode
Tcomplet 0 1 0 1

0 1 0 1 0 1 0 1

En raison de la condition instantan, aucun nud correspondant un mot de code ne


peut tre au-dessous dun autre nud correspondant un autre mot de code. Par consquent,
chaque nud correspondant un mot de code lague son propre sous-arbre de Tcomplet . En
examinant le ime mot de code et en appliquant la proprit 5.3 li (qui est < L), Tcode a,
pour ce nud uniquement, DLli feuilles de moins que Tcomplet .
P P
En considrant maintenant tout le code, Tcode a N
i=1 D Lli = D L N
i=1 D li feuilles de

moins que Tcomplet .


Toutefois, au plus DL feuilles peuvent tre retires, tant donn que Tcomplet a prcisment
DL feuilles. Par consquent N !
X
DL Dli DL ,
i=1

cest--dire
N
X
Dli 1.
i=1

En outre, dans le cas o le code considr est complet, tous les nuds correspondent un
mot de code ; donc tous les sous-arbres correspondants dans Tcomplet ont t lagus, et, par
XN
L
consquent, les D feuilles de Tcomplet ont t retires. Ceci signifie que DLli = DL ,
i=1
N
X
cest--dire Dli = 1.
i=1
= Inversement, supposons que l1 , l2 , . . . , lN soient des entiers positifs, de faon ce
que (5.1) soit vrifie. Soit L le plus grand de ces nombres L := max li , et nj le nombre de
i
ces li qui sont gaux j (1 j L).
L
X L1
X
j L
Lingalit peut donc tre note (5.1) nj D 1, cest--dire nL D nj DLj .
j=1 j=1
tant donn que nL 0, nous avons :
L2
X
L
D nL1 D nj DLj ,
j=1
5.1. CODER UNE VARIABLE ALATOIRE 99

cest--dire
L2
X
nL1 DL1 nj DLj1 .
j=1

Et tant donn que tous les nj sont entiers, nous obtenons successivement, pour 0 k
L1
Lk1
X
Lk
nLk D nj DLjk .
j=1

Ces ingalits constituent le point-cl de la construction dun code avec des longueurs de
mots de code l1 , l2 , . . . , lN :
1. commenons par un nud (la racine)
2. pour tout k de 0 L :
(a) on assigne chaque mot de code un nud de profondeur courante (k) tel que
li = k. Ces nk nuds deviennent donc des feuilles de larbre de codage.
(b) on tend tous les nuds restants de profondeur courante avec D fils.
X
Ce faisant, le nombre de nuds qui sont tendus ltape (2b) est Dk nj Dkj menant
jk
X
k+1 k+1j
D nj D nouveaux nuds pour ltape suivante. En raison des ingalits
jk
prcdentes, ce nombre est plus grand que nk+1 , laissant ainsi suffisamment de nuds pour
ltape suivante (2a).
Lalgorithme peut donc toujours assigner des nuds aux mots de code et construire ensuite
tout larbre de codage pour le code.
Par consquent, si les li satisfont lingalit (5.1), nous sommes en mesure de construire un
code instantan avec les longueurs de mots de code correspondant aux li .
P
En outre, dans le cas o i Dli = 1, le nombre de nuds restants aprs ltape (2a) lorsque
j = L est

X N
X X
L Lj L
D nj D =D DLli = DL (1 Dli ) = 0,
jL i=1 i

ce qui signifie que tous les nuds ont t affects un mot de code, cest--dire que le code
est complet.

Notez que cette dmonstration de lingalit de Kraft contient un algorithme efficace pour la
construction effective dun code D-aire instantan tant donnes des longueurs de mots de
code (lorsquun tel code existe).

Exemple 5.9 Existe-t-il un code binaire instantan avec des longueurs de mots de code l1 =
2, l2 = 2, l3 = 2, l4 = 3, et l5 = 4 ?
5
X
La rponse est oui, puisque 2li = 1/4 + 1/4 + 1/4 + 1/8 + 1/16 = 15/16 < 1.
i=1
Lexemple ci-dessous constitue un tel code:

3
Cest--dire en retirant entirement le sous-arbre un nud donn.
100 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

0 1

0 1 0 1 U u1 u2 u3 u4 u5
u1 u2 u
30 1 Z 00 01 10 110 1110
u4
0 1
u5

Exemple 5.10 Existe-t-il un code binaire instantan avec des longueurs de mots de code 1,
deux fois 2, 3, et 4 ?
5
X
La rponse est non, tant donn que 2li = 1/2+1/4+1/4+1/8+1/16 = 19/16 > 1.
i=1

valuation 26

Existe-t-il un code ternaire instantan avec des longueurs de mots de code 1, 2, 2, 3 et 4 ?

valuation 27

Parmi les arbres suivants, lequel (ou lesquels) a (ou ont) comme longueurs de mots de code :
2, 2, 3, 3 et 4.

u1 u2 u3 u4 u5 u1 u2 u3 u4 u5 u1 u2 u3

u2 u2 u3 u3 u4 u1 u2 u3 u4 u5

R SUM DE LA SECTION 5.1

Codes: instantan = non-ambigu = non-singulier


Codes sans prfixe: aucun mot de code nest le prfixe dun autre
quivalents aux codes instantans
quivalents aux arbres de codage
P li
Ingalit de Kraft: code D-aire instantan iD 1
5.2. CODAGE EFFICACE 101

5.2 Codage efficace

O BJECTIFS PDAGOGIQUES DE LA SECTION 5.2


Dans cette section, vous devriez :
1. comprendre ce que efficace signifie pour un code de compression ;
2. apprendre comment les codes instantans et les arbres n-aires probabiliss sont
lis ;
3. apprendre quelle est la limite universelle lefficacit dans le codage de
source sans mmoire ;
4. voir un exemple de codes efficaces.

5.2.1 Quest-ce quun code efficace ?

Il est temps daborder la question qui nous intressait au dpart, savoir celle du codage par
souci defficacit. Notre objectif est de coder une source dinformation de faon minimiser
la longueur moyenne de codage ; cest--dire la longueur moyenne dune squence de mots de
code.
condition que la source ait certaines proprits gnrales (lesquelles sont pratiquement tou-
jours vrifies) minimiser la longueur moyenne de code quivaut minimiser lesprance de
la longueur de code .

Dfinition 5.9 (Esprance de la longueur de code.) Formellement, si lon rappelle


que le symbole-source ui (1 i N ) a une probabilit pi dtre mis, et si lon
dnote li la longueur du mot de code correspondant, lesprance de la longueur de
code E [L] est lesprance de la longueur dun mot de code, cest--dire
N
X
E [L] = pi l i (5.2)
i=1

Lorsque la prcision lexige, lesprance de la longueur du code Z sera note E [LZ ].


Nous recherchons donc des codes (instantans) tels que E [L] soit aussi petit que possible.
Daprs (5.2), il est vident que nous devrions assigner les mots de code les plus courts aux
valeurs de U les plus probables. En effet, si pi > pj et l l alors pi l + pj l pi l + pj l.
Mais comment pouvons-nous savoir quelles longueurs de mots de codes utiliser ? Et quel est
le plus petit E [L] pouvoir tre atteint ?
Nous aborderons ces questions sous peu, mais nous devons dabord examiner plus prcisment
les proprits des arbres de codage dans cette perspective.

valuation 28

Considrons une source U dont les symboles sont u1 = 1, u2 = 2, u3 = 3, et u4 = 4, avec la


distribution de probabilit suivante :
102 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

ui 1 2 3 4 5
P (U = ui ) 0.125 0.3 0.125 0.25 0.2

Considrons ensuite le codage suivant de cette source (o zi est le mot de code pour ui ) :

z1 z2 z3 z4 z5
1110 110 10 1111 0

Quelle est lesprance de la longueur de code ?

5.2.2 Arbres n-aires probabiliss : longueur du chemin et incertitude

Rappelons quun code instantan dfinit un arbre n-aire dans lequel chaque mot de code cor-
respond une feuille (par son chemin partir de la racine). La distribution de probabilit de
la source coder fournit des probabilits aux mots de code, donc aux feuilles de larbre n-aire
correspondant. Par convention, une probabilit 0 est assigne toute feuille inutilise (cest--
dire qui ne correspond pas un mot de code).
Lattribution de probabilits peut tre tendue aux nuds intrieurs en leur assignant rcursi-
vement, des feuilles la racine, une probabilit gale la somme des probabilits des fils.
Ce faisant, nous crons un arbre n-aire probabilis.

Dfinition 5.10 (Arbre n-aire probabilis.) Un arbre n-aire probabilis est un


arbre n-aire ayant des nombres positifs entre 0 et 1 (probabilits) affects chaque
nud (y compris les feuilles) de sorte que :
1. la racine est dote dune probabilit 1,
2. la probabilit de chaque nud (y compris la racine) est la somme des probabi-
lits de ses fils.

Exemple 5.11 Si nous prenons p1 = p5 = 0.1, p2 = p4 = 0.2 et p3 = 0.4 pour le code


binaire instantan de lexemple 5.9, nous obtiendrons larbre binaire suivant, avec les proba-
bilits :

0.3 0.7

u1 u2 u3 0.3
0.4
0.1 0.2
u4 0.1
0.2
u5
0
0.1

Notez que dans un arbre n-aire probabilis, la somme des probabilits des feuilles doit tre un.

Lemme 5.1 (Lemme de la longueur de chemin) Dans un arbre n-aire probabilis,


la profondeur moyenne des feuilles est gale la somme des probabilits des nuds
intrieurs (cest--dire pas les feuilles, mais racine comprise).
5.2. CODAGE EFFICACE 103

D MONSTRATION La probabilit de chaque nud est gale la somme des probabilits des
feuilles du sous-arbre issu de ce nud. Donc la somme des probabilits des nuds intrieurs
est une somme sur les probabilits des feuilles.
En outre, la probabilit dune feuille apparat dans cette somme exactement autant de fois
que la profondeur d de la feuille correspondante. En effet, une feuille la profondeur d est
couverte par exactement d nuds intrieurs : tous les nuds qui sont sur le chemin de la
racine cette feuille.
Ainsi, la somme des probabilits de tous les nuds intrieurs est gale la somme des pro-
duits de chaque probabilit de feuille et sa profondeur. Cette somme est prcisment la dfi-
nition de la profondeur moyenne des feuilles.
Plus formellement, soit i , 1 j M le M des nuds intrieurs et soit j , 1 i N
les N feuilles. En outre, soit Pi la probabilit du nud intrieur i et pj la probabilit de la
feuille j . Enfin, soit (j ) la profondeur de la feuille j . Dnotons par i j le fait que
le nud intrieur i couvre la feuille j .
Alors la somme des probabilits des nuds intrieurs est gale :

XM XM X XN X XN X
Pi = pj = pj = pj 1 .
i=1 i=1 j:i j j=1 i:i j j=1 i:i j

X
En outre, 1 nest rien dautre que le nombre de feuilles couvrant la feuille j . Par
i:i j
consquent, X
1 = (j )
i:i j

et
M
X N
X
Pi = pj (j ) =: E [] .
i=1 j=1

Exemple 5.12 (Lemme de la longueur de chemin) Dans lexemple prcdent, la profon-


deur moyenne des feuilles tait 1+0.3+0.7+0.3+0.1 = 2.4 par le lemme de la longueur de
chemin. titre de vrification, notez que (dfinition de lesprance de la longueur de code)
2 0.1 + 2 0.2 + 2 0.4 + 3 0.2 + 4 0.1 = 2.4 .

Considrons prsent quelques mesures dentropie sur un arbre n-aire probabilis.

Dfinition 5.11 (Entropie dune feuille darbre n-aire probabilis) Soit N le


nombre de feuilles dun arbre n-aire probabilis et p1 , p2 , . . . , pN leurs probabilits.
Lentropie des feuilles dun tel arbre est dfinie comme
X
Hfeuilles = pi log pi (5.3)
i
104 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

Proprit 5.5 Pour larbre n-aire probabilis correspondant larbre de codage


instantan dune source dinformation U , nous avons :

Hfeuilles = H(U ) (5.4)

D MONSTRATION Soit Z le code instantan en question. Par dfinition (dun arbre de co-
dage), pi est la probabilit du ime mot de code et, par consquent, Hfeuilles = H(Z).
En outre, tant donn que le code est non-singulier (Z = f (U ) est injective), H(Z) = H(U ).
Par consquent, Hfeuilles = H(U ).

Dfinition 5.12 Soit M le nombre de nuds intrieurs dun arbre n-aire probabilis
et P1 , P2 , . . . , PM leurs probabilits. En outre, soient qi1 , qi2 , . . . , qini les probabilits
des ni fils (feuilles comprises) du ime nud intrieur (dont la probabilit est Pi ).
Lentropie de branchement Hi ce nud est dfinie par
ni
X qij qij
Hi = log , (5.5)
Pi Pi
j=1

Notez quen raison de la seconde proprit de la dfinition dun arbre n-aire proba-
bilis (definition 5.10), nous avons
ni
X
Pi = qij .
j=1

Exemple 5.13 Supposons que les M = 5 nuds pour larbre des exemples 5.9, et 5.11,
page 5.11, soient numrots de telle faon que P1 = 1, P2 = 0.3, P3 = 0.7, P4 = 0.3 et
P5 = 0.1.
Alors
5
X
Hfeuilles = pi log pi 2.12 bit.
i=1

Nous avons n1 = 2 et q11 = 0.3 et q12 = 0.7, ainsi

H1 = 0.3 log 0.3 0.7 log 0.7 0.881 bit.

De mme, n2 = 2 et q21 = 0.1, q22 = 0.2, ainsi


0.1 0.1 0.2 0.2
H2 = log log 0.918 bit.
0.3 0.3 0.3 0.3

Nous vous laissons, titre dexercice, le soin de montrer que H3 0.985 bit, H4 0.918 bit,
H5 = 0.
5.2. CODAGE EFFICACE 105

Thorme 5.2 (Thorme de lentropie des feuilles) Lentropie des feuilles dun
arbre n-aire probabilis est gale la somme sur tous les nuds intrieurs (racine
comprise) de lentropie de branchement de ce nud pondre par sa probabilit. En
employant les notations dfinies ci-dessus :
M
X
Hfeuille = Pi Hi (5.6)
i=1

Exemple 5.14 Suite de lexemple 5.13. Nous calculons Hfeuille par (5.6) pour obtenir

Hfeuille = 1 H1 + 0.3 H2 + 0.7 H3 + 0.3 H4 + 0.1 H5


0.881 + 0.3 0.918 + 0.7 0.985 + 0.3 0.918 + 0 bit
2.122 bit.

conformment au calcul direct effectu dans lexemple 5.13.

Thorme 5.3 Pour deux codes instantans de la mme source dinformation, celui
qui a la longueur moyenne du code la plus courte a le plus haut taux dentropie par
symbole.

En rsum, compresser les donnes sans perte dinformation (i.e. code instantan) augmente
lentropie par symbole.

5.2.3 Thorme du codage sans bruit

Nous allons maintenant employer les rsultats des sections prcdentes pour obtenir une borne
infrieure fondamentale lesprance de la longueur de code dun code instantan dune source
dinformation.

Borne infrieure lesprance de la longueur moyenne du code pour les codes instanta-
ns.

Thorme 5.4 (Thorme de Shannon sur le codage, 1re partie) Pour toute
source dinformation discrte sans mmoire dentropie H(U ), lesprance de la
longueur de code E [L] de tout code D-aire instantan pour cette source satisfait :

H(U )
E [L] , (5.7)
log D

La limite (5.7) aurait pu tre anticipe de faon intuitive. Il faut H(U ) bits dinformation pour
spcifier la valeur de U . Mais chaque chiffre D-aire du mot de code peut, daprs le tho-
rme 1.2 et la dfinition de linformation mutuelle (quation (1.17)), fournir tout au plus log D
bits dinformation sur U . Nous aurons donc certainement besoin dau moins H(U )/ log D
symboles de code en moyenne pour spcifier U .
106 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

Formalisons davantage la dmonstration du thorme.

D MONSTRATION
N
X N
X
H(U ) log pi
E [L] = pi l i + pi
log D log D
i=1 i=1
XN
= pi logD Dli + logD pi
i=1

N
X
Soit Q = Dli et qi = Dli /Q. On a alors :
i=1

N
X
H(U )
E [L] = pi ( logD qi + logD pi logD Q)
log D
i=1
N !
X pi
= pi log logD Q
qi
i=1
= K(pi , qi ) logD Q

Or K(pi , qi ) 0 par les proprits de la divergence de Kullback-Leibler ( noter que qi est


bien une distribution de probabilits), et logD Q 0 puisque Q 1 par lingalit de Kraft.
Donc
H(U )
E [L] 0.
log D

valuation 29

Considrons une source dinformation U dont les symboles sont u1 = 1, u2 = 2, u3 = 3, et


u4 = 4, avec la distribution de probabilit suivante :

ui 1 2 3 4
P (U = ui ) 0.5 0.25 0.125 0.125

Considrons ensuite le codage suivant de cette source (o zi est le mot de code pour ui ):

z1 z2 z3 z4
0 10 110 111

1. Quelle est lesprance de la longueur de code ?


2. Le code considr est-il efficace, cest--dire optimal du point de vue de lesprance de
la longueur de code ?

Le thorme ci-dessus est le premier exemple pour lequel la rponse une question technique
est naturellement exprime en fonction de lentropie de Shannon. Ceci nest toutefois pas une
justification complte de lutilisation de lentropie, puisque seul un minorant a t spcifi.
5.2. CODAGE EFFICACE 107

Par exemple, la valeur 1 serait aussi un autre minorant lesprance de la longueur de code,
mais nous ne prtendrions pas que cette limite est une justification de quoi que ce soit! Ce nest
que lorsque le minorant donn est, dans un sens, la meilleure borne infrieure possible, quil
peut tre utilis comme justification. Afin de montrer que la limite exprime dans le thorme
ci-dessus est effectivement la borne infrieure, nous devons montrer quil existe des codes dont
lesprance de la longueur de code peut tre arbitrairement proche de celle-ci.

Codes instantans de Shannon-Fano

Nous montrons ici comment construire des codes instantans efficaces. Bien quils ne soient
pas optimaux en gnral, ils sont suffisamment proches de la borne infrieure lesprance de
la longueur de code.
Lide-cl est dutiliser comme mot de code pour ui , un mot dont la longueur est

log pi
li = ,
log D
o x dnote pour tout x le seul entier tel que x x < x + 1.
Un tel code est appel un code de Shannon-Fano. En effet, la technique est implicite dans
larticle crit par Shannon en 1948, mais elle sera rendue explicite par Fano.
Mais un tel code instantan existe-t-il toujours ? La rponse est oui en raison de lingalit
de Kraft.
En effet, tant donn que par dfinition li log pi
log D , nous avons
X X log pi X X
Dli D log D = DlogD pi = pi = 1.
i i i i

Mesurons quel point un tel code est bon en termes de son esprance de la longueur de
code. Par dfinition de li nous avons :
log pi
li < + 1. (5.8)
log D

En multipliant les deux cts par pi et en sommant sur i, nous obtenons :


X P
i pi log pi X
pi l i < + pi , (5.9)
log D
i i

cest--dire
H(U )
E [L] < + 1. (5.10)
log D
Nous voyons que le code de Shannon-Fano a une esprance de longueur de code qui est lin-
trieur dun symbole de la borne infrieure (5.7) valable pour tous les codes instantans. Ce
code est donc plutt bon. En effet, daprs la premire partie du thorme de codage vu prc-
demment, nous savons quaucun code instantan ne peut battre lesprance de la longueur de
code du code de Shannon-Fano de plus dun symbole. Par consquent, lorsque lentropie de la
source code H(U ) est grande, le codage de Shannon-Fano est presque optimal. Mais lorsque
H(U ) est petite, nous pouvons gnralement faire bien mieux que le codage de Shannon-Fano,
comme nous le discuterons dans la section suivante.
Concentrons-nous prsent sur la seconde partie du premier thorme de codage de Shannon.
108 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

Thorme 5.5 (Thorme de codage de Shannon, 2me partie) Pour toute source
dinformation discrte sans mmoire dentropie H(U ), il existe au moins un code
instantan D-aire dont lesprance de la longueur de code E [L] satisfait :

H(U )
E [L] < + 1. (5.11)
log D

Ce thorme de codage ne donne pas vraiment de justification complte de lentropie de Shan-


non parce que la borne suprieure ne peut pas tre arbitrairement rapproche de la borne in-
frieure. La justification complte doit attendre le chapitre 7, o le codage pour une source
dinformation qui met des messages avec des dpendances internes (soit une source m-
moire) est considr.

Exemple 5.15 Considrons le codage binaire (D = 2) de Shannon-Fano pour la source


darit 4 U pour laquelle p1 = 0.4, p2 = 0.3, p3 = 0.2 et p4 = 0.1. Un tel codage aura pour
longueurs de mots de code (tant donn que log2 (2) = 1)

l1 = log2 0.4 = 2, l2 = log2 0.3 = 2,


l3 = log2 0.2 = 3, et l4 = log2 0.1 = 4.

Nous construisons donc le code par lalgorithme donn dans la dmonstration de lingalit
de Kraft, pour obtenir le code dont larbre binaire est
0 1

0 1 0 1
u1 u2
1
u3
0 1
u4

Par le lemme de la longueur de chemin, nous avons :

E [L] = 1 + 0.7 + 0.3 + 0.3 + 0.1 = 2.4,

et un calcul direct donne :

H(U ) = 0.4 log 0.4 + 0.3 log 0.3 + 0.2 log 0.2 + 0.1 log 0.1 1.8 bit.

Nous voyons bien que (5.11) est satisfait.


Notez toutefois que ce code est clairement non-optimal. Si nous avions simplement employ
les 4 mots de code possibles de longueur 2, nous aurions eu un code plus court (E [L] = 2).

e-nnexe : Le thorme du codage sans bruit de Shannon

valuation 30

Considrons une source U dont lentropie est 2.15 bit. Pour les valeurs suivantes : 2.75, 2.05,
3.25, 2.15, pensez-vous quil existe un code binaire instantan de U avec une telle esprance de
longueur de code ? Pensez-vous quil peut exister un meilleur code, soit un autre code binaire
instantan de U avec une esprance de longueur de code plus courte ? (oui, non, ou peut-tre)
5.2. CODAGE EFFICACE 109

esprance de la existe-t-il un meilleur code ?


longueur de code peut exister ? non peut-tre oui, bien sr
2.75
2.05
3.25
2.15

5.2.4 Codes de Huffman

Algorithme de codage de Huffman

Nous montrons ici comment construire un code instantan D-aire pour une source dinforma-
tion discrte sans mmoire U avec n symboles. Lalgorithme pour la construction dun tel code
optimal est le suivant:
1. Choisissez n nuds (qui seront finalement les feuilles de larbre de codage) correspon-
dant aux n symboles de la source u1 , u2 , . . . , un .
Assignez la probabilit pi au nud ui pour 1 i n.
Marquez ces n nuds comme actifs.
Calculez le reste r de la division de 1 n par D 1. Notez que, bien que 1 n soit
ngatif, r est positif par dfinition dun reste.
Notez galement que dans le cas binaire (D = 2), r est toujours nul.
2. Groupez, en tant que fils dun nud nouvellement cr, les D r nuds actifs les moins
probables et les r nuds (feuilles) inutiliss:
nouveau
noeud
... ...
... ...
Dr feuilles r feuilles
utiles inutiles
Marquez les D r nuds actifs comme non actifs et le nud nouvellement cr
comme actif.
Assignez au nud nouvellement cr une probabilit gale la somme des probabilits
des D r nuds qui viennent dtre dsactivs.
3. Sil ny a quun seul nud actif, arrtez (ce nud est alors la racine de larbre de codage).
Autrement, posez r = 0 et retournez ltape 2.
Le code instantan rsultant dun tel algorithme de codage est appel un code de Huffman ,
puisque lalgorithme simple dcrit ici fut dcouvert par D. Huffman dans les annes cinquante.

Exemple 5.16 (Codage binaire de Huffman) Considrons une source dinformation U


telle que

U u1 u2 u3 u4 u5 u6
pi 0.05 0.1 0.15 0.27 0.20 0.23

Un code de Huffman pour U est donn par :


110 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

0 1

0 1 0 1
u
z1 z2 z3 z4 z5 z6
0 1 4 u5 u6
0000 0001 001 01 10 11
0 1 u3
u1 u2

Les probabilits associes aux nuds intrieurs sont les suivantes :

v1 = u 1 u 2 v2 = v1 u 3 v3 = u 5 u 6 v4 = v2 u 4 v5 = v4 v 3
0.15 0.30 0.43 0.57 1

Enfin, notez que E [L] = 2 (0.2 + 0.23 + 0.27) + 3 (0.15) + 4 (0.1 + 0.05) = 2.45 (ou par
le lemme de la longueur de chemin : E [L] = 1 + 0.57 + 0.43 + 0.30 + 0.15 = 2.45), et
X6
H(U ) = pi log pi = 2.42 bit.
i=1

Exemple 5.17 (Codage ternaire de Huffman) Pour la mme source U de lexemple prc-
dent et en employant un code ternaire (D = 3), nous avons pour le reste de 1 n := 1 6 =
5 par D 1 := 2: r = 1. En effet, 5 = 3 2 + 1. Donc une feuille inutilise doit tre
introduite.
Le code ternaire de Huffman est dans ce cas :
a b c
u6 u4
a z1 z2 z3 z4 z5 z6
b c
u3 u5
aab aac ab c ac b
a
b c
u1 u2

Les probabilits associes des nuds intrieurs sont :

v1 = u 1 u 2 v2 = v1 u 3 u 5 v3 = v2 u 6 u 4
0.15 0.50 1

Enfin, notez que E [L] = 1 + 0.5 + 0.15 = 1.65 (par le lemme de la longueur de chemin), et
H(U ) 2.42
log 3 = 1.59 = 1.52.

valuation 31

Considrons un d pip ayant la distribution de probabilit suivante :

1 2 3 4 5 6
0.17 0.12 0.10 0.27 0.18 0.16

Le but de cette question est de construire un code de Huffman binaire pour ce d. Pour ce code,
par convention, nous donnerons ltiquette 0 la branche la moins probable et ltiquette 1
la branche la plus probable. En outre, les nouveaux nuds introduits seront appels 7, 8, etc...,
dans cet ordre.

1. Quels sont les deux premiers nuds tre regroups ? Quelle est la probabilit corres-
5.2. CODAGE EFFICACE 111

pondante ?
2. Quels sont donc les deux nuds suivants tre regroups ? Quelle est la probabilit
correspondante ?
3. Continuez donner les noms des deux nuds regrouper et la probabilit correspon-
dante.
4. Donnez le code de Huffman trouv pour cette source :
ui = 1 2 3 4 5 6
zi =

e-nnexe : Codage de Huffman


e-nnexe : Codage efficace

Optimalit du codage de Huffman

Nous voulons maintenant dmontrer que le codage de Huffman est optimal en ce sens quaucun
autre code instantan ne peut avoir une esprance de longueur de code strictement infrieure
celle rsultant du codage de Huffman.
Cependant, il est important de ne pas oublier quil existe plusieurs codes optimaux : permuter
les symboles-codes ou changer deux mots de code de la mme longueur donnera un autre
code avec la mme longueur moyenne. Lalgorithme de Huffman ne construit quun seul code
optimal.
Avant de prouver loptimalit des codes de Huffman, nous devons donner quelques proprits
des codes optimaux en gnral.
n
X
Un code est optimal si la longueur moyenne pi li est minimale parmi tous les codes ins-
i=1
tantans possibles de la mme source, dnotant li la longueur du mot de code correspondant
au symbole ui .

Lemme 5.2 Pour le code optimal dune source dinformation avec n symboles pos-
sibles, nous avons : i(1 i n) j(1 j n) pi > pj = li lj .

D MONSTRATION Soit Z un code optimal de la source en question. Pour un i donn et un j


donn, considrons le code Y dans lequel les mots de code zi et zj sont changs, cest--dire
yj = zi , yi = zj et yk = zk pour k 6= i, k 6= j. Alors

E [LY ] E [LZ ] = pj li + pi lj (pi li + pj lj )


= (pi pj ) (lj li ).

Parce que Z est optimal, E [LY ] E [LZ ]. Par consquent, si pi > pj , lj li doit tre positif.

Lemme 5.3 (Lemme de comptage des nuds) Le nombre de feuilles dans un arbre
D-aire est 1 + M (D 1) o M est le nombre de nuds intrieurs (racine incluse).
112 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

D MONSTRATION Chaque nud intrieur a D fils, donc le nombre total de nuds de larbre
qui sont les fils dun autre nud est M D. Le seul nud de larbre ne pas tre le fils dun
autre nud est la racine. Le nombre total de nuds de larbre est donc M D + 1.
Mais par dfinition, il y a M nuds intrieurs, donc le nombre de feuilles (cest--dire le
nombre de nuds qui ne sont pas des nuds intrieurs) est

M D + 1 M = 1 + M (D 1).

Lemme 5.4 Pour une source dinformation donne U , il y a tout au plus D 2


feuilles inutilises dans larbre de codage dun code D-aire instantan optimal de U ,
et ces feuilles inutiles sont toutes une profondeur maximale.
En outre, il existe un code D-aire optimal pour U dans lequel toutes les feuilles
inutilises sont des fils du mme nud parent.

D MONSTRATION Sil y a au moins une feuille inutilise qui nest pas la longueur maxi-
male, lesprance de la longueur de code peut tre diminue en transfrant cette feuille
inutilise lun des mots de code de profondeur maximale. Le code original ne serait donc pas
optimal.
En outre, sil y a plus de D feuilles inutilises profondeur maximale, au moins D de ces
nuds inutiliss peuvent tre regroupes en tant que fils du mme nud et remplacs par cet
unique nud inutilis qui est une profondeur rduite de 1. Par consquent, sil y a plus de
D feuilles inutilises, le code ne peut pas tre optimal.
Enfin, sil y a exactement D 1 feuilles inutilises profondeur maximale, elles peuvent
tre regroupes en tant que fils du mme parent. Celui-ci a galement une feuille utile qui est
son dernier fils. Mais on peut raccourcir le code en retirant simplement ce dernier symbole
inutile. En effet, ce dernier symbole nest pas discriminant puisque tous ses nuds frres sont
des nuds inutiles.

Lemme 5.5 Le nombre de feuilles inutilises dans larbre dun code D-aire instan-
tan optimal pour une source dinformation discrte U avec n symboles possibles est
le reste (positif) de la division de 1 n par D 1.

D MONSTRATION Soit r le nombre de feuilles inutilises. tant donn que U a n symboles


diffrents, nous avons :

r = nombre de feuilles dans larbre de codageD-aire n.

Il rsulte du lemme de comptage des nuds que

r = [1 + M (D 1)] n,

ou
1 n = M (D 1) + r.
5.2. CODAGE EFFICACE 113

En outre, daprs le lemme 5.4, nous savons que si le code est optimal, 0 r < D 1 . Il
rsulte donc du thorme de la division euclidienne que r est le reste de la division de 1 n
par D 1 (le quotient tant M ).

Lemme 5.6 Il existe un code D-aire instantan optimal pour une source dinforma-
tion discrte U avec n symboles diffrents (n 2) tels que les D r mots de code les
moins probables diffrent uniquement dans leur dernier chiffre, avec r comme reste
de la division de 1 n par D 1 (donc D r 2).

D MONSTRATION Notez tout dabord que nous ne prtendons pas que tous les codes opti-
maux satisfont cette proprit, mais quen rarrangeant un code optimal existant, nous pou-
vons trouver au moins un code optimal qui satisfasse la proprit.
Considrons un code D-aire instantan optimal pour U (ceci existe puisque le nombre de
codes D-aires instantans pour U est fini). Daprs le lemme 5.5, nous savons quil y a r
feuilles inutilises. Daprs le lemme 5.4, elles sont toutes de profondeur maximale. Consi-
drons les D r frres de ces feuilles inutilises. Ils reprsentent les plus grandes longueurs
de mots de code (puisquils sont de profondeur maximale).
Construisons prsent le code o nous changeons ces D r plus longs mots de code contre
les D r les moins probables. En raison du lemme 5.2, ceci ne change pas la longueur
moyenne (sans quoi le code en question naurait pas t optimal). Donc le code obtenu est
galement optimal. Mais en ce qui concerne ce dernier code, nous sommes srs que les D r
mots de codes les moins probables diffrent uniquement dans leur dernier symbole.

En raison du lemme 5.6, il suffit de chercher un code optimal dans la catgorie des codes o
les D r mots de code les moins probables diffrent uniquement dans leur dernier symbole.
tablissons prsent loptimalit du codage de Huffman.

Thorme 5.6 Le codage de Huffman est optimal : si Z est le code de Huffman dune
source dinformation U et X un autre code non-ambigu pour U , alors E [LX ]
E [LZ ].

D MONSTRATION Nous dmontrons ce thorme par rcurrence sur le nombre de mots de


code (soit le nombre de symboles-source).
Il est simple de vrifier que pour toute source avec moins de D symboles, le code de Huffman
est optimal.
Supposons maintenant que la procdure de codage de Huffman soit optimale pour toute
source avec tout au plus n 1 symboles, et considrons une source U avec n symboles
(n > D).
Soit r le reste de la division de 1 n par D 1: 1 n = q(D 1) + r.
Sans perte de gnralit, soient un(Dr)+1 , ..., un les D r symboles-source les moins
probables.
Par construction, un code de Huffman Z pour U est fait dun code de Huffman Y pour la
source V dont les n(DR)+1 symboles diffrents sont v1 = u1 , ..., vn(Dr) = un(Dr)
114 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION

et vn(Dr)+1 , avec les probabilits q1 = p1 , ..., qn(Dr) = pn(Dr) et qn(Dr)+1 =


pn(Dr)+1 + + pn .
En effet, le nombre de feuilles inutilises introduites pour Y est le reste de la division entire
de 1[n(Dr)+1] par D1, qui est 0 puisque 1[n(Dr)+1] = 1nr+D1 =
q(D 1) + (D 1) = (q + 1)(D 1). Ceci montre que Y correspond effectivement au code
construit la seconde tape, puis aux stades suivants de la construction de Z.
Z apparat donc comme une extension de Y dans le mot de code yn(Dr)+1 : z1 = y1 , ...,
zn(Dr) = yn(Dr) et yn(Dr)+1 est le prfixe de tous les mots de code zn(Dr)+1 ,...,
zn qui diffrent tous uniquement dans le dernier symbole.
Alors, en notant li la longueur de zi et par li la longueur de yi :
n
X nD+r
X n
X
E [LZ ] := pi l i = pi l i + pi l i
i=1 i=1 i=nD+r+1
nD+r
X n
X
= pi li + pi (li + 1)
i=1 i=nD+r+1
n
X Xn
= pi li + pi
i=1 i=nD+r+1
n
X
= E [LY ] + pi
i=nD+r+1

n
X
tant donn que pi est indpendant du processus de codage (il ne dpend que
i=nD+r+1
de la source U ), en raison du lemme 5.6 et du fait que Y , par hypothse de rcurrence, est
optimal pour V (qui a moins de n symboles), nous concluons que Z est optimal pour U
(cest--dire que E [LZ ] est minimal).

R SUM DU CHAPITRE 5

Codes instantans:
aucun mot nest le prfixe dun autre
instantan = non-ambigu = non-singulier
sans prfixe instantan
P li
Ingalit de Kraft: code D-aire instantan iD 1
Limite de lentropie la longueur moyenne dun code instantan :
X H(U )
E [L] = pi l i
log D
i

Code de Shannon-Fano:
log pi
li =
log D
X H(U )
E [L] = pi l i < +1
log D
i
5.2. CODAGE EFFICACE 115

Code de Huffman:
1. introduit 1 n mod (D 1) feuilles inutilises avec la probabilit 0
2. regroupe rcursivement les nuds les moins probables
3. est optimal (en ce qui concerne lesprance de la longueur de code) dans la cat-
gorie des codes non-ambigus

Histoire et bibliographie

Thorme du codage sans bruit de Shannon 1948


Ingalit de Kraft 1949
Codage de Huffman 1952

Pour aller plus loin

Ce chapitre naborde que le cas de sources sans mmoire. Cependant, dans la plupart des cas
de la vie relle, comme par exemple la compression de donnes sur ordinateur, les sources
considres sont rarement sans mmoire. La question de la compression de sources avec des
dpendances intrnes est aborde dans le chapitre 7.
Pour plus de dtails sur le codage de compression, veuillez vous rfrer [8].
116 CHAPITRE 5. CODAGE EFFICACE DE LINFORMATION
Chapitre 6

Exercices du module C2

par J.-C. C HAPPELIER

6.1 Coder une variable alatoire

Exercice 6.1.1:

Considrez une source dinformation U dont les symboles sont u1 = 1, u2 = 2, u3 = 3,


u4 = 4, et u5 = 5, avec la distribution de probabilit suivante :

ui 1 2 3 4 5
P (U = ui ) 0.125 0.25 0.025 0.5 0.1

Considrez ensuite le codage ci-dessous (o zi est le mot de code pour ui ) de cette source :

z1 z2 z3 z4 z5
01 111 110 10 00

a- Ce code est-il non-ambigu ?


b- Codez le message 5312241.
c- Dcodez la squence 111110100111011110.
d- Quelle est la longueur moyenne de ce code ?

Exercice 6.1.2:

Pour les codes suivants, dterminez si le code est sans prfixe, et/ou non-ambigu. Si le code
est sans prfixe, dessinez larbre de codage correspondant. Si le code est ambigu, donnez une
squence de symboles qui pourraient tre dcods en deux messages-sources diffrents.

117
118 CHAPITRE 6. EXERCICES DU MODULE C2

a- z1 =01, z2 =10, z3 =110, z4 =001


b- z1 =abc, z2 =bca, z3 =bcb, z4 =cb, z5 =acb, z6 =cba
c- z1 =abc, z2 =bca, z3 =bcb, z4 =ca, z5 =acb, z6 =cba

Exercice 6.1.3:

a- Existe-t-il un code binaire sans prfixe ayant pour longueurs de ses mots code :
l1 l2 l3 l4 l5 l6 l7 l8 l9 l10
2 3 3 2 3 4 2 3 2 2
Justifiez votre rponse.
b- Quelle est la taille minimale de lalphabet pour un tel code ?
c- Dans le cas minimal, dessinez un arbre de codage possible correspondant ce code.

6.2 Codage efficace

Exercice 6.2.1:

Considrez la source U suivante :

U u1 u2 u3 u4 u5 u6 u7 u8
pU 1/4 1/8 1/8 1/16 1/16 1/16 5/32 5/32

a- Quelle est son entropie ?


b- Codons cette source laide du code binaire standard sur 3 bits, cest--dire le code
dans lequel zi , le mot de code pour ui est simplement i en binaire (sur 3 bits).
1. Le code est-il sans prfixe ? Si oui, dessinez son arbre de codage.
2. Est-il complet ?
3. Quelle est la longueur moyenne de ce code ?
4. Ce rsultat est-il compatible avec le thorme du codage sans bruit de Shannon ?
c- Construisez un code de Huffman binaire de U et rpondez de nouveau aux quatre questions
ci-dessus.
d- Est-il possible de construire un code de U tel que li , la longueur de mot de code zi soit
gale log2 1/pU (ui ) ? Si oui, rpondez de nouveau aux quatre questions ci-dessus.

Exercice 6.2.2:

Le code considr dans lexercice 6.1.1 est-il un code efficace, cest--dire optimal du point de
vue de la longueur moyenne de code ?
6.2. CODAGE EFFICACE 119

Exercice 6.2.3:

Considrez le d pip suivant :

1 2 3 4 5 6
0.17 0.15 0.16 0.22 0.18 0.12

a Quelle est son entropie ?


b Proposez un code de Huffman binaire de cette source.
Quelle est sa longueur moyenne ?
Quelle longueur de code moyenne minimale peut-on esprer pour tout codage binaire
de cette source ?
Codez la squence 6441 laide de ce code.
c Construisez un code de Huffman ternaire de cette source et rpondez aux mmes questions
(en remplaant binaire par ternaire).

Exercice 6.2.4:

Voici une distribution de probabilit possible pour les caractres en anglais :

char. (space) E T A O I N S
proba. 0.1859 0.1031 0.0796 0.0642 0.0632 0.0575 0.0574 0.0514

char. R H L D U C F M
proba. 0.0484 0.0467 0.0321 0.0317 0.0228 0.0218 0.0208 0.0198

char. W Y G P B V K X
proba. 0.0175 0.0164 0.0152 0.0152 0.0127 0.0083 0.0049 0.0013

char. J Q Z
proba. 0.0008 0.0008 0.0005

a Calculez lentropie de langlais, dans le sens dune source dinformation gnrant des s-
quences indpendantes partir de lalphabet ci-dessus.
b Construisez un code de Huffman binaire pour la source ci-dessus.
c Quel est le taux de compression maximal que lon peut esprer pour la source ci-dessus
(considre comme une source sans mmoire) en utilisant des codes sans prfixe ?

Exercice 6.2.5:

Lobjectif de cet exercice est dillustrer le fait que les principes de codage efficaces peuvent
tre appliqus divers domaines, y compris la thorie de la dcision.
On vous donne 9 pices de monnaie et une balance deux plateaux non biaise. Parmi ces 9
pices, une est de poids diffrent. Le problme est de trouver la pice diffrente en effectuant
un nombre minimal de peses et de dire si elle est plus lourde ou plus lgre que les autres.
120 CHAPITRE 6. EXERCICES DU MODULE C2

a laide du thorme du codage sans bruit de Shannon, dterminez le nombre minimal de


peses effectuer.
b Pour effectivement rsoudre le problme en un nombre minimal de peses, combien une
pese lmentaire doit-elle contenir, au maximum, de pices par plateau ?
c Sachant que le problme pourrait tre rsolu laide du nombre minimal en rponse la
question a, essayez de le rsoudre.

Exercice 6.2.6:

Jai lu un jour, dans une revue pseudo-scientifique, le problme suivant :


Les mathmaticiens sont vraiment des gens tranges ! dit un commissaire sa
femme. Lautre jour, nous avions toute cette range de verres dune rception
dont nous savions quun (et un seul) tait empoisonn. videmment, notre labora-
toire aurait pu tester les verres les uns aprs les autres, mais cela aurait cot trs
cher ! Il nous fallait donc trouver une procdure dterminant le verre empoisonn
en le moins de tests possibles, moyennant des mlanges de petits chantillons
prlevs dans les verres. Vint alors ce mathmaticien. Jignore dailleurs do il
venait. Il regarda les verres, quil tait vraisemblablement en train de compter,
puis me dit en souriant : Mon cher commissaire, choisissez un verre au hasard et
testez-le . Mais ce serait un gaspillage dargent ! dis-je, pourquoi effectuer
un test inutile ? . Non , me rpondit-il, cela fait partie de la meilleure proc-
dure ! On peut tester en premier un seul verre, peut importe lequel.
Et combien y avait-il de verres ? demanda sa femme.
Je ne me souviens pas exactement. Entre 100 et 200 je pense. rpondit le
commissaire.
Combien y avait-il de verres ?
Voil comment le problme tait pos. prsent,
1. rpondez au problme comme demand par la revue ;
2. montrez que lauteur de ce problme se trompe (et donc le mathmaticien de lhistoire
aussi) en :
(a) dterminant la procdure optimale de test ;
(b) calculant le nombre moyen de tests de cette procdure optimale ;
(c) calculant le nombre moyen de tests daprs la procdure suggre par le mathma-
ticien de lhistoire.
Chapitre 7

Module I1 : Complments au codage


efficace de lInformation

par J.-C. C HAPPELIER

O BJECTIFS PDAGOGIQUES DU CHAPITRE 7


Dans ce chapitre, plusieurs diffrents complments aux bases du codage efficace,
c.--d. de compression de donnes, sont prsents.
En tudiant ce chapitre, vous devriez apprendre :
1. comment construire un code de longueur fixe optimal (codes de Tunstall) ;
2. comment coder de manire simple et efficace les nombres entiers avec un code
binaire sans prfixe (code dElias) ;
3. quelque-unes des techniques utilises pour le codage de squences avec des
dpendances internes (codage de source stationnaire), comme par exemple le
fameux code de Lempel-Ziv.

7.1 Codes de longueur fixe : Code de Tunstall

O BJECTIFS PDAGOGIQUES DE LA SECTION 7.1


Dans cette section, vous apprendrez :
ce que lon entend par code de longueur fixe ;
ce que sont les ensembles propres de messages et quoi ils sont utiles ;
comment la premire partie du thorme de codage sans bruit de Shannon est g-
nralise aux ensemble propres de codes de longueur fixe ;
ce que sont les ensembles de messages de Tunstall ;
et quoi ils servent : fournir un code de longueur fixe optimal ;
comment construire de tels ensembles, c.--d. des codes de Tunstall.

121
122 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

7.1.1 Introduction

Les mots de code de longueur variable considrs dans le chapitre 5 ne conviennent pas tou-
jours en pratique. Si les mots de code doivent, par exemple, tre stocks en mmoire, les mots
de code dont la longueur est gale la longueur des mots de la mmoire (c.--d. 8, 16 ou 32
bits) sont certainement prfrables. Toutefois, ctait prcisment la variabilit de la longueur
des mots de code qui faisait lefficacit des codes prsents dans le chapitre 5 ! La question
est alors : est-il possible dobtenir une efficacit de codage similaire lorsque lon force tous les
mots de code avoir la mme longueur ? La rponse est oui, condition que les mots de code
ne soient plus assigns des blocs de longueur fixe de symboles de la source mais plutt des
blocs de longueur variable de symboles de la source, c.--d. quune segmentation longueur
variable de la source doit tre effectue. De tels codes sont appels codes de longueur fixe :
les mots de code D-aires ont tous la mme longueur n, mais la longueur LV , des messages V
auxquels les mots de code sont assigns, est une variable alatoire.
tant donn que n/E [LV ] est le nombre moyen de signes de code D-aires par symbole de la
source, le critre doptimalit dun tel code devient E [LV ], la longueur moyenne de message
cod ; qui doit tre rendue aussi grande que possible.

7.1.2 Ensembles Propres

Quelles proprits devraient avoir les codes de longueur fixe ?


Pour tre sans prfixe, les mots de code devraient correspondre aux feuilles dun arbre de
codage (voir proprit 5.4). En outre, pour tre capable de coder nimporte quelle squence de
la source, le code doit tre complet (voir dfinition 5.8). En effet, si le code nest pas complet,
la squence de symboles correspondant des feuilles inutilises ne pourra pas tre code !
Un code de longueur fixe doit donc tre un code propre ; c.--d. que des mots de code devraient
former un ensemble propre.

Dfinition 7.1 (Ensemble Propre) Un ensemble de messages est dit ensemble


propre si et seulement si il correspond lensemble complet des feuilles dun arbre
de codage.

n o
Exemple 7.1 (Ensemble Propre) Lensemble a, b, ca, cb, cc est un ensemble propre.
n o n o
Les ensembles a, b, ca, cb et aa, ac, b, cb, cc ne sont pas des ensembles propres.
Voici les arbres de codage correspondants :

a b c a b c a b c

a b c a b c a b c a b c

valuation 32

Pour chacun des ensembles suivants, dcidez si lensemble est un ensemble propre ou pas :
7.1. CODES DE LONGUEUR FIXE : CODE DE TUNSTALL 123

1. 010, 00, 1, 011


2. 000, 010, 001, 01, 1
3. 110, 010, 011, 10, 00
4. 110, 011, 00, 010, 111, 10

Thorme 7.1 Lincertitude H(V ) dun ensemble propre V pour une source din-
formation sans mmoire discrte D-aire, dont lincertitude est H(U ), satisfait :

H(V ) = E [LV ] H(U ),

o E [LV ] est la longueur moyenne du message cod.

D MONSTRATION Larbre de codage correspondant un ensemble propre est par dfinition


larbre de codage dun code complet, et donc lentropie de branchement de chacun de ses
nuds internes est gale lentropie de la source U .
Alors on a, par le thorme de lentropie des feuilles (thorme 5.2) :
!
X X
H(V ) = Pi H(U ) = Pi H(U )
i i

et par le lemme de la longueur du chemin (lemme 5.1) :

H(V ) = E [LV ] H(U )

Nous pouvons maintenant voir comment le thorme de codage sans bruit de Shannon (par-
tie 1) sapplique aux ensembles propres de sources dinformation sans mmoire :

Thorme 7.2 Pour tout code instantan D-aire Z de tout ensemble propre de mes-
sages V pour une source dinformation discrte sans mmoire U , le rapport de la
longueur moyenne de mot de code E [LZ ] sur la longueur moyenne de message cod
E [LV ], satisfait
H(U ) E [LZ ]

log D E [LV ]
o H(U ) est lincertitude dun seul symbole de la source.

D MONSTRATION Du thorme 7.1, on sait que :

H(V ) = E [LV ] H(U )

et du thorme de codage sans bruit de Shannon (thorme 5.4) :

H(V )
E [LZ ] ,
log D
124 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

donc :
H(U )
E [LV ] E [LZ ] .
log D

7.1.3 Ensembles de messages de Tunstall

La section suivante examine la procdure efficace pour construire des codes de longueur fixe
efficaces, mais nous avons tout dabord besoin dune autre dfinition ; ce qui est le sujet de
cette section.

Dfinition 7.2 (Ensembles de messages de Tunstall) Un ensemble de messages est


un ensemble de messages de Tunstall si et seulement si cest un ensemble propre tel
que, dans larbre de codage correspondant, chaque nud est au moins aussi probable
que chaque feuille.

Exemple 7.2 (Ensemble de Tunstall)

0.7
0.3
0.7 0.3 0.49
0.21
0.09
0.343
0.49 0.21 0.21 0.147

0.063 0.027 0.240 0.103


Ceci nest pas un ensemble de Tunstall car Ceci est un arbre de Tunstall car chaque
il existe une feuille et un nud interne tels nud est plus probable que chaque
que la probabilit de la feuille (0.49) est feuille.
plus grande que la probabilit du nud in-
terne (0.3).

Les ensembles de messages de Tunstall sont des codes de longueur fixe optimaux, c.--d.
quils fournissent un maximum de longueur de message cod moyenne, comme stipul par
le thorme suivant :

Thorme 7.3 Un ensemble propre de M messages dune source U maximise la


longueur moyenne des messages cods (sur tous les ensembles propres possibles de
M messages de la mme source U ) si et seulement si il est un ensemble de messages
de Tunstall.

D MONSTRATION Prouvons tout dabord que si un ensemble propre nest par un ensemble
de Tunstall, il ne peut ds lors pas maximiser la longueur de message cod moyenne.
Soit W un ensemble propre qui nest pas un ensemble de Tunstall. Il existe alors dans larbre
de codage correspondant une feuille w et un nud interne n tels que

P (n ) < P (w)

Considrons ensuite larbre de codage obtenu par dplacement du sous-arbre situ en-dessous
7.1. CODES DE LONGUEUR FIXE : CODE DE TUNSTALL 125

de n vers la feuille w (n devient ainsi une feuille et w un nud interne).


Avec les exemples prcdents :

n*
0.7 0.3 0.7
0.3
0.49 0.09
0.49 0.09 0.21 0.21
w 0.21 0.21
0.343 0.147 0.063 0.027
0.063 0.027
0.103 0.044

Larbre obtenu par cette opration dfinit encore un ensemble propre.


En outre, comme P (n ) < P (w), les probabilits de tous les nuds du sous-arbre dplac
sont plus grandes dans le nouvel arbre de codage que dans larbre original.
Ainsi, la longueur de message cod moyenne qui, daprs le lemme de la longueur du chemin,
est la somme de toutes les probabilits des nuds internes, est plus grande pour le nouvel
ensemble de messages que pour lancien.
Ainsi lancien ensemble de messages ne pouvait pas donner la longueur de message cod
moyenne maximale.
On a donc ce stage prouv que tout ensemble propre de message qui maximise la longueur
moyenne est un ensemble de Tunstall.
Rciproquement, considrons un ensemble de Tunstall T et montrons quil maximise la lon-
gueur moyenne des messages cods (parmis tous les ensembles propres possibles de M mes-
sages de la mme source U ).
En utilisant le lemme de la longueur du chemin, cela revient prouver quil maximise la
somme des probabilits des nuds internes. En dautres termes, montrons que pour tout arbre
T , ensemble
P propre de M messages de la source U , la somme des probabilits de ses nuds
internes nN (T ) P (n) est forcment plus petite que celle de T (lensemble de Tunstall
considr).
P
En effet, dcomposons la somme nN (T ) P (n) en dune part les nuds qui sont aussi
des nuds internes de T et dautre part ceux qui ne sont pas des nuds internes de T . Ces
derniers sont soit des feuilles de T , soit domins par un nud qui est une feuille dans T (i.e.
sont dans un sous-arbre dplac vers une feuille de T ).
On a alors :
X X X
p(n) = p(n) + p(w) (1 + )
| {z }
nN (T ) nN (T )N (T ) wN (T )F (T ) sous-arbre

(en notant F (T ) lensemble des feuilles de T ).


Par ailleurs,
X X X
p(n) = p(n) + p(n)
nN (T ) nN (T )N (T ) les autres nN (T )

P P
Il faut noter que les deux sommes nN (T ) p(n) et nN (T ) p(n) ont le mme nombre

P termes (puisque T et T ont mme arit P
de et mme nombre de feuilles) et donc

wN (T )F (T ) p(w) (1 + ) (dvelope) et les autres nN (T ) p(n) ont galement le
126 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

mme nombre de termes.


Mais puisque T est un ensemble de Tunstall,

n N (T ) w F (T ) p(t) p(w),

et donc : X X
p(n) p(w) (1 + )
les autres nN (T ) wN (T )F (T )

(ces deux sommes ayant autant de termes, chacun des termes de la premire pouvant tre
appari (bijection) un terme plus petit (ou gal) de la seconde).
Do : X X
p(n) p(n)
nN (T ) nN (T )

Ce qui conclut la dmonstration.

7.1.4 Algorithme de construction du code de Tunstall

Soit n la taille dsire des mots de code, et soient DU et DZ respectivement larit de la source
U et larit du code Z. Le nombre maximal de mots de code est alors DZ n .
Nous voulons construire un ensemble de Tunstall de taille M pour U (M DZ n ), c.--d. que
nous cherchons (entre autres) un code complet, c.--d. sans feuilles inutiles (ensemble propre).
Nous devons donc avoir M de la forme (voir lemme 5.3) :

M = 1 + k (DU 1)

pour un certain entier k.


Pour tre optimaux, nous cherchons M maximal (avec M DZ n ). Nous devons donc choi-
sir :
DZ n 1
k=
DU 1

Ce qui mne lalgorithme suivant :


Algorithme de Tunstall pour un codage optimal de longueur fixe
1. Vrifier si DZ n DU . Si non, arrter : le code de longueur fixe est impossible crer.
n
2. Calculer k = DDZU 1
1

3. Calculer la taille de lensemble de messages cod M par M = 1 + k (DU 1)
4. Construire larbre de codage de Tunstall de taille M (c.--d. M feuilles) en rptant k
fois (racine incluse) :
prolonger (avec DU branches) le nud le plus probable
Il est aisment vrifiable que lensemble obtenu est effectivement un ensemble de Tuns-
tall.
5. Assigner un mot de code DZ -aire distinct de longueur n chaque feuille, c.--d. chaque
message dans lensemble de messages de Tunstall.
Exemple 7.3 DZ = 2, n = 3 (c.--d. mot de code = 3 bits)
U est une source ternaire (DU = 3) telle que P (U = 1) = 0.3, P (U = 0) = 0.2 et
P (U = 1) = 0.5.
7.1. CODES DE LONGUEUR FIXE : CODE DE TUNSTALL 127

Nous avons alors :


k = (8 1)/2 = 3
et
M =1+32=7

k boucles :
1) prolonger la racine

2) prolonger le nud le plus probable :

3) prolonger le nud le plus probable :

Finalement, affecter les mots de code :

V 1,1 1,0 1,-1 0 -1,1 -1,0 -1,-1


Z 000 001 010 011 100 101 110

valuation 33

Nous cherchons un code de longueur fixe binaire 4 bits optimal de la source ternaire, dont
les probabilits des symboles sont P (U = a) = 0.6, P (U = b) = 0.3 et P (U = c) = 0.1.

1. Combien de mots de code possde ce code ?


2. Combien dtapes sont requises pour construire larbre ?
3. Comment est segment (c.--d. spar en portions coder) le message dentre acaaabaaaabbaaabbbc ?
4. Comment est cod acaaabaaaabbaaabbbc (le mme message), en utilisant la conven-
tion que les feuilles sont numrotes par probabilit dcroissante (i.e. 0000 pour la
feuille la plus probable) ?
128 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

R SUM DE LA SECTION 7.1

code de longueur fixe : codage de blocs de longueur variable de la source dinformation par
des mots de code qui ont tous la mme taille.
ensemble propre : un ensemble complet de feuilles dun arbre de codage (pas de feuilles
inutiles).
ensemble de Tunstall : un ensemble propre tel que chaque nud de larbre de codage cor-
respondant soit au moins aussi probable que nimporte laquelle de ses feuilles.
optimalit des ensembles de Tunstall : un ensemble propre maximise la longueur de mes-
sage cod moyenne si et seulement si cest un ensemble de Tunstall.
n
algorithme de Tunstall : k = DDZU 1
1
,M = 1 + k (DU 1), prolonger k fois le nud le
plus probable.

7.2 Codage des Entiers Positifs

O BJECTIFS PDAGOGIQUES DE LA SECTION 7.2


Dans cette section, nous tudions un codage simple et efficace des entiers par un code
binaire instantan (code dElias).

Tournons-nous maintenant vers un autre aspect, compltement diffrent, du codage : comment


reprsenter efficacement des entiers (quiprobables) par des codes binaires ? Dans cette sec-
tion, nous dcrivons un code instantan trs intelligent pour les entiers positifs, labor par
Elias.
Partons dun code pour entiers habituel, que le lecteur devrait connatre : la reprsentation
binaire (du bit le plus significatif). Voici un exemple de ce code, appel ici Z0 :

n 1 2 3 4 5 6 7 8
Z0 (n) 1 10 11 100 101 110 111 1000

La longueur de ces mots de code est :

|Z0 (n)| = log2 n + 1

ce qui est assez proche de loptimum thorique dans le cas le plus gnral (log2 n).
Ce code souffre toutefois dun inconvnient majeur : il est loin dtre instantan. En fait, chaque
mot de code Z0 (n) est le prfixe dinfiniment beaucoup dautres mots de code !
La premire ide mise par Elias fut dajouter un code de longueur |Z0 (n)| devant Z0 (n) pour
rendre le code instantan. Le code finalement propos consiste ajouter |Z0 (n)| 1 zros
devant Z0 (n). Voici un exemple de ce code, que nous appelons Z1 :

n 1 2 3 4 5 6 7 8
Z1 (n) 1 010 011 00100 00101 00110 00111 0001000

Z1 est maintenant un code instantan. Sa longueur est toutefois loin de celle dsire : il est
deux fois plus long :
|Z1 (n)| = 2log2 n + 1
7.2. CODAGE DES ENTIERS POSITIFS 129

Le truc intelligent utilis par Elias pour se dbarrasser de cet inconvnient fut de changer
le codage de la longueur fait par des zros en le code Z1 de cette longueur. Un mot de code est
ainsi fait de lenchanement de Z1 (|Z0 (n)|) et de Z0 (n).
Par exemple, 7 est cod en 111 par Z0 , ayant ainsi une longueur de 3. Ceci donne le prfixe
Z1 (3) =011, et 7 est donc cod en 011111 (=011,111). Voici dautres exemples :

n 1 2 3 4 5 6 7 8
Z2 (n) 11 01010 01011 011100 011101 011110 011111 001001000

Notez que Z0 (n) commence toujours avec un 1, qui nest maintenant plus requis pour viter
lambigut. On peut donc se dbarrasser de ce 1 inutile. Ceci nous mne au code dElias final
pour les entiers, dsign ici par Z2 :

n 1 2 3 4 5 6 7 8
Z2 (n) 1 0100 0101 01100 01101 01110 01111 00100000

Ce code est instantan. Quen est-il de sa longueur ?


pour la partie principale :
|Z0 (n)| = log2 n + 1

et pour le prfixe :
|Z1 (|Z0 (n)|)| = 2log2 (log2 n + 1) + 1

Donc :

|Z2 (n)| = 2log2 (log2 n + 1) + 1 + log2 n + 1 1


= log2 n + 2log2 (log2 n + 1) + 1 (7.1)

Il est assez remarquable quElias ait trouv un code binaire sans prfixe pour les entiers, dont
la longueur est assez proche de loptimum log2 n, et qui est de plus facilement implmentable.

valuation 34

Quel est le code dElias pour 255 ?

R SUM DE LA SECTION 7.2

Les codes dElias sont des codes binaires instantan pour les entiers, dont la longueur est
(asymptotiquement) proche de loptimum log2 (n).
Ces codes rsultent de lenchanement dun prfixe, fait du premier code dElias de la lon-
gueur de la reprsentation binaire habituelle du nombre coder, et dun suffixe, fait de
la reprsentation binaire habituelle sans son bit le plus significatif.
130 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

7.3 Codage de Sources Mmoire

O BJECTIFS PDAGOGIQUES DE LA SECTION 7.3


Aprs avoir tudi cette section, vous devriez :
1. savoir comment la premire partie du thorme de codage sans bruit de Shan-
non se gnralise aux sources stationnaires ;
2. connatre plusieurs mthodes pour effectuer la compression de messages de
sources stationnaires :
(a) savoir ce quest le codage prcdence dElias-Willems ;
(b) savoir ce que sont les codes de Lempel-Ziv.

Finissons ce chapitre en voquant le difficile sujet du codage de sources mmoire, c.--d.


avec des dpendances internes dans les squences de symboles.
Nous avons vu dans le chapitre 5 que le codage de Huffman tait optimal dans le cas dun
nombre fixe de variables alatoires distribues de manire indpendante et identique (p.ex.
plusieurs occurrences indpendantes de la mme source). Quen est-il du cas o les symboles
sont dpendants ?
Les sources considres dans cette section sont donc des processus stochastiques stationnaires
(voir dfinitions 3.1 et 3.2 du chapitre 3) ; plus prcisment, des sources qui mettent des s-
quences U1 , U2 , U3 , . . . de variables alatoires D-aires telles que pour tout t 1 et tout n 1,
les vecteurs alatoires (U1 , U2 , . . . , Un ) et (Ut+1 , Ut+2 , . . . , Ut+n ) aient la mme distribution
de probabilit.

Exemple 7.4 Considrons, comme exemple dune source avec des dpendances internes,
la source oscillante U consistant en une source binaire stationnaire telle que pU (0) =
pU (1) = 0.5 et :

P (Ui = 0|Ui1 = 0) = 0.01 P (Ui = 1|Ui1 = 0) = 0.99


P (Ui = 0|Ui1 = 1) = 0.99 P (Ui = 1|Ui1 = 1) = 0.01

(et pas dautres dpendances plus long terme), c.--d. P (Ui |Ui1 ...U1 ) = P (Ui |Ui1 ),
sinon au moins une des quations ci-dessus ne serait pas vrifie).
Lentropie dun symbole seul de cette source est clairement H(U ) = 1 bit. Quen est-il du
taux dentropie ?

h (U ) = lim H(Ui |Ui1 Ui2 ...U1 )


i
= lim H(Ui |Ui1 )
i
stationnarit
= H(U2 |U1 )
= P (U1 = 0) e h(0.01) + P (U1 = 1) e
h(0.99)
= e
2 0.5 h(0.01)
= 0.081 bit

o e
h(p) est lentropie dune variable alatoire binaire de paramtre p :
7.3. CODAGE DE SOURCES MMOIRE 131

e
h(p) = p log(p) (1 p) log(1 p).

Pour de telles sources stationnaires discrtes, la premire partie du thorme de codage sans
bruit de Shannon se gnralise :

Thorme 7.4 La longueur moyenne E [LZ ] dun code D-aire Z sans prfixe pour
des segments de longueur k dune source discrte stationnaire U vrifie :

h (U ) E [LZ ]

log D k

o h (U ) est le taux dentropie de la source U comme dfini dans le thorme 3.1.

7.3.1 Codage de Huffman par blocs

Une manire simple de coder efficacement des sources stationnaires consiste segmenter le
flux de symboles de la source en squences de longueur fixe k et de considrer cette nouvelle
source, dsigne ci-aprs par U (k) , pour le code de Huffman (sans mmoire).
Par exemple, si le flux dorigine est 001010011010... et si nous prenons k = 3, nous
considrerons les messages 001, 010, 011, etc... sparment.
Plus grand est k, plus U (k) traite de dpendances et plus efficace sera le code de Huffman cor-
respondant. Cette solution requiert malheureusement trop de puissance de calcul pour pouvoir
tre utilise en pratique pour des grands k.

Exemple 7.5 Voici le code de Huffman de la source oscillante de lexemple 7.4 avec des
blocs de taille 3.

U P (U )
000 0.5 0.01 0.01 = .00005
001 0.5 0.01 0.99 = .00495
010 0.5 0.99 0.99 = .49005
011 0.5 0.99 0.01 = .00495
100 0.5 0.99 0.01 = .00495
101 0.5 0.99 0.99 = .49005
110 0.5 0.01 0.99 = .00495
111 0.5 0.01 0.01 = .00005

0.50995
0.0199

0.01
0.00505

0.0001 0.0099

000 111 001 110 011 100 101 010

E [L] = 1 + 0.50995 + 0.0199 + 0.01 + 0.0099 + 0.00505 + 0.0001 = 1.5549


= 0.5183 par symbole
132 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

7.3.2 Schma de Codage de Source de Elias-Willems

Le schma dElias-Willems pour le codage dune source mmoire est le suivant :


1. partager le flux de symboles de la source en blocs de taille k (c.--d. U (k) comme dans
la section prcdente)
2. coder chaque bloc avec le code dElias de son compte de prcdence1 .
La seule pice du schma qui nous manque encore ce point est le compte de prcdence .

Dfinition 7.3 (Compte de Prcdence) Le compte de prcdence dun symbole v


la position n dune squence de symboles V est Rn (v) = n Ln (v), o Ln (v) est
le dernier index t (avant n) tel que Vt = v :

Ln (v) = max {t < n : Vt = v}

Rn (v) est donc le nombre de symboles reus au temps n depuis la dernire rception
de v (avant n).
Pour que le compte de prcdence soit dfini pour chaque n possible (mme les
premiers), une convention doit tre choisie pour donner une valeur dindex initiale
tous les symboles possibles.

Dfinition 7.4 (Suite des (compte de) prcdences) La suite des prcdences N
associe un processus alatoire V est le processus alatoire dfini par Nn =
Rn (Vn ).

Exemple 7.6 (Compte de Prcdence) Comme premier exemple, considrons la squence


01011010 dune source binaire. Les comptes de prcdence correspondants, avec la
convention que 0 a lindex initial par dfaut -1 et que le symbole 1 a 0, sont alors :

vn Rn (0) Rn (1) Nn
0 2 1 2
1 1 2 2
0 2 1 2
1 1 2 2
1 2 1 1
0 3 1 3
1 1 2 2
0 2 1 2

Et la suite des prcdences correspondante est donc 2,2,2,2,1,3,2,2.


Comme deuxime exemple, considrons la source V dont les symboles sont des mots de 2
bits : 00, 01, ... et la convention que 00 a la valeur index par dfaut initiale -3, 01 -2, 10 -1
et 11 0.
Pour la squence 11,01,00,10,01,11,01,01,00, la suite des prcdences sera alors
1,4,6,5,3,5,2,1,6.

1
Elias-Willems utilise en fait le rang dans les comptes de prcdence, qui est gnralement plus petit que le
compte de prcdence mais naffecte par les rsultats gnraux prsents ici.
7.3. CODAGE DE SOURCES MMOIRE 133

valuation 35

Considrant une source binaire avec des symboles un bit et la convention que 0 a lindex par
dfaut initial -1 et 1 0, quelle est la suite des prcdences pour la squence source correspon-
dante : 0001101000111 ?

valuation 36

Considrant une source binaire avec des symboles un bit et la convention que 0 a lindex par
dfaut initial -1 et 1 0, quelle est la squence source correspondant la suite des prcdences :
1,3,1,3,1,3,2,2 ?

Voici maintenant une proprit qui nous sera utile pour apprcier lefficacit du schma dElias-
Willems.

Proprit 7.1 Si la source V est stationnaire et ergodique, alors le symbole v appa-


rat en moyenne chaque 1/pV (v) fois :
1
E [Ni |Vi = v] = E [Ri (v)] =
pV (v)

D MONSTRATION Soit kn (v) le nombre doccurrences de v dans une squence de longueur


n de la source V . Le nombre dintervalles entre deux rptitions conscutives de v est alors
kn (v) et la longueur totale de ces intervalles est n. Lintervalle moyen sur une squence de
longueur n est donc n/kn (v). Quand n tend vers linfini, pour des raisons dergodicit de la
source, kn (v) tend vers linfini comme (n pV (v)) et donc
n 1
E [Ri (v)] = lim =
n kn (v) pV (v)

Prouvons maintenant que le code dElias du compte de prcdence effectue un code qui est
asymptotiquement efficace, c.--d. tendant asymptotiquement vers loptimum thorique donn
par le thorme 7.4.

Thorme 7.5 La longueur moyenne E [|Z2 (N )|] dun code dElias-Willems avec
des blocs de taille k dune source stationnaire U vrifie :

E [|Z2 (N )|] c 2 ck (U ) + 1) + 1
h (U ) hk (U ) + log2 (k h
k k k

ck (X) = 1 H(X k ) (cf chapitre 3).


Rappel : h k 1
134 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

Corollaire 7.1 La longueur moyenne E [|Z2 (N )|] dun code dElias-Willems avec
des blocs de taille k dune source stationnaire U vrifie :

E [|Z2 (N )|]
lim = h (U )
k k

D MONSTRATION Quelle est la longueur moyenne dun code dElias-Willems ?


X X
E [|Z2 (N )|] = pV (v) E [|Z2 (Ni (Vi ))||Vi = v] = pV (v) E [|Z2 (Ri (v))|]
vVV vVV

Mais, par lquation 7.1 nous avons :

E [|Z2 (Ri (v))|] log2 (Ri (v)) + 2 log2 (log2 (Ri (v)) + 1) + 1

En utilisant lingalit de Jensen nous avons :


X
E [|Z2 (N )|] [log2 (E [Ri (v)]) + 2 log2 (log2 (E [Ri (v)]) + 1) + 1] pV (v)
vVV

et de la proprit 7.1
X X
E [|Z2 (N )|] pV (v) log2 (pV (v)) + 2 pV (v) log2 (1 log2 (pV (v))) + 1
vVV vVV

c.--d., en utilisant encore une fois lingalit de Jensen :

E [|Z2 (N )|] H(V ) + 2 log2 (H(V ) + 1) + 1

ck (U ), donc :
Notez finalement que H(V ) = H(U (k) ) = H(U1 , ..., Uk ) = k h

E [|Z2 (N )|] c 2 1
hk (U ) + log2 (k hk (U ) + 1) +
k k k

Lautre ingalit dcoule directement du thorme 7.4.

valuation 37

Comment est code la squence 100000101100 en utilisant le schma dElias-Willems avec


k = 2 et la convention que 00 a la valeur index par dfaut initiale -3, 01 -2, 10 -1 et 11 0 ?

7.3.3 Codages de Lempel-Ziv

Lide du trs populaire codage de Lempel-Ziv est assez similaire celle du schma de codage
dElias-Willems : en utilisant des ides similaires celle de compte de prcdence, il vise aussi
tre universel, c.--d. bien fonctionner pour diffrents types de sources stationnaires sans
connatre prcisment toutes leurs proprits statistiques.
7.3. CODAGE DE SOURCES MMOIRE 135

Il existe beaucoup de variantes de lalgorithme de Lempel-Ziv de base, utilisant des diction-


naires, le post-traitement et encore beaucoup dautres amliorations. Parmi les variantes les
plus connues, on peut citer :

Nom Auteurs Mthode


LZ77 Lempel & Ziv 1 caractre et 1 paire de pointeurs de taille fixe
(1977) pas de dictionnaire
LZ78 Lempel & Ziv identique LZ77 mais avec un dictionnaire
(1978) (pointeurs dans le dictionnaire)
LZSS Storer & Szymanski 1 pointeur de taille fixe ou 1 caractre (+ 1 bit
indicateur)
(1982) pas de dictionaire
LZW Welch seulement des pointeurs de taille fixe
(1984) alphabet inclus dans le dictionnaire

Ces algorithmes sont les algorithmes de compression les plus utiliss en pratique (p.ex. en zip,
compress, gzip, ...). Les raisons principales sont que ces algorithmes donnent de manire
efficace un bon taux de compression. Ces algorithmes sont en effet linairement complexes et
nexigent que peu de mmoire.
Dans cette section, nous nous concentrons sur le noyau de ces algorithmes de compression en
prsentant le plus simple dentre-eux : LZ77.
Pour ce code, les mots de code sont des uplets (i, j, u). i et j sont des nombres entiers et u est
un symbole de la source.
Le mot de code (i, j, u) reprsente une squence de symboles qui peuvent tre obtenus partir
de la squence courante
en copiant j symboles en partant depuis i positions en arrire
et en ajoutant le symbole u la fin.
Si i est nul, j est ignor.

Exemple 7.7 (Mot de code LZ77) Par exemple, si la squence courante dcode est
10010, le mot de code (3, 2, 1) reprsente la squence 011 : en copiant 2 symboles (01) en
partant de 3 positions en arrire (10|010), et en ajoutant 1 la fin.
Si j est plus grand que i, la copie du caractre continue avec les caractres nouvellement
copis (c.--d. que le tampon dbutant i positions en arrire est cyclique).
Par exemple, si la squence courante dcode est 10010, le mot de code (3, 5, 1) reprsente
la squence 010011 : en partant de trois positions en arrire (10|010) en copiant cinq
symboles : dabord les trois symboles existant dj en i = 3 positions en arrire (010), ce qui
donne 10010|010, et en continuant avec les deux caractres suivants, 01 depuis le caractre
nouvellement ajout, ce qui donne 1001001001. Le dcodage se termine finalement par
laddition du 1 (dernier lment du mot de code) la fin, ce qui donne 10010010011.
En rsum : 10010 + (3, 5, 1) = 10010010011.

Exemple 7.8 (Dcodage LZ77) Voici un exemple montrant comment la squence


(0,0,0) (0,0,1) (2,1,0) (3,2,1) (5,3,1) (1,6,0)
est dcode :
136 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

mot de code tampon cyclique squence ajoute squence dcode complte


(0,0,0) 0 0
(0,0,1) 0 1 01
(2,1,0) 01 0101... 00 0100
(3,2,1) 0 100 100100... 101 0100101
(5,3,1) 01 00101 00101... 0011 01001010011
(1,6,0) 0100101001 1 1111... 1111110 010010100111111110

Le rsultat final est ainsi 010010100111111110.

Lalgorithme de codage correspondant, qui utilise un tampon fentre glissante pour se rappe-
ler du contexte pass, est le suivant :
1. chercher dans le contexte courant (c.--d. le dbut de la squence restant coder) la
squence la plus courte qui nest pas encore dans le tampon ;
2. retirer le dernier caractre u de cette squence inobserve et chercher dans le tampon la
squence correspondante la plus proche ;
3. mettre les position en arrire (i) et longueur (j) correspondantes, suivies par le dernier
caractre retir (u)
4. mettre jour le tampon (avec la squence nouvellement code) et retourner en 1 tant
quil reste une entre.
Voici un exemple ce cet algorithme de codage :

Exemple 7.9 (Codage LZ77) Considrons le message 111111111101111011 coder.


Au commencement, comme le tampon est vide, la premire paire de pointeurs doit tre (0,0)
et le caractre correspondant est le premier de la squence. Le premier mot de code est alors
(0, 0, 1).
Le tampon est maintenant chang en 1. Avec la convention utilise pour j > i, nous pou-
vons maintenant coder des squences faites uniquement de 1 de nimporte quelle longueur.
Ainsi, la squence considre pour le codage, c.--d. la squence la plus courte commenant
aprs la dernire squence code et ne se trouvant pas encore dans le tampon (cyclique), est
maintenant : 1111111110.
Cette squence est code en le mot de code (1, 9, 0) : aller 1 pas en arrire dans le tampon,
copier 9 caractres depuis le tampon (avec rptition comme 9 > 1, et ajouter la dernire
partie du mot de code, ici 0.
La portion du message cod jusquici (et le tampon) est alors 11111111110, et la portion
restant coder est 1111011.
Retour ltape 1 : quelle est la squence la plus courte coder qui nest pas contenue dans
le tampon ?
A cette tape, cest 1111011. En enlevant le dernier caractre (1), nous nous retrouvons
avec 111101 ce qui correspond dans le tampon courant i = 5 et j = 6 (en utilisant
nouveau laspect cyclique du tampon : i < j).
Le mot de code correspondant est ainsi (5, 6, 1).
En rsum : 111111111101111011 est cod en (0, 0, 1)(1, 9, 0)(5, 6, 1).

valuation 38
7.3. CODAGE DE SOURCES MMOIRE 137

Comment la squence 100000101100 est-elle code en utilisant lalgorithme LZ77 ?

valuation 39

En quoi la squence (0,0,0) (1,2,1) (2,5,0) est-elle dcode (en faisant lhypothse dun codage
LZ77) ?

R SUM DE LA SECTION 7.3

thorme de codage sans bruit de Shannon pour des codes sans prfixe dune source sta-
tionnaire : hlog
(U )
D
E[LZ ]
k .
compte de prcdences Rn (v) est le nombre de symboles reus au temps n jusqu la der-
nire rception de v (avant n).
codes dElias-Willems codage dElias du compte de prcdence.
algorithme de Lempel-Ziv LZ77 : utilise un tampon (cyclique) se rappelant la squence
passe, code des squences avec des mots de code consistant en une position en arrire
dans le tampon, une longueur et un caractre ajouter en fin de la squence actuelle.

R SUM DU CHAPITRE 7

code de longueur fixe : codage de segments de longueur variable de la source dinforma-


tions dentrs avec des mots de code qui ont tous la mme taille
ensemble propre : un ensemble complet de feuilles dun arbre de codage (pas de feuille
inutile).
ensemble de Tunstall : un ensemble propre tel que chaque nud de larbre de codage cor-
respondant soit au moins autant probable que nimporte laquelle de ses feuilles.
optimalit des ensembles de Tunstall : un ensemble propre maximise la longueur de mes-
sage cod moyenne si et seulement si cest un ensemble de Tunstall.
n
algorithme de Tunstall : k = DDZU 1
1
,M = 1 + k (DU 1), prolonger k fois le nud le
plus probable.
les codes dElias sont des codes binaires instantans pour les entiers, dont la longueur est
(asymptotiquement) proche de loptimum log2 (n).
Ces codes rsultent de lenchanement dun prfixe, fait du premier code dElias de la
longueur de la reprsentation binaire habituelle du nombre coder, et dun suffixe, fait
de la reprsentation binaire habituelle sans son bit le plus significatif.
thorme de codage sans bruit de Shannon pour des codes sans prfixe dune source sta-
tionnaire : hlog
(U )
D
E[LZ ]
k .
compte de prcdences Rn (v) est le nombre de symboles reus au temps n jusqu la der-
nire rception de v (avant n).
codes dElias-Willems code dElias du compte de prcdence.
algorithme de Lempel-Ziv LZ77 : utilise un tampon (cyclique) se rappelant la squence
138 CHAPITRE 7. COMPLMENTS AU CODAGE EFFICACE DE LINFORMATION

passe, code des squences avec des mots de code constitu de : une position (en ar-
rire) dans le tampon, une longueur et un caractre ajouter en fin de la squence
actuelle.

Histoire et bibliographie

En dpit de son importance fondamentale, le travail de Tunstall ne fut jamais publi dans la
littrature. La thse de doctorat de Tunstall (A. Tunstall, Synthesis of Noiseless Compression
Codes , Ph.D. thesis, Georgia Institute of Technology, Atlanta, GA, 1968), qui contient ce tra-
vail, resta non remarque pendant de longues annes avant de devenir familire aux thoriciens
de linformation.
Chapitre 8

Exercices du module I1

par J.-C. C HAPPELIER

8.1 Codes de longueur fixe : codes de Tunstall

Exercice 8.1.1:

Soit un d pip de distribution de probabilits :

1 2 3 4 5 6
0.12 0.15 0.16 0.17 0.18 0.22

a Avec un code de Tunstall binaire codant sur 4 bits, combien de squences de ce d peut-on
coder ? Lesquelles (c.--d, dessinez larbre de codage) ?
e Coder la squence 1664 laide de ce codes.

8.2 Codage de squences dentiers positifs

Exercice 8.2.1:

Soit une source binaire U mmoire , stationnaire, de probabilit dmission conditionnelle


vrifiant P (Un |U1 ... Un1 ) = P (Un |Un1 ) avec :

P (0|0) = p P (0|1) = 1 p
(p < 1/3)
P (1|0) = 1 p P (1|1) = p

et P (U1 = 0) = P (U1 = 1) = 0.5. Il sagit donc dune chane de Markov stationnaire.

139
140 CHAPITRE 8. EXERCICES DU MODULE I1

a Calculer lentropie dun symbole quelconque la source (cela un sens puisque la source
est stationnaire).
Calculer la longueur moyenne dun code binaire par symbole de cette source (ne cher-
chez pas trop loin : ceci est vraiment trivial !).
b Calculer lentropie assymptotique de la source, c.--d.
H (U ) = lim H(Un |U1 ... Un1 )
n

c On envisage prsent un codage par blocs de taille 2. Calculer lentropie de la source V2


consistant regrouper par paquets de 2 bits les messages de U . Proposer un codage de
Huffman de V2 . Calculer sa longueur moyenne. Conclure.
d Recommencer avec V3 , la source qui consiste

regrouper par paquets de 3 bits les messages
3 6
de U . On supposera ici que p < 3 .
e On envisage prsent dutiliser un code par compte de prcdence par bloc de taille 2. Il est
pour cela ncessaire de convenir dun message de rfrence pour le dbut des comptes
afin de pouvoir donner un compte de prcdence aux premiers blocs du message. Posons
11001001 pour cette rfrence.
1. Donner la squences des comptes de prcdence pour le message
101010110101010101010101 de la source U
2. En donner son codage laide du code de Elias Z2
3. Coder cette mme squence laide des codes des deux questions (c) et (d).
4. Quel taux de compression peut-on esprer avec un tel code (compte de prcdence
+ Elias Z2 ) en utilisant des blocs de taille L, c.--d. quelles ingalits vrifie la lon-
gueur moyenne du code divise par la taille du bloc (L) ? (Autrement dit : trouver
un encadrement de E[lLZ ] en utilisant h(p) et L, o lZ est la longueur dun mot de
code Z.)

8.3 Codage de sources mmoire

Exercice 8.3.1:

Lexercice prcdent illustre lapport des techniques de codage par blocs pour des sources
mmoire . Le problme de telles approches reste cependant le choix de la taille du bloc
qui, pour tre optimal, reste tributaire de la connaissance de la source (c.--d. la connaissance
de P (Un |U1 ... Un1 )). Il existe cependant de nombreuses techniques de compression, dites
universelles , dont le taux de compression tant assymptotiquement vers H (U ) sans pour
autant connatre les caractristiques fines de la source1 . Une telle technique est lalgorithme
de Lempel-Ziv utilis2 par exemple dans les programmes compress ou gzip. En voici le
principe :
a La premire tape consiste dcouper le message coder en sous-chanes (en commenant
par la chane vide) de sorte ne jamais rpter deux fois la mme sous-chane et
toujours crer la sous-chane la plus courte possible. Effectuer ce3 dcoupage sur le
message 0110100100100101011010.
1
Il faut cependant faire des hypothses de stationnarit et dergodicit de la source.
2
avec divers raffinements. Lalgorithme prsent ici est connu sous le nom LZ78.
3
car il est unique
8.3. CODAGE DE SOURCES MMOIRE 141

b En remarquant que chaque sous-chane ainsi obtenue est ncessairement la concatnation


dune sous-chane dj prcdemment rencontre et dun seul bit (le dernier), on peut
reprsenter chaque sous-chane laide dun couple (pointeur vers la sous-chane pr-
cdente, bit ajout). Le pointeur est en fait le numro de la sous-chane dans lordre
dans lequel on la rencontre (la sous-chane vide a pour numro 0). Ainsi le mes-
sage 100110101101101100 se dcompose en 1 0 01 10 101 1011 011 00
et donne donc suite la numrotation des sous-chanes suivante :
chane 1 0 01 10 101 1011 011 00
numro 1 2 3 4 5 6 7 8
Donner la reprsentation sous forme de liste de couples de ce message.
c La dernire tape consiste reprsenter la liste de couples. Pour cela le pointeur est repr-
sent par le code binaire du numro correspondant... ...sur combien de bits ? Puisquune
sous-chane en position p rfre toujours une sous-chane prcdente, on peut coder son
pointeur sur log p bits. Ainsi la squence de couples (0,0) (1,1) (2,0) (3,1) (0,1) se
reprsentera (,0) (1,1) (10,0) (11,1) (000,1) et sera alors code :0111001110001.
Coder les messages 11010010101001011010,
1111111111111111111110 et 1000011011100101110111.
d Dcoder le message 1001010101000100110111111010101000010101
142 CHAPITRE 8. EXERCICES DU MODULE I1
Chapitre 9

Module C4 : Transmission
dinformation en prsence de bruit

par J.-C. C HAPPELIER

O BJECTIFS PDAGOGIQUES DU CHAPITRE 9


Dans ce chapitre, nous prsentons :
1. les bases du codage dune source dinformation discrte permettant de trans-
mettre correctement ses messages, mme en prsence de bruit ;
2. la faon dont une transmission bruite peut tre formalise par la notion de
canal ;
3. les deux notions fondamentales rgissant les transmissions en prsence de
bruit : la capacit de canal et le taux de transmission ;
4. la limite fondamentale, universelle, lerreur de transmission dans le cas dune
transmission bruite.

Introduction

Lorsquon traite d information , lun des objectifs principaux est de la transmettre de fa-
on fiable. Dans ce contexte, transmettre signifie aussi bien transmettre une information
dun point un autre , comme nous lentendons gnralement, que la transmettre travers
le temps ; par exemple, pour la stocker quelque part (la mmoriser) puis la rcuprer plus
tard. Dans les deux cas, cependant, la transmission de linformation peut rarement tre accom-
plie de faon totalement fiable dans la vie relle. Il existe toujours un risque de distorsion de
linformation transmise : du bruit sur la ligne, une fuite dans la mmoire ou le disque dur o
linformation est stocke, etc.
Quel effet le bruit a-t-il sur la transmission de messages ? Plusieurs situations sont possibles :
il nest jamais possible de transmettre des messages de faon fiable (trop de bruit) ;
il est possible de transmettre des messages avec une probabilit derreur raisonnable ;

143
144 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

il est possible de transmettre des messages avec une probabilit derreur aussi faible que lon
veut ( laide de codes correcteurs).
Lobjectif du prsent chapitre est prcisment dtudier en quoi le codage peut aider trans-
mettre linformation de faon fiable, mme en prsence de bruit pendant la transmission. Lide
de base de tels codages est de tenter dajouter de la redondance au message cod. Ainsi, sa
transmission dans des conditions de bruit raisonnables conserve suffisamment dinforma-
tion intacte, de faon ce que le destinataire soit en mesure de reconstituer le message original
sans distorsion.
Bien entendu, il est ncessaire de dfinir plus prcisment les notions de redondance suffi-
sante et de conditions de bruit raisonnables ; elles doivent mme tre quantifies et relies
lune lautre. Cela se fait en formalisant tout dabord la notion de transmission bruite
par lintroduction de la notion de canal de communication (section 9.1).
Comme nous le verrons dans la section 9.3, les deux notions fondamentales rgissant les trans-
missions en prsence de bruit sont la capacit de canal et le taux de transmission des symboles
des messages. Ces notions sont galement introduites dans la section 9.1.

Bruit
Message
Source reu
Codeur Canal Decodeur
n
Ui z1i ... zni z 1 ... z U
{
{

Zi Z
Mot de code Mot de code
transmis reu
F IG . 9.1 Communication avec correction derreur travers un canal bruit.

Le cadre gnral dans lequel se place ce chapitre est rsum en figure 9.1.

9.1 Canal de communication

O BJECTIFS PDAGOGIQUES DE LA SECTION 9.1


Cette section prsente la notion de canal de communication et sa principale caract-
risation : la capacit.
Aprs lavoir tudie, vous devriez tre en mesure de formaliser une communication
(cest--dire de donner le canal correspondant) et de calculer sa capacit, du moins
dans les cas les plus simples.
Vous devriez galement savoir ce quest un canal symtrique, et ce que cela implique
en ce qui concerne sa capacit.
Enfin, nous introduisons galement la notion de taux de transmission.
9.1. CANAL DE COMMUNICATION 145

9.1.1 Canaux de communication

Exprim en termes approximatifs, un canal de communication (ou, plus brivement, canal )


reprsente tout ce qui peut arriver aux messages transmis1 entre leur mission et leur rception.
La squence dentre X1 , X2 , X3 , . . . (i.e. le message transmettre) est entirement et unique-
ment dtermine par la source. Mais la transmission dtermine les probabilits conditionnelles
rsultant de la squence de sortie Y1 , Y2 , Y3 , . . . (i.e. le message reu), connaissant cette s-
quence dentre.
En termes mathmatiques, le canal spcifie les probabilits conditionnelles des divers messages
qui peuvent tre reus, conditionnellement aux messages qui ont t mis; cest--dire P (Y1 =
y1 , ..., Yn = yn |X1 = x1 , ..., Xn = xn ) pour tous les n et toutes les valeurs y1 , x1 , ..., yn , xn
possibles.

Dfinition 9.1 (Canal discret sans mmoire (DMC)) Le canal discret sans m-
moire (DMC ) est le type de canal de communication le plus simple. Formellement,
un DMC est dfini par les trois objets suivants :
1. un alphabet dentre discret VX , dont les lments reprsentent les symboles
possibles mis pour tous les messages dentre (la source X);
2. un alphabet de sortie discret VY , dont les lments reprsentent les symboles
possibles reus (squence de sortie); et
3. pour chaque x VX , les distributions de probabilit conditionnelles pY |X=x
qui dcrivent le comportement du canal de faon ce que pour tout n =
1, 2, 3, . . . :

P (Yn = yn |X1 = x1 , . . . , Xn = xn , Y1 = y1 , . . . , Yn1 = yn1 )


= P (Y = yn |X = xn ), (9.1)

On appelle ces dernires les probabilits de transmission du canal.

Lquation (9.1) est la formulation mathmatique correspondant la nature sans mmoire


du DMC : ce qui arrive au signal envoy la n-ime utilisation du canal est indpendant de ce
qui arrive lors des n 1 utilisations prcdentes.
Il faut galement noter que (9.1) implique que tout DMC est indpendant du temps en ce sens
que la distribution de probabilit pYn |xn ne dpend pas de n.
Lorsque VX et VY sont finis, un DMC est trs souvent spcifi par un diagramme o :
1. les nuds de gauche indiquent lalphabet dentre VX ;
2. les nuds de droite indiquent lalphabet de sortie VY ; et
3. un arc allant de xi yj est dessin avec ltiquette de la probabilit conditionnelle
pY |X=xi (yj ) (sauf si cette probabilit est 0, auquel cas larc est simplement omis.)

Exemple 9.1 (Canal binaire symtrique) Le cas le plus simple (et non trivial) de DMC est
le canal binaire symtrique (BSC ), pour lequel VX = VY = {0, 1} ( binaire ) et

pY |X=0 (1) = pY |X=1 (0)

1
La notion de message a t dfinie dans le chapitre 5.
146 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

( symtrique ). Cette valeur p = pY |X=0 (1) = pY |X=1 (0) est appele le taux derreur et
est le seul paramtre du BSC. En effet, pY |X=0 (0) = pY |X=1 (1) = 1 p.
Un BSC est alors reprsent par le diagramme suivant :

1p
1 1
p
X p Y
0 1p 0

Exemple 9.2 (Transmission bruite via un canal binaire symtrique) Supposons que
nous voulions transmettre les 8 messages suivants : 000, 001, 010, 011, 100, 101, 110
et 111.
Supposons que le canal utilis pour la transmission soit bruit, et quil modifie un symbole
sur dix, indpendamment de tout le reste; cest--dire que chaque symbole a une probabilit
p = 0.1 dtre chang (0 en 1, et 1 en 0). Un tel canal est donc un BSC avec un taux
derreur gal p = 0.1,
Quelle est alors la probabilit de transmettre correctement un de nos messages ?
Sans tenir compte de quel message est envoy, cette probabilit est :

(1 p)3 = 0.93 = 0.719

(qui correspond la probabilit de transmettre 3 fois un bit sans erreur.)


Donc la probabilit de recevoir un message erron est 0.281, soit 28%; ce qui est assez lev!
Supposons prsent que nous dcidions de coder chaque symbole du message par deux fois
lui-mme :

message 000 001 010 011 100 ... 111


code 000000 000011 001100 001111 110000 ... 111111

Quelle est maintenant la probabilit davoir un message envoy correctement ? De la mme


faon que prcdemment, cette probabilit vaut (1 p)6 = 0.531.
Et la probabilit de recevoir un message erron est prsent de 0.469... ... ce qui semble pire
quauparavant !
Cependant, quelle est la probabilit de recevoir un message erron qui semble tre valide;
cest--dire quelle est la probabilit de recevoir un message erron sans sapercevoir quil est
faux ?
Ne pas dtecter un message erron signifie que deux symboles correspondants ont t chan-
gs. Par exemple, si nous envoyons 000000, mais que 110000 est reu, il ny a aucun
moyen de se rendre compte que des erreurs se sont produites. Cependant, si 010000 est
reu, il est clair quau moins une erreur sest produite (on peut alors, par exemple, redeman-
der la transmission du message.)
Ne pas dtecter une erreur ne peut donc dcouler que de 2 changements (aux places corres-
pondantes) ou de 4 changements ou carrment, des 6 symboles.

Quelle est la probabilit de changer 2 symboles ? Rponse : 62 p2 (1 p)4 = 15 p2 (1 p)4
9.1. CANAL DE COMMUNICATION 147

3
Quelle est la probabilit de changer 2 symboles correspondants ? Seulement 1 p2 (1p)4 =
3 p2 (1 p)4 .
De la mme faon, la probabilit de changer 4 symboles correspondants est 3 p4 (1 p)2 , et
la probabilit de changer les six symboles est p6 .
Donc la probabilit de ne pas dtecter une erreur est

3 p2 (1 p)4 + 3 p4 (1 p)2 + p6 = 0.020.

Ce qui est beaucoup plus petit ! Cela signifie que la probabilit de commettre une erreur la
rception (cest--dire de faire confiance un message sans sapercevoir quil est erron) est
0.02, soit 2% seulement.
Conclusion : certains codages sont meilleurs que dautres pour la transmission de messages
via un canal bruit .

Clarifions maintenant la situation o un DMC est utilis sans retour , cest--dire lorsque la
distribution de probabilit des entres ne dpend pas de la sortie. Plus formellement, on dit
quun DMC est sans retour lorsque :

pXn |x1 ,...,xn1 ,y1 ,...,yn1 = pXn |x1 ,...,xn1 (9.2)

pour tout n = 1, 2, 3, . . . . Notez que (9.2) nimplique pas que nous choisissions chaque sym-
bole dentre indpendamment des symboles dentre prcdents, mais simplement que nous
nutilisons absolument pas les symboles de sortie prcdents lorsque nous choisissons des sym-
boles dentre successifs (comme nous pourrions le faire si un canal dinformation en retour
tait disponible de la sortie lentre du DMC).
Donnons prsent un rsultat fondamental sur le DMC sans retour.

Thorme 9.1 Pour tout DMC sans retour, nous avons pour tout n N :
n
X
H(Y1 . . . Yn |X1 . . . Xn ) = H(Yi |Xi )
i=1

o X1 ...Xn reprsente une squence dentre de longueur n et Y1 ...Yn la sortie cor-


respondante.

e-nnexe : Cascade de canaux

9.1.2 Capacit dun canal

Le rle dun canal est de transmettre des messages ( information ) dun point (lentre)
un autre (la sortie). La capacit dun canal mesure prcisment cette comptence : cest la
quantit maximale dinformation moyenne que la sortie du canal peut fournir sur lentre.
Souvenez-vous quun DMC est entirement spcifi par les distributions de probabilit condi-
tionnelle pY |X=x (o X reprsente lentre du canal et Y la sortie). La distribution de probabi-
lit dentre pX (x) ne fait pas partie du canal, mais uniquement de la source dentre utilise.
La capacit dun canal est donc dfinie comme linformation mutuelle maximale I(X; Y ) qui
peut tre obtenue parmi tous les choix possibles de pX (x). Plus formellement :
148 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

Dfinition 9.2 (Capacit dun canal) La capacit C dun canal discret sans m-
moire est dfinie comme
C = max I(X; Y ), (9.3)
pX

o X reprsente lentre du canal et Y sa sortie.

Nous verrons brivement que cette dfinition est effectivement trs utile pour ltude des trans-
missions bruites. Mais donnons tout dabord un premier exemple.

Exemple 9.3 (Capacit dun BSC) Quelle est la capacit C dun BSC, comme dfini dans
lexemple 9.1?
Notez tout dabord que par dfinition de linformation mutuelle,

C = max H(Y ) H(Y |X) .
pX

En outre, tant donn que dans le cas dun BSC, P (Y 6= X) = p et P (Y = X) = 1 p,


nous avons H(Y |X) = e h(p) = p log(p) (1 p) log(1 p), et par consquent

C = max H(Y ) e h(p).
pX

puisquil ne dpend pas de pX . Par ailleurs, puisque Y est une variable alatoire binaire,
nous avons (par le thorme 1.2) : H(Y ) log 2, cest--dire H(Y ) 1 bit. Ce maximum
peut-il tre atteint pour certains pX ? Oui, en effet : si X est distribue uniformment, nous
avons pY (0) = p pX (1) + (1 p) pX (0) = 0.5 p + 0.5 (1 p) = 0.5; ce qui signifie
que Y est aussi distribue uniformment, ce qui mne H(Y ) = 1 bit. Par consquent :
maxX H(Y ) = 1 bit et donc

C =1e
h(p) (en bit).

valuation 40

Quelle est la capacit du canal symtrique perte dfini par le graphe suivant :

1p
0 0
p
X (perte) Y
p
1 1
1p

Est-ce (dans le cas le plus gnral):


1. C = 1 e h(p) = 1 + p log p + (1 p) log(1 p),
2. C = 1 p,
3. C = 1,
4. C = 1 + e
h(p) = 1 p log p (1 p) log(1 p),
5. ou C = 1 + p ?
9.1. CANAL DE COMMUNICATION 149

9.1.3 Canal symtrique lentre

Ici, nous considrons uniquement des DMC ayant un alphabet fini, cest--dire un nombre fini
K de symboles dentre et un nombre fini J de symboles de sortie.

Dfinition 9.3 On dit quun tel DMC est symtrique lentre si les distributions de
probabilit derreur sont toutes les mmesapour tous les symboles dentre; cest--
dire que les ensembles pY |xi (y) : y VY sont indpendants de xi .

a
une permutation prs

Exemple 9.4 (Canal symtrique lentre)


aa
0 1/2
1/2 a 1/4
0 1/4 ba
1/2
1/2
X (perte) Y X b Y
1/2 1/2
1 1/4 bc
1/2
c 1/4
1 1/2
cc
(a) Un DMC symtrique en entre (b)Un DMC symtrique en sortie
mais non symtrique en sortie. mais non symtrique en entre.

Un BSC est symtrique lentre. Celui de la figure (a) ci-dessus est galement symtrique
lentre, mais le canal de la figure (b) nest pas symtrique lentre.

Lemme 9.1 Pour un DMC symtrique lentre, H(Y |X) est indpendant de la
distribution pX , et H(Y |X) = H(Y |xi ) pour tout xi VX .

D MONSTRATION Il rsulte de la dfinition dun canal symtrique lentre que


J
X
xi VX H(Y |X = xi ) = H0 = pj log pj (9.4)
j=1

o {p1 , p2 , . . . , pJ } est lensemble des probabilits transition pY |xi (y), qui est indpendant
du symbole dentre xi . Par consquent,
X X
H(Y |X) = pX (x)H(Y |X = x) = pX (x)H0 = H0
x x

Pour un DMC symtrique lentre, trouver la probabilit dentre qui ralise la capacit (i.e.
atteint le maximum de )se rduit simplement trouver la distribution dentre qui maximise
lincertitude de la sortie.
150 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

Proprit 9.1 Pour un DMC symtrique lentre, nous avons

C = max [H(Y )] H0 (9.5)


PX

o H0 = H(Y |X = xi ) pour lun des xi VX .

D MONSTRATION Cette proprit dcoule directement de la dfinition 9.2 et du lemme 9.1.


9.1.4 Canal symtrique en sortie

Un canal symtrique lentre est un canal dans lequel les probabilits sortant de chaque
symbole dentre sont identiques. Nous considrons prsent des canaux ayant la proprit
que les probabilits entrant sur chaque symbole de sortie sont identiques.

Dfinition 9.4 (Canal symtrique


en sortie) On dit quun DMC est symtrique en
P pY |x (yi ) : x VX sont indpendants de yi . Notez que
sortie lorsque les ensembles
dans ce cas, les sommes x pY |x (yi ) sont galement indpendantes de yi .a

a
Certains auteurs ont appel cette proprit faible symtrie en sortie .

Exemple 9.5 (Canal symtrique en sortie) Tout BSC (voir exemple 9.1) est symtrique en
sortie. Le canal de lexemple 9.4, figure (b), est symtrique en sortie, mais celui de la fi-
gure (a) ne lest pas.

Lemme 9.2 Pour un DMC symtrique en sortie, une distribution de probabilit den-
tre uniforme (cest--dire pX (xi ) est la mme pour tout xi ) conduit une distribu-
tion de probabilit de sortie uniforme (cest--dire que pY (yi ) est la mme pour tout
yi ).

D MONSTRATION
X 1 X
pY (yj ) = pY |xi (yj )pX (xi ) = p (yj )
xi
|VX | x Y |xi
i

Mais puisque le DMC est symtrique en sortie, la somme de droite dans cette dernire qua-
tion est indpendante de yj . Donc pY est indpendant de yj ; cest--dire quil est la distribu-
tion de probabilit uniforme.

Il rsulte directement du lemme 9.2 et du thorme 1.2 que

Proprit 9.2 Pour tout DMC symtrique en sortie (dentre X et de sortie Y ), nous
avons :
max H(Y ) = log |VY |. (9.6)
pX
9.1. CANAL DE COMMUNICATION 151

9.1.5 Canal symtrique

Dfinition 9.5 (Canal symtrique) Un DMC est symtrique lorsquil est la fois
symtrique en entre et symtrique en sortie.

Thorme 9.2 La capacit dun canal symtrique (dont lentre est X et la sortie
Y ) est donne par :
C = log |VY | H0 (9.7)
o H0 = H(Y |X = xi ) pour nimporte lequel des symboles dentre xi VX .

D MONSTRATION Le thorme ci-dessus est une consquence immdiate des proprits


(9.5) et (9.6).

Exemple 9.6 Le BSC (voir exemple 9.1) est un canal pour lequel H0 = e
h(p) = p log p
(1 p) log(1 p). Ainsi,

CBSC = log 2 e
h(p) = 1 e
h(p) (en bit)

9.1.6 Taux de transmission

Dfinition 9.6 (Taux de transmission) Le taux de transmission (en base b) du code


dune source discrte U de |VU | messages avec des mots de code de longueur fixe n
est dfini par:
logb |VU |
Rb =
n

Notez que |VU | reprsente galement le nombre de mots de code possibles (code non-singulier
dterministe).
En pratique, on utilise larit du code comme base b pour le logarithme dans le calcul du taux
de transmission.
Exemple 9.7 Le taux de transmission (binaire) du code utilis dans lexemple 9.2 est R =
log 8 3 1
6 = 6 = 2 . Cela semble raisonnable puisque ce code rpte chaque message deux fois,
cest--dire quil utilise deux fois les symboles mis lorigine.

valuation 41

Sur un canal bruit, nous prvoyons dutiliser un code consistant tripler chaque symbole des
messages. Par exemple, a sera transmis aaa.
Quel est le taux de transmission R dun tel code ?
(Si vous tes perplexes au sujet de la base, choisissez pour cette dernire larit de la source,
cest--dire le nombre de symboles diffrents que la source peut mettre.)
152 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

R SUM DE LA SECTION 9.1

Canal : alphabets dentre et de sortie et probabilits de transmission (pY |X=x ).


DMC = Discrete Memoryless Channel (Canal discret sans mmoire).
Capacit de canal : C = maxpX I(X; Y )
logb |VU |
Taux de transmission dun code : Rb = n
Capacit dun canal symtrique lentre : C = max [H(Y )] H(Y |X = xi ) pour
PX
nimporte quel xi VX .
Capacit dun canal symtrique : C = log |VY | H(Y |X = xi ) pour nimporte quel
xi VX .

9.2 Quelques lemmes

O BJECTIFS PDAGOGIQUES DE LA SECTION 9.2


Dans cette section, nous introduisons plusieurs rsultats gnraux que nous appli-
querons ultrieurement dans notre tude des canaux, mais qui ont aussi beaucoup
dautres applications.

9.2.1 Lemme de lutilisation multiple

Nous avons dfini la capacit dun canal comme tant la quantit maximale dinformation que
la sortie du canal peut fournir sur lentre. Que peut-on dire si nous employons plusieurs fois
le mme canal (comme ce devrait tre le cas dans la vie relle !) ?

Lemme 9.3 Si un DMC sans retour, de capacit C est utilis n fois, nous avons :

I(X1 . . . Xn ; Y1 . . . Yn ) n C

o X1 ...Xn reprsente une squence dentre de longueur n et Y1 ...Yn la sortie cor-


respondante.

9.2.2 Lemme du traitement des donnes

Ici, nous considrons la situation illustre en figure 9.2, o plusieurs processeurs sont em-
ploys successivement. Les processeurs considrs ici sont des botes noires totalement
arbitraires. Ils peuvent tre dterministes ou stochastiques. Ils peuvent mme ne rien contenir
du tout. Tout ce que la figure 9.2 affirme, cest quil ny a pas de chemin cach par lequel
X peut affecter Z, cest--dire que X ne peut affecter Z quindirectement travers son effet
sur Y . En termes mathmatiques, cette contrainte peut tre exprime ainsi :

pZ|x,y (z) = pZ|y (z) (9.8)

pour tout y tel que pY (y) 6= 0, ce qui signifie que lorsque y est donn, z nest pas influenc
par x.
9.2. QUELQUES LEMMES 153

X Processeur Y Processeur Z
no. 1 no. 2

F IG . 9.2 Situation conceptuelle pour le lemme de traitement des donnes.

Le lemme du traitement des donnes dit essentiellement que linformation ne peut tre aug-
mente daucune faon par un quelconque traitement (bien quelle puisse ventuellement tre
mise sous une forme plus accessible !).

Lemme 9.4 (Lemme de traitement des donnes) Lorsque (9.8) est valable, nous
avons :
I(X; Z) I(X; Y ) (9.9)
et
I(X; Z) I(Y ; Z). (9.10)

9.2.3 Lemme de Fano

prsent, pour la premire fois depuis le dbut de notre tude de la thorie de linformation,
nous introduisons la notion d erreurs . Supposons que nous pensions la variable alatoire
b comme tant une estimation de la variable alatoire U . Afin que cela ait un sens, U
U b doit
prendre les valeurs du mme alphabet que U . Une erreur est alors simplement lvnement
b 6= U et la probabilit derreur, Pe , est donc
U

b 6= U ).
Pe = P (U (9.11)

Nous sommes maintenant prts pour lun des rsultats les plus intressants et les plus impor-
b ).
tants en thorie de linformation, et qui relie Pe lincertitude conditionnelle H(U |U

Lemme 9.5 (Lemme de Fano) Soient U et U b deux variables alatoires D-aires


avec les mmes valeurs. En dnotant par Pe la probabilit que U soit diffrent de
b , nous avons :
U
e b)
h(Pe ) + Pe log2 (D 1) H(U |U (9.12)
b ) est exprime en bits.
o lincertitude H(U |U

Nous pouvons maintenant aborder linterprtation du lemme de Fano. Tout dabord, nous ob-
servons que la fonction gauche de (9.12), esquisse en figure 9.3, est concave en Pe et est
positive pour tout Pe (0 < Pe 1) .
b ) est donne, (9.12) spcifie implicitement une
Ainsi, lorsquune valeur positive de H(U |U
borne infrieure positive sur Pe .
b soient binaires (i.e., D = 2) et que H(U |U
Exemple 9.8 Supposons que U et U b) = 1
bit.
2
Alors (9.12) donne
e 1
h(Pe )
2
154 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

~
h(Pe) + P e log(D 1)

log D
log(D 1)

0 D1 1 Pe
D

b ).
F IG . 9.3 Evolution en fonction de Pe de la borne sur H(U |U

ou, de faon quivalente,


.110 Pe .890.

Le fait quici (9.12) donne galement une borne suprieure non-triviale sur Pe est une cons-
quence du fait que le H(U |U b ) donn excde la valeur prise par le ct gauche de (9.12)
lorsque Pe = 1, savoir log2 (D 1) = 0. Ce nest pas toujours le cas. Par exemple, avec
D = 3 et H(U |U b ) = 1 bits nous obtiendrions, daprs (9.12)
2

e 1
h(Pe ) + Pe ,
2
qui conduit
Pe .084.
mais ne fournit pas de borne suprieure.
La borne suprieure triviale Pe 1 est en effet la seule borne suprieure qui puisse tre
tablie.

R SUM DE LA SECTION 9.2

Lemme du traitement des donnes : pZ|x,y (z) = pZ|y (z) = I(X; Z)


I(X; Y ) et I(X; Z) I(Y ; Z)
Lemme de Fano : e b)
h(Pe ) + Pe log2 (|VU | 1) H(U |U
9.3. LE THORME DE CODAGE EN PRSENCE DE BRUIT 155

9.3 Le thorme de codage en prsence de bruit

O BJECTIFS PDAGOGIQUES DE LA SECTION 9.3


Cette section est le cur de ce chapitre. Elle donne limportant thorme de codage
bruit , qui explique sous quelles conditions une communication fiable est possible
ou non.
Aprs avoir tudi cette section, vous devriez tre en mesure de dcider :
1. quelle est la vitesse de transmission maximale que vous pouvez utiliser sur un
canal de communication bruit afin dtre en mesure de construire une com-
munication fiable via ce canal ( laide des codes correcteurs derreurs);
2. quelle est la quantit minimale derreurs que vous tes sr de commettre si
vous transmettez linformation plus vite que ce maximum.

9.3.1 Codage par rptition

Le rle de cette section est de donner un exemple concret de codes correcteurs derreurs trs
simples (voire nafs). Des exemples plus ralistes seront prsents et tudis dans le cha-
pitre 11.
Il y a donc peu de choses apprendre dans cette section, si ce nest que le codage naf par
rptition nest pas trs bon et que dautres codes plus appropris devraient tre considrs en
pratique.
Les codes binaires rptition sont des codes Rk pour lesquels chaque symbole dentre
(binaire) est rpt n = 2 k + 1 fois (k > 1). Par exemple, le code R1 a t employ dans
lexemple 9.2. Nous ne considrons quun nombre impair de rptitions car le dcodage de
tels codes se fait par la majorit. Nous vitons donc le non-dterminisme quun nombre pair de
rptitions pourrait introduire (dans des cas o le mot de code reu contient autant de 0s que
de 1s).
Avec de tels codes, la probabilit dune mauvaise dcision concernant le dcodage dun sym-
bole est la probabilit quau moins k + 1 erreurs se sont produites sur le bloc correspondant.
Considrons le cas o un tel code est employ sur un BSC. Dans ce cas, le nombre derreurs
commises par le canal suit une distribution binomiale de paramtres (n, p). Par consquent, le
nombre derreurs moyen au niveau de la transmission de symboles de mots de code est n p.
Pour p < 0.5, ce nombre moyen est infrieur k + 0.5, donc la probabilit quau moins k + 1
erreurs se soient produites sur un mot de code (soit un bloc de codage), tend tre ngligeable
quand k (et donc n) tend vers linfini. En dautres termes, la probabilit que lon prenne une
mauvaise dcision en dcodant devient ngligeable mesure que le nombre de rptitions
augmente (et donc aussi la longueur des mots de code). Nous pouvons donc compenser, un
degr aussi fin que lon veut, la perte due au bruit sur le canal en choisissant un nombre de
rptitions assez grand.
Cependant, dans ce cas, le prix payer est trs lev en termes defficacit. En effet, le taux de
transmission dun tel code est n1 ... ...qui tend aussi vers 0 lorsque n tend vers linfini ! Pour n
grand, cela devient assurment un taux de transmission inacceptablement bas.
Limportance du thorme de codage bruit est prcisment quil garantit pour tout taux de
transmission donn au-dessous de la capacit lexistence de codes corrigeant suffisamment
156 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

dvnements. Le taux de transmission peut tre fix a priori et na pas besoin dtre ridi-
culement petit comme dans lexemple des codes par rptition. Il faut seulement quil soit
au-dessous de la capacit du canal.
e-nnexe : Codes par rptition sur un BSC

valuation 42

Sur un BSC de probabilit derreur p, nous envisageons dutiliser le code par rptition R1
consistant tripler chaque symbole des messages. Le dcodage est fait la majorit dans le
bloc reu.
En fonction de p, quelle est la probabilit Pb derreur par bit en sortie pour un tel systme de
communication ?
1. p2 p3
2. p2
3. 3p2 2p3
4. 2p2 3p3
5. p3

9.3.2 La partie rciproque du thorme de codage en prsence de bruit pour un


DMC sans retour

Dans cette section, nous montrons quil est impossible de transmettre de linformation de faon
fiable via un DMC un taux de transmission suprieur la capacit de ce DMC. Sans perte
de gnralit, nous supposons que l information transmettre est la sortie dune source
binaire symtrique (BSS ), pour Binary Symmetric Source , qui est une source binaire sans
mmoire telle que P (0) = P (1) = 21 . Ici, nous considrons le cas o le DMC est sans retour
(voir figure 9.1).
Donnons maintenant un rsultat important (introduit par C. Shannon) sur les transmissions via
un tel canal.

Thorme 9.3 (Partie rciproque du thorme de codage en prsence de bruit)


Si une source binaire symtrique est utilise un taux de transmission R sur un
DMC sans retour, de capacit C, et si R > C, alors Pb , la probabilit derreur par
bit en sortie, vrifie :
e 1 C
Pb h 1 , (9.13)
R
1
o e
h (x) = min{p : p log(p) (1 p) log(1 p) = x}.

1
Ici, nous avons crit e
h pour la fonction inverse de lentropie dune variable alatoire binaire.
1
Elle est dfinie par e
h (x) = min{p : p log(p) (1 p) log(1 p) = x}, o le minimum
est slectionn de sorte rendre cet inverse unique (voir figure 9.4).
Une consquence importante de ce thorme est que chaque fois que R > C, (9.13) spcifiera
une borne infrieure positive sur la probabilit Pb derreur par bit de sortie quaucun code
9.3. LE THORME DE CODAGE EN PRSENCE DE BRUIT 157

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1
F IG . 9.4 La fonction e
h , fonction inverse de lentropie dune variable binaire, dfinie par
1
e
h (x) = min{p : p log(p) (1 p) log(1 p) = x}.

correcteur, aussi complexe soit-il, ne pourra rduire. En clair : il est impossible de transmettre
des informations de faon fiable un taux suprieur la capacit du canal.
Avant dexaminer la dmonstration du thorme, donnons un exemple de son utilisation.

Exemple 9.9 (Partie rciproque du thorme de codage en prsence de bruit)


Supposons que nous utilisions un DMC de capacit C = 41 bit pour transmettre des
messages provenant dune source binaire symtrique. Si nous transmettons un taux R = 12 ,
alors (9.13) nous donne une erreur dau moins 11%:

e 1 1
Pb h 1 = .11.
2

Cela signifie quau moins 11% des symboles binaires ne seront pas transmis correctement.
(mme aprs dcodage)

D MONSTRATION Nous voulons montrer que lorsque R > C, il y a une borne infrieure
positive sur Pb quaucune faon de coder ne pourra dpasser.
Soit PB la probabilit derreur par mot :
m
X
b=
PB = P (U 6 U) = bi 6= Ui )
P (U
i=1

o m est la longueur du message dentre.


158 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

A noter que :
1
PB Pb PB mPb (9.14)
m
(on a en effet PB = 1 (1 Pb )m et Pb = 1 (1 PB )1/m ).
Par lutilisation du lemme de Fano, nous avons, dans le cas binaire considr ici :
e
h(PB ) = e b 6= U )) H(Ui |Ubi )
h(P (U

En outre, puisque e
h(x) est concave en x (pour 0 x 1) et que e
h(0) = 0 :

1 e e 1
h(PB ) h PB . (9.15)
m m

Et comme e
h est croissante sur [0, 0.5] :
1 e
h(PB ) e
h(Pb )
m

Nous avons donc ce stade :


e 1 b ).
h(Pb ) H(U |U
m
Par ailleurs:
b ) = H(U ) I(U ; U
H(U |U b)
b)
= m I(U ; U

puisque dans le cas o la source dentre U est une BSS, H(U ) = H(U (1) . . . U (m) ) =
log 2m = m .
b) ?
Quen est-il de I(U ; U
Si nous prenons pour processeur 1 et processeur 2 de la figure 9.2 respectivement le
codeur et le canal de la figure 9.1, en utilisant le lemme du traitement des donnes,
nous obtenons :
b ) I(Z; U
I(U ; U b) (9.16)

Prenons ensuite pour processeur 1 et processeur 2 le codeur et le canal de la


figure 9.1. En utilisant encore une fois le lemme du traitement des donnes, nous concluons
que :
I(Z; U b ) I(Z; Z).
b (9.17)

En combinant (9.16) et (9.17), nous obtenons alors lingalit suivante :


b ) I(Z; Z).
I(U ; U b

qui, combine au lemme 9.3, donne (utilisation de n symboles : les n caractres de Z) :


b) n C
I(U ; U (9.18)
9.3. LE THORME DE CODAGE EN PRSENCE DE BRUIT 159

Finalement, nous pouvons conclure que


b) m n C
H(U |U

et donc
e n
h(Pb ) 1 C
m
cest--dire, par dfinition du taux de transmission R:

e C
h(Pb ) 1
R

valuation 43

Sur un DMC sans retour de capacit C, nous voulons transmettre un message avec une proba-
bilit derreur par bit Pb infrieure une valeur donne Pb max ]0, 12 [.
Nous ne savons pas encore quel type de code sera utilis. Cependant, nous souhaitons dter-
miner le taux de transmission maximal Rmax que nous pouvons utiliser sur ce canal (et qui soit
compatible avec Pb Pb max ).
Quel est Rmax en termes de C et Pbmax ?
1. C
1
2. e
h (Pb max )
3. C e
h(Pb max )
C
4.
(1 e
h(Pb max ))
1
5.
(C h1 (Pb max ))
1
6. e
h (1 C/Pb max )

9.3.3 Le thorme de codage en prsence de bruit pour un DMC

Jusqu prsent, nous avons vu quil est impossible davoir une erreur de transmission au-
dessous dun certain niveau si le taux de transmission R est plus grand que la capacit du canal.
Nous tudions maintenant ce qui se passe lorsque nous souhaitons transmettre les messages
dune BSS sur une DMC un taux infrieur sa capacit.

Thorme 9.4 (Thorme de codage en prsence de bruit pour une DMC)


Considrons la transmission de messages au taux R sur un DMC sans retour de
capacit C. Pour tout R < C et tout > 0, il existe un code (correcteur derreurs)
dont le taux est R et tel que la probabilit derreur par bit en sortie Pb < .

Daprs ce thorme important, en choisissant un moyen apropri de coder linformation sur


un canal, on peut atteindre toute probabilit derreur aussi faible que lon puisse esprer.
160 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

zi Z

zj

zk

F IG . 9.5 Exemple derreur de dcodage dans la structure de codage alatoire : zi a t envoy,


zb a t reu et sera dcod ici en zj .

D MONSTRATION Au niveau de ce cours dintroduction, par souci de simplicit, nous ne


dmontrons le thorme que dans le cas dun BSC. Ici, la dmonstration sera constructive en
ce sens que nous laborons vritablement un code vrifiant le thorme.
La dmonstration gnrale du thorme de Shannon stend aux DMC avec alphabets den-
tre et de sortie arbitraires, et une capacit de canal arbitraire. Lide-cl de la dmonstration
gnrale est la mme, savoir de coder des messages par des mots choisis au hasard et de
dcoder laide de la dcision mot de code le plus proche . Les difficults dans la dmons-
tration sont causes principalement par la forme gnrale de la capacit de canal lorsque ce
nest pas un BSC. Les tudiants intresss par cette question trouveront des dmonstrations
compltes du cas gnral dans [1] ou dans [6].
Effectuons maintenant la dmonstration du cas dun BSC. En voici lesquisse :
1. tant donns R et , choisir la longueur de mot de code approprie n et le nombre de
mots de code M = 2R n .
2. Choisir ensuite les M mots de code z1 , ..., zM au hasard (comme vecteurs binaires
de longueur n), sans rptition. Si VU , le nombre de messages binaires possibles
transmettre est suprieur M , alors chaque message dentre se divisera en fragments
de n symboles au plus, qui seront cods sparment (par lun des mots de code zi ).
3. Calculer le seuil de dcodage r. Ceci correspond en fait au nombre maximal der-
reurs de transmission que le code peut corriger.
4. Utiliser la procdure de dcodage suivante :
z , zi ) r, dcoder zb en zi .
sil existe un et un seul mot de code zi tel que d(b
Ici, zb reprsente le message reu aprs la transmission, cest--dire la sortie du
canal, et d(x, y) est la distance de Hamming entre deux messages binaires, cest--
dire le nombre de symboles diffrents entre x et y.
autrement, dcodez comme z1 .
Un tel systme de codage (appel codage alatoire ) suffit assurer Pb < ( condition
que le bon n ait t choisi).
Soyons maintenant plus prcis et entrons dans les dtails.
9.3. LE THORME DE CODAGE EN PRSENCE DE BRUIT 161

Souvenez-vous tout dabord que la capacit dun BSC est C = 1 e h(p), o p est la
probabilit derreur du canal et o e
h(x) est lentropie dune variable alatoire binaire :
e
h(x) = x log x (1 x) log(1 x).
Puisque 0 < R < C, nous avons 1 > 1 R > e
h(p), et par consquent :

, 0.5 > p, tel que R < 1 e


h()

comme illustr sur cette figure :

~
h(x)
1
1R

~
h(p)

0 1111
0000 x
p ~
h1(1R) 0.5

Pour un tel , nous avons :



p (1 p) n(R+e
h()1)
lim + 2 =0
n n ( p)2

puisque R + e
h() 1 < 0.
Donc pour tout > 0 donn, il existe n0 tel que

p (1 p) e
n n0 2
+ 2n (R+h()1)
n ( p)

Pour des raisons techniques qui seront plus claires par la suite, nous avons galement besoin
davoir n tel que n = max {q N : q n} > n p. Cest le cas condition que n >
1
n1 = (p) .
En rsum, jusquici, nous sommes parvenus au rsultat suivant :

p [0, 0.5[ R, 0 < R < 1 e


h(p), > 0,
1 p (1 p) e
n N (e h (1 R), p) tel que + 2n (R+h()1)
n ( p)2

et n > n p

En fait, ceci est vrai pour tout n > max {n0 , n1 } dfinis ci-dessus.
Nous avons donc trouv lune des longueurs de mots de code appropries n . Proc-
dons alors comme expliqu au dbut avec M = 2n R mots de code et r = n =
max {m N : m n}. Dans ce schma de codage, pour un mot de code zi , une erreur
se produit lorsque (voir figure 9.5)
1 plus de r erreurs de transmission se sont produites : d(b
z , zi ) > r
ou
2 a) d(bz , zi ) r
et
162 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

b) z C, z 6= zi : d(b z , z) r
et
c) i 6= 1
o C = {z1 , ..., zM } reprsente le code.
Par consquent, la probabilit Perr (zi ) quun mot de code donn zi ne soit pas transmis cor-
rectement (dcodage inclus) est born par

Perr (zi ) = P (cas 1) + P (cas 2) P (d(b


z , zi ) > r) + P (z C \ {zi } : d(b
z , z) r)

Trouvons maintenant des limites suprieures ces deux termes.


d(b
z , zi ) est le nombre derreurs de transmission la sortie du BSC (cest--dire avant le
dcodage).
n kCest une variable alatoire binomiale de distribution de probabilit P (d(b
z , zi ) =
k) = k p (1 p) nk . Ainsi, sa moyenne et sa variance sont respectivement :

E[d(b
z , zi )] = n p z , zi )) = n p (1 p)
var(d(b

Alors, par lingalit de Chebyshev, nous avons (puisque r > n p)2 :

n p (1 p)
z , zi ) n p| r n p)
P (|d(b
(r n p)2

Par consquent :

z , zi ) > r) P (d(b
P (d(b z , zi ) r) = P (d(b
z , zi ) n p r n p)
P (|d(b
z , zi ) n p| r n p)
n p (1 p)
(9.19)
(r n p)2

Pour le second terme (P (z C \ {zi } : d(b


z , z) r)), nous avons :

P (z C \ {zi } : d(b
z , z) r)
z , z1 ) r ou ... ou d(b
= P (d(b z , zi1 ) r ou d(b z , zi+1 ) r ou ... ou d(b
z , zM ) r)
X
z , z) r) = (M 1) P (d(b
P (d(b z , z) r)
zC\{zi }

puisquil y a M 1 mots de code z tels que z 6= zi .


En outre, pour un z C donn, le nombre de zb possibles tels que d(b
z , z) = k est gal au
nombre de messages binaires de longueur n qui diffrent de z dans k positions exactement.
n!
Ce nombre est donc nk =
k ! (n k) !
z , z) r est gal
Par consquent, le nombre total de zb possibles tels que d(b
r
X n
k
k=0
9.3. LE THORME DE CODAGE EN PRSENCE DE BRUIT 163

et donc
r
1 X n
z , z) r) = n
P (d(b
2 k
k=0

Nous obtenons finalement :


r
M 1X n
P (z C \ {zi } : d(b
z , z) r)
2n k
k=0

En outre, comme nous allons le montrer la toute fin de cette dmonstration, nous avons
pour tout 0 r n2 :
Xr
n e r
2n h( n ) ,
k
k=0
n
donc (souvenez-vous que M = 2nR et que r 2 puisque < 0.5) nous avons trouv,
finalement :
2nR 1 n eh( r )
P (z C \ {zi } : d(b
z , z) r) 2 n
2n
e r
2n(R+h( n )1) (9.20)

prsent, en regroupant les quations (9.19) et (9.20), nous obtenons :

n p (1 p) e r
Perr (zi ) + 2n(R+h( n )1)
(r n p)2

ce qui, par les choix initiaux de r et n, est plus petit que .


1
Pour conclure la dmonstration, nous devons simplement noter que Pb = n Perr (zi )
Perr (zi ) (pour tout i).
La seule tape manquante dans la dmonstration ci-dessus est la dmonstration du rsultat
technique suivant :
r
X
n n e r
n N r N, 0 r , 2n h( n )
2 k
k=0

ce que nous faisons maintenant.

r
X X n
n n
= (k r)
k k
k=0 k=0

1 si t 0
o (t) =
0 autrement

Ainsi, pour tout 0 < x 1 : (t) xt , et par consquent :


r
X n
X
n n
xkr
k k
k=0 k=0
164 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT

r
X n (1 + x)n
i.e.
k xr
k=0
r
ce qui est vrai en particulier pour x = nr , avec r n/2:
r
X r n
n (1 + nr )
r r
k ( nr )
k=0

r
X n r r
i.e. 2nlog(1+ nr )rlog( nr )
k
k=0

r r
Mais : n log(1 + ) r log( )
n r n r
r
1 r n
= n log( ) log( )
1 nr n 1 nr
r r r r
= n log (1 ) log(1 )
n n n n
e )r
= n h(
n
ce qui conclut la dmonstration.

valuation 44

Considrons ici lutilisation dun BSC de probabilit derreur p (dont la capacit est donc
C = 1e h(p)). Dans les cas suivants, dites si un code remplissant les conditions demandes
R et Pb pourrait tre construit :

canal p 3% 6%
C 0.807 0.673
code R 2/3 3/4 9/10 2/3 3/4 9/10
Pb (en %) 1 2.2 1 2.2 1 2.2 1 2.2 1 2.2 1 2.2
existe ?

R SUM DE LA SECTION 9.3

Thorme de Shannon en prsence de bruit : Pour tout > 0 et tout R < C, C tant la
capacit dun canal discret sans mmoire, il existe un code dont le taux de transmission
est R et dont la probabilit derreur par bit en sortie Pb est au-dessous de .
Inversement, tous les codes pour lesquels le taux de transmission est au-dessus de la
1
capacit du canal ont une probabilit Pb suprieure e h 1 CR .

R SUM DU CHAPITRE 9

Canal : alphabets dentre et de sortie, probabilits de transmission (pY |X=x ).


DMC = Discrete Memoryless Channel (Canal discret sans mmoire).
Capacit du canal : C = maxpX I(X; Y )
9.3. LE THORME DE CODAGE EN PRSENCE DE BRUIT 165

logb |VU |
Code/Taux de transmission : Rb = n
Capacit de canaux symtriques lentre : C = max [H(Y )] H(Y |X = xi ) pour
PX
nimporte quel xi VX .
Capacit de canaux symtriques : C = log |VY | H(Y |X = xi ) pour nimporte quel
xi VX .
Lemme du traitement des donnes : pZ|x,y (z) = pZ|y (z) = I(X; Z)
I(X; Y ) et I(X; Z) I(Y ; Z)
Lemme de Fano : e b)
h(Pe ) + Pe log2 (|VU | 1) H(U |U
Thorme de Shannon en prsence de bruit : Pour tout > 0 et tout R < C, C tant la
capacit dun DMC, il existe un code dont le taux de transmission est R et dont la
probabilit derreur par bit en sortie Pb est au-dessous de .
Inversement, tous les codes dont le taux de transmission est au-dessus de la capacit
1
de canal ont une probabilit derreur par bit en sortie Pb suprieure e
h 1 C
R .

Histoire et bibliographie

Ce thorme fut une vritable bombe lors de sa publication dans larticle de C. Shannon
en 1948 [9]. Avant cela, on pensait gnralement que pour tablir des communications plus
fiables, il tait ncessaire de rduire le taux de transmission (ou, ce qui est quivalent, daug-
menter le rapport signal/bruit , comme les ingnieurs lauraient dit en 1947). Shannon a
dissip ces mythes en montrant qu condition que le taux de transmission soit au-dessous de
la capacit de canal, on pouvait augmenter la fiabilit en augmentant la complexit du systme
de codage, sans changer le rapport signal/bruit.
La premire dmonstration rigoureuse du thorme de Shannon en prsence de bruit est due
Feinstein, en 1954 [4]. Une dmonstration plus simple employant le codage alatoire tel que
prsent ici fut publie par Gallager en 1965 [5]. La partie rciproque du thorme fut prouve
par Fano en 1952, et publie dans ses notes de cours.

Pour aller plus loin

Le thorme de codage en prsence de bruit manque de considrations pratiques car il ne


fournit pas de moyens concrets de construire de bons codes efficaces. Par exemple, aucune
indication de la taille que les mots de code doivent atteindre pour un donn ; cest--dire
quel point le codeur et le dcodeur doivent tre complexes pour garantir une certaine fiabilit.
Cest la raison pour laquelle la thorie du codage est devenue un domaine si important : en
effet, cest un vritable dfi que de trouver de bons codes correcteurs derreurs, bons dans
le sens o la probabilit derreur est basse mais le taux de transmission est haut. Certains de
ces codes seront prsents dans le chapitre 11.
166 CHAPITRE 9. TRANSMISSION DINFORMATION EN PRSENCE DE BRUIT
Chapitre 10

Exercices du module C4

par J.-C. C HAPPELIER

10.1 Canaux de communication

Exercice 10.1.1:

Considrons le canal dfini par le graphe suivant (o reprsente le message vide, o p est la
probabilit derreur et q la probabilit de perte):

1pq
0 0
q
p
p
q
1 1pq 1

a Dmontrez que ce canal est symtrique lentre et non symtrique en sortie.


b Calculez sa capacit C en fonction de p et q?.
c Quelle est la valeur de C lorsque p est 0? Et lorsque q est 0?

Exercice 10.1.2:

a Dmontrez que la mise en cascade (les uns aprs les autres) dun nombre quelconque de
BSC, mme diffrents, mne finalement un BSC.
b Dans le cas spcial o le mme BSC (ayant une probabilit derreur p) est cascaded N fois,
quelle relation de rcurrence la probabilit derreur obtenue PN vrifie-t-elle ?

167
168 CHAPITRE 10. EXERCICES DU MODULE C4

c Supposons que QN soit QN = 1 2 PN . Exprimez QN en tant que fonction de p. Drivez-


en la valeur de PN en fonction de p et N .
d Quelle est la capacit de canal obtenue ? Montrez que cette capacit tend vers 0 (pour
p < 1) comme N tend vers linfini.

Exercice 10.1.3:

Quelle est la capacit dun canal ternaire (cest--dire dont les alphabets dentre et de sortie
ont 3 symboles diffrents), the transmission probability matrix is:

1 0 0
M = 0 2/3 1/3
0 1/3 2/3

(cest--dire Mi j = pY |X=i (j))

Exercice 10.1.4:

Considrons deux DMC de capacits respectives C1 et C2 et avec des probabilits de trans-


mission P (y1 |x1 ) et P (y2 |x2 ) respectivement. Ces deux canaux sont employs en parallle
daprs le schma suivant :

x1 C1 y1
X Y

x2 C2 y2

a En supposant que les deux sources X1 et X2 soient indpendantes et que le canal rsultant
vrifie P (Y |X) = P (y1 |x1 ) P (y2 |x2 ) (forte supposition dindpendance1 ), calculez la
capacit de canal rsultante.
b Et si nous considrions une seule source sans mmoire U et utilisions le canal en envoyant
un symbole sur un canal, puis le suivant sur le second canal, etc..; cest--dire si nous
prenions X1 = U2 n et X2 = U2 n+1 ?

Exercice 10.1.5:

Considrons un canal binaire (cest--dire que les alphabets dentre et de sortie sont binaires)
mais non symtrique (par exemple avec une fuite de masse, cest--dire une plus grande
probabilit de produire 0 que 1).
1
Notez que ce nest pas le cas en gnral : deux variables alatoires indpendantes ne sont pas toujours ind-
pendantes daprs une troisime !
10.1. CANAUX DE COMMUNICATION 169

Soit p la probabilit derreur dans le cas de la transmission dun 1 et q la probabilit derreur


dans le cas de la transmission dun 0 :

p = P (Y = 0|X = 1) et q = P (Y = 1|X = 0)

o X dnote lentre du canal et Y sa sortie.


Let further s be s = P (X = 0).
a Calculez H(Y |X). Il serait sans doute utile dintroduire = e h(q) eh(p), o e
h(x) =
x log x (1 x) log(1 x).
b Calculez H(Y ). Il serait utile dintroduire = 1 p q et r = s + p.
c Calculez la capacit dun tel canal en fonction de = / et p. Notez que

de
h(r) 1r
= log2
ds r

o r = s + p.
d La capacit dun canal binaire symtrique (avec la probabilit derreur p) est 1 e
h(p).
Trouvez ce rsultat daprs votre calcul prcdent.

Exercice 10.1.6:

Considrons un BSC dont la probabilit derreur varie dans le temps :

1 pi
0 0
pi
pi
1 1
1 pi

Supposons en outre que la probabilit derreur soit indpendante des messages transmis et donc
que les sorties Yi du canal soient indpendantes conditionnellement la squence dentre
X1 , ..., Xn :
n
Y
P (Y = (y1 , ..., yn )|X = (x1 , ..., xn )) = P (Yi = yi |Xi = xi )
i=1

Enfin, supposons que X soit une source sans mmoire, cest--dire que les entres Xi soient
indpendantes.

a Quelle est la capacit de canal Cn pour des messages de taille n?


b Quelle est la capacit (time) average, cest--dire Cn /n?
170 CHAPITRE 10. EXERCICES DU MODULE C4

10.2 Thorme de codage en prsence de bruit

Exercice 10.2.1:

Cet exercice rsume une partie des control questions du module C4.
Considrons un DMC ayant des alphabets dentre et de sortie binaires, et ayant une distri-
bution de probabilit conditionnelle dfinie par P (Y = y|X = x) = p si x 6= y (et donc
P (Y = y|X = x) = 1 p si x = y).

a Quelle est la capacit de ce canal (en fonction de p)?

Sur ce canal, nous prvoyons demployer le code R3 qui consiste tripler chaque symbole
dentre. Par exemple, 0 est cod 000. Le dcodage se fait la majorit : par exemple, 010
est dcod 0, et 110 1.
b Quel est le taux de transmission R du code R3 ?
c Sur ce canal, quelle est the symbol error probability Pb du code R3 , en fonction de p?
d Supposons que p = 0.173. Quelle est la symbol error probability correspondante Pb ?
Quelle est la capacit de canal C ? Est-elle suprieure ou infrieure au taux de transmis-
sion R ?
Ces rsultats sont-ils compatibles avec le thorme de codage en prsence de bruit ?

possible.

Exercice 10.2.2:

Un ingnieur a dcouvert un code utiliser sur un BSC la probabilit derreur p qui aboutit
une probabilit output bit error probability de Pb = 8p2 .

a Est-ce compatible avec le thorme de Shannon de codage en prsence de bruit ?


b Pensez-vous quil pourrait exister un code avec le mme taux de transmission mais avec
une meilleure probabilit output bit error ?

Souvenez-vous que la capacit de canal est dans ce cas C = 1 e


h(p) = 1 + p log p + (1
p) log(1 p) et supposons que p < 18 .
Chapitre 11

Module I2 : Codes correcteurs


derreurs

par J.-C. C HAPPELIER

O BJECTIFS PDAGOGIQUES DU CHAPITRE 11


Aprs avoir tudi ce chapitre, vous devriez en savoir plus sur les codes correcteurs
derreurs, et plus prcisment :
1. ce quest la distance minimale dun code et combien derreurs un code avec
une distance minimale donne peut corriger ;
2. les notions de base concernant les codes linaires : comment construire de tels
codes, comment coder et dcoder avec un code linaire, ... ;
3. ce que sont les codes de Hamming et comment les utiliser ;
4. les notions de base concernant les codes cycliques ;
5. et les notions de base concernant les codes convolutionnels : circuit de codage,
reprsentation par un treillis, algorithme de Viterbi pour le dcodage.

Introduction

Le thorme fondamental de Shannon de codage en prsence de bruit prsent dans le


chapitre 9 donne des limites thoriques au codage de messages pour la transmission sur un
canal bruit. Malheureusement, ce thorme important ne donne aucun conseil (et sa dmons-
tration non plus) sur la faon effective de construire de bons codes correcteurs derreurs en
pratique.
Cest la raison pour laquelle une thorie des codes correcteurs derreurs sest dveloppe pen-
dant plusieurs annes. Cette thorie sappuye principalement sur la structure algbrique des
codes. Lide de base est de donner une structure lensemble des mots de code de faon
utiliser cette structure pour donner des indices sur le dcodage du message en cas derreur de
transmission.

171
172 CHAPITRE 11. CODES CORRECTEURS DERREURS

Grce ses bases fortement mathmatiques, la thorie du codage algbrique est maintenant
bien tablie en tant que domaine scientifique part entire, avec des applications beaucoup
de problmes qui ne se limitent pas au codage de canal.
Le but de ce chapitre nest certainement pas de fournir une vue exhaustive des codes correcteurs
derreurs algbriques (un livre entier y parviendrait peine), mais plutt de prsenter les ides-
cls du domaine. Le lecteur qui est intress par ce sujet peut se rfrer la littrature plutt
vaste dans le domane.
Ltude de ce chapitre requiert quelques connaissances mathmatiques, particulirement dans
de domaine des structures algbriques.

11.1 Notions de base

O BJECTIFS PDAGOGIQUES DE LA SECTION 11.1


Dans cette section, les points-cls concernant les codes correcteurs derreurs suivants
sont prsents :
1. ce quest un code par bloc ;
2. comment la distance entre les mots de code est mesure ;
3. ce quest le poids dun mot de code ;
4. ce que sont la distance minimale et le poids minimal dun code ;
5. et leur utilit pour dterminer combien derreurs un code peut dtecter et/ou
corriger.

11.1.1 Introduction

Le contexte du prsent chapitre est la transmission en prsence de bruit telle que prsente
dans lintroduction du chapitre 9.
Lorsquun mot de code zi est transmis sur un canal bruit et que zb est finalement reu, lerreur
de transmission correspond la diffrence entre zb et zi : e = zb zi .
Lide-cl derrire le codage algbrique est dajouter une structure algbrique lensemble des
mots de code de sorte que lerreur de transmission puisse aisment tre exprime en termes des
oprations dfinissant cette structure algbrique ( commencer par lopration diffrence
ci-dessus).
Par exemple, si nous traitons des codes binaires (p.ex.10011) la diffrence naturelle sur
les mots binaires est la diffrence bit par bit (connue aussi sous le nom de ou exclusif pour
les lecteurs familiers avec linformatique), c.--d. la diffrence chaque position telle quil y
a un 0 si les deux bits correspondants sont les mmes et un 1 dans le cas contraire : 0 - 1 = 1
et, comme dhabitude, 0 - 0 = 0, 1 - 1 = 0, 1 - 0 = 1.

Exemple 11.1 (Diffrence Binaire) Voici un exemple de diffrence entre deux mots (bi-
naires) :
11011 01101 = 10110

Techniquement parlant, lopration dfinie ci-dessus correspond en fait larithmtique mo-


dulo 2 , c.--d. que nous considrons le corps de Galois GF(2) et que les mots de code sont
11.1. NOTIONS DE BASE 173

des lments de lespace vectoriel GF(2)n (o n est la longueur des mots de code). Cette base
stend aisment nimporte quel code D-aire utilisant une arithmtique modulo D .

Dfinition 11.1 (Code par Bloc) Un code par bloc D-aire de longueur n est un
sous-ensemble non vide de lespace vectoriel des n-uplets GF(D)n (c.--d. des mots
D-aires de mme longueur n, considrs comme des vecteurs ligne ).

Exemple 11.2 (Codes par Bloc) Lensemble {1101, 0110, 1110} est un exemple de code
par bloc binaire.
Un autre exemple de code par bloc, considrant les codes ternaires utilisant les symboles
0 1 et 2, tels que 1 + 2 = 0 (c.--d. arithmtique GF(3)), est donn par lensemble
{120, 201, 222, 010}.
Lensemble {011, 110, 10} nest pas un code par bloc, ces mots ntant pas tous de mme
longueur.

Deux notions importantes dans le domaine des codes derreur algbriques sont maintenant
prsentes : la distance de Hamming entre des mots et le poids dun mot. La relation entre ces
notions et le problme de la correction derreurs est donne dans la section suivante.

11.1.2 Distance de Hamming et poids dun mot de code

Dfinition 11.2 (Distance de Hamming) La distance de Hamming , d(z, z ), entre


deux mots de mme longueur z et z (c.--d. deux n-uplets dans le cas le plus gnral)
est le nombre de symboles (c.--d. de positions) pour lesquels z et z diffrent.

Exemple 11.3 (Distance de Hamming) La distance de Hamming entre 101010 et


111010 est 1 car ces deux mots diffrent seulement par la deuxime position.
La distance de Hamming entre 1010 et 0101 est 4 car ces deux mots diffrent par toutes les
positions.
La distance de Hamming entre 1010 et 111010 nest pas dfinie (et ne sera pas considre).

Dfinition 11.3 (Poids dun mot de code) Le poids dun mot est le nombre de
symboles non nuls quil contient.

Exemple 11.4 (Poids dun mot de code) Le poids de 10110 est 3, tandis que le poids de
00000000 est 0 et que le poids de 001000 est 1.

Proprit 11.1 La distance de Hamming entre deux mots de code est le poids de leur
diffrence :
d(zi , zj ) = w(zi zj )
en dsignant la distance de Hamming par d() et le poids par w().
174 CHAPITRE 11. CODES CORRECTEURS DERREURS

D MONSTRATION zi et zj diffrent une position si et seulement si zi zj est non nul


cette position.

Exemple 11.5 Voici un exemple de lquivalence entre la distance de Hamming de deux


mots binaires et le poids de leur diffrence :

d(10110, 11010) = 2
w(10110 11010) = w(01100) = 2

Voici maintenant quelques proprits utiles des poids des mots de code.

Proprit 11.2 Le poids dun mot de code est toujours positif ou nul.

Trivial : par dfinition.

Dfinition 11.4 (mot de code nul) Le mot de code nul est le mot de code constitu
uniquement de zros.
Il sera dsign par 0.

Proprit 11.3 Le poids dun mot de code est 0 si et seulement si ce mot de code est
la mot de code nul 0.

Proprit 11.4 Le poids est symtrique : pour chaque mot de code zi , w(zi ) =
w(zi ) (o zi est le mot dans lequel chaque symbole est loppos du symbole
correspondant dans zi ).

Exemple 11.6 (Symtrie du poids) En considrant les codes ternaires utilisant les symboles
0 1 et 2, tels que 1 + 2 = 0 (c.--d. une arithmtique GF(3)), nous avons :

w(1202102) = w(2101201) = 5 = w(1202102)

Notez que dans le cas binaire, la dernire proprit est triviale car dans ce cas zi = zi pour
chaque zi .1

Proprit 11.5 Pour tous mots de code zi et zj , on a :

w(zi ) + w(zj ) w(zi + zj )

Exemple 11.7 Dans le cas binaire, on a par exemple :

w(110101) + w(010101) = 4 + 3 = 7 1 = w(100000) = w(110101 + 010101)

1
Rappel : dans le cas binaire, 1 = 1.
11.1. NOTIONS DE BASE 175

En considrant les codes ternaires utilisant les symboles 0 1 et 2 comme ci-dessus, on a par
exemple :

w(01221021)+w(21002010) = 6+4 = 10 5 = w(22220001) = w(01221021+21002010)

(Rappel : on travaille ici dans GF(3), i.e. 1 + 2 = 0 et laddition de mots de codes seffectue
sans retenue, symbole par symbole).

valuation 45

1. Quel est le poids de 11101101 ?

2. Quel est le poids de 0 ?

3. Quel est le poids de 1 ?

4. Quel est le poids de 2 ?

5. Quel est le poids de 1221032 ?

6. Quelle est la distance de Hamming entre 11 et 00 ?

7. Quelle est la distance de Hamming entre 101 et 001 ?

8. Quelle est la distance de Hamming entre 1234 et 3214 ?

Pourquoi la distance de Hamming et le poids sont-ils dune importance fondamentale pour la


correction algbrique derreurs ?
Dans la base dfinie dans la section prcdente, o lerreur e qui est apparue dans la transmis-
sion o zi tait mis et zb reu est dfinie comme e = zb zi , le nombre derreurs qui se sont
produites pendant la transmission se trouve maintenant simplement tre le poids de e, c.--d.
w(bz zi ). A cause de la proprit 11.1, ceci est la distance de Hamming d(b z , zi ) entre le
signal mis et le signal reu.
Dans ce cadre, la dtection dune erreur revient simplement dtecter les poids non nuls.
Toutefois, la correction dune erreur implique en outre la capacit de calculer la diffrence
effective (videmment sans connatre zi ! Seul zb est connu la rception).

11.1.3 Dcodage distance minimale et vraisemblance maximale

Comment un dcodeur de code par bloc pourrait-il prendre la dcision de dcoder un mot
reu ? Une rponse intuitive naturelle est de supposer le plus petit nombre derreurs (c.--d.
w(e) minimal), ce qui, daprs ce qui vient dtre dit, amne prendre le mot de code le plus
proche (c.--d. d(b
z , zi ) minimal).
Par exemple, si les deux seuls mot de code possibles sont 000 et 111, et que 010 est reu,
nous voudrions certainement 2 le voir dcod en 000.

2
ne connaissant rien dautre
176 CHAPITRE 11. CODES CORRECTEURS DERREURS

Dfinition 11.5 (Dcodage Distance Minimale) On dit quun code C utilise un


dcodage distance minimale chaque fois que la dcision de dcodage D consiste,
pour un mot zb reu, choisir le (un des) mot(s) de code le(s) plus proche(s) :

D(b
z ) = Argmin d(z, zb)
zC

Quelle est le statut mathmatique du dcodage distance minimale ?


Dans le cas du Canal Symtrique Binaire (voir exemple 9.1), cette procdure intuitivement ju-
dicieuse de dcodage distance minimale dcoule du dcodage vraisemblance maximale .
Considrons la procdure de dcodage dun point de vue probabiliste (Baysien). Lorsquun
mot zb est reu, le mot de code le plus vraisemblablement mis (sachant que ce mot est reu)
est le mot de code z qui maximise la probabilit P (X = z|Y = zb) (o X est lentrs du canal
et Y sa sortie).
En pratique, il nest pas facile de faire face cette probabilit3 si la distribution P (X = zi )
des mots de code lmission (appele probabilits a priori ) nest pas connue. Dans ce
contexte, aucune autre hypothse nest faite que la moins biaise selon laquelle tous les mots
de code sont galement probables (hypothse dentropie maximale). Alors :

P (Y = zb|X = z) P (X = z)
Argmax P (X = z|Y = zb) = Argmax
zC zC P (Y = zb)
= Argmax P (Y = zb|X = z) P (X = z)
zC
= Argmax P (Y = zb|X = z)
zC

La dernire galit vient de lhypothse des mots de code galement probables.


Le terme restant P (Y = zb|X = z) est appel vraisemblance, et il apparat finalement que le
dcodeur devrait dcoder zb en le mot de code le plus vraisemblable, c.--d. le mot de code z
qui maximise P (Y = zb|X = z).
Et alors ?
Eh bien, le dernier terme P (Y = zb|X = z) se trouve tre plus facile manipuler que le
premier P (X = z|Y = zb). Par exemple, dans le cas dun canal discret sans mmoire (DMC,
voir 9.1), ceci devient le produit des probabilits de transmission pour chaque symbole.
Dans le cas dun BSC, o tous les symboles ont la mme probabilit derreur p, cette probabi-
lit devient simplement :

P (Y = zb|X = z) = pd(z,bz ) (1 p)nd(z,bz )

puisquil y a exactement d(z, zb) symboles qui ont t corrompus par la transmission et n
d(z, zb) qui ont t transmis correctement.
Il est alors ais de voir que le mot de code z qui maximise P (Y = zb|X = z) est celui qui
minimise la distance d(z, zb).
Ceci prouve que, pour un BSC, le dcodage distance minimale et le dcodage vraisemblance
maximale sont quivalents.
3
ou mme de lestimer, bien que cela soit possible.
11.1. NOTIONS DE BASE 177

11.1.4 Dtection et correction derreurs

Existe-t-il un moyen de savoir priori combien derreurs un code donn peut corriger ? ou
dtecter ?4 La rponse est oui et repose principalement sur une caractristique importante dun
code par bloc : sa distance minimale.

Dfinition 11.6 (Distance Minimale dun Code) La Distance Minimale dmin (C)
dun code C = {z1 , ..., zi , ..., zM } est la distance de Hamming minimale (non nulle)
entre toute paire de ses mots de code :

dmin (C) = min d(zi , zj ).


i6=j

Les rsultats suivants propos de la correction et de la dtection derreurs montrent pourquoi


la distance minimale dun code est dune importance centrale dans la thorie du codage
correction derreurs.

Thorme 11.1 (Correction dErreur et Capacit de Dtection) Un code par


bloc de longueur n utilisant le dcodage distance minimale peut, pour toute paire
dentiers t et s tels que 0 t n et 0 s n t, corriger tous les schmas t
erreurs ou moins et dtecter tous les schmas t + 1, ..., t + s erreurs si et seulement
si sa distance minimale est strictement suprieure 2t + s.

Ce que lon rsume par la formule :

dmin (C) > 2t + s

D MONSTRATION Limplication est dmontre par labsurde :


C ne peut corriger tous les schmas t ou ne peut dtecter tous les schmas t + 1, ..., t + s
erreurs si et seulement si dmin (C) 2t + s
Si le code C ne peut pas corriger tous les schmas de moins que t erreurs (inclues), cela
signifie quil existe au moins un mot de code zi et un schma derreur e de poids infrieur
t tels que le dcodage D(zi + e) ne soit pas zi . Appelons zj le mot de code dcod au lieu de
zi dans ce cas : zj = D(zi + e).
En utilisant lingalit du triangle pour le d mtrique, nous avons :

d(zi , zj ) d(zi , zi + e) + d(zi + e, zj )

Mais d(zi , zi + e) = w(e) t et d(zi + e, zj ) d(zi + e, zi ) car le code utilise le dcodage


distance minimale. Ainsi
d(zi , zj ) t + t 2t + s
et donc dmin (C), qui est infrieur ou gal d(zi , zj ), est aussi infrieur ou gal 2t + s.
Par ailleurs, si le code peur corriger tous les schmas de moins que t erreurs (inclues) mais
ne peut pas dtecter tous les schmas t + 1, ..., t + s, il existe au moins un mot de code zi
4
Par dtecter une erreur on entend en fait dtecter une erreur mais sans la corriger , car bien sr la
correction dune erreur implique de lavoir dtecte !
178 CHAPITRE 11. CODES CORRECTEURS DERREURS

et un schma derreur e de poids entre t + 1 et t + s qui nest pas dtecte mais dcod en un
autre mot de code zj : D(zi + e) = zj . En introduisant lerreur e = zj (zi + e), nous avons
aussi D(zj + e ) = zj , c.--d. que e est une erreur qui est corrige lorsquelle est applique
zj . Comme w(e ) = d(zj + e , zj ) = d(zi + e, zj ) d(zi + e, zi ) ( cause du dcodage
distance minimale), nous avons w(e ) t + s et D(zj + e ) = zj . Donc w(e ) doit tre
infrieur (ou gal) t. Ceci nous permet de conclure de manire similaire ci-dessus :

d(zi , zj ) d(zi , zi + e) + d(zi + e, zj ) (t + s) + t = 2t + s

et donc dmin (C) 2t + s.


Donc si C ne peut corriger tous les schmas t erreurs ou ne peut dtecter tous les schmas
t + 1, ..., t + s erreurs, alors dmin (C) 2t + s.
Rciproquement, si dmin (C) 2t + s, il existe deux mots de code distincts zi et zj , tels que
d(zi , zj ) 2t + s. Ceci signifie que le poids du vecteur z = zi zj est aussi infrieur
2t + s.
Mais tout vecteur z de poids infrieur (ou gal) 2t + s peut tre crit comme la somme de
deux vecteurs e et f tels que w(e) t et w(f ) t + s : prendre les premires composantes
jusqu t non nul comme composantes de e [pour toutes les composantes si w(z) < t] et
les composantes restantes (zro le cas chant) pour f . Par exemple 011010, peut tre crit
comme 010000 + 001010 (t = 1 et s = 1).
Il existe ainsi deux vecteurs e et e (prenons e = f ) tels que w(e) t, w(e ) t + s et
que zi zj = e e ; c.--d. zi + e = zj + e.
Ceci veut dire que deux mots de code distincts et deux schmas derreur seront dcods de la
mme faon (comme zi + e = zj + e, D(zi + e ) = D(zj + e)).
Ceci implique que (au moins) zi + e nest pas corrig (D(zi + e ) 6= zi ) ou zj + e nest pas
dtect (D(zj + e) = zi ).
Ainsi, tous les schmas de moins que t (inclus) erreurs ne peuvent tre corrigs, ou tous les
schmas t + 1, ... t + s ne peuvent tre dtects.

Proprit 11.6 (Capacit maximale de dtection derreurs) Un code par bloc C


utilisant le dcodage distance minimale peut tre utilis pour dtecter tous les sch-
mas derreur de dmin (C) 1 erreurs, ou moins.

D MONSTRATION Utiliser t = 0 et s = dmin (C) 1 dans le thorme ci-dessus.

Proprit 11.7 (Capacit maximale de correction derreurs) Un code par bloc C


utilisant le dcodage distance minimale peut tre utilis pour corriger tous les
schmas derreur de (dmin (C) 1)/2 (division Euclidienne, appele aussi division
entire ) ou moins derreurs, mais ne peut pas tre utilis pour corriger tous les
schmas derreur de 1 + (dmin (C) 1)/2 erreurs.

Ce que lon rsume par la formule :



dmin (C) 1
tmax =
2
11.1. NOTIONS DE BASE 179

D MONSTRATION Utiliser t = (dmin (C) 1)/2 et s = 0 dans le thorme ci-dessus.


(dmin (C) 1)/2 est en outre le t maximal qui peut tre utilis dans le thorme ci-dessus,
comme dmin (C) 2 (1 + (dmin (C) 1)/2)
[Rappel : / dsigne ici la division Euclidienne].

Exemple 11.8 Un code par bloc ayant une distance minimale de 8 peut tre utilis pour lun
ou lautre des points suivants :
corriger tous les schmas derreur de moins que 3 (inclus) erreurs et dtecter tous les
schmas 4 erreurs (t = 3, s = 1) ;
corriger tous les schmas derreur de moins que 2 erreurs et dtecter tous les schmas de 3
5 erreurs (t = 2, s = 3) ;
corriger tous les schmas derreur de 1 erreur et dtecter tous les schmas de 2 6 erreurs
(t = 1, s = 5) ;
dtecter tous les schmas de moins que 7 (inclus) erreurs (t = 0, s = 7).
Un code par bloc ayant une distance minimale de 7 peut (lun ou lautre)
corriger tous les schmas derreur de moins que 3 (inclus) erreurs (t = 3, s = 0) ;
corriger tous les schmas derreur de moins que 2 erreurs et dtecter tous les schmas de 3
4 erreurs (t = 2, s = 2) ;
corriger tous les schmas derreur de 1 erreur et dtecter tous les schmas de 2 5 erreurs
(t = 1, s = 4) ;
dtecter tous les schmas de moins que 6 (inclus) erreurs (t = 0, s = 6).

Exemple 11.9 Pour tre capable de corriger tous les schmas 1 erreur (et cest ce quon
recherche), un code par bloc doit avoir une distance minimale gale 3 au moins.

valuation 46

1. Un ingnieur en tlcommunications veut disposer dun canal o tous les schmas


3 erreurs ou moins sont corrigs. Peut-il utiliser un code par bloc qui a une distance
minimale de 5 ?
2. Combien derreurs au plus peuvent tre corriges avec un code par bloc qui a une dis-
tance minimale de 6 ?
3. Un tel code peut-il en outre dtecter des erreurs ? Si oui, combien ?

R SUM DE LA SECTION 11.1

code par bloc : un ensemble non vide de mots de mme longueur, considrs comme des
vecteurs ligne .
poids : (dun mot) le nombre de symboles non nuls.
distance de Hamming : le nombre de coordonnes par lesquelles deux vecteurs diffrent.
La distance de Hamming entre deux mots est le poids de leur diffrence.
dcodage distance minimale : structure de correction derreurs dans laquelle chaque mot
reu est dcod en le mot de code le plus proche (daprs la distance de Hamming).
180 CHAPITRE 11. CODES CORRECTEURS DERREURS

dcodage vraisemblance maximale : structure de correction derreurs dans laquelle


chaque mot reu zb est dcod en le (un des) mot(s) le(s) plus vraisemblable(s) z, c.--d.
un mot de code tel que P (Y = zb|X = z) soit maximale (avec X lentre du canal
bruit et Y sa sortie).
distance minimale dun code : la distance de Hamming minimale (non nulle) entre toute
paire de mots de code (diffrents).
capacit de correction et de dtection derreurs : Un code par bloc C de longueur n uti-
lisant le dcodage distance minimale peut, pour toute paire dentiers t et s tels que
0 t n et 0 s n t, corriger tous les schmas t ou moins erreurs et dtec-
ter tous les schmas de t + 1, ..., t + s erreurs si et seulement si sa distance minimale
dmin (C) est strictement suprieure 2t + s :

dmin (C) > 2t + s C corrige t et dtecte t + s erreurs.

11.2 Codes linaires

A cause de leurs proprits et de leur simplicit, les codes linaires, dont il est question dans
cette section, sont dun intrt majeur pour le codage derreurs. Un de leurs avantages princi-
paux dans la pratique est quils sont aisment implmentables.

O BJECTIFS PDAGOGIQUES DE LA SECTION 11.2


Dans cette section, les notions de base concernant les codes linaires sont prsentes.
Voici ce que vous devriez savoir sur ce sujet :
1. ce quest un code (n, m) D-aire ;
2. que pour de tels codes la distance minimale et le poids minimal sont quiva-
lents ;
3. comment coder en utilisant une matrice gnratrice ;
4. quelle est la forme systmatique dune matrice gnratrice dun code linaire ;
5. comment dcoder en utilisant une matrice de vrification et un tableau de syn-
dromes ;
6. comment calculer la distance minimale dun code linaire ;
7. ce que sont les codes de Hamming binaires et comment les utiliser.

11.2.1 Dfinitions

Les codes linaires sont des codes par bloc sur lesquels une structure algbrique a t ajoute
pour aider au dcodage : la structure despace vectoriel.

Dfinition 11.7 (Code Linaire) Un (n, m) code linaire (1 m n) D-aire


est un sous-espace m-dimensionnel de lespace vectoriel GF(D)n de n-uplets sur
GF(D).
11.2. CODES LINAIRES 181

En regardant la dfinition des codes par bloc, la dfinition ci-dessus peut tre reformule : un
code linaire est un code par bloc qui est un espace vectoriel.

Exemple 11.10 (Code Linaire) Le code {1101, 0110, 1110} donn dans lexemple 11.2
nest pas un code linaire car 0000 nen fait pas partie (il ne pourrait donc pas tre un espace
vectoriel).
Le code (binaire) {0000, 1101, 0110, 1011} est un code linaire comme toute combinaison
linaire (binaire) de mots de code est aussi un mot de code. Il est de plus un code linaire
binaire (4, 2) car sa dimension (c.--d. la dimension du sous-espace vectoriel) est de 2 et sa
longueur de 4.
Notez en outre que la distance minimale de ce code est 2 (aisment vrifiable) et que ce code
ne peut donc tre utilis que pour la dtection derreurs uniques (voir thorme 11.1).

valuation 47

Pour chacun des codes binaires suivants, spcifiez si le code est un code linaire ou non. Si
oui, donnez les deux nombres n et m de la dfinition :
1. C = {0000, 1000, 0001, 1001}
2. C = {1000, 0001, 1001}
3. C = {00, 01, 11}
4. C = {0000, 1000, 1100, 0100, 1101, 0001, 0101, 1001}
5. C = {0, 1, 10, 11}
6. C = {00, 11, 10, 01}
7. C = {0000, 0001, 0010, 0100}

11.2.2 Quelques proprits des codes linaires

Proprit 11.8 Tout code linaire contient le mot de code nul 0.

Ceci vient directement du fait quun code linaire est un (sous-) espace vectoriel.
tudions maintenant de manire plus approfondie ces codes linaires. Premirement, combien
de mots de code un code linaire (n, m) D-aire contient-il ?

Proprit 11.9 Un code linaire (n, m) D-aire contient Dm mots de code diffrents
(le mot de code nul inclus).

Notez que cette proprit peut tre utilise pour dterminer rapidement que les codes avec un
mauvais nombre de mots de code (qui nest pas une puissance de D) ne sont pas linaires. Pour
les codes linaires, ceci peut aussi tre utilis pour une rapide dtermination de m (p.ex. pour
deviner la taille dune base).

D MONSTRATION Comme un code linaire est un espace vectoriel de dimension m, chaque


mot de code est la combinaison linaire de m mots de code de base (une base de cet espace
182 CHAPITRE 11. CODES CORRECTEURS DERREURS

vectoriel).
Pour un code (n, m) D-aire, il y a donc exactement Dm mots de code diffrents : toutes les
Dm combinaisons linaires.

Quel est alors le taux de transmission dun tel code ?

Proprit 11.10 Le taux de transmission dun code linaire (n, m) est


m
R=
n

D MONSTRATION Rappel : le taux de transmission dun code D-aire qui code une source
de M messages diffrents par des mots de code de longueur n est R = logD
n
M
.
Combien de messages diffrents peuvent tre cods en utilisant un code linaire (n, m) ?
Autant que de mots de code, c.--d. Dm .
Ainsi,
logD Dm m
R= =
n n

Voici maintenant une autre proprit utile des codes linaires.

Thorme 11.2 (Equivalence du Poids Minimal et de la Distance Minimale)


Pour tout code linaire C
dmin (C) = wmin (C)
o wmin (C)est le poids minimal du code, c.--d. le plus petit poids dun mot de code
non nul :
wmin (C) = min w(z)
zC
z6=0

Ce rsultat est trs important en pratique, car wmin (C)est beaucoup plus facile calculer que
dmin (C).

D MONSTRATION Pour un code C = {z1 , ..., zi , ...}, on a par la dfinition 11.6 dmin (C) =
mini6=j d(zi , zj ).
Donc, en utilisant la proprit 11.1, dmin (C) = mini6=j w(zi zj ).
Mais si C est un code linaire, pour toute paire de mots de code zi et zj , zi zj est aussi un
mot de code. Cest en outre le mot de code nul si et seulement si zi = zj (c.--d. i = j).
Ainsi dmin (C) wmin (C).
Rciproquement, pour tout mot de code zi , w(zi ) = d(zi , 0). Comme 0 fait partie de tout
code linaire, on obtient : wmin (C) dmin (C), ce qui conclut la dmonstration.

Exemple 11.11 Le code (11, 3) binaire {00000000000, 10011110000,


01000111100, 00111001111, 11011001100, 10100111111, 01111110011,
11100000011} a un poids minimal de 5 et donc une distance minimale de 5.
11.2. CODES LINAIRES 183

Ce code peut donc corriger tous les schmas derreur avec 1 ou 2 erreurs (voir proprit 11.7).
[La vrification de la linarit effective de ce code est laisse comme exercice.]

valuation 48

Quelle est la distance minimale des codes suivants ?

1. C = {0000, 1000, 0001, 1001}


2. C = {0000, 1000, 1100, 0100, 1101, 0001, 0101, 1001}
3. C = {00000000, 00001011, 00110000, 00111011, 11000000, 11001011, 11110000, 11111011}
4. C = {1000, 0001, 0010, 0100}

valuation 49

Combien derreurs peuvent (au plus) corriger les codes linaires suivants :
1. C = {0000, 1000, 1100, 0100, 1101, 0001, 0101, 1001}
2. C = {000000000, 000000111, 000111000, 000111111, 111000000, 111000111, 111111000, 111111111}

11.2.3 Codage avec des codes linaires

Laccent doit maintenant tre mis sur la relation liant les messages coder aux mots de code
correspondants : il est temps de voir comment utiliser efficacement les codes linaires pour
coder des messages.
Si les m mots de code choisis pour former une base dun code linaire (n, m) (espace vecto-
riel)5 sont dsigns par z1 , ..., zm , alors tout mot de code zi peut tre crit comme
m
X
zi = ui,k zk
k=1

o ui,k est la composante de zi sur le vecteur de base zk .


De manire plus compacte, en utilisant lalgbre linaire, on a :

zi = (ui,1 , ..., ui,m ) G = ui G

o ui est le vecteur ligne (ui,1 , ..., ui,m ) et G la matrice dont les lignes sont z1 , ..., zm .
Il est alors tout naturel de choisir de coder le message m symboles par le mot de code zi qui
rsulte de la multiplication par G ci-dessus.
Pour cette raison, la matrice G est appele matrice gnratrice du code.6
5
Rappel : dans la plupart des cas, le choix nest pas unique
6
Notez que, pour un code donn, cette matrice gnratrice nest pas unique : elle dpend de la base choisie pour
reprsenter le code.
184 CHAPITRE 11. CODES CORRECTEURS DERREURS

Dfinition 11.8 (Matrice Gnratrice) Une matrice m n G est dite matrice gn-
ratrice dun code linaire (n, m) C si et seulement si ses m vecteurs ligne sont une
base de lespace vectoriel C.
Le codage dun message u (de taille m) est alors effectu par z = u G.

Exemple 11.12 (Matrice Gnratrice) Soit le code linaire (4, 2) binaire de


lexemple 11.10 : {0000, 1101, 0110, 1011}.
Ce code, ayant quatre mots de code, peut coder quatre messages : les quatre mots binaires de
deux bits : u0 =00, u1 =10, u2 =01, u3 =11. Faisons ce codage en utilisant une matrice
gnratrice.
Une base pour ce code linaire pourrait tre z1 = 1101, z2 = 0110, ce qui donne

1 1 0 1
G=
0 1 1 0

u1 est alors cod en



1 1 0 1
u1 G = (10) = (1101) = z1
0 1 1 0

et de manire similaire u2 en z2 , u3 en 1011 et u0 en 0000.


Notez quun code linaire peut toujours coder le message nul avec le mot de code nul 0. Ceci
est prcisment d laspect linaire (c.--d. despace vectoriel) du code.

Lutilisation dune matrice gnratrice rend le codage trs facile implmenter en pratique.
Dans le cas binaire par exemple, seuls quelques7 portes ou -exclusif (XOR) peuvent raliser
le codage.

11.2.4 Forme systmatique dun code linaire

Parmi toutes les matrices gnratrices possibles, une dentre elles est particulirement intres-
sante (si elle existe) : celle sous forme systmatique.

Dfinition 11.9 (Forme Systmatique) Une matrice gnratrice G dun code li-
naire (n, m) est dite sous forme systmatique si elle est de la forme

1 0 0 p1,1 p1,nm
0 1 0 p2,1 p2,nm

G = [Im P ] = . . .
.. .. . . ... ..
.
..
.
..
.
0 0 1 pm,1 pm,nm

o Im est la matrice-identit de taille m et P une matrice m (n m), souvent


appele matrice de parit .

7
au plus n (m 1), en fait
11.2. CODES LINAIRES 185

Notez que, lorsquelle existe pour un code donn, la matrice gnratrice systmatique est
unique.

Dfinition 11.10 (Code Linaire Systmatique) Un code linaire utilisant une ma-
trice gnratrice sous forme systmatique est appel code (linaire) systmatique.

Lorsquun code linaire (n, m) utilise une matrice gnratrice de forme systmatique, les m
premiers symboles des n symboles dun mot de code sont exactement les symboles du message
cod :
zi = (ui,1 ui,2 ... ui,m zi,m+1 , ... zi,n )
En dautres termes, les codes systmatiques envoient dabord le message non cod puis (nm)
symboles de codage utiliss pour la dtection/correction derreurs.

Exemple 11.13 Si on se rappelle lexemple 11.12, un autre choix pour les vecteurs de la base
aurait pu tre z1 = 1011, z2 = 0110, ce qui donne

1 0 1 1
G=
0 1 1 0

qui est la matrice gnratrice sous forme systmatique pour ce code.

Exemple 11.14 (Bit de vrification de parit) Pour les messages binaires, le bit de vrifi-
cation de parit est le bit qui correspond la parit du message, c.--d. la somme (binaire)
de ses bits.
Par exemple, le bit de vrification de parit pour 01101 est 1 + 1 + 1 = 1 et le bit de
vrification de parit pour 00101 est 1 + 1 = 0.
Le code par bit de parit consiste simplement envoyer dabord le message tel quel, suivi de
son bit de parit. En termes de codes, ceci correspond au code binaire linaire (m + 1, m),
dont la matrice gnratrice est
1

G = Im ...
1
qui est sous forme systmatique.
Notez que la distance minimale de ce code est 2 (en utilisant le thorme 11.2), ce code nest
donc capable de faire que de la dtection derreurs uniques (voir thorme 11.1).

valuation 50

Pour chacune des matrices suivantes


1. dites si celle-ci peut tre une matrice gnratrice.
2. si oui, dites si elle est sous forme systmatique.
3. si la matrice nest pas sous forme systmatique, donnez la matrice sous forme systma-
tique du code correspondant.
4. (pour les matrices gnratrices) comment sera cod le message 1011 en utilisant la
forme systmatique ?
186 CHAPITRE 11. CODES CORRECTEURS DERREURS

1 1 0 0 1 1 0
0 1 0 1 1 1 0
1. G =
0

0 1 1 1 0 1
1 0 1 0 1 0 1

1 0 0 0 1 1 0
0 1 0 0 0 1 0
2. G =
0

0 1 0 1 0 0
0 0 0 1 0 1 1

1 1 0 0 1 0 0
0 1 0 1 0 0 1
3. G =
1

0 1 1 0 0 0
1 0 1 0 1 1 1

11.2.5 Dcodage : Matrice de vrification

ce niveau, nous savons comment coder avec des codes linaires. Mais quen est-il du d-
codage ? Comment les erreurs peuvent-elles tre corriges ? Aprs tout, cest bien l toute
lhistoire !
Cest prcisment maintenant que la linarit des codes est importante.
Supposons avoir trouv une matrice F telle que, pour tout mot de code z, z F = 08 . Alors, si
une erreur e survient durant la transmission de z et zb = z + e est reu, nous avons

zb F = (z + e) F = z F + e F = 0 + e F = e F

Ce denier rsultat est trs utile comme zb F est indpendant du mot de code z mis mais
ne dpend que de lerreur e. Le rsultat de cette erreur de transmission apparat comme une
combinaison linaire des lignes de F . Pour corriger/dtecter lerreur, les vecteurs de lespace
vectoriel gnr par les lignes de F doivent simplement correspondre au message de cor-
rection (ou de dtection) correspondant.
Ceci est lide-cl qui va maintenant tre formalise et tudie un peu plus profondment.
Pour de bonnes raisons mathmatiques9 , lquation ci-dessus z F = 0 est toujours donne
sous la forme suivante :
z HT = 0
o T est loprateur de transposition et H = F T .

Dfinition 11.11 (Matrice de Vrification) Une matrice (n m) n H est une


matrice de vrification pour un code linaire (n, m) D-aire C si et seulement si

z GF(D)n z H T = 0 z C

En dautres termes, une matrice de vrification pour un code C est une matrice dont
le noyau est C.

8
Comme vous le verrez dans un moment, ce nest pas si difficile.
9
orthogonalit : G H T = 0
11.2. CODES LINAIRES 187

Notez quun code linaire donn pourrait avoir plusieurs matrices de vrification diffrentes :
toute matrice dont les lignes sont une base de lespace vectoriel orthogonal au code linaire10
est une matrice de vrification pour ce code.
Comment trouver des matrices de vrification ?
Dans le cas o le code est systmatique, il est facile de trouver une matrice de vrification,
comme le montre le thorme suivant :

Thorme 11.3 Pour un code linaire (n, m) systmatique dont la matrice gnra-
trice sous forme systmatique est

G = [Im P ] ,

la matrice
H = P T Inm
est une matrice de vrification.

D MONSTRATION Pour tout message ui , le mot de code correspondant est

zi = u i G
= ui [Im P ]

c.--d.
(zi,1 , ..., zi,m ) = ui
(zi,m+1 , ..., zi,n ) = ui P
Donc
(zi,m+1 , ..., zi,n ) = (zi,1 , ..., zi,m ) P
c.--d.
(zi,1 , ..., zi,m ) P + (zi,m+1 , ..., zi,n ) = 0
ou, sous forme matricielle :

P
zi =0
Inm
T
Nous avons donc trouv une matrice ( P T Inm ) telle que son produit avec chaque mot
de code donne le vecteur nul.
Il est ais de voir que la construction inverse a pour rsultat que chaque mot x tel que x
T
P T Inm = 0 vrifie
x = (x1 , ..., xm ) G
et se trouve donc tre un mot de code.

Notez que dans le cas binaire (GF(2)), P = P .

10
rappel : un code linaire est un sous-espace vectoriel
188 CHAPITRE 11. CODES CORRECTEURS DERREURS

Exemple 11.15 Considrons le code systmatique C, dont la matrice gnratrice est



1 0 1 0 1 1 0 1
G= = I2
0 1 1 1 1 1 1 1

Alors (n = 5 et m = 2)
" #
T 1 1 1 0 0
1 0 1
H= I3 = 0 1 0 1 0
1 1 1
1 1 0 0 1

est une matrice de vrification possible pour C.

valuation 51

Donnez une matrice de vrification pour le code linaire dont la matrice de codage sous forme
systmatique est

1 0 0 0 0 1 0 1 0
0 1 0 0 0 1 1 0 0

G= 0 0 1 0 0 0 1 0 1

0 0 0 1 0 1 1 1 1
0 0 0 0 1 0 0 1 1

valuation 52

Le mot z =1001101 est-il un mot de code du code dont une matrice de vrification est

1 1 1 0 1 0 0
H = 0 1 1 0 0 1 0 ?
0 0 1 1 0 0 1

11.2.6 Syndromes

Rptons maintenant lide-cl importante des codes linaires.


Si z est le mot de code transmis et une erreur e survient, le mot reu est alors zb = z + e. Si H
est une matrice de vrification pour le code utilis, alors

zb H T = (z + e) H T = z H T + e H T = 0 + e H T = e H T

Ceci illustre le fait important que zb H T ne dpend que du schma derreur effectif e et absolu-
ment pas du mot de code transmis zb. Pour cette raison, ce rsultat zb H T est dune importance
particulire pour le dcodage. Ceci est appel syndrome (de zb relatif H).

Dfinition 11.12 (Syndrome) Le syndrome dun mot zb relatif une matrice de v-


rification H est le produit zb H T .
11.2. CODES LINAIRES 189

Proprit 11.11 Le syndrome s = zb H T dun mot reu zb relatif la matrice de


vrification H dun code C dpend uniquement de lerreur de transmission e = zbzi
et non du mot de code zi (zi C) transmis.

En outre, le schma derreur e est dcompos en erreurs lmentaires ek (c.--d. faites dune
seule erreur sur un seul symbole) : e = (e1 , ..., en ), alors
X
z ) = zb H T = e H T =
s(b ek hk
k

o hk est la k-me colonne de H : H = [h1 , ..., hn ].


Pour trouver le correcteur (c.--d. loppos de lerreur), seuls les correcteurs correspondant aux
erreurs simples doivent tre connus puis additionns.
La correction peut alors tre effectue simplement en faisant correspondre les colonnes de H
aux correcteurs (stocks dans une mmoire) et en additionnant ceux qui correspondent aux
positions non nulles du syndrome.

Exemple 11.16 (Tableau de correction base sur les syndromes) Supposons que

1 1 1 0 0
H= 0 1 0 1 0
1 1 0 0 1

soit une matrice de vrification pour le code binaire utilis.


Les correcteurs suivants peuvent alors tre drivs des colonnes de H :

Syndrome Correcteur
101 10000
111 01000
100 00100
010 00010
001 00001

Ce qui est simplement obtenu en listant les colonnes de H.


En rarrangeant par syndrome le tableau ci-dessus de faon pouvoir lutiliser en pratique
(o seul le syndrome est connu), on obtient :

Syndrome Correcteur
000 00000
001 00001
010 00010
011 ?
100 00100
101 10000
110 ?
111 01000

Notez que :
190 CHAPITRE 11. CODES CORRECTEURS DERREURS

1. Le syndrome nul pointe toujours vers aucune correction, cause de la dfinition 11.11 ;
2. Pour 011 et 110, le correcteur nest dans cet exemple pas unique : par exemple 011 =
010 + 001 donne 00011 (00001 + 00010), mais 011 = 111 + 100 donne une autre
correction, 01100.
Ceci est d au fait que la distance minimale de ce code est 3 (voir section suivante), et
que ce code ne peut donc corriger que tous les schmas 1 erreur, mais pas tous les
schmas 2 erreurs !
Ces deux syndromes correspondent en fait deux erreurs de transmission.

En pratique, le tableau de correspondance entre les syndromes et les erreurs est stock dans une
mmoire, et le mcanisme gnral pour dcoder (et corriger) un message reu zb est le suivant :
z ) = zb H T ;
1. Calculer le syndrome s(b
2. Obtenir la correction c = e (c.--d. loppos de lerreur) par la combinaison linaire
des correcteurs stocks en mmoire ;
3. Dcoder z = zb + c.
Exemple 11.17 (Dcodage avec un Code Linaire) Continuons avec le dernier exemple
(exemple 11.16), dont la gnratrice est

1 0 1 0 1
G=
0 1 1 1 1

Supposons devoir transmettre u = 10. Ce message est cod par z = 10101 avec le code
linaire binaire (5, 2) ci-dessus.
Supposons que zb = 00101, c.--d. que le premier bit ait t corrompu.
Le calcul du syndrome donne s = zb H T = 101, ce qui nous donne le correcteur e = 10000
(voir tableau des correcteurs donn dans lexemple 11.16).
Le mot de code dcod est ainsi zb+e = 00101+10000 = 10101, ce qui nous donne le mes-
sage dcod (les deux premiers bits correspondant au message originel, un code systmatique
ayant t utilis) : 10, ce qui correspond au message originel.

valuation 53

Quel tait le message originel si vous recevez 101011001 et si la matrice de vrification du


code est
1 1 0 1 0 1 0 0 0
0 1 1 1 0 0 1 0 0
H= 1 0 0 1 1 0 0 1 0 ?

0 0 1 1 1 0 0 0 1

11.2.7 Distance minimale et matrice de vrification

La prsentation gnrale des codes linaires se termine maintenant par un rsultat utile, qui
permet le calcul de la distance minimale dun code 11 directement depuis sa matrice de vrifi-
cation.
11
et donc le nombre maximal derreur pouvant tre corriges
11.2. CODES LINAIRES 191

Thorme 11.4 (Matrice de Vrification et Distance Minimale) Si H est une ma-


trice de vrification pour un code linaire (n, m) D-aire C (avec 1 m < n), alors
la distance minimale dmin (C) de ce code est gale au plus petit nombre de colonnes
linairement dpendantes de H.

D MONSTRATION Pour tout vecteur z, zH T est une combinaison linaire de w(z) colonnes
de H. Et, par la dfinition 11.11 : z C si et seulement si z H T = 0.
Ainsi, si z C, il existe alors w(z) colonnes de H qui sont linairement dpendantes ; et
rciproquement, si q colonnes de H sont linairement dpendantes, il existe un mot de code
de poids q.
Donc wmin (C) est le nombre minimal de colonnes de H qui sont linairement dpendantes,
et on conclut en utilisant le thorme 11.2.

Pour un code linaire binaire C avec un matrice de vrification H, ce rsultat implique que
Si H na pas de colonne nulle, dmin (C) > 1.
Si H na en outre pas deux fois la mme colonne, dmin (C) > 2.
Exemple
11.18 Un code linaire binaire dont une matrice de vrification est H =
1 1 1 0 0
0 1 0 1 0 a une distance minimale de 3.
1 1 0 0 1
En effet, H na pas de colonne nulle, ni deux fois la mme colonne, donc dmin (C) > 2. En
outre, il y a un ensemble de 3 colonnes de H qui sont linairement dpendantes. Par exemple,
h1 , h3 et h5 .

Proprit 11.12 (Limite de Singleton) Pour un code linaire (n, m) C,

dmin (C) n m + 1.

D MONSTRATION Les colonnes de H sont des vecteurs de GF(D)(nm) , donc tout en-
semble de n m + 1 de ces colonnes est linairement dpendant. Donc, en utilisant le
thorme 11.4, dmin (C) n m + 1.

valuation 54

Quelle est la distance minimale dun code dont la matrice de vrification est

1 1 0 1 0 1 0 0 0
0 1 1 1 0 0 1 0 0
H= 1 0 0 1 1 0 0 1 0 ?

0 0 1 1 1 0 0 0 1

Combien derreurs ce code peut-il corriger ?

e-nnexe : Code Linaire


192 CHAPITRE 11. CODES CORRECTEURS DERREURS

11.2.8 Codes de Hamming binaires

tudions maintenant plus en profondeur quels sont les bons codes, qui peuvent corriger
une erreur (dans le cas binaire).
Comme nous ne cherchons quune seule erreur, le syndrome na besoin dindiquer que la
position o se trouve lerreur. Lide est de disposer dun code dont le syndrome indique di-
rectement la position de lerreur ; par exemple sous forme de son code binaire (0...001 pour la
premire position, 0...010 pour la seconde, 0...011 pour la troisime, etc.).
Rappel : une erreur simple en position k donne un syndrome qui est la k-me colonne de H.
Lide ci-dessus est donc de construire une matrice de vrification dont les colonnes sont les
reprsentations binaires de leur position (voir exemple ci-dessous).
Ce qui nest pas encore clair est
1. quelles dimensions cette matrice de vrification devrait avoir ?
2. cette construction mne-t-elle effectivement une matrice de vrification dun code ?
3. un tel code peut-il effectivement corriger tous les schmas 1 erreur ?
A propos du premier point, rappelez-vous que la taille dun syndrome dun code linaire (n, m)
est n m. Si le syndrome code directement la position de lerreur, il pourrait alors reprsenter
2nm 1 positions. Aucune place nest donc perdue si le nombre total de positions repr-
senter (c.--d. la longueur n du mot de code) est n = 2nm 1.
En dpit du cas trivial n = 3, m = 1, voici quelques tailles possibles pour de tels codes :

n m r =nm
7 4 3
15 11 4
31 26 5
63 57 6
.. .. ..
. . .

et voici deux exemples de matrices de vrification (pour n = 7 et 15) :



0 0 0 1 1 1 1
H3 = 0 1 1 0 0 1 1
1 0 1 0 1 0 1

0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
H4 =
0

1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Il est facile de rpondre la deuxime question ci-dessus : oui, cette construction donne un
code linaire comme les matrices construites de cette faon sont de rang plein (c.--d. que
rank(H) = n m), puisquil est ais de construire la matrice identit Inm partir de leurs
colonnes (prendre la premire, deuxime, quatrime, huitime colonne, etc.). La dimension de
leur noyau est donc m, ce qui donne un code linaire (n, m).
Finalement, pour rpondre la dernire question (un tel code peut-il effectivement corriger
tous les schmas 1 erreur ?), nous devons calculer sa distance minimale. Les matrices de
vrification rsultant de la construction ci-dessus nont jamais de colonne nulle ni deux fois
11.2. CODES LINAIRES 193

la mme colonne, et donc au minimum dmin (C) 3. En outre, les trois premires colonnes
(reprsentations binaires de 1, 2 et 3) sont toujours linairement indpendantes. La distance
minimale de tels codes est donc toujours 3. De tels codes peuvent donc corriger tous les sch-
mas 1 erreur.
De tels codes sont appels codes de Hamming (binaires) .

Dfinition 11.13 (Code de Hamming) Un code de Hamming est un code linaire


binaire (2r 1, 2r r 1) (r 2), dont la matrice de vrification est

0 0 0 1
. . .
. . . . . . ..
.
Hr = br (1)T br (2)T br (n)t = . . .
0 1 1 1
1 0 1 1

o bn (i) est la reprsentation binaire de i en n bits (p.ex. b4 (5) = (0101)).

Proprit 11.13 Tout code de Hamming binaire peut corriger tous les schmas une
erreur.

Exemple 11.19 (Code de Hamming) Prenons r = 3 et construisons le code de Hamming


binaire (7, 4).
Nous avons :
0 0 0 1 1 1 1
H3 = 0 1 1 0 0 1 1
1 0 1 0 1 0 1

Pour trouver la matrice gnratrice, nous cherchons 4 vecteurs z tels que z H T = 0, par
exemple (facile vrifier, et il y en a beaucoup dautres) :

z1 = 1110000
z2 = 1101001
z3 = 1000011
z4 = 1111111

ce qui donne
1 1 1 0 0 0 0
1 1 0 1 0 0 1
G=
1

0 0 0 0 1 1
1 1 1 1 1 1 1

Supposons maintenant devoir envoyer le message u = 1001. Il est cod en z = u G =


0001111. Faisons en lhypothse supplmentaire quune erreur soit survenue sur le troisime
bit, et donc que zb = 0011111 soit reu. Comment ceci sera-t-il dcod ?
Le syndrome est s(0011111) = zb H T = 011, c.--d. 3 en binaire, ce qui indique que
lerreur est apparue sur le troisime bit. Le rsultat du dcodage est alors zb 0010000 (erreur
194 CHAPITRE 11. CODES CORRECTEURS DERREURS

en troisime position) qui est 0001111, ce qui est effectivement le mot de code mis.

R SUM DE LA SECTION 11.2

code linaire : un code par bloc qui est un espace vectoriel (c.--d. que toute combinaison
de mots de code est aussi un mot de code).
Un code linaire (n, m) D-aire est un sous-espace vectoriel de dimension m de les-
pace vectoriel de dimension n de mots de code D-aires.
distance minimale : pour les codes linaires, la distance minimale est gale au poids mini-
mal.
matrice gnratrice : (dun code linaire (n, m)) une matrice m n dont les lignes sont
une base du code (elle sont donc linairement indpendantes).
forme systmatique : une matrice gnratrice m n dun code linaire (n, m) est dite sous
forme systmatique seulement si sa sous-matrice m m la plus gauche est la matrice
identit (de taille m).
codage : le codage avec des codes linaires est effectu par multiplication matricielle : le
mot u coder est multipli par une matrice gnratrice du code choisie G, produisant
le mot de code z = u G.
Si la matrice gnratrice est sous forme systmatique, les m premiers symboles du mot
de code sont exactement les symboles du message. Ainsi, seuls les n m derniers
symboles doivent tre calculs.
matrice de vrification : une matrice (n m) n H est une matrice de vrification pour
un code linaire (n, m) C si et seulement si

z GF(D)n z H T = 0 z C

La matrice de vrification est trs utile pour le dcodage.


syndrome : le rsultat du produit dun mot par la matrice de vrification : s = z H T .
Le syndrome est utilis pour dterminer lerreur corriger. Il correspond en effet
la combinaison linaire de colonnes de H qui est prcisment le produit du schma
derreur par H T .
codes de Hamming binaires : des codes linaires (2r 1, 2r r1) qui peuvent corriger
tous les schmas 1 erreur ;
la matrice de vrification est donne sous la forme de lnumration binaire des
colonnes.
11.3. CODES CYCLIQUES 195

11.3 Codes cycliques

O BJECTIFS PDAGOGIQUES DE LA SECTION 11.3


Aprs avoir tudi cette section, vous devriez savoir :
1. ce quest en fait un code cyclique ;
2. comment (et pourquoi !) reprsenter des mots de code en utilisant des poly-
nmes ;
3. comment coder et dcoder des codes cycliques en utilisant le polynme gn-
rateur.

11.3.1 Introduction

Bien que les codes cycliques soient la catgorie de codes correcteurs derreurs dont lutilisation
est la plus rpandue, seule une introduction trs courte de ce sujet est prsente ici. En effet, une
prsentation approfondie des codes cycliques constituerait elle seule un cours part entire,
et est donc hors de propos ici. Le lecteur intress approfondir le sujet pourra se rfrer la
littrature plutt vaste dans de ce domaine.

Dfinition 11.14 Un code cyclique est un code linaire tel que, pour tout mot de
code zi n symboles zi = zi,1 ...zi,n , le mot zi,2 ...zi,n zi,1 rsultant dune permutation
cyclique (vers la gauche) (aussi appele dcalage ) des symboles de zi soit aussi
un mot de code.

Notez que cette dfinition implique alors que toute permutation cyclique dun mot de code soit
aussi un mot de code.
Exemple 11.20 (Code cyclique) Le code linaire (binaire) suivant est un code cyclique :

z1 = 000, z2 = 101, z3 = 011, z4 = 110

Rciproquement, le code suivant

z1 = 000, z2 = 001, z3 = 010, z4 = 011

(qui est linaire) nest pas cyclique car, par exemple, la permutation cyclique 100 de z3 nest
pas un mot de code.

Les codes cycliques sont une sous-catgorie importante des codes linaires car ils possdent
beaucoup de proprits algbriques qui simplifient les implmentations du codage et du dco-
dage.

valuation 55

Pour chacun des codes binaires suivants, spcifiez sil sagit ou non dun code cyclique.
1. C = {0000, 1000, 0001, 1001}
2. C = {1000, 0001, 0100, 0010}
196 CHAPITRE 11. CODES CORRECTEURS DERREURS

3. C = {000, 100, 010, 001, 110, 011, 111, 101}


4. C = {0000, 0001, 0010, 0011}
5. C = {00, 11, 10, 01}

11.3.2 Codes cycliques et polynmes

De manire prendre en compte algbriquement cette nouvelle contrainte (les permutations


cycliques de mots de code sont aussi des mots de code), une structure algbrique plus com-
plte que celle despace vectoriel (qui rend compte de la linarit) est requise. Lalgbre des
polynmes est justement une bonne manire de reprsenter cette nouvelle contrainte.
En effet, supposons quun mot de code zi n symboles zi = zi,1 ...zi,n soit reprsent par
le polynme zi (X) = zi,1 X n1 + zi,2 X n2 + ... + zi,n1 X + zi,n , c.--d. que le j-
me symbole zi,j dun mot de code zi de taille n soit le coefficient de X nj dans le polynme
correspondant zi (X). Quest alors X zi (X) modulo (X n 1) ? Un peu dalgbre polynmiale
montre directement que ceci correspond la permutation cyclique vers la gauche de zi .

D MONSTRATION Prouvons que la multiplication par le monme correspond une permu-


tation cyclique vers la gauche.

n
X
X zi (X) = X zi,j X nj
j=1
n
X
= zi,j X nj+1
j=1
n1
X
= zi,k+1 X nk
k=0
n1
X
= zi,1 X n + zi,k+1 X nk
k=1

Travailler en modulo (X n 1) signifie simplement que X n correspond 1,12 X n+1


correspond X, etc. Ainsi zi,1 X n mod (X n 1) est gal zi,1 , et lquation ci-dessus,
modulo (X n 1), donne

n1
X
X zi (X) = zi,1 + zi,k+1 X nk
k=1
n1
X
= zi,k+1 X nk + zi,1 X nn
k=1

ce qui correspond effectivement au mot de code zi,2 ...zi,n zi,1 , le rsultat du dcalage vers la
gauche de zi .

Comme les codes cycliques traitent justement de la permutation cyclique de leurs mots de
code, les polynmes semblent tre un moyen tout fait appropri pour les reprsenter. Cet
aspect sera approfondi aprs un court exemple.
11.3. CODES CYCLIQUES 197

Exemple 11.21 (Arithmtique modulo (X n 1)) Voici un court exemple dun calcul
modulo (X n 1) :

(X 2 + 1) (X + 1) = X 3 + X 2 + X + 1
= 1 + X 2 + X + 1 mod (X 3 1)
= X 2 + X + (1 + 1) mod (X 3 1)
= X2 + X mod (X 3 1)

car en binaire 1 + 1 = 0.

Exemple 11.22 (Reprsentation polynmiale dun code cyclique) Revenons sur le code
cyclique binaire de lexemple prcdent :

z1 = 000 z2 = 101 z3 = 011 z4 = 110

La reprsentation polynmiale de ce code est :

z1 (X) = 0
z2 (X) = 1 X 2 + 0 X + 1 = X 2 + 1
z3 (X) = 0 X 2 + 1 X + 1 = X + 1
z4 (X) = 1 X 2 + 1 X + 0 = X 2 + X

Notez en outre que X z2 (X) = z3 (X) mod (X 3 1), ce qui est lexpression du fait que
z3 est le dcalage vers la gauche de z2 .

valuation 56

Quelle est la reprsentation polynmiale des mots de code suivants :


1. 00000000
2. 10001
3. 0000001
4. 1111

valuation 57

Considrant les deux mots de code z1 et z2 dun code cyclique, que vaut z1 z2 dans les cas
suivants :
1. z1 = 010110, z2 = 000100
2. z1 = 1010, z2 = 0101
3. z1 = 11001, z2 = 01010

La condition dfinissant les codes cycliques peut maintenant tre utilise pour caractriser plus
avant les codes cycliques en utilisant les proprits des polynmes :
198 CHAPITRE 11. CODES CORRECTEURS DERREURS

Proprit 11.14 Si z(X) est le polynme correspondant un mot de code z dun


code cyclique de taille n, alors, pour tout polynme p(X), p(X) z(X) mod (X n
1) est aussi un polynme correspondant un mot de code de ce code (dcalages vers
la gauche et combinaisons linaires).

D MONSTRATION pour tout k, X k z(X) mod (X n 1) est aussi un polynme corres-


pondant un mot de code de ce code (dcalages vers la gauche)
un code cyclique est un code linaire, donc toute combinaison linaire de mots de code est
aussi un mot de code.

Thorme 11.5 Pour tout code cyclique (n, m) C, il existe un polynme gC (X) de
degr n m tel que

C = {gC (X) p : p GF(X), deg(p) < m}

c.--d. que tout polynme dun mot de code est un multiple de gC (X), et rciproque-
ment.
En dautres termes, le code C est gnr par gC (X). gC (X) est en fait appel le
gnrateur de C.

Le codage dun mot u en utilisant un code cyclique C pourrait alors simplement consister
envoyer z(X) = u(X) gC (X). Toutefois, le codage sous forme systmatique, c.--d. le
codage de manire ce que les premiers symboles correspondent au message lui-mme, est
souvent prfr.
Pour un code cyclique (n, m), la procdure est alors la suivante :
1. multiplier le polynme du message u(X) par X nm (ce qui revient en pratique effec-
tuer n m dcalages vers la gauche sur le message) Notez que n m est le degr du
gnrateur.
2. diviser X nm u(X) par le gnrateur g(X) et obtenir le reste r(X)
3. le codage de u(X) est alors z(X) = X nm u(X) r(X) (qui est un multiple de g(X),
dont les m symboles les plus levs correspondent aux m symboles de u).

Exemple 11.23 (Codage systmatique avec un code cyclique) Considrons par exemple
le code cyclique binaire (7, 4)

z1 = 0000000, z2 = 0001011, z3 = 0010110, z4 = 0101100,

z5 = 1011000, z6 = 0110001, z7 = 1100010, z8 = 1000101,


z9 = 1010011, z10 = 0100111, z11 = 1001110, z12 = 0011101,
z13 = 0111010, z14 = 1110100, z15 = 1101001, z16 = 1111111

Ce code a pour gnrateur g(X) = z2 (X) = X 3 + X + 1.


[Il est laiss comme exercice de vrifier que z2 (X) est effectivement un gnrateur de ce
code.]
En utilisant ce code, nous voulons transmettre le message u = 1101, c.--d. u(X) = X 3 +
11.3. CODES CYCLIQUES 199

X 2 + 1.
Divisons tout dabord X 3 u(X) = X 6 + X 5 + X 3 par g(X) :

X 6 +X 5 + X3 X3 + X + 1
6
X + X +X 3
4 X3 + X2 + X + 1
X 5+ X 3 +X 2
4
X + X 2 +X
X 3+ X+1
1

c.--d. X 3 u(X) = (X 3 + X 2 + X + 1)g(X) + 1.


Le mot de code est donc z(X) = X 3 u(X)+1 = X 6 +X 5 +X 3 +1, qui reprsente 1101001.
En rsum : le message 1101 est cod 1101001 laide du code cyclique ci-dessus. Notez
que, comme attendu, les 4 premiers bits sont les bits du message originel u.

valuation 58

Comment les messages suivants sont-ils cods sous forme systmatique avec un code, dont le
gnrateur est g(X) = X 6 + X 3 + 1 :
1. 000
2. 111
3. 101

11.3.3 Dcodage

Nous savons maintenant comment coder des messages avec des codes cycliques. Quen est-il
alors du dcodage ?
Le processus de dcodage est similaire au cadre utilis pour les codes linaires en gnral :
1. dabord calculer un syndrome partir du mot reu (qui ne dpend que de lerreur, pas
du mot mis, et qui est nul lorsque le mot reu est un mot de code)
2. en dduire le correcteur (loppos de lerreur)
3. finalement, appliquer le correcteur au mot de code reu.
La construction du syndrome dun mot zb(X) est simple : cest le reste de la division de zb(X)
par le gnrateur g(X) de ce code.
En effet, nous savons que chaque mot de code z(X) est un multiple de g(X). Le reste de
z(X) + e(X) (par rapport g(X)) est le mme que celui de e(X) :

z(X) = (X)g(X)
= z(X) + e(X) = [(X) + (X)]g(X) + s(X)
e(X) = (X)g(X) + s(X)

avec deg(s(X)) < deg(g(X)).


Il ressort en outre clairement de la construction ci-dessus que le syndrome s(X) est nul si et
seulement si zb(X) est un mot de code (c.--d. multiple de g(X)).
200 CHAPITRE 11. CODES CORRECTEURS DERREURS

Les correcteurs, qui correspondent tous les syndromes non nuls, peuvent tre obtenus par
division par g(X). Notez que
pour une erreur seule X i de degr i infrieur n m (le degr de g(X)), le syndrome est
simplement X i ;
pour lerreur seule X (nm) , le syndrome est X (nm) g(X).
Exemple 11.24 (Dcodage avec un code cyclique) Continuons lexemple prcdent : le
message 1101 a t cod en 1101001 et est maintenant transmis travers un canal bruit.
Supposons que le second symbole ait t chang, c.--d. que nous recevions 1001001. Quel
est le mot dcod correspondant ?
1001001 correspond zb(X) = X 6 + X 3 + 1, dont la division par g(X) donne :

X 6+ X 3+ 1 X3 + X + 1
X +X +X 3
6 4 X3 + X
X 4+ X 2 +X
X 2 +X+1

Le syndrome est donc ici X 2 + X + 1.


Le tableau correcteur/syndrome pour g(X) = X 3 + X + 1 est le suivant :

syndrome correcteur
1 1
X X
X2 X2
X +1 X3
X2 + X X4
X2 + X + 1 X5
X2 + 1 X6

[Les quatre premires lignes ont t obtenues en utilisant les remarques ci-dessus. Les trois
dernires par division de lerreur par g(X)]
Nous avons donc trouv que le correcteur doit tre X 5 et que le mot dcod est finalement
z(X) = zb(X) + X 5 = X 6 + X 5 + X 3 + 1, c.--d. 1101001.
Comme un code systmatique a t utilis, les 4 premiers symboles de ce mot de code sont
les 4 bits du message originel : 1101.

valuation 59

Considrons le code linaire (7, 4) dont le gnrateur est g(X) = X 3 + X 2 + 1. Comment les
messages reus suivants seront-ils dcods ?
1. 1001011
2. 1011001
3. 0000001
(en supposant un codage sous forme systmatique).
11.4. CODES CONVOLUTIONNELS 201

R SUM DE LA SECTION 11.3

Code cyclique : un code linaire tel que tout dcalage (des symboles) de tout mot de code
est aussi un mot de code.
reprsentation polynmiale : z = z1 ...zn est reprsent par le polynme z(X) = z1
X n1 + z2 X n2 + ... + zn1 X + zn , c.--d. que le j-me symbole zj dun mot de
code z de taille n est le coefficient de X nj dans le polynme correspondant z(X).
La multiplication polynmiale par X (monme du premier degr) correspond au dca-
lage (dune position) vers la gauche.
Toutes les oprations sont faites modulo X n 1.
gnrateur : Pour tout code cyclique, il existe un polynme tel que tout polynme reprsen-
tant un mot de code en soit multiple, et rciproquement.
codage sous forme systmatique : La mthode de codage telle que les m premiers sym-
boles dun mot de code sont exactement les m symboles du message cod.
Pour les codes cycliques, le codage sous forme systmatique est accompli par les tapes
suivantes :
1. multiplier le polynme du message u(X) par X nm
2. diviser X nm u(X) par le gnrateur g(X) et obtenir le reste r(X)
3. coder u(X) par z(X) = X nm u(X) r(X).
dcodage : Le processus de dcodage est similaire au cadre utilis pour les codes linaires
en gnral :
1. calculer le syndrome du mot reu : cest le reste de la division de ce mot par le
gnrateur du code ;
2. en dduire le correcteur partir dun calcul pralable de la correspondance syn-
dromes/correcteurs (la multiplication du gnrateur par le correcteur donne le
syndrome)
3. finalement, appliquer le correcteur au mot de code reu et dcoder les mots ori-
ginels comme les m premiers symboles du mot de code dcod ( condition que
le codage systmatique ait t utilis).

11.4 Codes convolutionnels

O BJECTIFS PDAGOGIQUES DE LA SECTION 11.4


Aprs ltude de cette section, vous devriez savoir :
1. ce que sont les codes convolutionnels ;
2. comment le codage de tels codes est ralis ;
3. ce que sont un tat et un diagramme dtat ;
4. ce quest la reprsentation par treillis associe un code convolutionnel ;
5. comment utiliser lalgorithme de Viterbi sur les treillis pour effectuer du dco-
dage distance minimale ;
6. comment calculer la distance minimale dun code convolutionnel.
202 CHAPITRE 11. CODES CORRECTEURS DERREURS

z 2i1
+

mise en srie
z 2i1z 2i
ui u i1 u i2

+
z 2i

F IG . 11.1 Un premier exemple dun code convolutionnel. Chaque symbole du message ui


est cod en deux symboles du mot de code z2i1 et z2i .

11.4.1 Introduction

Dans cette section, un schma de codage qui nest pas par bloc est considr : les codes convo-
lutionnels. Les codes convolutionnels diffrent des codes par bloc par le fait que le mcanisme
de codage garde en mmoire les symboles cods.
En un sens, les codes convolutionnels peuvent tre considrs comme des codes par bloc sans
limites, c.--d. des codes par bloc avec des blocs de taille infinie . Toutefois, il y a une
diffrence significative dans la conception de ces techniques de codage/dcodage. En outre,
les codes convolutionnels se sont montrs bien suprieurs aux codes par bloc dans beaucoup
dapplications.

11.4.2 Codage

Le point de dpart dun code convolutionnel est le codeur. Plutt que de commencer avec
des dfinitions prcises et une analyse gnrale des codes convolutionnels, nous prfrerons
commencer avec un exemple simple qui contient toutefois les caractristiques principales du
codage convolutionnel.
Le codeur de lexemple choisi pour cette section est reprsent dans la figure 11.1.
A chaque pas de temps i, un symbole ui du message entre dans le codeur et deux sym-
boles de mot de code z2i1 z2i sont mis ; c.--d. que u = (u1 , ..., ui , ...) est cod en z =
(z1 , z2 , ..., z2i1 , z2i , ...). Le taux de ce code est donc 1/2.
Les symboles ui du message et les symboles zj du mot de code considrs ici sont tous des
chiffres binaires. Les additions montres dans la figure 11.1 sont des additions binaires (c.--d.
des ou exclusifs ).
De manire plus formelle, le codeur reprsent dans la figure 11.1 peut tre crit comme

z2i1 = ui + ui2 (11.1)


z2i = ui + ui1 + ui2 (11.2)

c.--d.
ui 7 (ui2 + ui , ui2 + ui1 + ui )

Ces quations peuvent tre vues comme une convolution discrte de la squence dentre
avec les squences 1, 0, 1, 0, 0, . . . et 1, 1, 1, 0, 0, . . . respectivement. Ceci explique le terme de
code convolutionnel .
11.4. CODES CONVOLUTIONNELS 203

Toutefois, ni les quations ci-dessus, ni la figure 11.1 ne dterminent compltement les mots de
code, comme les valeurs de ui2 et de ui1 sont requises. Quelles sont-elles au temps i = 1,
c.--d. quel est ltat initial du systme ?
La convention est quils sont toujours nuls, c.--d. u1 = u0 = 0.
Pour tre sr que ce soit toujours le cas, c.--d. que chaque fois quun nouveau message doit
tre cod ltat initial du codeur soit toujours 0 dans toutes les mmoires, le codage dun
message prcdent doit laisser le codeur dans cet tat nul. Tout codage dun message doit
donc contenir assez de zros la fin pour tre sr que toutes les mmoires du systme soient
revenues 0. Dans le cas de le codeur prsent dans la figure 11.1, ceci revient dire que le
codage de chaque message se terminera par le codage de deux zros ou plus.

Exemple 11.25 (Codage avec un code convolutionnel) Supposons vouloir envoyer le mes-
sage u = 101 en utilisant le codeur reprsent dans la figure 11.1. Comment cela marche-t-
il ?
Traons tous les composants du codage :

i ui tat z2i1 z2i


(ui1 ui2 )
1 1 00 11
2 0 10 01
3 1 01 00
4 (0) 10 01
5 (0) 01 11

Le mot de code correspondant est alors z = 1101000111.


Les deux dernires lignes correspondent aux deux bits zro qui doivent tre introduits dans
le codeur la fin de chaque message pour le remettre dans son tat initial.

valuation 60

Considrons le code convolutionnel, dont le codeur est dcrit par le diagramme suivant :

z 4i3
+
z 4i2
mise en srie

+ z 4i3 z 4i2 z 4i1 z 4i


ui u i1 u i2 u i3 z 4i1
+
z 4i
+

1. Combien de zros doivent tre ajouts aprs chaque mot coder ?


(a) 1
(b) 2
(c) 3
(d) 4
(e) 5
204 CHAPITRE 11. CODES CORRECTEURS DERREURS

2. Comment le texte 10110 est-il cod ?


(a) 0011110010101000100111100111
(b) 10110
(c) 00111100101010000101111001110000
(d) 0010010110011010110001001001
(e) 11110000111111110000000000000000
(f) 11000011010100011010011111100000

Demandons-nous maintenant quel est en gnral le code gnr par le codeur reprsent dans
la figure 11.1 ?
Considrons par exemple un message de 3 bits u = (u1 , u2 , u3 ). Comme nous lavons vu, ce
qui doit tre effectivement cod est (u1 , u2 , u3 , 0, 0), c.--d. que deux bits zro sont ajouts
la fin du message originel de faon remettre la mmoire du codeur dans son tat initial. La
taille du mot de code correspondant est ainsi 2 5 = 10.
Les bits de ces mots de code sont donns par les quations (11.1) et (11.2), c.--d. sous forme
matricielle :
1 1
(z2i1 , z2i ) = (ui2 , ui1 , ui ) 0 1 (11.3)
1 1

Le mot de code entier z est ainsi obtenu en multipliant (u1 , u2 , u3 , 0, 0) par la matrice

1 1 0 1 1 1 0 0 0 0
0 0 1 1 0 1 1 1 0 0

G3 =
0 0 0 0 1 1 0 1 1 1 ,

0 0 0 0 0 0 1 1 0 1
0 0 0 0 0 0 0 0 1 1

ou, plus simplement, en multipliant u = (u1 , u2 , u3 ) par



1 1 0 1 1 1 0 0 0 0
G3 = 0 0 1 1 0 1 1 1 0 0 .
0 0 0 0 1 1 0 1 1 1

Le mot de code est donc z = u G3 .


Pour un message de longueur m, ceci se gnralise z = u Gm o Gm est la matrice m
(2 m + 4) faite de dcalages dune ligne et de deux colonnes de la matrice-bloc de lquation
(11.3).
Ce rsultat est vrai en gnral, indpendamment de la longueur du message cod. Ceci illustre
pourquoi les codes convolutionnels sont prsents comme des codes par bloc linaires infi-
nis (i.e. non borns).

11.4.3 Dfinition gnrale

Donnons maintenant une dfinition gnrale des codes convolutionnels.


11.4. CODES CONVOLUTIONNELS 205

Dfinition 11.15 Un code convolutionnel (n, k, r) D-aire est un code linaire non
born, dont la matrice gnratrice est de la forme suivante (infinie) :

F0 F1 F2 Fr [0] [0] [0]
[0] F0 F1 Fr1 Fr [0] [0]

G = [0] [0] F F
0 r2 Fr1 Fr [0]
.. .. . . .. .. ..
. . . . . .

avec Fi une matrice k n, et [0] la matrice nulle k n ; c.--d. que chaque ensemble
de k lignes de G est le mme que lensemble de k lignes prcdent mais dcal de n
places vers la droite.
Un message u de longueur finie m, u = (u1 , ..., um ) est cod en z = u Gm o u
est le vecteur de longueur m = qk, avec q = m k , tel que u = (u1 , ..., um , 0, ..., 0),
et o Gm est la sous-matrice suprieure gauche de G de taille qk n(r + q).
Notez que u = u, c.--d. que m = m si m est un multiple de k (en particulier lorsque
k = 1 !).

Dans la dfinition ci-dessus, k correspond en fait au nombre de symboles du message qui vont
dans le codeur (k lignes dentre), n est le nombre de symboles de mot de code sortants par
entre (n lignes de sortie) et r le nombre maximal de mmoires (aussi appeles registres )
sur une ligne dentre.

Exemple 11.26 Le codeur montr en exemple dans la figure 11.1 construit un code convo-
lutionnel (2, 1, 2) : k = 1 ligne dentre avec r = 2 mmoires, produisant n = 2 bits de mot
de code pour chaque bit dentre.
Comme nous lavons vu dans la section 11.4.2, pour un message dentre de longueur 3, sa
matrice gnratrice est la matrice 3 10

1 1 0 1 1 1 0 0 0 0

G3 = 0 0 1 1 0 1 1 1 0 0
0 0 0 0 1 1 0 1 1 1

o chaque ligne ( ensemble de k = 1 ligne(s) ) est en fait un dcalage de 2 pas vers la


gauche de la ligne suprieure.
Par rapport la dfinition, nous avons pour la matrice G3 ci-dessus :
F0 = [ 1 1 ], qui correspond aux deux coefficients de ui dans les quations (11.1) et (11.2),
F1 = [ 0 1 ], qui correspond aux deux coefficients de ui1 ,
et F2 = [ 1 1 ], qui correspond aux deux coefficients de ui2 .

Notez que les codes convolutionnels sont linaires : toute combinaison de mots de code est
aussi un mot de code (avec la convention que les mots de code plus courts sont rallongs avec
des zros la fin pour que la combinaison linaire ait un sens, c.--d. que tous les mots ajouts
aient la mme longueur).

valuation 61

1. Que vaut (n, k, r) du code convolutionnel donn dans la dernire question ?


(a) (1, 3, 4)
206 CHAPITRE 11. CODES CORRECTEURS DERREURS

(b) (7, 4, 1)
(c) (3, 1, 4)
(d) (4, 1, 3)
(e) (7, 1, 4)
(f) (1, 3, 7)
2. Quelle est la matrice gnratrice de ce code ?
(a) Combien de blocs F y a-t-il ?
(b) Quelle est la taille de chaque bloc F : ?? ?
(c) Donnez tous les blocs F .

11.4.4 Reprsentation sous forme de treillis

L tat dun systme est lensemble des paramtres internes (mmoires, aussi appeles
registres ) requis pour calculer la sortie correspondant un bloc dentre donn. Pour le
codeur de la figure 11.1 par exemple, ltat au temps i est le contenu actuel des deux mmoires,
c.--d. Si = (ui1 , ui2 ).
Le comportement du codeur ne dpend que de son tat et de lentre : un codeur code
convolutionnel est une machine tat. Lensemble de son fonctionnement est dcrit par un
diagramme dtat.

Dfinition 11.16 (Diagramme dtat) Le diagramme dtat dun codeur est un


graphe dont les nuds sont tous les tats internes possibles du codeur. Un arc entre
un nud Si et un nud Sj dans ce graphe reprsente le fait quil existe une entre
qui, lorsquelle est reue dans ltat Si met le codeur dans ltat Sj .
Ces arcs sont habituellement tiquets avec le(s) symbole(s) dentre et les symboles
de sortie correspondants.

Exemple 11.27 (Diagramme dtat) Par exemple, pour le codeur de la figure 11.1, nous
avons :

1 / 01
u i / z 2i-1 z 2i
11
1 / 10 0 / 10

0 / 01
10 01
1 / 00

1 / 11 0 / 11
00
0 / 00

o chaque nud reprsente ltat du codeur c.--d. ltat des deux mmoires internes, le
11.4. CODES CONVOLUTIONNELS 207

label bleu est lentre qui provoque le changement dtat , et le rouge les symboles de sortie
correspondants.
Si par exemple, dans ltat 01, un 1 est reu comme symbole dentre, ltat devient alors
10 et les deux symboles de sortie sont 00.

Lensemble des mots de code dun code convolutionnel (n, k, r), correspondant tous les
messages
m de m bits possibles, est donc lensemble de toutes les squences (de taille n(r +
k )) correspondant tous les chemins de longueur m dans le diagramme dtat partant de
ltat nul (zro partout) et reviennent cet tat nul.
Le dploiement dans le temps de tous les chemins de mme longueur dans le diagramme dtat
est appel treillis de taille m du code convolutionnel (n, k, r).

Exemple 11.28 (Treillis) Pour le code (2, 1, 2) considr dans les exemples prcdents, le
treillis de longueur m = 3, reprsentant les codages de tous les messages dentre de 3 bits
est :
01
11 11
10 10
10

10

01 01 01
01 01
01 00
11

10 10 10 11
11

11 11
11
00 00 00 00 00
00 00 00 00 00 00
dans lequel larc le plus (dirig vers le) haut sortant dun nud correspond au bit dentre 1
et le plus bas 0.
Les trois premires colonnes darcs correspondent donc au codage de messages de 3 bits, et
les deux dernires colonnes darcs correspondent aux zros terminaux13 , ces dernires nont
donc que des arcs pointant au plus bas.

Exemple 11.29 (Codage dans le Treillis) Par exemple, le codage du message u = 101 cor-
respond au chemin suivant :
01
11 11
10 10
10

10

01 01 01
01 01
01 00
11
11

10 10 10
11

11 11
11
00 00 00 00 00
00 00 00 00 00 00
c.--d. au mot de code z = 1101000111.

valuation 62

Considrons le treillis correspondant au codage dun message de longueur 4 avec le codeur de


la question de contrle prcdente.
208 CHAPITRE 11. CODES CORRECTEURS DERREURS

Combien de colonnes dtats a-t-il ?


Pour chaque colonne, combien dtats y a-t-il ?
Donnez, pour les paires dtats suivantes, quel est le label de larc. Si aucun arc nest prsent,
rpondez pas darc :
100 et 010 :
101 et 110 :
001 et 111 :
111 et 011 :

11.4.5 Dcodage

Comme nous venons de le voir, un mot de code correspond un chemin du nud de dpart au
nud de fin du treillis.
Le dcodage consiste alors trouver le chemin le plus appropri correspondant au message
reu dcoder. Dans le cadre du dcodage distance minimale, c.--d. le dcodage du mot
de code avec un nombre minimal derreurs, le chemin le plus appropri signifie le chemin
avec la distance de Hamming minimale par rapport au message dcoder.
La recherche de ce chemin le plus proche peut tre effectue en utilisant la programmation
dynamique, c.--d. lalgorithme de Viterbi.
Cet algorithme dcode un bloc de mot de code aprs lautre (c.--d. des paquets de n bits du
message les uns aprs les autres), en ne gardant chaque tape que les solutions localement op-
timales, c.--d. gardant, pour chaque nud dans la colonne correspondant au bloc couramment
dcod, le meilleur chemin menant ce nud.
A la fin, le meilleur chemin trouv pour le dernier nud est le message dcod.
Ce qui est important et utile propos de cet algorithme est que le nombre de meilleurs chemins
possibles qui sont gards chaque tape de temps est toujours infrieur ou gal au nombre
dtats de le codeur.
Donnons maintenant plus de prcisions sur lalgorithme.
Introduisons tout dabord un peu de notation. Pour chaque tat s du codeur, soit i (s) le
meilleur (c.--d. le plus proche, c.--d. avec un nombre derreurs minimal) dcodage de lon-
gueur i finissant dans ltat s

i (s) = min
z1 ,...,z2i
d(z1 ...z2i , zb1 ...b
z2i )
finissant en s

n

Le dcodage complet correspond donc |bz | (00) |b
z| = m + 2 = 2 ici o |b
z | est la longueur
du message dcoder.
Il est facile de voir que pour toute paire dtats de codage (s, s ), nous avons :

i (s) = z minz d(z2i1 z2i , zb2i1 zb2i ) + i1 (s ) .
2i1 2i
de s s

Ceci donne lalgorithme suivant (algorithme de Viterbi) :


11.4. CODES CONVOLUTIONNELS 209

0 (00) = 0
Pouri de 1 |b
z|
Pour touts
i (s) = min

(d(z2i1 z2i , zb2i1 zb2i ) + i1 (s ))
s s
Marquer le/un arc de s s qui ralise le minimum
Reconstruire le chemin optimal en sens inverse, de ltat final ltat nul initial.

Exemple 11.30 Supposons que le mot de code z = 1101000111 soit envoy travers un
canal bruit et que zb = 0101010111 soit reu, c.--d. que deux erreurs soient survenues.
Lalgorithme ci-dessus passera donc par les tapes suivantes, o le nombre minimal derreurs
i (s) ce point i est crit en rouge au-dessus de chaque tat s dans le treillis :
3
01 01
11 11 11 11
10 10 10 10
1
10

10

10

10
01
01
01 01
01
01
01 01
01 01
1 01 00 1 01 2 00
11

11

11

11
10 10 10 10 10 10
11

11
11 11 11 11
0 1 11 0 1 2 11
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00

zb = 01 01 01 01 11 zb = 01 01 01 01 11
3 3 3 3
01 01
11 11 11 11
10 10 10 10
1 2 1 2 2
10

10

10

10
01
01
01 01
01
01
01 01
01 01
1 01 2 00 2 1 01 2 00 2
11

11

11

11
10 10 10 10 10 10
11

11

11 11 11 11
0 1 2 11 2 0 1 2 11 2 3
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00

zb = 01 01 01 01 11 zb = 01 01 01 01 11
3 3 3 3
01 01
11 11 11 11
10 10 10 10
1 2 2 1 2 2
10

10

10

10

01
01
01 01
01
01
01 01
01 01
1 01 2 00 2 1 01 2 00 2
11

11

11

11

10 10 10 10 10 10
11

11

11 11 11 11
0 1 2 11 2 3 2 0 1 2 11 2 3 2
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00

zb = 01 01 01 01 11 zb = 01 01 01 01 11

A la premire tape, seuls deux chemins peuvent tre considrs :


ou un 1 a t cod, ce qui amne de ltat 00 ltat 10. Si ceci sest produit, alors 11 a
t mis et une erreur est donc survenue durant la transmission (comme 01 a t reu).
ou un 0 a t cod, ce qui amne de ltat 00 ltat 00. Si ceci sest produit, alors 00 a
t mis et une erreur est aussi survenue durant la transmission.
A le seconde tape, il ny a toujours quun seul chemin possible pour atteindre chaque tat
(c.--d. 4 chemins maintenant). Le nombre minimal derreurs pour chacun de ces 4 tats est
le nombre minimal derreurs de ltat prcdent plus le nombre derreurs du chemin corres-
pondant (c.--d. la diffrence entre les symboles mis et reus). Par exemple, si le chemin
allant de ltat 10 ltat 11 avait t utilis, deux erreurs se seraient donc produites car
dans ce cas 10 aurait t mis et 01 reu. Ceci donne un nombre minimal derreurs pour
ltat 11 ltape 2 2 (11) = 1 + 2 = 3.
A ltape trois, nous avons deux chemins possibles pour atteindre chaque tat. Lalgorithme
nen garde quun des deux, o le nombre minimal derreurs est fait. Lautre arc est dessin
avec une ligne grise traitille.
210 CHAPITRE 11. CODES CORRECTEURS DERREURS

Lalgorithme continue comme a jusqu ltape finale, o ltat nul est atteint avec un
nombre minimal derreurs de 2.
La toute dernire tape est la reconstruction en sens inverse du chemin, qui est dessin en
bleu sur la dernire image. Ce chemin correspond au mot de code 1101000111.
Ltape finale du dcodage est de reconstruire le message originel partir du mot de code,
ce qui se fait en sachant quel arc (0 ou 1) a t suivi (ou simplement en regardant le premier
bit de chaque tat). Dans ce cas, nous obtenons 10100, et en supprimant les 2 derniers zros
qui ne font pas partie du message originel, nous obtenons finalement 101.

valuation 63

Pour le code utilis dans la question de contrle prcdente, comment est dcod
1011101011111101101001100010 ?

11.4.6 Distance minimale

Comme prsent dans la section 11.4.3, un code convolutionnel est un code linaire. Donc, par
le thorme 11.2, sa distance minimale est gale son poids minimal.

Proprit 11.15 (Poids minimal dun code convolutionnel) Pour un code convo-
lutionnel, le poids minimal est le nombre minimal de symboles non nuls sur un chemin
menant de ltat nul ltat nul.

D MONSTRATION Ceci dcoule directement de la dfinition du poids minimal et du fait


quun mot de code correspond un chemin du diagramme dtat menant de ltat nul ltat
nul.

Exemple 11.31 Considrons le code convolutionnel que nous avons trait depuis le dbut de
cette section. Le meilleur moyen de reprsenter les chemins du diagramme dtat est dutiliser
le treillis. Pour le calcul du poids minimal, le treillis de taille deux est suffisant, car chaque
arc prsent dans le treillis de taille trois qui nest pas prsent dans le treillis de taille deux
reviendra dans un mme tat avec un plus grand nombre de symboles non nuls, et ne peut
donc faire partie du chemin minimal.
Dans notre cas, a donne :

11
10
10 Poids=6
10 10
01 01

11 Poids=5
11
01 01
11 11

00 00 00 00
00 00 00 00 00
11.4. CODES CONVOLUTIONNELS 211

Donc dmin (C) = 5.

valuation 64

Quelle est la distance minimale du codeur donn dans les questions de contrle prcdentes ?

e-nnexe : Convolution Code

R SUM DE LA SECTION 11.4

code convolutionnel : Un code convolutionnel (n, k, r) D-aire est un code linaire illimit,
dont la matrice gnratrice (infinie) est telle que chaque ensemble de k lignes est le
mme que lensemble de k lignes prcdent, mais dcal de n positions vers la droite.
Ceci correspond la description matricielle de lalgorithme de codage, qui est souvent
donn sous forme de dessin dun circuit avec k lignes dentre, n lignes de sortie et au
plus r mmoires sur un chemin dentre vers sortie.
codage : Un u de longueur finie m, u = (u1 , ..., um ) est cod en z = u Gm o
mmessage
q = k , m = qk, u est le vecteur de longueur m tel que u = (u1 , ..., um , 0, ..., 0),
et Gm la matrice suprieure gauche de taille qk n(r + q) de la matrice gnratrice.
tat (interne) du codeur : lensemble des tats des mmoires (ou registres) du codeur.
diagramme dtat : Le diagramme dtat dun codeur est un graphe, dont les nuds sont
tous les tats internes possibles du codeur. Un arc entre un nud Si et un nud Sj
dans ce graphe reprsente le fait quil existe une entre qui, lorsquelle est reue dans
ltat Si amne le codeur dans ltat Sj .
Ces arcs sont tiquets avec le(s) symbole(s) dentre et les symboles de sortie corres-
pondants.
reprsentation par treillis : La reprsentation du dploiement dans le temps de tous les
chemins possibles du diagramme dtat.
algorithme de dcodage de Viterbi : Lalgorithme de programmation dynamique qui, pour
un message dcoder donn, trouve le chemin le plus court (en termes derreurs)
dans le treillis.

R SUM DU CHAPITRE 11

code par bloc : un ensemble non vide de mots de mme longueur, considrs comme des
vecteurs ligne .
poids : (dun mot) le nombre de symboles non nuls.
distance de Hamming : le nombre de coordonnes par lesquelles deux vecteurs diffrent.
La distance de Hamming entre deux mots est le poids de leur diffrence.
dcodage distance minimale : structure de correction derreurs dans laquelle chaque mot
reu est dcod en le mot de code le plus proche (daprs la distance de Hamming).
dcodage vraisemblance maximale : structure de correction derreurs dans laquelle
chaque mot reu zb est dcod en le (un des) mot(s) le(s) plus vraisemblable(s) z, c.--d.
un mot de code tel que P (Y = zb|X = z) soit maximale (avec X lentre du canal
212 CHAPITRE 11. CODES CORRECTEURS DERREURS

bruit et Y sa sortie).
distance minimale dun code : la distance de Hamming minimale (non nulle) entre toute
paire de mots de code (diffrents).
capacit de correction et de dtection derreurs : Un code par bloc C de longueur n uti-
lisant le dcodage distance minimale peut, pour toute paire dentiers t et s tels que
0 t n et 0 s n t, corriger tous les schmas t ou moins erreurs et dtecter
tous les schmas t+1, ..., t+s erreurs si et seulement si sa distance minimale dmin (C)
est strictement suprieure 2t + s :

dmin (C) > 2t + s C corrige t et dtecte t + s erreurs.

code linaire : un code par bloc qui est un espace vectoriel (c.--d. que toute combinaison
de mots de code est aussi un mot de code).
Un code linaire (n, m) D-aire est un sous-espace vectoriel de dimension m de les-
pace vectoriel de dimension n de mots de code D-aires.
distance minimale dun code linaire : pour les codes linaires, la distance minimale est
gale au poids minimal.
matrice gnratrice dun code linaire : (dun code linaire (n, m)) une matrice m n
dont les lignes sont une base du code (elle sont donc linairement indpendantes).
forme systmatique de la matrice gnratrice dun code linaire : une matrice gnra-
trice m n dun code linaire (n, m) est dite sous forme systmatique seulement
si sa sous-matrice m m la plus gauche est la matrice identit (de taille m).
codage avec un code linaire : le codage avec des codes linaires est effectu par multipli-
cation avec une matrice : le mot u coder est multipli par une matrice gnratrice du
code choisie G, produisant le mot de code z = u G.
Si la matrice gnratrice est sous forme systmatique, les m premiers symboles du mot
de code sont exactement les symboles du message. Ainsi, seuls les n m derniers
symboles doivent tre calculs.
matrice de vrification dun code linaire : une matrice (n m) n H est une matrice de
vrification pour un code linaire (n, m) C si et seulement si

z GF(D)n z H T = 0 z C

La matrice de vrification est trs utile pour le dcodage.


syndrome dun mot par rapport un code linaire : le rsultat du produit dun mot par la
matrice de vrification : s = z H T .
Le syndrome est utilis pour dterminer lerreur corriger. Il correspond en effet
la combinaison linaire de colonnes de H qui est prcisment le produit du schma
derreur par H T .
codes de Hamming binaires : des codes linaires (2r 1, 2r r1) qui peuvent corriger
tous les schmas 1 erreur ;
la matrice de vrification est donne sous la forme de lnumration binaire des
colonnes.
code cyclique : un code linaire tel que tout dcalage (des symboles) de tout mot de code
est aussi un mot de code.
reprsentation polynmiale de codes cycliques : z = z1 ...zn est reprsent par le poly-
nme z(X) = z1 X n1 + z2 X n2 + ... + zn1 X + zn , c.--d. que le j-me
11.4. CODES CONVOLUTIONNELS 213

symbole zj dun mot de code z de taille n est le coefficient de X nj dans le polynme


correspondant z(X).
La multiplication polynmiale par X (monme du premier degr) correspond au dca-
lage (dune position) vers la gauche.
Toutes les oprations sont faites modulo X n 1.
gnrateur dun code cyclique : Pour tout code cyclique, il existe un polynme tel que tout
polynme reprsentant un mot de code en soit multiple, et rciproquement.
codage sous forme systmatique dun code cyclique : La mthode de codage telle que les
m premiers symboles dun mot de code sont exactement les m symboles du message
cod.
Pour les codes cycliques, le codage sous forme systmatique est accompli par les tapes
suivantes :
1. multiplier le polynme du message u(X) par X nm
2. diviser X nm u(X) par le gnrateur g(X) et obtenir le reste r(X)
3. coder u(X) par z(X) = X nm u(X) r(X).
dcodage avec les codes cycliques : Le processus de dcodage est similaire au cadre utilis
pour les codes linaires en gnral :
1. calculer le syndrome du mot reu : cest le reste de la division de ce mot par le
gnrateur du code ;
2. en dduire le correcteur partir dun calcul pralable de la correspondance syn-
dromes/correcteurs (la multiplication du gnrateur par le correcteur donne le
syndrome)
3. finalement, appliquer le correcteur au mot de code reu et dcoder les mots ori-
ginels comme les m premiers symboles du mot de code dcod ( condition que
le codage systmatique ait t utilis).
code convolutionnel : Un code convolutionnel (n, k, r) D-aire est un code linaire non li-
mit, dont la matrice gnratrice (infinie) est telle que chaque ensemble de k lignes est
le mme que lensemble de k lignes prcdent, mais dcal de n places vers la droite.
Ceci correspond la description matricielle de lalgorithme codeur, qui est souvent
donn sous forme de dessin dun circuit avec k lignes dentre, n lignes de sortie et au
plus r mmoires sur un chemin dentre vers sortie.
codage avec un code convolutionnel : Un message u de longueur finie m, u = (u1 , ..., um )
est cod en z = u Gm o q = m k , m = qk, u est le vecteur de longueur m tel que

u = (u1 , ..., um , 0, ..., 0), et Gm la matrice suprieure gauche de taille qk n(r + q)


de la matrice gnratrice.
tat (interne) du codeur dun code convolutionnel : lensemble des tats des mmoires
(ou registres) du codeur.
diagramme dtat : Le diagramme dtat dun codeur est un graphe, dont les nuds sont
tous les tats internes possibles du codeur. Un arc entre un nud Si et un nud Sj
dans ce graphe reprsente le fait quil existe une entre qui, lorsquelle est reue dans
ltat Si amne le codeur dans ltat Sj .
Ces arcs sont tiquets avec le(s) symbole(s) dentre et les symboles de sortie corres-
pondants.
reprsentation par treillis : La reprsentation du dploiement dans le temps de tous les
chemins possibles du diagramme dtat.
214 CHAPITRE 11. CODES CORRECTEURS DERREURS

algorithme de dcodage de Viterbi : Lalgorithme de programmation dynamique qui, pour


un message dcoder donn, trouve le chemin le plus court (en termes derreurs)
dans le treillis.

Histoire et bibliographie

Le travail sur les codes correcteurs derreurs est bien sr parti du travail de pionnier de Shannon
en 1948. La conception de bons codes efficaces a commenc dans les annes cinquante avec les
travaux de Hamming, Slepian et beaucoup dautres. Pendant les annes cinquante, la plupart
des travaux dans ce domaines taient destins au dveloppement dune vraie thorie du codage
(codes linaires, codes par bloc et codes convolutionnels).
Les codes convolutionnels ont t prsents pour la premire fois en 1955 par Elias [3] comme
une alternative aux codes par bloc. Wozencraft proposa plus tard une mthode de dcodage
squentiel efficace pour de tels codes [13]. Puis, en 1967, Viterbi proposa un algorithme de
dcodage vraisemblance maximale [12] assez facile implmenter qui mne plusieurs
applications des codes convolutionnels, en particulier aux communications avec les satellites
dans lespace lointain.
Un dplacement de la thorie vers la pratique fut effectu dans les annes soixante-dix, avec
une accroissement rapide des applications militaires et de communications spatiales.

Pour aller plus loin

Voir aussi [2], [6], [11] et [7].


Chapitre 12

Exercices du module I2

par J.-C. C HAPPELIER

12.1 Codes linaires

Exercice 12.1.1:

Soit un code linaire binaire de matrice gnratrice1


1 0 0 1 1
G= 0 1 0 1 1
0 0 1 0 0

a Quelle est la matrice de vrification (sous forme systmatique) ?

b Quelle est alors la distance minimale de ce code ? Combien derreurs peut-il au plus corri-
ger ?

c Combien ce code possde-t-il de mots (i.e. de vecteurs diffrents) ?

1
Lorsque la matrice gnratrice nest pas donne sous forme systmatique, pour obtenir la forme systmatique
quivalente on transforme la matrice laide de permutations sur les lignes et/ou sur les colonnes, multiplications
de ligne ou colonne par un scalaire non nul ou encore par addition de lignes (mais laddition de colonnes est
interdite !).

215
216 CHAPITRE 12. EXERCICES DU MODULE I2

Exercice 12.1.2:

Considrons le code linaire binaire dont la partie parit est engendre par les quations :

z5 = s2 + s3 + s4
z6 = s1 + s2 + s3
z7 = s1 + s2 + s4
z8 = s1 + s3 + s4

le mot de source tant compos des bits (u1 , u2 , u3 , u4 ) et le message cod : (z1 , z2 , z3 , z4 , z5 , z6 , z7 , z8 ).
a
a Quelle est la matrice gnratrice de ce code (sous forme systmatique) ?
b Coder la squence 010110010111.
c Quelle est la matrice de vrification de ce code ?
d Montrer que la distance minimale de ce code est 4.
e Combien derreurs sur le mot transmis ce code peut-il corriger au maximum ? Combien
peut-il corriger de schmas derreur diffrents (c.--d. combien a-t-il de syndromes dif-
frents) ?
f On envisage lutilisation de ce code sur un canal symtrique binaire. Pour cela les 15 sch-
mas derreur corriger choisis sont les 15 schmas derreur les plus probables. crire
la table de correction (c.--d. la table donnant pour chaque syndrome la correction
appliquer).
g laide de la table prcdente, dcoder 1111110000001100.

Exercice 12.1.3:

On considre la matrice H de vrification du code de Hamming (7,4) vu en cours :



0 0 0 1 1 1 1
H= 0 1 1 0 0 1 1
1 0 1 0 1 0 1

a Un mot z = (z1 , ..., z7 ) fait partie du code de Hamming correspondant si et seulement


si : H z T = 03 (o 03 est le vecteur colonne nul de dimension 3). Rsoudre cette
quation en exprimant z5 , z6 et z7 en fonction de z1 , z2 , z3 et z4 . En dduire la forme
systmatique de la matrice de codage G du code de Hamming dont H est la matrice de
vrification.
b partir de G, crire la forme systmatique H de la matrice de vrification du code de
Hamming. Quel avantage prsente la forme de lnonc ?
c Coder 010110010111.
d Dcoder 0100110110011011011101100111.
e Si lon utilise ce code de Hamming sur un canal symtrique binaire de probabilit de chan-
gement p, quel taux derreur par bloc PB aura-t-on ? Que vaut le taux de transmission
R?
12.2. CODES CYCLIQUES 217

f Que vaut, en premire approximation, le taux derreur par bit ?

12.2 Codes cycliques

Exercice 12.2.1:

Tous les codes cycliques de longueur n possibles2 sont obtenus en utilisant comme polynme
gnrateur un diviseur de X n 1.
Montrer quil existe uniquement 3 codes cycliques binaires non triviaux de longueur 3. Donner
le polynme gnrateur dans chaque cas.
Remarque : en binaire, c.--d. sur le corps GF(2), X n 1 et X n + 1 sont les mme polynmes.

12.3 Codes de convolution

Exercice 12.3.1:

Considrons le systme de codage convolutif suivant, mettant 3 bits pour tout bit du message
coder :

+ 1
Squenceur

ui ui1 ui2 + 2 X

+ 3

1. Comment est code la squence 1011 ? et la squence 11111 ?


2. Donner la forme matricielle quivalente au codage dune squence de 3 bits, c.--d. la
matrice G telle que X = uG.
3. Dessiner le treillis pour des messages dentre de 4 bits.
4. Dcoder 111111101010100011 et 000101100010110011.
5. Quelle est la distance minimale de ce code ? Combien peut-il corriger derreurs au maxi-
mum ?

2
et non triviaux, c.--d. diffrent du code nul compos dun seul mot de code, le vecteur nul
218 CHAPITRE 12. EXERCICES DU MODULE I2

Exercice 12.3.2:

Considrons le systme de codage convolutif suivant, traitant le message dentre coder par
blocs de 2 bits et mettant 3 bits pour chaque ensemble de 2 bits du message dentre :

b u2 i u2 i2 + 1

Squenceur
u2 i u2 i+1 + 2

b u2 i+1 u2 i1 + 3

1. Comment est code la squence 1011 ? et la squence 1111 ?


2. Donner la forme matricielle quivalente au codage dune squence de 4 bits. Vrifier
avec les codes de la question prcdente.
3. Dessiner le treillis pour des messages dentre de 4 bits.
4. Dcoder 101001001.
5. Quelle est la distance minimale de ce code ? Combien peut il corriger derreurs au maxi-
mum ?
Chapitre 13

Module I3 : Cryptographie

par J.-C. C HAPPELIER

O BJECTIFS PDAGOGIQUES DU CHAPITRE 13


Dans ce chapitre sont prsentes les notions de base concernant la cryptographie.
Aprs les avoir tudies, vous devriez savoir
1. ce que sont la scurit parfaite et la scurit en pratique,
2. le niveau de scurisation des systmes modernes de chiffrement,
3. pourquoi la scurit et lauthentification sont thoriquement incompatibles,
4. ce que sont RSA et DES, et comment ils fonctionnent,
5. ce quest la distance dunicit et comment la calculer.

Introduction

La cryptographie, comme le suggre sa racine grecque ( criture cache ), traite de la confi-


dentialit de linformation. Mais, dans son sens moderne, ce domaine scientifique couvre aussi
lauthenticit de linformation.
Dans cette re de lInformation dans laquelle nous vivons, la cryptographie ne peut plus
tre ignore. Elle est en effet devenue un outil standard, en particulier dans le domaine des
tlcommunications. Comme linformation peut de nos jours tre extrmement prcieuse et
avoir une valeur conomique norme, sa transmission par des canaux accessibles tous, p.ex.
Internet, ncessite parfois une garantie de confidentialit et dauthenticit. Le but de la crypto-
graphie est de fournir de telles garanties.
Ce chapitre vous prsente les notions de base de ce domaine plutt moderne, et tudie de
manire plus formelle ses deux buts : la confidentialit et lauthenticit. En gros, le but de la
confidentialit est de sassurer que le message est bien reu par des personnes autorises ; alors
que le but de lauthenticit est de sassurer que le message a bien t envoy par une personne
autorise.

219
220 CHAPITRE 13. CRYPTOGRAPHIE

Fraudeur

DESTINATAIRE
cryptage dcryptage

EXPDITEUR
C=e(M,K) D=d(C,K)
Message M canal public

Cl K
canal scuris

F IG . 13.1 La structure gnrale sur laquelle se concentre la cryptographie.

13.1 Cadre Gnral


O BJECTIFS PDAGOGIQUES DE LA SECTION 13.1
Aprs avoir tudi cette section, vous devriez :
1. savoir de quoi traite la cryptographie ;
2. savoir comment dcrire formellement le cadre gnral sur lequel se concentre
la cryptographie ;
3. et connatre plusieurs exemples historiques (pas srs) de chiffrement.

13.1.1 Buts de la Cryptographie

Le cadre gnral de la cryptographie est de coder des messages de manire assurer leur
confidentialit ou leur authenticit.
Comme dcrit dans le chapitre 5, un message M est une squence de symboles dun alphabet
. En cryptographie, le codage du message est appel cryptage ou chiffrement. Dans le cadre de
travail considr dans ce chapitre, le cryptage sera effectu par lutilisation dune fonction e et
dune cl K, qui est elle-mme une squence finie de symboles dun alphabet, habituellement
mais pas ncessairement le mme que lalphabet du message .
Le message crypt, ou cryptogramme, est alors C = e(M, K). La fonction de cryptage est
suppose ici dterministe. C est donc parfaitement dtermin une fois M et K donns, c.--d.
H(C|M, K) = 0.
Le dcryptage (ou dchiffrement) est effectu par une fonction d et la cl K, telle que (sans
surprise !) d(e(M, K), K) = M . Nous faisons lhypothse que le dcryptage aussi est dter-
ministe, c.--d. H(M |C, K) = 0.
Notez que H(C|M, K) = 0 et H(M |C, K) = 0 nimpliquent pas que H(K|M, C) = 0 ;
plusieurs cls pourraient effectivement tre possibles pour une paire (M, C) donne. Cest
toutefois rarement le cas (et une mauvaise ide) en pratique, et donc H(K|M, C) vaut aussi
presque toujours 0.
La structure gnrale sur laquelle se concentre la cryptographie peut tre rsume par le dessin
de la figure 13.1.
Le but de la cryptographie est de protger le message contre
une mauvaise rception ( confidentialit ) : il devrait tre impossible dobtenir le message
13.1. CADRE GNRAL 221

M partir du message C = e(M, K) sans connatre K ;


une mauvaise mission ( authentification ) : il devrait tre impossible de substituer un
autre message C sans connatre K.
La cryptanalyse se proccupe du craquage de la scurit/de lauthentification sur un canal
de communication. Craquer un systme scuris revient trouver M ou K connaissant
C = e(M, K). Les hypothses habituellement faites sont :
que les algorithmes de cryptage et de dcryptage sont connus de tout le monde (hypothse de
Kerckhoff) et que mme des statistiques sur les messages (mais pas le message lui-mme !)
pourraient tre collectes ;
que les personnes non autorises ne connaissent pas la cl K ;
que tout le monde peut obtenir C = e(M, K) (mais pas M ni K).
Ainsi, toute la confidentialit est due uniquement au fait que les ennemis ne connaissent
pas la valeur effective de la cl secrte. Il est en effet risqu desprer que le design de lal-
gorithme de chiffrement puisse tre gard hors de porte des ennemis. Nanmoins, dans de
nombreuses applications de la cryptographie, notamment militaires et diplomatiques, les cryp-
tographes essaient de garder lalgorithme de chiffrement aussi secret que possible. Lhypothse
de Kerckhoff ninterdit pas ceci, mais conseille seulement de ne pas trop compter sur le succs
de cette bonne garde. Dun autre ct, Kerckhoff aurait certainement admir les designers du
standard de cryptage de donnes (DES) (voir section 13.3.3) qui ont publi une description
complte de leur systme de cryptage, et qui est nanmoins probablement le plus largement
utilis dans les annes 1980 2000.

13.1.2 Exemples Historiques

Avant dtudier plus avant les notions fondamentales de la cryptographie avec des outils mo-
dernes de la thorie de linformation, donnons dabord trois exemples historiques (mais pas
srs) de cryptogrammes : les chiffrements par substitution, par transposition, et le code de
Vigenre.

Substitution

Le chiffrement par substitution consiste simplement remplacer chaque symbole de lalphabet


du message par un autre symbole de cet alphabet, connu davance. La cl dun tel systme est
une permutation de lalphabet , qui dfinit la substitution pour tous les symboles.

Exemple 13.1 (Chiffrement par substitution) Considrons des messages faits de lalpha-
bet habituel, fait de 27 lettres (lespace blanc inclus !) : = {A, ..., Z, }. Une cl k , c.--d.
une permutation de , possible pourrait tre :
A R
B I
.. ..
. .
Y B
Z E
L

Dans ce cas e( A BAY , k) = RLIRB .


222 CHAPITRE 13. CRYPTOGRAPHIE

Transposition

Dans le chiffrement par transposition, la cl consiste en une permutation des d > 1 premiers
entiers (d fait aussi partie de la dfinition de la cl).
Lalgorithme de cryptage est alors le suivant :
1. allonger le message avec des espaces blancs (moins de d 1), de manire ce que la
longueur du message soit un multiple de d ;
2. dcouper le message en blocs de longueur d ;
3. permuter les symboles de chaque bloc selon la permutation K.

Exemple 13.2 (Chiffrement par transposition) Prenons la permutation (2 4 3 1 5) comme


cl (donc d = 5).
[ Note sur la notation des permutations : (2 4 3 1 5) signifie que la deuxime lettre du
message originel devient la premire du message crypt, la quatrime du message originel
devient la deuxime, etc. ]
Supposons maintenant vouloir coder le message TRANSPOSITION CIPHER IS
SIMPLE.
La longueur du message est de 29, ce qui nest pas un multiple de d = 5. Un espace blanc
doit donc tre ajout la fin.
Nous dcoupons alors le message en six blocs de taille 5 (les espaces blancs sont marqus
par un point pour apparatre plus clairement) :

TRANS POSIT ION.C IPHER IS.SI MPLE.

Et nous appliquons finalement la transposition chaque bloc :

RNATS OISPT O.NIC PEHIR SS.II PELM.

Le message transmis est donc RNATSOISPTO NICPEHIRSS IIPELM (par convention


les espaces finaux ont pu tre retirs).
Le dcodage est fait exactement de la mme faon, mais en utilisant la permutation inverse
(qui est dans ce cas (4 1 3 2 5)).

Chiffrement de Vigenre

Le dernier exemple historique que nous voulons prsenter est le chiffrement de Vigenre. Dans
ce systme de cryptage, la cl est une squence de symboles du mme alphabet que les
messages. En pratique, cest trs souvent un mot courant ou une phrase de quelques mots.
Lutilisation dun ordre sur (p.ex. lordre alphabtique) permet de transformer la cl en une
squence dentiers, p.ex. A = 1, B = 2, ..., Z = 26 et = 27.
De manire plus formelle, si
n est la taille de ,
i(a) est la position du symbole a dans (daprs lordre choisi sur ), 1 i(a) n,
(i) le i-me symbole de (1 i n, sinon considrer i mod n),
13.2. CONFIDENTIALIT PARFAITE 223

la cl K est faite de p symboles K = k1 ...kp ,


et M de q symboles M = m1 ...mq ,
alors
C = (i(m1 ) + i(k1 )) (i(m2 ) + i(k2 )) ... (i(mp ) + i(kp )) (i(mp+1 ) + i(k1 ))
... (i(mq ) + i(kq mod p ))

Exemple 13.3 (Chiffrement de Vigenre) Considrons encore une fois des messages faits
des 27 lettres de langlais (espace blanc inclus). La cl est alors une squence de carac-
tres, par exemple k =INFORMATION. Comment le message VIGENERE CIPHER IS
ALSO QUITE SIMPLE est-il cod ?
Si nous dcidons que la lettre A correspond 1 et lespace 27, la lettre I corres-
pond alors 9, et donc la premire lettre du message , V, est donc code en V+9=D, la
deuxime lettre du message I est code en I+N=I+14=W, la troisime lettre G en
G+F=G+6=M, etc.
Voici le codage complet :
VIGENERE CIPHER IS ALSO QUITE SIMPLE
INFORMATIONINFORMATIONINFORMATIONINF
DWMTERSYIRWYVKFRVTTJ FXNWI FFTAX YZK
c.--d. que le message cod est DWMTERSYIRWYVKFRVTTJ FXNWI FFTAX YZK.

R SUM DU CHAPITRE 13

La cryptographie vise transmettre des messages de manire scurise (seules les per-
sonnes autorises peuvent le lire) ou authentifier des messages (aucune personne non-
autorise naurait pu lenvoyer).
Pour ce faire, les messages en clair M sont cods en utilisant une cl K et une fonction
dterministe : C = e(M, K).
Les messages crypts peuvent tre dcods de manire dterministe en utilisant la fonction
de dcodage d et la mme cl K, de faon ce que d(e(M, K), K) = M .
H(C|M, K) = 0.
H(M |C, K) = 0.

13.2 Confidentialit Parfaite


O BJECTIFS PDAGOGIQUES DE LA SECTION 13.2
Aprs avoir tudi cette section, vous devriez :
1. savoir ce quest un systme de cryptage parfaitement confidentiel ;
2. connatre un exemple dun tel systme de cryptage ;
3. et pour les systmes imparfaitement scuriss, savoir comment estimer la taille
maximale de message pouvant tre transmis de manire scurise.

Aprs les exemples historiques divertissants de la dernire section, venons-en maintenant la


science moderne de la cryptographie. Celle-ci commence avec la dfinition thorique de ce
quest un bon ( parfait est le mot utilis par Shannon) systme cryptographique.
224 CHAPITRE 13. CRYPTOGRAPHIE

13.2.1 Dfinition et Consquences

Dans la structure dpeinte dans la figure 13.1, o seuls les messages chiffr peuvent tre capts
par des personnes non autorises1 , le systme sera sr si le message chiffr namne aucune
information sur le message originel, c.--d. si
I(C; M ) = 0,
ce qui veut aussi dire que M et C sont des variables alatoires indpendantes.

Dfinition 13.1 (Confidentialit Parfaite) Un systme de cryptage est dit parfait,


c.--d. permet une confidentialit parfaite, si et seulement si linformation mutuelle
du message en clair M avec le message crypt C est nulle : I(C; M ) = 0.

Thorme 13.1 Dans un systme de chiffrement parfait, il doit exister au moins au-
tant de cls possibles que de messages possibles.

D MONSTRATION
I(C; M ) = 0
implique que pout tout message m, P (C|M = m) = P (C).
Considrons maintenant un cryptogramme possible, c.--d. un message crypt c tel que
P (C = c) 6= 0.
Ainsi, pour chaque message originel possible m, on a P (C = c|M = m) 6= 0, ce qui veut
dire que pour chaque m il existe une cl, note k(m), telle que c = e(k(m), m).
En outre, m 6= m = k(m) 6= k(m ) sinon le dchiffrement ne serais plus dter-
ministe : nous aurions deux messages diffrents qui, avec la mme cl, donnent le mme
cryptogramme c !
Il y a donc au moins autant de cls que de messages m possibles.

Thorme 13.2 Dans un systme de cryptage parfait, lincertitude sur les cls
H(K) est au moins aussi grande que lincertitude sur les messages H(M ) :

H(K) H(M ).

D MONSTRATION Dans un systme de cryptage parfait H(M ) = H(M |C) (puisque


I(C, M ) = 0).
Or H(M |C) H(M, K|C), donc H(M ) H(M, K|C). De plus :

H(M, K|C) = H(K|C) + H(M |K, C)


= H(K|C) + 0
H(K)

Donc H(M ) H(K).

1
Ce type dattaque est appel attaque sur le texte chiffr seulement.
13.2. CONFIDENTIALIT PARFAITE 225

La consquence de ces deux thormes est que dans un systme parfait, les cls doivent tre
suffisamment complexes, au moins plus complexes que les messages eux-mmes.

13.2.2 Un Exemple : le One-Time Pad

Prsentons maintenant un exemple bien connu de systme de cryptage parfait : le one-time


pad , qui est en fait utilis par les diplomates.
Sans perte de gnralit, nous considrons ici le one-time pad binaire, c.--d. que les messages,
cryptogrammes et cls sont des squences binaires ( = {0, 1}).
Dans ce systme, la cl est une squence alatoire de n bits indpendants, K = K1 K2 ...Kn :

p(Ki = 0) = p(Ki = 0|K1 , ..., Ki1 ) = 0.5

o n est la taille du plus long message transmettre.


Le cryptage est effectu simplement par addition (sans retenue)2 des symboles du message et
des symboles de la cl : Ci = Mi + Ki .

Exemple 13.4 (One-Time Pad) Supposons que la cl soit k = 11010101010010101001


et le message transmettre m = 11110000111100001111 ; le message crypt est alors
c = m + k = 00100101101110100110.

Thorme 13.3 Le One-Time Pad est un code parfait.

D MONSTRATION Dans le cas du One-Time Pad , non seulement H(C|M K) = 0


comme dhabitude (dcodage dterministe), mais en plus H(K|M C) = 0 (la cl est to-
talement connue lorsque le message et le cryptogramme sont connus). Donc :

H(C|M ) = H(C|M K) + H(K|M ) H(K|M C) = 0 + H(K) 0

Par ailleurs :
n
X n
X X
H(C) = H(Ci |C1 ...Ci1 ) = P (c1 ...ci1 )H(Ci |c1 ...ci1 )
i=1 i=1 c1 ...ci1

or
X
P (Ci = c|c1 ...ci1 ) = P (Ki = c m)P (Mi = m|c1 ...ci1 )
mM
1 X
= P (Mi = m|c1 ...ci1 )
|K |
mM
1
=
|K |

2
Laddition binaire (aussi appele ou exclusif pour le lecteur familier avec linformatique) est laddition
modulo 2 habituelle, sans retenue : 1 + 1 = 0 et, comme dhabitude, 0 + 0 = 0, 1 + 0 = 0 + 1 = 1.
226 CHAPITRE 13. CRYPTOGRAPHIE

donc
H(Ci |c1 ...ci1 ) = H(Ki )
P
et donc H(C) = i H(Ki ) = H(K). Ainsi H(C|M ) = H(C).

13.2.3 Confidentialit Imparfaite et Distance dUnicit

Nous avons vu que pour quun systme de cryptage soit parfait, la cl doit tre suffisamment
complexe. En pratique, du moins dans le cas dune utilisation large chelle, ceci nest pas
trs commode.
Pour un systme pratique large chelle (p.ex. la scurit sur Internet) la cl doit tre petite
(du moins plus petite que les messages) et pouvoir tre utilise plusieurs fois, c.--d. que le
systme doit tre imparfait dun point de vue formel.
Que pouvons-nous donc dire propos des systmes imparfaits (mais plus pratiques) ?
Pour dterminer quand un systme de chiffrement qui noffre pas de confidentialit parfaite
pourrait en principe tre cass, Shannon introduit ce quon appelle la fonction dquivocation
de la cl, dfinie pour des entiers par

a(n) = H(K|C1 ...Cn ).

Il semble vident que plus du texte crypt a t vu, moins il reste dincertitude sur la cl. De
manire plus formelle :

lim a(n) = 0
n

La distance dunicit u est alors dfinie comme le n le plus petit tel que a(n) 0.

Dfinition 13.2 (distance dunicit) La distance dunicit dun systme de cryptage


est le plus petit n tel que
H(K|C1 ...Cn ) 0

Ainsi, u est la plus petite quantit de texte chiffr partir de laquelle des personnes non-
autorises sont capables de dterminer la cl secrte de manire quasiment unique. En gros, la
distance dunicit est la plus petite quantit de texte chiffr partir de laquelle le systme de
chiffrement peut tre cass.
Calculons maintenant la distance dunicit dans certaines circonstances.
13.2. CONFIDENTIALIT PARFAITE 227

Thorme 13.4 Si
M et C sont de mme longueur n et du mme alphabet ;
les messages crypts ont en gros une incertitude maximale : H(C1 ...Cn )
n log || (ce qui est ce que tout cryptographe cherche atteindre) ;
la cl et les messages sont indpendants : H(Mn , K) = H(Mn ) + H(K) (ce qui
est aussi trs naturel et habituellement le cas).
Alors la distance dunicit peut tre approxime par

H(K)
u (13.1)
R(M ) log ||

o R(M ) est la redondance du message non crypt M , comme dfinie dans la sec-
tion 3.2.1 du chapitre 3 :
h (M )
R(M ) = 1 .
log ||

D MONSTRATION Faisons lhypothse que n est assez grand pour que H(Mn1 ) n
h (M ) ; ce qui est une hypothse sense (considrer sinon le maximum entre un tel n et
la valeur de u obtenue avec la formule donne).
1)
H(KCn
z }| {
H(K|Cn1 ) = H(Mn1 KCn1 ) H(Mn1 |KCn1 ) H(Cn1 )
= H(Mn1 KCn1 ) H(Cn1 )
= H(Mn1 K) H(Cn1 )
= H(Mn1 ) + H(K) H(Cn1 )
= n h (M ) + H(K) n log ||

La distance dunicit u est dfinie par : H(K|Cu1 ) = 0, c.--d.



u h (M ) log || + H(K) = 0

ou :
H(K)
u =
log || h (M )
H(K)
=
R(M ) log ||

Exemple 13.5 (distance dunicit) Considrons des messages en anglais (faits de lalphabet
de 27 lettres, incluant lespace blanc) chiffrs avec un code utilisant une cl de 20 lettres
indpendantes. H(K) = 20 log(27).
Sachant que le taux dentropie de langlais est en gros de 2 bits par lettre, la redondance des
228 CHAPITRE 13. CRYPTOGRAPHIE

messages est R(M ) = 1 2/ log(27) 0.58 et la distance dunicit dun tel systme est :

H(K)
u =
R log ||
20 log(27)
= 35
log(27) 2

c.--d. que des cryptogrammes denviron 35 caractres permettront de dterminer la cl de


manire presque unique !

Shannon tait bien conscient que la formule (13.1) tait valide en gnral et peut tre utilise
pour estimer les caractristiques dquivocation et la distance dunicit des types de chiffres
ordinaires . En fait, les cryptographes utilisent cette formule pour estimer la distance dunicit
de presque tous les chiffres.
Notez aussi que u est, en principe, la quantit de texte chiffr pour dterminer la cl de manire
presque unique. Toutefois, trouver K partir de C1 , C2 , . . . , Cu peut trs bien tre un problme
impossible traiter en pratique. Cette formule dit seulement que toute linformation est l,
mais ne dit pas un mot sur la difficult extraire cette information. Nous reviendrons sur
cet aspect plus tard, dans la section 13.3.

13.2.4 Distance dUnicit Croissante : Codage Homophonique

On peut voir de (13.1) quun bon moyen daugmenter la distance dunicit (c.--d. de moins
en dire propos du systme) est de diminuer la redondance des messages, c.--d. daugmenter
leur entropie.
Une bonne ide est par exemple de compresser les messages avant cryptage. En effet, dans les
meilleurs cas de compression, H(Mn1 ) n log || et donc R(M ) 0, alors u .
Une autre possibilit est dutiliser un vieux truc de cryptographique appel substitution ho-
mophonique . Dans ce procd, plusieurs homophones diffrents sont utiliss pour re-
prsenter chaque symbole de lalphabet originel ; plus dhomophones pour les symboles les
plus frquents, de manire ce que les homophones aient une probabilit dapparition presque
gale (ce qui nest pas le cas des symboles originels).

Exemple 13.6 En anglais, le symbole le plus probable est lespace blanc, avec une proba-
bilit denviron .1859, le symbole le plus probable suivant est E, qui a une probabilit
denviron .1031. Le moins probable est Z avec une probabilit denviron .0005.
Si nous voulons convertir un tel texte en anglais en utilisant des symboles probabilit
dapparition gale, nous avons besoin dau moins 1/0.005 = 2000 symboles (pour pou-
voir en avoir au moins un pour le Z). Supposons ainsi utiliser 2000 homophones
pour reprsenter les 27 lettres. Lespace blanc sera reprsent par nimporte lequel des 372
( .1859 2000) symboles choisis pour le reprsenter, E par nimporte lequel des 206
( .1031 2000) autres symboles qui lui sont rservs, etc., et 1 ( .0005 2000) sym-
bole homophone sera utilis pour reprsenter le Z. Le choix dun substitut pour une lettre
de langlais est alors fait par choix alatoire uniforme partir de lensemble de substituts
homophones pour cette lettre. Les choix successifs sont effectus de manire indpendante.
Aprs une telle conversion, chaque symbole homophone du texte converti a par essence une
probabilit dapparition gale nimporte quel autre.
13.3. CONFIDENTIALIT EN PRATIQUE : SCURIT ALGORITHMIQUE 229

Le dcodage peut tre facilement effectu en remplaant chacun des substituts par la lettre
correspondante. Il ny a pas besoin de savoir lavance quels substituts ont t choisis au
hasard au cours du procd de pr-codage.

valuation 65

Quelle est la distance dunicit dun systme de cryptage chiffrant des messages de 96 carac-
tres ayant un taux dentropie de 3 bits par caractre avec des cls dont lentropie est de 33
bits ?

valuation 66

Quelle est la distance dunicit dun systme de cryptage qui code des messages binaires qui
ont une redondance de 25% avec des cls distribues uniformment de 16 symboles binaires ?

R SUM DE LA SECTION 13.2

confidentialit parfaite : I(C; M ) = 0


pour quun systme soit parfaitement confidentiel, il doit y avoir au moins autant de cls
que de messages et H(K) doit tre suprieur (ou gal) H(M ).
one-time pad : pour chaque cryptage, une cl alatoire est choisie, dont la longueur est gale
celle du message et dont les symboles sont indpendants. La cl est alors simplement
additionne (symbole par symbole) au message.
le one-time pad est un code parfait.
distance dunicit : le nombre minimal de texte crypt qui doit tre connu pour dterminer
la cl de manire presque sre : H(K|C1 ...Cu ) 0.
sous certaines hypothses gnrales, la distance dunicit peut tre approxime par

H(K)
u
R(M ) log ||

o R(M ) est la redondance du message non crypt M .

13.3 Confidentialit en Pratique : Scurit Algorithmique

O BJECTIFS PDAGOGIQUES DE LA SECTION 13.3


Aprs avoir tudi cette section, vous devriez savoir :
1. comment la confidentialit est atteinte en pratique pour des systmes de cryp-
tage imparfaitement srs ;
2. ce que difficile signifie pour un ordinateur (complexit algorithmique) ;
3. ce quest une fonction sens unique ;
4. comment marche le DES.
230 CHAPITRE 13. CRYPTOGRAPHIE

Jusquici, aucune attention particulire na t porte la puissance de calcul effectivement re-


quise pour craquer le systme. Lanalyse de la confidentialit dveloppe jusquici sapplique
indpendamment du temps et de la puissance de calcul disponibles pour les attaques. La scu-
rit contre des ennemis puissance de calcul non restreinte est appele scurit incondition-
nelle (ou scurit thorique , comme Shannon avait pour habitude de lappeler). Comme
nous lavons vu dans les thormes 13.1 et 13.2, lobtention dune scurit inconditionnelle
requiert dnormes quantits de cls secrtes complexes, bien plus grandes que ce qui serait
acceptable en pratique pour des applications large porte de la cryptographie. La plupart des
systmes de cryptage utiliss en pratique ne comptent donc pas sur limpossibilit dtre cas-
ss, mais plutt sur la difficult dun tel cassage. Dans ce cadre, le but recherch est dassurer
la scurit lencontre de personnes qui disposent pour leurs attaques dun temps et dune
puissance de calcul limits. Ceci est appel scurit algorithmique (ou scurit pratique ,
comme Shannon avait pour habitude de lappeler). Le point essentiel est de changer le manque
dinformation (scurit inconditionnelle) en difficult accder linformation.
Mais que signifie effectivement tre difficile ? Comment mesurer la difficult de craquer un
code ? Voici quoi vise la complexit algorithmique .

13.3.1 Complexit Algorithmique

Le but de cette section nest pas de fournir un cours complet sur la complexit algorithmique,
mais de prsenter les concepts de base de manire ce que le reste de la matire concernant la
scurit algorithmique puisse tre suffisamment bien compris.
La complexit algorithmique vise dfinir la complexit des problmes de dcision. Un pro-
blme de dcision est simplement une question oui/non sur une entre bien dfinie. Par exemple,
un nombre entier n donn (l entre ), ce nombre est-il un nombre premier ?
Si la rponse au problme de dcision pourrait tre trouve par quelque algorithme (sur une
machine de Turing), le problme de dcision est dit algorithmique .3
Pour les problmes de dcision algorithmiques, la complexit(-temps)4 est dfinie comme le
plus petit nombre de pas de temps (sur une machine de Turing) des algorithmes qui peuvent
rpondre la question.5
Pour de bonnes raisons fondamentales, cette complexit nest pas exprime exactement, mais
uniquement de la faon dont elle dpend de la taille de lentre : un problme est dit linaire,
quadratique, exponentiel, ... ce qui signifie que sa complexit crot linairement, avec le carr,
exponentiellement, ... avec la taille de lentre.
La complexit est donc exprime en termes de notation grand O .

Dfinition 13.3 (Notation grand O) Pour deux fonctions f et g sur les nombres
rels, g est dite O(f ) si et seulement si

x0 R, c R, x x0 |g(x)| c f (x)

Notez que si g est O(f ) et f est O(h), alors g est aussi O(h). Pour la mesure de la complexit,
3
Dans la thorie de la complexit algorithmique gnrale, les problmes de dcision algorithmiques sont appels
problmes dcidables selon Turing , mais ceci va un peu au-del du propos de ce chapitre.
4
seule la complexit temporelle est considre dans ce chapitre.
5
Nous nentrons pas ici dans les dtails des problmes et co-problmes.
13.3. CONFIDENTIALIT EN PRATIQUE : SCURIT ALGORITHMIQUE 231

nous cherchons le plus petit et plus simple f tel que g soit O(f ) (p.ex. tel que f soit aussi
O(|g|)).

Exemple 13.7 (Notation grand O) 3 n + log n + 4 est O(n). Notez quelle est aussi O(n +
n3 ), O(n log n), O(n2 ), ... qui ne sont pas pertinents pour la mesure de la complexit.
5 x2 12 x7 + 5 x3 est O(x7 ).
1/x est O(1).
La complexit dun problme linaire est O(n), o n est la taille de lentre.
Un problme dont la complexit est O(2n ) est un problme exponentiel.

Dfinition 13.4 (P et NP) P est lensemble de problmes de dcision algorithmiques


dont la complexit est polynmiale.
NP est lensemble de problmes de dcision algorithmiques tels que, si une solution
possible est donne, il est possible de vrifier cette solution en un temps polynmial.

Un pige classique est de penser que NP signifie not-P ou non-P. Ceci est faux pour plu-
sieurs raisons :
P et NP ne sont pas complmentaires : P est en fait totalement inclus dans NP ;
il existe des problmes qui ne sont ni P ni NP.
Que signifie alors le N de NP ? Il veut dire Non-dterministe . Les problmes NP sont
des problmes qui sont polynmiaux dune manire non-dterministe : choisissez une solution
possible au hasard, vous pouvez conclure (pour cette solution candidate seulement !) en un
temps polynmial.
Manifestement P NP, mais la question de savoir si NP P ou non reste pour linstant
ouverte.
Respectivement cette question, il y a un sous-ensemble de NP qui est dintrt particulier :
les problmes NP-Complets (ou NP-C ).

Dfinition 13.5 (NP-Complet) Un problme est dit NP-Complet si


il est dans NP ;
et il est au moins aussi difficile que tout problme de NP.

Cette catgorie est dune importance particulire car si quelquun russit prouver quun seul
NP-C est effectivement dans P, alors tout NP est inclus dans P !
Il y a finalement une dernire catgorie de problmes (les difficiles ) : les problmes NP-
difficiles.

Dfinition 13.6 Un problmea est dit NP-difficile si il est au moins aussi difficile que
tout problme de NP.
a
Dans sa dfinition la plus gnrale, la catgorie NP-difficile inclut aussi les problmes qui ne sont
pas que des problmes de dcision.
232 CHAPITRE 13. CRYPTOGRAPHIE

Les problmes NP-C et NP-difficiles sont souvent confondus. La diffrence entre les problmes
NP-C et NP-difficiles est quun problme NP-difficile na pas besoin dtre dans NP (que ce
soit parce que vous ne vous en proccupiez pas ou ne vouliez pas passer de temps le prouver
ou, plus fondamentalement, parce que cest un problme si difficile que mme le tester sur une
seule solution ne peut tre accompli en un temps polynmial).

Exemple 13.8 (Problmes NP-Complets)


Satisfabilit (SAT) :
Lentre est un ensemble de n variables boolennes (c.--d. vrai/faux) x1 , ..., xn . Dcision :
peut-on satisfaire

(xi1 xj1 xk1 ) (xi2 xj2 xk2 ) (xi3 xj3 xk3 ) ....

c.--d. tre vraie pour quelque valeur des variables xi ?


Le problme du marchand itinrant (TSP, traveling salesman problem) :
Lentre est un graphe (un ensemble de nuds et darcs) G et une distance d. Dcision :
existe-t-il un circuit traversant tous les nuds de G et de longueur infrieure d ?

Nous avons maintenant tous les ingrdients requis pour laborer un code difficile craquer :
inspirons-nous des problmes NP-difficiles. Concentrons-nous maintenant plus prcisment
sur lutilisation de problmes difficiles en cryptographie : les fonctions sens unique et, plus
tard, les fonctions trappe.

13.3.2 Fonctions Sens Unique

Dfinition 13.7 (Fonction Sens Unique) Une fonction sens unique est une
fonction qui est facile calculer mais difficile inverser (par calcul).

Comment une fonction sens unique peut-elle tre utile en cryptographie ?


Lide-cl est que le codage e(M, K) = C et le dcodage d(C, K) = M sont faciles calculer,
mais que leur inversion est difficile (mme si H(K|C, M ) = 0).
Toutefois, lapplication la plus vidente de fonctions sens unique concerne certainement les
systmes bass sur des mots de passe.
Pour chaque utilisateur autoris du systme, un mot de passe w est stock sous forme crypte
e(w), o e est une fonction sens unique. Lorsque quelquun veut utiliser le systme ( log
in ), il fournit un mot de passe we et le systme calcule (sens facile) e(w)
e et vrifie si il cor-
respond linformation enregistre e(w). Si cest le cas, laccs est autoris lutilisateur ; si
non, il lui est refus. Lavantage de ce systme est que les mots de passe crypts enregistrs
nont pas besoin dtre gards secrets6 . Si e est vraiment une fonction sens unique, un at-
taquant qui arrive dune faon quelconque accder ces mots de passe crypts ne peut rien
en faire puisquil lui est calculatoirement impossible de trouver un mot (de passe) x tel que
e(x) = e(w).
Notez, chose intressante, que ce premier exemple dapplication de fonctions sens unique,
effectivement utilis en pratique, fournit une authentification plutt quune scurit, dans le
sens dvelopp plus tt dans ce chapitre.
6
bien quil ny ait aucune raison de les rendre publics non plus !
13.3. CONFIDENTIALIT EN PRATIQUE : SCURIT ALGORITHMIQUE 233

Un exemple de fonction sens unique est donn dans la prochaine section.

13.3.3 DES

Le standard de cryptage de donnes (abrg DES, pour Data Encryption Standard) est un
exemple de systme de cryptographie algorithmique qui utilise des fonctions sens unique.
Nous prsentons ici lide de base du DES en nous concentrant seulement sur le noyau du
systme, le standard contenant lui-mme plusieurs autres astuces pratiques.
Le DES utilise un problme NP-Complet trs similaire au SAT pour ceci : des systmes dqua-
tions dans GF(2).

Exemple 13.9 Dcider si le systme

x1 x4 + x2 x3 x5 = 1
x2 x3 + x1 x3 x4 = 1
x1 x3 + x1 x2 x5 = 1

a une solution ou pas est NP-Complet respectivement au nombre de variables.


Le fait que la solution
(x1 , x2 , x3 , x4 , x5 ) = (1, 0, 1, 1, 0)
soit ici facile trouver ne devrait pas ternir le fait que pour un plus grand nombre de variables,
lobtention de la solution est effectivement un problme difficile.

Comment ceci est-il utilis dans un systme cryptographique ?


Choisir deux entiers n et m, et une fonction non-linaire f de GF(2)m GF(2)n vers GF(2)n :

f (x1 , ..., xm , y1 , ..., yn ) = (p1 , ..., pn )

Choisir aussi une cl K de (d 1)m bits, et la partager en (d 1) parts de m bits chacune :


K = (K1 , ..., , Kd1 ).
Supposer que le message binaire M envoyer est de 2n bits.7 M est partag en deux parts de
longueur n : M = (M0 , M1 ).
Le cryptage est alors effectu par itrations en d 1 pas (i = 2, ..., d) :

Mi = Mi2 + f (Ki1 , Mi1 )

Finalement, le cryptogramme envoy est

C = (Md1 , Md )

Le dcryptage est simplement effectu dans lautre sens (i = d, d 1, ..., 2) :

Mi2 = Mi + f (Ki1 , Mi1 )

7
sinon lallonger et le partager de faon avoir des parts de longueur 2n.
234 CHAPITRE 13. CRYPTOGRAPHIE

Exemple 13.10 (DES) Considrons la fonction non linaire suivante (avec m = 3 et n = 3) :

f (x1 , x2 , x3 , y1 , y2 , y3 )
= (x1 x2 y1 y2 , x2 x3 y1 y3 , (x1 + x2 )y1 y3 )

et choisissons une cl K = 101011 (d = 3) :

K1 = 101, K2 = 011

Comment le message 101111 sera-t-il cod ?

M = 101111 M0 = 101, M1 = 111

Itrations :

M2 = M0 + f (K1 , M1 )
= (1, 0, 1) + f ((1, 0, 1), (1, 1, 1))
= (1, 0, 1) + (0, 0, 1) = (1, 0, 0)
M3 = M1 + f (K2 , M2 )
= (1, 1, 1) + f ((0, 1, 1), (1, 0, 0))
= (1, 1, 1) + (0, 0, 0) = (1, 1, 1)
C = (M2 , M3 ) = (1, 0, 0, 1, 1, 1)

Donc finalement, 100111 est envoy.

Securit du DES

La scurit du DES est base sur un problme NP-Complet. En tant que telle, il existe au moins
trois sources dinscurit :
NP = P : sil apparat un jour que des solutions polynmiales peuvent en fait tre trouves
pour des problmes NP, alors ces problmes difficiles ne seront plus difficiles du tout !
Ceci est toutefois trs peu vraisemblable de nos jours.
La taille de la cl nest pas assez grande (rappel : la complexit crot avec la taille, et donc
seules des entres suffisamment longues mnent un temps de calcul suffisamment long
pour ne jamais tre atteint). En fait, depuis quil a t propos, le DES a t beaucoup
critiqu en raison de sa petite taille de cl de 56 bits. En janvier 1999, DES a t craqu
en 22 heures et 15 minutes. En novembre 2002, DES fut abandonn pour AES (Advanced
Encryption Standard) qui supporte des cl de 128 bits, 192 bits, et 256 bits.
Mais la critique la plus srieuse est certainement que, comme le problme est NP, toute
solution possible peut, par dfinition, tre teste en un temps polynmial, c.--d. que si
lattaquant devine par hasard la bonne cl, il lui est facile de vrifier que cette cl est la
bonne !
La conclusion principale est que la scurit nest pas toujours garantie dans tous les cas :
elle pourrait, par hasard, tre facilement craque dans certains cas spciaux. La scurit vient
uniquement du fait que lattaquant a peu de chances de deviner la cl.

R SUM DU CHAPITRE 13
13.4. CRYPTOGRAPHIE CL PUBLIQUE 235

complexit algorithmique : la faon dont crot le temps dun algorithme par rapport la
taille de son entre.
P et NP : Un problme est dit dans P sil peut tre rsolu par un algorithme dont la com-
plexit est polynmiale.
Un problme est dit dans NP si une solution propose de ce problme peut tre vrifie
en un temps polynmial (par rapport la taille de cette solution).
Pige : NP ne signifie pas non P mais plutt P non-dterministe .
fonction sens unique : une fonction facile calculer mais difficile inverser.
DES : un systme de cryptage bas sur la difficult de rsolution des systmes boolens
non-linaires.

13.4 Cryptographie cl publique

O BJECTIFS PDAGOGIQUES DE LA SECTION 13.4


Aprs avoir tudi cette section, vous devriez savoir :
1. ce que signifie la cryptographie cl publique et comment elle est possible ;
2. ce quest une fonction trappe ;
3. ce quest le systme de distribution de Diffie-Lamport et comment il fonc-
tionne ;
4. comment fonctionne le RSA et quelle est sa scurit.

Le problme principal dont on doit soccuper dans les systmes de cryptage large chelle
est : comment transmettre les cls de manire scurise ?
Lide intelligente de Diffie et Hellman est de ne pas transmettre la cl du tout, mais dutiliser
des cls publiques. Chaque paire dutilisateurs peut, en utilisant un systme gnrique pour la
distribution des cls, avoir sa propre cl pour communiquer. Nous prsentons dans cette section
deux systmes diffrents de distribution des cls publiques : le schma de Diffie-Hellman et le
RSA.
Larticle publi par Diffie et Hellman en 1976 provoqua cette poque un choc dans la com-
munaut des cryptographes. Larticle suggrait quil est possible de crer des systmes de
chiffrement algorithmiquement srs sans canal scuris pour lchange des cls !
Il tait en effet bien tabli que les systmes cl publique ne peuvent en fait fournir aucune
scurit inconditionnelle, comme pour de tels systmes H(K) = 0 ! La perce vint de leur ide
intelligente selon laquelle, si lutilisation de la scurit algorithmique a t choisie (comme en
fait dans la plupart des applications pratiques), alors lchange scuris de cls secrtes nest
plus ncessaire.
Cette ide plutt contre-intuitive repose sur les notions fondamentales des fonctions sens
unique, dj prsentes, et des fonctions trappe, qui seront prsentes dans quelques sections.
Mais avant de continuer sur ce sujet, nous avons besoin dun peu plus de mathmatiques.
236 CHAPITRE 13. CRYPTOGRAPHIE

13.4.1 Un peu de Mathmatiques

La cryptographie algorithmique moderne est base sur lalgbre des corps finis, plus prci-
sment sur la multiplication modulo p (o p est un nombre premier), c.--d. le groupe
multiplicatif GF (p) du corps de Galois GF(p) : 1, ..., p 1.
Comme ce groupe possde p 1 lments, le thorme dEuler-Fermat assure que :

np1 = 1 mod p

pour tout n dans GF (p).

Exemple 13.11 (GF(5)) Considrons GF (5) = {1, 2, 3, 4} (c.--d. p = 5), o, par


exemple, 4 3 = 2 , 2 4 = 3, 2 3 = 1. (4 3 = 12 = 2 mod 5)
Daprs le thorme dEuler-Fermat : p.ex. pour n = 2 nous avons : 24 = 16 = 1 mod 5.

Dfinition 13.8 (Racine primitive) Un entier n est une racine primitive modulo un
nombre premier p si et seulement si il est dordre p 1, c.--d. :
ni 6= 1 mod p, 0 < i < p 1
et np1 = 1 mod p

Thorme 13.5 Pour tout nombre premier p, il existe au moins une racine primitive
dans GF (p).

Exemple 13.12 Considrons encore GF (5).


n = 2 : 22 = 4, 23 = 3, 24 = 1, donc 2 est une racine primitive dans GF (5).
n = 4 : 42 = 1, c.--d. que 4 nest pas une racine primitive.

Exponentiation Discrte

Considrons GF (p) pour un nombre premier p, et soit a une racine primitive. Par exponen-
tiation discrte en base a dans GF (p) nous entendons la fonction expa : GF (p) GF (p)
telle que expa (n) = an .
Comme a est une racine primitive, les p 1 valeurs possibles de expa (x) (lorsque n par-
court GF (p)) sont toutes distinctes. Sa fonction inverse expa 1 existe donc. Cette fonction
est appele logarithme discret en base a et est dsigne par Loga .

Exemple 13.13 Dans GF (5), nous avons vu que 2 est une racine primitive.
Log2 (3) = 3 (dans GF (5)) : en effet, comme vu dans lexemple 13.12, 23 = 3 mod 5.

Notez que Loga (a) = 1 et que Loga (1) = p 1 dans GF (p).

valuation 67
13.4. CRYPTOGRAPHIE CL PUBLIQUE 237

Lesquels des nombres suivants sont des racines primitives dans GF (11): 2, 4, 5, 6, 9, 10 ?

valuation 68

Dans GF (11), calculez


Log7 2
Log7 4
Log7 5
Log7 6
Log7 10

Conjecture 13.1 (Diffie-Hellman-Pohlig) Lexponentielle discrte est une fonction


sens unique.

Tout dabord, lexponentielle discrte est toujours aisment calculable, ncessitant au plus
2 log2 n multiplications dans GF (p) utilisant lalgorithme mettre au carr et multiplier .
Par ailleurs, lalgorithme le plus rapide connu ce jour (2003) pour trouver des logarithmes
discrets est en O(exp((log n)1/3 (log log n)2/3 )).
Toutefois, il ny a aucune preuve quil nexiste aucun algorithme pour calculer le logarithme
discret gnral en un temps plus court.
Diffie, Hellman et Pohlig ont mis lhypothse que lexponentielle discrte dans GF (p) (quand
la base est une racine primitive) est une fonction sens unique, condition que p soit un
nombre lev tel que p 1 ait aussi un facteur premier lev.
Aucune preuve de cette hypothse na t faire ce jour (2003). Mais aucun algorithme na
non plus t trouv qui permette la calcul efficace du logarithme discret. En dautres termes,
les preuves historiques en faveur de lhypothse saccumulent, mais aucune preuve thorique
na encore vu le jour.

13.4.2 Le Systme de Distribution de Cls de Diffie-Hellman

Dans leur article de 1976, Diffie et Hellman ont suggr une mthode ingnieuse pour crer
une cl secrte commune entre metteur et destinataire dans un rseau sans recourir un canal
scuris pour lchange des cls secrtes ; leur mthode repose sur le fait que lexponentiation
discrte est sens unique. Supposons que f (x) = ax soit vraiment une fonction sens unique
et soit connue de tous les utilisateurs du rseau.
Chaque personne (lutilisateur A) choisit au hasard (et en secret !) une cl prive (ou secrte)
xA et calcule alors sa cl publique yA = axA , qui est publie publiquement.
Lorsquune autre personne (lutilisateur B) dsire communiquer de manire scurise avec A,
chacun va chercher la cl publique de lautre et utilise cette cl la puissance de sa propre cl
prive pour la communication ; c.--d. que lutilisateur A calcule yB xA et lutilisateur B yA xB .
Ce qui est magique est que ces deux nombres sont en fait le mme : yB xA = (axB )xA =
axA xB = (axA )xB = yA xB . Ce nombre kAB = axA xB , que les deux utilisateurs A et B peuvent
238 CHAPITRE 13. CRYPTOGRAPHIE

calculer, est leur secret commun , quils peuvent utiliser en toute tranquillit comme leur
cl secrte pour communiquer en utilisant un systme de cryptage cl secrte conventionnel.
Ce que fournit la mthode de Diffie-Hellman est donc une manire publique de distribuer des
cls secrtes.
Si quelque personne non autorise dsire craquer la cl, il devrait tre capable de prendre des
logarithmes discrets de yA ou de yB (p.ex. xA = Loga yA ) et dobtenir ensuite la cl secrte
par KAB = yB xA . Mais si lexponentiation discrte utilise est rellement sens unique, cette
attaque est calculatoirement irralisable.
A ce jour (2003), personne na produit dattaque sur le systme de distribution des cls pu-
bliques de Diffie-Hellman qui ne soit algorithmiquement quivalente au calcul du logarithme
discret. Toutefois, il na pas non plus t prouv que toute attaque sur ce systme soit algorith-
miquement quivalente au calcul du logarithme discret.

Exemple 13.14 (Cl publique de Diffie-Hellman) Dans un systme de Diffie-Hellman,


avec p=127 et a=67, un utilisateur A choisit comme cl prive xA = 111. Il publie alors
sa cl publique yA = 67111 = 102 mod 127.
Un autre utilisateur, B, choisit xB = 97 ; donc yB = 6797 = 92 mod 127.
Ces deux utilisateurs peuvent communiquer en utilisant la cl kAB = 92111 = 10297 = 77
mod 127.

valuation 69

Dans un systme de cl publique de Diffie-Hellman, avec p = 19 et a = 3 (qui est en fait une


racine primitive dans GF (19)),
quelle est la cl publique correspondant la cl prive 5 ?
quelle cl une personne dont la cl prive est 7 utilise-t-elle pour communiquer avec une
personne dont la cl publique est 14 ?
Mme question avec p = 101 et a = 51.

13.4.3 Fonctions trappe

Les fonctions trappe, le deuxime point crucial prsent par Diffie et Hellman pour leur
systme de cryptographie cl publique, est plus subtil et plus difficile que le premier, les
fonctions sens unique.

Dfinition 13.9 Une fonction trappe est en fait une famille de fonctions bijectives
ft , indexe par un paramtre t (la cl de la trappe ), telle que chaque fonction est
sens unique mais telle que, lorsque t est connu, ft 1 est facile calculer.

Lutilit en cryptographie dune fonction trappe est la suivante : chaque utilisateur choisit au
hasard (et en secret) une cl, disons t, et publie ft (mais pas t elle-mme !). Habituellement ft
est prise dans une famille de fonctions de manire ce que seuls quelques paramtres doivent
tre publis. Ces paramtres sont appels cl publique .
Si quelquun veut communiquer un message M aux personnes dont la fonction trappe publie
est ft , il envoie simplement ft (M ), qui est facile calculer comme ft est sens unique. Pour
13.4. CRYPTOGRAPHIE CL PUBLIQUE 239

obtenir le message correct, le destinataire calcule ft 1 quil lui est facile de calculer comme
il connat la cl t. Ce calcul est toutefois difficile pour toute personne qui ne dispose pas de la
cl.
Un exemple de fonction trappe est donn dans la section suivante.

13.4.4 RSA

Les premires fonctions trappe furent labores en 1978 par R. L. Rivest, A. Shamir et L.
Adleman (abrgs RSA). La fonction trappe de RSA est base sur la difficult suppose de
factoriser des entiers.
Dans ce cadre, le message et le cryptogramme sont reprsents par des (normes !) entiers.
Chaque utilisateur choisit deux nombres premiers (levs) p et q (tels que p 1 et q 1 aient
aussi des facteurs premiers levs) de manire ce que pour tout message M possible, M < pq
(sinon partager M en plusieurs parties de faon ce que chaque partie soit infrieure pq et
considrer chaque partie comme M par la suite).
Soit n = pq et m = (p1)(q1). Lutilisateur choisit alors d < m qui est premier relativement
m (c.--d. que d et m nont aucun diviseur commun) et calcule e tel que ed = 1 mod m. Un
algorithme calculant e partir de d et de m est donn dans lappendice la fin de ce chapitre.
La cl publique ( publier) est alors (e, n) et la cl prive ( garder secrte) est (d, p, q, m).
La fonction de cryptage (qui est publique) est

C = Me mod n

et celle de dcryptage (qui est secrte) est

D = Cd mod n

La structure RSA fonctionne de manire adquate si D = M , c.--d. M ed = M mod n.


Ceci est en effet le cas : comme ed = 1 mod m, il existe un > 0 tel que M ed = M M m .
Rappel : en outre, comme p et q sont des nombres premiers M p1 = 1 mod p et M q1 = 1
mod q, ainsi
(q1)
M ed = M M m = M M (p1)(q1) = M M p1 = M 1 mod p

et, de manire similaire


M ed = M mod q.

Un rsultat simple de larithmtique de base est maintenant ncessaire :

Thorme 13.6 Soient trois entiers m, n, p donns, si n et m nont aucun diviseur


commun, et si x = 0 mod m et x = 0 mod n, alors x = 0 mod (mn).

La preuve est vraiment simple, de mme que le corollaire suivant qui nous intresse :

Corollaire 13.1 Si p et q sont deux nombres premiers et si x = y mod p et x = y


mod q, alors x = y mod (pq).
240 CHAPITRE 13. CRYPTOGRAPHIE

Ainsi, nous avons M ed = M mod n.

Exemple 13.15 (RSA) Supposons vouloir utiliser un systme RSA pour communiquer, et
que nous choisissions p = 47 et q = 59 (Ceci nest pas vraiment un systme sr, mais
uniquement fait dans le but dillustrer ! En pratique, p et q devraient contenir plus de 150
chiffres.)
Nous calculons alors n = pq = 2773 et m = (p 1)(q 1) = 2668 et choisissons un d qui
soit premier avec m ; p.ex. d = 157.
Finalement, nous calculons e tel que 157 e = 1 mod 2668 en utilisant lalgorithme dEu-
clide tendu pour le plus grand diviseur commun : e = 17.
e et n sont publis : (17, 2773), mais les autres nombres sont gards secrets.
Supposons maintenant que quelquun veuille nous envoyer le message ITS ALL GREEK
TO ME. Par une convention prtablie (et qui est publique : hypothse de Kerckhoff), cette
personne le transforme en nombres :
09 20 19 00 01 12 12 00 07 18 05 05 11 00 ...
Comme M doit tre infrieur n, c.--d. M < 2773, elle le dcoupe la chane ci-dessus en
entiers dau plus 4 chiffres (effectivement, le code maximum sera alors 2626, ce qui corres-
pond ZZ) :
920, 1900, 112, 1200, 718, 505, 1100, ...
Elle calcule alors 92017 mod 2773, 190017 mod 2773, 11217 mod 2773, ... et nous en-
voie les entiers correspondants ; c.--d.
948, 2342, 1084, 1444, 2663, 2390, 778, ...
Ce message est dchiffr en utilisant notre cl prive :

948157 = 920, 2342157 = 1900, ...

et le dcodage finit en appliquant la convention dans lautre sens : 920, 1900, ... =
09, 20, 19, 00, ... = ITS ...
On peut maintenant se demander comment notre correspondant a calcul 190017 mod 2773,
ou comment nous avons calcul 2342157 mod 2773...
Ceci a t effectu par la mthode de mettre au carr et multiplier et en gardant lesprit
que
a b = mod n
pour tout a = mod n et b = mod n
Par exemple

2342157 = (2342128 ) (234216 ) (23428 ) (23424 ) 2342


= 1428 239 284 900 2342 = 1900 mod 2773

comme
23422 = 4312 = 2743 mod 2773
23424 = 27432 = 302 = 900 mod 2773
23428 = 9002 = 284 mod 2773
234216 = 2842 = 239 mod 2773
13.4. CRYPTOGRAPHIE CL PUBLIQUE 241

et
2342128 = 1428 mod 2773

valuation 70

Considrez un systme RSA trs simple o deux personnes ont les paramtres suivants :

p q d e
A 3 19 5 29
B 5 11 7 23

1. Quelle est la cl publique de A ?


2. Quelle est la cl publique de B ?
3. Comment A envoie-t-il le message 43 B ?
4. Comment B envoie-t-il le message 43 A ?

Scurit du RSA

Casser le RSA en trouvant m = (p1)(q 1) est algorithmiquement quivalent factoriser n.


En fait, toutes les attaques proposes jusquici contre le RSA se sont montres algorithmique-
ment quivalentes factoriser n, mais aucune preuve selon laquelle cela doit obligatoirement
tre le cas nest disponible.
En outre, il ny a pas de preuve que la difficult soit inhrente la factorisation des entiers,
mais il y a beaucoup dindices historiques accrditant cette seconde hypothse. Quiconque
essaya damliorer les algorithmes de factorisation connus se rendit vite compte quil sagit l
dun problme trs compliqu.
En 1999, la factorisation du RSA Challenge Number 155 chiffres (512 bits) fut acheve.
Elle ncessita 3.7 mois (en temps rel) et 35.7 annes CPU au total. Cet effort CPU a t estim
quivalent approximativement 8000 MIPS-annes.8
A ce jour (2003), le systme RSA est considr comme sr contre les attaques faites par fac-
torisation, du moins avec des cls de plus de 1024 bits... ...jusqu ce que des perces r-
volutionnaires dans les algorithmes de factorisation aient lieu ! [ce qui est peu vraisemblable
aujourdhui]

R SUM DU CHAPITRE 13

racine primitive : un nombre n infrieur un nombre premier p est dit racine primitive dans
GF (p) si et seulement si la seule puissance 1 < i < p telle que ni = 1 est p 1.
logarithme discret : un entier n est le logarithme discret en base a dun autre entier m de
GF (p) si an = m mod p (o p est un nombre premier et a une racine primitive dans
mGF ).
systme de distribution de cls publiques de Diffie-Hellman : tant donns un nombre
premier p et une racine primitive a dans GF (p), chaque utilisateur choisit une cl
8
voir http://www.rsasecurity.com/rsalabs/challenges/factoring/rsa155.html
pour plus de dtails.
242 CHAPITRE 13. CRYPTOGRAPHIE

prive x et publie sa cl publique y = ax mod p.


Lorsque deux utilisateurs veulent communiquer, chacun utilise la cl consistant en la
cl publique de lautre leve la puissance de sa propre cl prive :

kAB = yB xA = yA xB

fonctions trappe : une famille de fonctions sens unique dpendant dun paramtre, telles
que lorsque ce paramtre est connu, la fonction inverse nest plus difficile calculer.
RSA : Chaque utilisateur choisit deux nombres premiers p et q et un nombre d < (p1)(q
1) qui na pas de diviseur commun avec (p1)(q 1). La cl publique est alors (e, pq)
o e est tel que ed = 1 mod (p 1)(q 1), et la cl prive est (d, p, q).
Un message M (qui est un entier infrieur pq) est crypt en utilisant les cls publiques
par C = M e mod pq. Le dcryptage est effectu en utilisant les cls prives : D =
C d mod pq.

13.5 Authentification
O BJECTIFS PDAGOGIQUES DE LA SECTION 13.5
Aprs avoir tudi cette section, vous devriez savoir :
1. pourquoi lauthentification et la scurit sont thoriquement incompatibles ;
2. comment assurer lauthentification en pratique ;
3. en quoi consistent les structures didentification de Diffie-Hellman et de RSA.

Dans cette dernire section, nous voulons maintenant nous tourner vers le second aspect de
la cryptographie : lauthentification, c.--d. les moyens de sassurer que le message a bien
t envoy par une personne autorise. En dautres termes, nous nous demandons ici si le
cryptogramme C reu est valide (lgal) ou sil a t falsifi par une personne non autorise.

13.5.1 Authentification et Scurit

Lauthentification a pendant longtemps t difficile distinguer de la scurit. En fait, les


cryptographes nont dcouvert que rcemment que ces deux buts sont plutt indpendants, et
mme incompatibles dun point de vue purement thorique.
Ce rsultats est d au thorme suivant.

Thorme 13.7 La probabilit PI quun cryptogramme soit falsifi (c.--d. de trou-


ver un cryptogramme qui soit accept bien quil nait pas t mis par une personne
autorise) est minore par :
PI 2I(C;K)
o C est la variable alatoire reprsentant les cryptogrammes possibles et K celle
reprsentant les cls possibles.

Cette limite est serre et peut tre atteinte dans des cas spciaux.
13.5. AUTHENTIFICATION 243

D MONSTRATION Soit la fonction dauthentification (C, K) :



1 si M | C = e(M, K)
(C, K) =
0 sinon

La probabilit quun cryptogramme C soit accept comme correct est :


X
P (acc(C)|C) = (C, K)P (K)
K

donc, la probabilit davoir une falsification dauthenticit est :


X
PI = P (acc(C)) = P (C, acc(C))
C
X
= P (C)P (acc(C)|C)
C
X
= (C, K)P (C)P (K)
C,K
X
= P (C)P (K)
C,K,P (C,K)6=0
X P (C)P (K)
= P (C, K)
P (C, K)
C,K

P (C)P (K)
= E
P (C, K)

c.--d.
P (C)P (K)
log(PI ) = log E
P (C, K)

en utilisant lingalit de Jensen, nous avons



P (C)P (K) P (C)P (K)
log E E log
P (C, K) P (C, K)
= I(C; K)

Ainsi
PI 2I(C;K)
avec ingalit si et seulement si PP(C)P (K)
(C,K) est constant pour tout (C, K) (tels que P (C, K) >
0), p.ex. si C et K sont indpendants.

Ainsi, pour garantir lauthenticit, c.--d. pour avoir une probabilit dinfraction faible, linfor-
mation mutuelle entre les cryptogrammes et les cls doit tre grande ! Toutefois, pour assurer
une confidentialit parfaite, nous avons vu dans les sections prcdentes que I(C; M ) = 0 est
ncessaire !
Donc, du point de vue strict du contenu de linformation, lauthentification et la confidentialit
semblent tre, dune faon ou dune autre, incompatibles. En effet,

I(C; K) = I(C; M ) + H(K) H(M ) H(K|M, C)

donc I(C; M ) = 0 (et avec lhypothse sense que H(K|M, C) = 0) implique que I(C; K) =
244 CHAPITRE 13. CRYPTOGRAPHIE

H(K) H(M ), ce qui implique que PI 2H(M )H(K) . Et donc, PI = H(K)


H(M ) + log 1 ; c.--d. quun systme de cryptage parfait devrait avoir des cls trs complexes
(H(K) H(M )) pour assurer en plus lauthentification.
Toutefois, une solution est davoir I(C; K) 0 (pour assurer lauthenticit) mais dassurer la
confidentialit par scurit algorithmique. Cest une des raisons pour lesquelles les systmes
de cryptage bass sur la complexit algorithmique sont devenus trs apprcis pour lauthenti-
fication. Voyons maintenant comment ceci peut tre effectu.
Lide de base est dajouter une signature numrique aux messages. Une telle signature assu-
rera que lmetteur du message est effectivement celui quil prtend tre, et rciproquement en
cas de dsaccord, lmetteur dont le message a t sign ne peut nier lavoir envoy, tant le
seul pouvoir produire cette signature.

13.5.2 Authentification de Diffie-Lamport

Dans le systme dauthentification de Diffie-Lamport, chaque utilisateur choisit


2 n cls secrtes : k1 , ..., kn et 1 , ..., n
2 n squences s1 , ..., sn et t1 , ..., tn
et produit alors les paramtres : i = e(si , ki ) et i = e(ti , i ).
Il publie ensuite (c.--d. rend disponibles publiquement) i , i , si , ti , pour i = 1...n.
Pour signer le message binaire M de longueur n, M = m1 , ..., mn il utilise = 1 , ..., n ,
o :
ki si mi = 0
i =
i si mi = 1

Notez quil sagit l dune signature norme comme ki et i ne sont pas des bits mais des cls,
c.--d. des squences de k bits, o k est la taille de cl requise par lalgorithme dencryption.
Lorsque le destinataire reoit le message et sa signature, il peut vrifier que le message a bien
t envoy par la bonne personne en faisant :
si mi = 0, e(si , i ) = i
si mi = 1, e(ti , i ) = i
Un tel procd didentification prsente toutefois plusieurs inconvnients :
beaucoup de matriel doit tre communiqu davance ;
un message de n bits ncessite une signature de k n bits !
les cls secrtes ne le sont plus trs longtemps !

13.5.3 Authentification par RSA

Diffie et Hellman ont aussi montr en 1976 que, tant que le domaine et la porte de la fonction
trappe ft concident pour tout t, ft peut aussi tre utilise pour assurer lauthenticit de
messages avec signature numrique. tant donn que des messages lgitimes ont une structure
interne suffisante pour pouvoir tre correctement distingus de squences alatoires (ce qui est
nouveau loppos de ce qui est ncessaire pour assurer la scurit !), si lutilisateur A dsire
signer un message M de manire assurer quil en est lmetteur, il applique M lalgorithme
de dcryptage avec sa cl prive pour calculer le message sign M = d(M, kA ). Tout autre
utilisateur, soit B, qui obtient M peut utiliser lalgorithme de cryptage avec la cl publique de
A kA pour calculer e(M , kA ) = M . Toutefois, seul lutilisateur A sait comment transformer
13.5. AUTHENTIFICATION 245

le message M en chane pseudo-alatoire M ; et il est calculatoirement difficile tout autre


utilisateur de trouver M tel que e(M , kA ) = M .
Ce procd ne fournit bien sr aucune confidentialit. Si en outre la confidentialit est dsi-
re, lutilisateur A pourrait envoyer le message sign M en utilisant la mthode de cryptage
habituelle.
Illustrons ce procd gnral avec RSA.
Lutilisateur A envoie M B en utilisant le cryptgramme C = eB (M ), et le signe avec
S(M ) = eB (dA (M ))
B peut vrifier lauthenticit par : eA (dB (S(M ))), qui doit tre gal M .
Notez que ceci suppose que dA (M ) est dans le domaine de eB , c.--d. dans le cas de RSA que
dA (M ) < nB . Il existe plusieurs astuces en pratique pour ce faire, parmi lesquelles la plus
facile est de partager M en plus petites parts de manire ce que dA (M ) soit effectivement
plus petit que nB .

Exemple 13.16 (Authentification RSA) Pour continuer notre dernier exemple


(exemple 13.15), o p = 47, q = 59, d = 157 et e = 17, comment signerons-nous
le message OK ?
En utilisant la mme convention quauparavant, OK correspond lentier 1511. La signature
est alors d(1511) = 1511157 = 1657 mod 2773.
Si nous envoyons ce message quelquun dont la cl publique est (725, 2881), le message
crypt sera 1511725 = 1369 mod 2881 et la signature crypte 1657725 = 2304 mod 2881 ;
c.--d. que nous envoyons (1369, 2304).
Le destinataire dcode le message en utilisant sa cl prive d = 65 : M = 136965 = 1511
mod 2881 et vrifie la signature : S = 230465 = 1657 mod 2881, e(S) = 165717 = 1511
mod 2773. e(S) = M : le message est valide.

valuation 71

Considrons nouveau le systme RSA trs simple o deux personnes ont les paramtres
suivants :

p q d e
A 3 19 5 29
B 5 11 7 23

1. Quenvoie A B pour authentifier le message 43 ?


2. B reoit le message 22 de A, sign 41 . Est-ce vraiment A qui la envoy ?

Scurit de la signature

A ne peut nier avoir envoy m : seul dA peut produire S.


B (ou toute personne autre que A) ne peut changer m en m : S(m ) 6= S(m) et le calcul de
S(m ) nest pas possible sans dA .
246 CHAPITRE 13. CRYPTOGRAPHIE

Toutefois, en pratique, ce systme de signature prsente plusieurs inconvnients. Par exemple,


lmetteur pourrait dlibrment publier sa cl prive, rendant alors douteuse toute signature
numrique lui tant attribue, ou il pourrait aussi perdre sa cl prive pour que les mes-
sages quil a envoys deviennent invrifiables. Pour pallier au second point, des organismes
de confiance pourraient jouer le rle de banques de cls prives o les cls devraient tre
dposes avant toute transaction.

13.5.4 Secrets partags

Finissons avec un systme dauthentification assez diffrent, o laccs quelque information


ou ressource sensible doit tre partag entre plusieurs personnes. Lide dans de tels systmes
est que plusieurs personnes ensemble puissent recomposer la cl complte, mais que personne
ne puisse le faire seul. Cest la mthode du secret partag .
Des exemples de telles situations sont par exemple louverture dun coffre avec deux cls, ou
le lancement dun missile ncessitant 3 autorisations.
Supposons avoir n personnes autorises ( porteurs de cl ) et que k morceaux de cl soient
suffisants pour ouvrir la porte , c.--d. accder au secret S. Ceci signifie :
H(S|pi1 , ..., pik ) = 0
pour tout sous-ensemble {i1 , ..., ik } de {1, ..., n}, o p1 , ..., pn sont les n morceaux de la cl.
Toutefois, moins de k morceaux sont insuffisants pour obtenir la moindre information sur ce
secret :
H(S|pi1 , ..., pik1 ) = H(S)

Pour ce faire, choisissons pour tout secret un polynme dordre k1 dont le plus bas coefficient
est S :
P (X) = S + a1 X + a2 X 2 + ... + ak1 X k1
Les autres coefficients ai sont choisis au hasard, et diffrent dun secret lautre.
Lutilisateur autoris i a reu la partie du secret sous la forme de la valeur du polynme pour
la valeur i :
pi = p(i),

Ceci remplit les conditions ci-dessus : k utilisateurs peuvent recomposer le polynme par in-
terpolation, mais pas k 1 utilisateurs (ou moins).

Exemple 13.17 Le secret S = 0105, partag par n = 5 personnes parmi lesquelles toute
paire peut accder au secret (k = 2)

p(x) = 105 + 50x

Ainsi
p1 = 155, p2 = 205, p3 = 255, p4 = 305, p5 = 355

Recomposition par 2 participants (p.ex. 2 et 5) :

p(2) = S + a1 2 = 205
p(5) = S + a1 5 = 355
13.5. AUTHENTIFICATION 247

3S + a1 (10 10) = 1025 710


S = 105
Mais la reconstruction par 1 seul participant nest pas faisable.

Le partage de secret peut tre utile la cration de structures daccs au secret : il y a moins
de n utilisateurs, et certains dentre eux reoivent plus de morceaux que dautres.
Par exemple, imaginons que louverture dun coffre ncessite 1 directeur, ou 2 fonds de pou-
voir, ou 1 fond de pouvoir et 2 caissiers, ou 5 caissiers.
Par exemple, avec k = 10
le directeur de la banque reoit 10 parts,
chaque fond de pouvoir reoit 6 parts,
et chaque caissier 2 parts seulement.
Ainsi
le directeur seul a les 10 parts requises pour ouvrir le coffre,
2 fonds de pouvoir ont 12 parts,
1 reprsentant et 2 caissiers 10 parts,
et 5 caissiers : 10 parts.
Le seul problme dune telle solution est que, pour des situations complexes, le nombre de
parts peut tre lev.

R SUM DE LA SECTION 13.5

Lauthentification (qui assure que le message a bien t envoy par une personne autorise)
et la confidentialit (qui assure que le message est reu par des personnes autorises)
sont dune certaine faon thoriquement incompatibles, comme la premire ncessite
I(C; K) la plus grande possible et la dernire I(C; M ) aussi petite que possible.
PI 2I(C;K)
systme dauthentification de Diffie-Lamport : peut tre utilis pour signer des messages
binaires. Choisir 2n cls et 2n squences, publier le cryptage de la seconde par la
premire et signer en envoyant lune ou lautre cl, dpendamment des bits du message.
systme dauthentification RSA : La signature est le message lev la puissance de la cl
prive. Lenvoyer crypte avec la cl publique du destinataire.
secrets partags : Laccs un secret commun est diffus parmi plusieurs porteurs de cl
par lutilisation dun polynme.

R SUM DU CHAPITRE 13

La cryptographie vise transmettre des messages de manire scurise (seules les per-
sonnes autorises peuvent le lire) ou authentifier des messages (aucune personne
non-autorise naurait pu lenvoyer).
Pour ce faire, les messages en clair M sont cods en utilisant une cl K et une fonction
dterministe : C = e(M, K).
Les messages crypts peuvent tre dcods de manire dterministe en utilisant la fonction
de dcodage d et la mme cl K, de faon ce que d(e(M, K), K) = M .
248 CHAPITRE 13. CRYPTOGRAPHIE

confidentialit parfaite : I(C; M ) = 0


pour quun systme soit parfaitement confidentiel, il doit y avoir au moins autant de cls
que de messages et H(K) doit tre suprieur (ou gal) H(M ).
one-time pad : pour chaque cryptage, une cl alatoire est choisie, dont la longueur est gale
celle du message et dont les symboles sont indpendants. La cl est alors simplement
additionne (symbole par symbole) au message.
le one-time pad est un code parfait.
distance dunicit : le nombre minimal de texte crypt qui doit tre connu pour dterminer
la cl de manire presque sre : H(K|C1 ...Cu ) 0.
sous certaines hypothses gnrales, la distance dunicit peut tre approxime par

H(K)
u
R(M ) log ||

o R(M ) est la redondance du message non crypt M .


fonction sens unique : une fonction facile calculer mais difficile inverser.
DES : un systme de cryptage bas sur la difficult de rsolution des systmes boolens
non-linaires.
logarithme discret : un entier n est le logarithme discret en base a dun autre entier m de
GF (p) si an = m mod p (o p est un nombre premier et a une racine primitive dans
mGF ).
systme de distribution de cls publiques de Diffie-Hellman : tant donns un nombre
premier p et une racine primitive a dans GF (p), chaque utilisateur choisit une cl
prive x et publie sa cl publique y = ax mod p.
Lorsque deux utilisateurs veulent communiquer, chacun utilise la cl consistant en la
cl publique de lautre leve la puissance de sa propre cl prive :

kAB = yB xA = yA xB

fonctions trappe : une famille de fonctions sens unique dpendant dun paramtre, telles
que lorsque ce paramtre est connu, la fonction inverse nest plus difficile calculer.
RSA : Chaque utilisateur choisit deux nombres premiers p et q et un nombre d < (p1)(q
1) qui na pas de diviseur commun avec (p1)(q 1). La cl publique est alors (e, pq)
o e est tel que ed = 1 mod (p 1)(q 1), et la cl prive est (d, p, q).
Un message M (qui est un entier infrieur pq) est crypt en utilisant les cls publiques
par C = M e mod pq. Le dcryptage est effectu en utilisant les cls prives : D =
C d mod pq.
Lauthentification (qui assure que le message a bien t envoy par une personne autorise)
et la confidentialit (qui assure que le message est reu par des personnes autorises)
sont dune certaine faon thoriquement incompatibles, comme la premire ncessite
I(C; K) la plus grande possible et le dernier I(C; M ) aussi petite que possible.
PI 2I(C;K)
systme dauthentification de Diffie-Lamport : peut tre utilis pour signer des messages
binaires. Choisir 2n cls et 2n squences, publier le cryptage de la seconde par la
premire et signer en envoyant lune ou lautre cl, dpendamment des bits du message.
systme dauthentification RSA : La signature est le message lev la puissance de la cl
13.5. AUTHENTIFICATION 249

prive. Lenvoyer crypt avec la cl publique du destinataire.

Histoire et bibliographie

Les messages secrets ont t depuis longtemps un sujet dtude passionnant. Cette passion
remonte au moins lgypte antique (1900 avant J.-C.), ou la Chine antique. En Europe,
bien que les Grecs et les Romains (p.ex. le code de Csar ) aient dj utilis des messages
chiffrs, la cryptographie et la cryptanalyse nont rellement dmarr que dans la seconde
moiti du treizime sicle et se sont dveloppes plus srieusement partir du quinzime
sicle.
Autour de 1560, le diplomate franais Blaise de Vigenre (1523-1596) dveloppa son systme
de cryptage partir du travail de plusieurs de ses prdcesseurs : Alberti (1404-1472), Trithme
(1462-1516) et Porta (1535-1615). Le code de Vigenre est rest inviolable pendant 300 ans.
Lhypothse selon laquelle la scurit dun code devrait reposer uniquement sur la confidentia-
lit de sa cl a t avance pour la premire fois en 1883 par Auguste Kerckhoffs (1835-1903) ;
lhistoire de la cryptographie a dmontr sa sagesse. Un ennemi dtermin est gnralement
capable dobtenir les plans complts des mcanismes de chiffrement et de dchiffrement
soit par des dductions intelligentes, soit en les drobant, ou par toute autre mesure entre ces
deux extrmes.
Le premier traitement rellement scientifique de la confidentialit na t fourni par C. Shannon
quen 1949 [10]. La thorie de la confidentialit de Shannon est en fait une application directe
de la thorie de linformation, quil avait formule un an plus tt. Lingniosit de sa publica-
tion de 1949 ne repose pas sur les mthodes utilises, mais plutt sur la nouvelle manire de
voir et la formulation intelligente de Shannon du problme de la confidentialit.
Bien que Shannon ait donn sa thorie de la condentialit en 1949, ce nest quen 1984 que
Simmons donna une thorie analogue de lauthenticit, illustrant la difficult et la subtilit plus
importantes de celle-ci.
Les fondations de la pense cryptographique tremblrent une fois de plus en 1976 lorsque deux
chercheurs de lUniversit de Stanford, Whitfield Diffie et Martin E. Hellman, publirent leur
article intitul New Directions in Cryptography . Diffie et Hellman suggraient quil est pos-
sible davoir des systmes de cryptage algorithmique ne requrant pas de canal scuris pour
lchange des cls secrtes. Ralph Merkle, alors tudiant diplm de lUniversit de Berkeley,
formula de manire indpendante les ides de base de cette cryptographie cl publique et
soumit un article ce sujet presque au mme moment que Diffie et Hellman, mais son article
fut publi presque deux ans aprs le leur, et il perdit ainsi malheureusement le crdit d sa
dcouverte.
La contribution fondamentale de larticle de Diffie-Hellman consistait en les deux dfinitions
cruciales de fonction sens unique (quils empruntrent au travail de R. M. Needham sur les
mots de passe des ordinateurs) et de fonction trappe (qui tait compltement nouvelle), de
mme que des suggestions sur la faon dutiliser de telles fonctions pour liminer le besoin
dchanger des cls secrtes dans des systmes de cryptage algorithmiquement confidentiels.
Bien que Diffie et Hellman aient astucieusement dfini les fonctions trappe dans leur article
de 1976 et aient clairement montr le potentiel cryptographique de telles fonctions, la premire
proposition dune telle fonction ne fut faite que deux ans plus tard, en 1978, par les chercheurs
du M.I.T. R. L. Rivest, A. Shamir et L. Adleman (do RSA !).
250 CHAPITRE 13. CRYPTOGRAPHIE

Pendant ce temps, les bases du DES (1977) virent le jour partir du systme de cryptage dIBM
Lucifer (publies pour la premire fois par Feistel en 1973 !). Toutefois, tandis que le systme
de Lucifer utilisait une cl de 128 bits, le US National Bureau of Standard (connu maintenant
sous le nom de National Institute of Standards and Technology), qui publia le DES ne retint
que 56 bits pour la cl. Depuis la premire proposition du DES, celui-ci a toujours t critiqu
cause de la petite taille de sa cl.
En 1998, lEFF (Electronic Frontier Foundation) a construit une machine, Deep Crack, pour
montrer au monde que le DES nest pas (ou du moins nest plus) un algorithme sr. Deep
Crack, qui cota $250000 et tait compos de 1536 puces spcialises, tait capable de rcu-
prer une cl de 56 bits, en utilisant une recherche exhaustive, en 4 jours en moyenne, vrifiant
92 milliards de cls la seconde.9
Plus tard (le 18 janvier 1999), avec laide de distributed.net, une organisation spcialise dans
la collecte et le contrle du temps dinactivit dordinateurs, ils cassrent une cl DES en 22
heures et 15 minutes ! Plus de 100000 ordinateurs (du plus lent PC aux puissantes machines
multiprocesseurs) ont reu et effectu une petite part du travail ; ceci permit le traitement de
250 milliards de cls la seconde. 10
En novembre 2002, lAES (Advanced Encryption Standard), successeur du DES, fut publi.
LAES utilise un autre type dalgorithme (lalgorithme de Rijndael, invent par Joan Daemen
et Vincent Rijmen) et supporte des tailles de cl de 128 bits, 192 bits, et 256 bits, ce qui semble
suffisant de nos jours (2003).

Pour aller plus loin

D. Welsh, Codes and Cryptography , Oxford University Press, 1988.


http://www.ars-cryptographica.com/

Annexe : Rsolution de e d = 1 mod m

Trouver e et k tels que e d k m = 1 peut tre fait en utilisant lalgorithme du plus


grand diviseur commun dEuclide (comme le plus grand diviseur commun de d et de m est
prcisment 1).
Soient u, v et t des vecteurs de Q2 (c.--d. des paires de nombres rationnels).
Ltape dinitialisation de lalgorithme consiste en u = (0, m), v = (1, d).
La condition darrt est que la deuxime composante v2 de v gale 1. Dans ce cas, la premire
composante est v1 = e, c.--d. qu la fin de lalgorithme v = (e, 1) .
Aprs ltape dinitialisation, lalgorithme continue en boucle jusqu ce que la condition dar-
rt soit remplie : t u r v,
u v,
vt
o r = uv22

9
Cette partie a t emprunte http://lasecwww.epfl.ch/memo_des.shtml
10
pour plus de dtails, voir http://www.rsasecurity.com/rsalabs/challenges/des3/index.html
13.5. AUTHENTIFICATION 251

Exemple 13.18 Trouvons e tel que 7e = 1 mod 60, c.--d. d = 7 et m = 60 :

u v r t

60
(0, 60) (1, 7) =8 (8, 4)
7
7
(1, 7) (8, 4) =1 (9, 3)
4
4
(8, 4) (9, 3) =1 (17, 1)
3
(9, 3) (17, 1) (stop)

ainsi e = 17 mod 60, c.--d. : e = 43.


252 CHAPITRE 13. CRYPTOGRAPHIE
Chapitre 14

Exercices du module I3

par J.-C. C HAPPELIER

14.1 Cadre gnral Exemples historiques

Exercice 14.1.1:
a Coder laide de la permutation suivante (lespace est note _)
_ A B C D E F G H I J K L M N O P Q R
S D F B P M _ R H I A J L X N Z O W Q
S T U V W X Y Z
T E V G C Y U K
la phrase VOICI_UN_EXERCICE_PASSIONNANT
b Coder la mme phrase avec le systme de codage par transposition 6 lments suivants :
( 2 5 3 6 1 4 ).
c Mme question avec un code de Vigenre de cl CLEFS (avec la convention _ = 0 et
A = +1).
d Coder cette mme phrase en utilisant successivement les trois codes prcdents (dans
lordre des questions, c.--d. appliquer la transposition au rsultat de la permutation et
appliquer le cryptage de Vigenre au rsultat ainsi obtenu).

Exercice 14.1.2:

Considrons un message chiffr C correspondant au cryptage dun message dorigine M avec


une cl K.
a Que valent H(C|M, K) et H(M |K, C) dans le cas gnral ?
b Montrez que H(K, C) = H(M ) + H(K) sachant que la cl et le message sont (statisti-
quement) indpendants.

253
254 CHAPITRE 14. EXERCICES DU MODULE I3

c Sous les mme hypothses, montrez que H(C|M ) = H(K) H(K|C, M ).

Exercice 14.1.3:

Considrons un systme de cryptage one-time pad o M est le message dorigine (une


suite binaire), K est la cl (galement une suite binaire) et C le message crypt correspondant.
Soient Mi et Ki un bit quelconque (en mme position) respectivement du message dorigine
et de la cl. Ce sont deux v.a. binaires indpendantes. Le bit correspondant du message chiffr
est alors obtenu par Ci = Mi Ki = Mi + Ki (mod 2).

a Montrer que H(Ci |Mi ) = H(Ki )


b Calculer I(Mi ; Ci ) et I(Mi ; Ci |Ki ) en fonction de H(Mi ), H(Ki ) et H(Ci ).
c En supposant que P (Ki = 0) = P (Ki = 1) = 0.5, montrer que

I(Mi ; Ci ) < I(Mi ; Ci |Ki )

Intrt : Ceci prouve que I(X; Y |Z) > I(X; Y ) est possible.

Exercice 14.1.4:

Ceci constitue plus un jeu quun exercice.


En vous aidant de la table (empirique) de distribution de probabilit sur les caractres en anglais
suivante :
carac. (espace) E T A O I N S
proba. 0.1859 0.1031 0.0796 0.0642 0.0632 0.0575 0.0574 0.0514
carac. R H L D U C F M
proba. 0.0484 0.0467 0.0321 0.0317 0.0228 0.0218 0.0208 0.0198
carac. W Y G P B V K X
proba. 0.0175 0.0164 0.0152 0.0152 0.0127 0.0083 0.0049 0.0013
carac. J Q Z
proba. 0.0008 0.0008 0.0005
essayez de dcoder le message (anglais) suivant, sachant quil a t cod par un code substi-
tution (lespace est not ici _) :

WHAT_MAKESEYOAU_ADOR_DOAUNWIAIOSUOSROAUNEUAD_OIAS_
UAKOESAT_MAEFOAEAJ_ _DANERLOF
14.2. CONFIDENTIALIT PARFAITE 255

14.2 Confidentialit parfaite

Exercice 14.2.1:

Si lon suppose que lentropie de langlais est comprise entre 1 et 2 bit par lettre, quelles bornes
trouve-t-on pour la distance dunicit.
a dun systme de cryptage par transposition de blocs de taille d ?
b dun systme de cryptage de Vigenre de taille d ?
c Si lon suppose que lentropie de langlais est de 1.5 bit par caractre, quelle taille (d)
doit on prendre pour chacun de ces cryptages afin de sassurer une scurit raisonnable
sur des textes de 100 caractres (c.--d. pour avoir une distance dunicit suprieure
100 ?).
On supposera que les messages nutilisent que les 27 lettres majuscules (espace comprise) et
on fera lapproximation de processus stochastique sans mmoire pour les messages.

14.3 Scurit algorithmique

Exercice 14.3.1:

Rsoudre en binaire le systme :



xyz + wty = 1
xw + wu + uy + 1 = 0

xu + yt + xz 1 = 0

Note : on travaille ici en binaire, donc le + est un ou-exclusif et, entre autres, +1 = 1,
x2 = x, 2 x = x + x = x x = 0.

Exercice 14.3.2:

On utilise ici le systme de cryptage DES avec n = 4, d = 3 et f donne par :



f1 = x1 y1 + x2 y2 + x4 y4 + x5
f2 = x1 y4 + x3 y2 + x5 y1 + x2 + y3 + x4
f (x1 , x2 , x3 , x4 , x5 , y1 , y2 , y3 , y4 ) =
f3 = (x1 + x3 + x5 + y2 ) y1


f4 = (x2 + x4 + y4 ) y3

toutes les oprations seffectuant bien entendu en binaire.


Les cls ont donc (d 1) 5 = 10 bits. Nous choisirons la cl K = K1 K2 = 0110110110.
a Avec ce systme, coder le message 0100110001110011.
b Avec ce systme, dcoder le message 0100110001110011.
256 CHAPITRE 14. EXERCICES DU MODULE I3

14.4 Cryptographie cl publique

Exercice 14.4.1:

On choisit dutiliser le systme de distribution de cls vu en cours avec p = 11 et a = 2.


a Vrifiez que a est une racine primitive de lunit modulo p.
b Dans ce systme, jutilise la cl publique 9. Pouvez vous craquer ma cl prive ?
c Supposant que votre cl publique soit 3, quelle cl commune utiliserait-on pour communi-
quer ?

Exercice 14.4.2:

Un assistant envoie votre note au professeur concern par mail encrypt en RSA. La cl pu-
blique du professeur est (7, 55) et le message envoy (i.e. encrypt) est 25.
Quelle est votre note ?

Exercice 14.4.3:

Cet exercice ncessite une bonne calculatrice ou dcrire un petit programme.

PGP est un systme de cryptographie hybride combinant un algorithme cl publique (RSA) et


un algorithme cl secrte (IDEA en loccurence). En ce qui concerne lutilisateur cependant,
PGP se comporte comme un cryptosystme cl publique.
Son principe est le suivant : une cl secrte est gnre puis est utilise pour coder le message.
Cette cl secrte est elle-mme code en utilisant RSA. Le message envoy est la concatnation
de la cl secrte code et du message cod.
Supposons ici que le systme cl secrte utilis soit un one-time pad dcimal (i.e. pour
chaque chiffre une addition modulo 10 de la cl) agissant sur des blocs de 6 chiffres dune
suite de chiffres. Un texte est lui-mme transform en suite de chiffres par la convention _
=00, A=01, B=02, ...
Exemple : Texte= UN TEST 21140020051920 et si la cl secrte est 123456 , cela
donne comme message cod 211400 200519 20 + 123456 123456 12 = 33485632396532.
Sachant que votre cl publique RSA est (21, 172 831) et votre cl prive est 16 381, dcoder
le message
58423
17237714237119365013215214405835485718277314346213327723
o par convention le cryptage RSA de la cl secrte est sur la premire ligne.
14.5. AUTHENTIFICATION 257

14.5 Authentification

Exercice 14.5.1:

Utilisant un systme dauthentification de type Diffie-Lamport bas sur la fonction den-


cryptage par blocs de 2 chiffres (en base dix)

C2i1 = M2i1 + K1 ( mod 10) C2i = M2i + K2 ( mod 10)

Dominique a choisi pour cls secrtes :

a1 = 33 a2 = 83 b1 = 27 b2 = 51

et pour messages de validation

X1 = 1967 X2 = 1998 Y1 = 67 Y2 = 98

a Quenvoie Dominique comme paramtres de validation ses correspondants ?


b Dominique envoie Claude le message suivant : 10. Quelle en est la signature ?
c Quelle critique peut-on faire du systme employ ici ?
d Reprendre les questions a) et b) avec la fonction dencryptage

e(M, K) = M K ( mod 10)

Exercice 14.5.2:

Pour assurer lauthenticit des messages contenant les notes, le professeur demande lassis-
tant de signer ses messages (toujours en utilisant le systme RSA). Sachant que la cl publique
de lassistant est prsent (3, 15) et celle du professeur (7, 77),
a Quel message envoie lassistant pour la note 4 ?
b Quelle note correspond au message 41, 41 ?
c Un message sign 27 a-t-il bien t envoy par lassistant ?
258 CHAPITRE 14. EXERCICES DU MODULE I3
Bibliographie

[1] R. Ash. Information Theory. Wiley, 1965.

[2] R. Blahut. Theory and Practice of Error Control Codes. Addison-Wesley, 1983.

[3] P. Elias. Coding for noisy channels. In IRE Conv. Rec., volume 4, pages 3747, 1955.

[4] A. Feinstein. A new basic theorem of information theory. IRE Trans. Information Theory,
IT-4:222, 1954.

[5] R. G. Gallager. A simple derivation of the coding theorem and some applications. IEEE
Trans. Information Theory, IT-11:318, 1965.

[6] R. G. Gallager. Information Theory and Reliable Communication. Wiley, 1968.

[7] S. Lin and D. J. Costello. Error Control Coding: Fundamentals and Applications.
Prentice-Hall, 1983.

[8] David Salomon. Data Compression The complete reference. Springer, 1998.

[9] C. E. Shannon. A mathematical theory of communication. Bell Sys. Tech. Journal,


27:379423, 623656, 1948.

[10] C. E. Shannon. Communication theory of secrecy systems. Bell Sys. Tech. Journal,
28:656715, 1949.

[11] J. H. van Lint. Introduction to Coding Theory. Springer-Verlag, 1982.

[12] A. J. Viterbi. Error bounds for convolutional codes and an asymptotically optimum de-
coding algorithm. IEEE Transactions on Information Theory, 13:260269, 1967.

[13] J. M. Wozencraft and B. Reiffen. Sequential Decoding. MIT Press, 1961.

259
260 BIBLIOGRAPHIE
Glossaire

BSC: Canal binaire symtrique, pour Binary Symmetric Channel. 145


BSS: Binary Symmetric Source, ou source binaire symtrique : une source binaire sans m-
moire avec P (0) = P (1) = 21 . 156
DMC: ou canal discret sans mmoire, pour Discrete Memoryless Channel. 145
Distance Minimale: la distance de Hamming minimale (non nulle) entre toute paire de mots
de code (diffrents). 177
arit: taille de lalphabet. Pour un arbre n-aire: n, le nombre de fils de chaque nud. 90
canal de communication: formalisation de ce qui arrive aux messages transmis entre leur
mission et leur rception. 145
capacit dun canal: la quantit maximale moyenne dinformation que la sortie du canal peut
fournir sur lentre. 147
code complet: un code instantan dont larbre de codage na pas de feuilles inutilises. 96
code cyclique: un code linaire, dont tout dcalage des mots de code est aussi un mot de
code.. 195
code de Huffman: une structure de codage efficace pour sources dinformation sans m-
moire. 109
code linaire: un code par bloc avec une structure despace vectoriel. 180
code par bloc: un ensemble non vide de mots de mme longueur, considrs comme des
vecteurs ligne . 173
codes non-ambigus: un code pour lequel toute squence de mots de code ne correspond qu
un seul message-source. 92
codes non-singuliers: codes pour lesquels diffrents symboles-source sont mis en correspon-
dance avec diffrent mots de code. 91
dcodage distance minimale: cadre de dcodage dans lequel chaque mot reu est dcod
en le mot de code le plus proche. 176
distance de Hamming: le nombre de coordonnes pour lesquelles deux vecteurs diffrent.
173
fonction sens unique: une fonction qui est facile calculer, mais difficile inverser par le
calcul. 232
fonction trappe: famille de fonctions sens unique dpendant dun paramtre telles que,
lorsque le paramtre est connu, la fonction inverse nest plus difficile calculer.. 238
instantan: on dit quun code est instantan si et seulement si chaque mot de code dans toute
chane de mots de code peut tre dcod ds que lon a atteint la fin de ce mot de code.
93

261
262 BIBLIOGRAPHIE

lesprance de la longueur de code: esprance de la valeur de la longueur des mots de code.


101
matrice de vrification: (pour un code linaire C) : une matrice dont le noyau est C. 186
matrice gnratrice: Une matrice dont les lignes sont des mots de code linairement ind-
pendants. Une telle matrice est utilise pour coder les messages.. 183
messages: sequence of symbols. 90
mot de code nul: Le mot de code constitu uniquement de zros. 174
mot de code: une squence non vide de symboles de lalphabet de codage. 90
poids: le nombre de symboles non nuls. 173
prfixe: une squence de symboles S est le prfixe de toute autre squence de symboles com-
menant par S. 92
probabilits de transmission: distributions de probabilit conditionnelle de la sortie dun ca-
nal, connaissant lentre. 145
sans retour: on dit quun canal est sans retour lorsque la distribution de probabilit des entres
ne dpend pas de la sortie.. 147
source dinformation: gnrateur de squences de symboles. 90
sources stationnaires: sources dinformation dont les statistiques ne dpendent pas du temps.
91
syndrome: produit dun mot reu par une matrice de vrification. 188
treillis: Le dploiement dans le temps de tous les chemins du diagramme dtat dun code
convolutionnel correspondant tous les codages possibles de messages de diffrentes
tailles. 207
Index

capacit, 147
code
cyclique, 195
linaire, 180
par bloc, 173

dcodage
distance minimale, 176
distance
Hamming, 173
distance minimale
dun code, 177
dcodage (), 176

fonction sens unique, 232


function
sens unique, 232

Hamming
distance, 173

matrice de vrification, 186


matrice gnratrice, 183
messages, 90
mot de code nul, 174

poids, 173

source dinformation, 90
syndrome, 188

taux de transmission, 151


treillis, 207

263

You might also like