Vous êtes sur la page 1sur 6

ENSEIRB Informatique 1`re anne e e

Janvier 2008

Thorie de linformation e
Corrig et commentaires sur lexamen de janvier 2008 e Exercice 1 On consid`re une source S qui met les symboles (a, b, c, d, e, f ) avec probabilits rese e e pectives (0.15, 0.27, 0.20, 0.10, 0.05, 0.23). 1. Calculer lentropie H(S). On trouve 2.42 bits. Les erreurs les plus frquentes e consistent ` utiliser le logarithme ` base 10 (on trouve alors 0.73) ou le a a logarithme nperien (1.67) e 2. Calculer un code de Humann pour S, et donner sa longueur moyenne et son ecacit. Lapplication de lalgorithme de Humann vu en cours, donne des e longueurs 2 pour le codage des lettres b, c et f , 3 pour a, et 4 pour d et e ; dans larbre de dcodage, les sommets correspondant aux lettres f et e c sont fr`res. La longueur moyenne est de 2.45, lecacit de 98.8%. Lere e reur la plus frquente consistait, pour le calcul de la longueur moyenne, e ` prendre la somme des longueurs divise par 6 plutt que dutiliser les a e o probabilits dmission des lettes. e e 3. Le code C dni par C(a) = 110, C(b) = 00, C(c) = 10, C(d) = 1110, C(e) = e 1111, C(f ) = 01 est-il un code de Humann pour S ? Est-il optimal ? Question un peu subtile et pigeuse. Le code a les mmes longueurs que le code de e e Humann trouv ` la question prcdente (il est donc optimal, puisquon ea e e a vu en cours que les codes de Humann sont optimaux), mais ce nest pas un code de Humann. En eet, dans larbre de dcodage les sommets e b et f sont fr`res, ce qui ne peut pas tre obtenu avec lalgorithme de e e Humann. 4. Mme question pour le code C dni par C (a) = 10, C (b) = 00, C (c) = 110, e e C (d) = 1110, C (e) = 1111, C (f ) = 01. Question plus facile, on remarque facilement que la lettre a est cod plus court que la lettre c alors quelle est e plus probable (cest la seule dirence de longueur avec le code de Hue mann), ce qui se traduit par une longueur moyenne strictement suprieure. e Le code nest donc pas optimal, et a fortiori il ne peut pas tre un code e de Humann.

Exercice 2 On appelle code binaire de Shannon-Fano pour une source S, un code prxe dans lequel e chaque symbole si , mis avec probabilit pi , est cod par un mot de longueur log 2 (1/pi ) , e e e cest-`-dire le plus petit entier k tel que 2k pi . a 1

1. Montrer quun tel code de Shannon-Fano existe toujours. On sattend ici ` ce a que lon utilise le thor`me de Kraft, largument tant que les longueurs e e e proposes satisfont la condition de Kraft. On a naturellement, si i est la e longueur propose pour coder si , e 2 i 2log2 (1/pi ) = 1/pi , ce qui se traduit exactement par la condition de Kraft. 2. Donner un exemple dun code de Shannon-Fano pour la source S qui met les syme boles a, b, c, d avec probabilits respectives 0.25, 0.12, 0.32 et 0.31. Lapplication e des formules donne des longueurs de 2, 4, 2 et 2, respectivement, pour les 4 lettres a, b, c et d ; nimporte quel code prxe utilisant ces longueurs e convient. 3. Ce code est-il optimal ? Lerreur la plus frquente consistait ` calculer lee a cacit du code, et ` dire que, cette ecacit tant strictement infrieure e a e e e ` 1, le code ntait pas optimal. Un code optimal peut parfaitement avoir a e une ecacit strictement infrieure ` 1 (par exemple le code de Humann e e a obtenu ` lexercice 1). On sattendait ici, soit ` ce que lon remarque que a a le code a une fonction de Kraft strictement infrieure ` 1 (ce qui implique e a quil nest pas optimal), soit ` ce que lon calcule un code de Humann a pour la mme source (on trouve une longueur constante gale ` 2, qui est e e a clairement infrieur ` la longueur moyenne de ce code qui utilise des mots e a de longueurs entre 2 et 4), soit (cest essentiellement la mme chose) ` e a ce que lon dise quil est possible dobtenir un code prxe dans lequel e la lettre b est code sur 3 ou 2 symboles sans changer les autres mots de e code, ce qui donne une longueur moyenne strictement infrieure. e 4. Donner une condition ncessaire et susante sur les probabilits pi pour quun code e e de Shannon-Fano soit optimal. Question dicile, et de fait hors bar`me. La e condition ncessaire et susante est que toutes les probabilits pi soient e e des puissances ngatives de 2. En eet, si cette condition nest pas satise faite, dans le calcul de la fonction de Kraft on a une ingalit stricte, donc e e la fonction de Kraft est strictement infrieure ` 1 et le code ne saurait e a tre optimal ; inversement, si la condition est satisfaite, le calcul de lee cacit du code donne exactement 1, et un code decacit 1 est forcment e e e optimal. Exercice 3 Une usine fabrique des pi`ces dont certaines prsentent un dfaut de fabrication. On e e e met au point un test pour dtecter de tels dfauts. On peut alors modliser la situation par e e e un syst`me (X, Y ), o` X correspond a la qualit de la pi`ce et prend les valeurs Dfaut e u ` e e e et Sans dfaut, et Y reprsente le rsultat du test, et prend les 3 valeurs Positif, e e e Ngatif, et Douteux. e On sait que 95% des pi`ces sont sans dfaut, cest-`-dire que P(X = Dfaut) = 0.05, et e e a e que les caractrisques du test sont les suivantes : e 2

P(Y = Positif|X = Dfaut) = 0.90. e P(Y = Ngatif|X = Dfaut) = 0.03. e e P(Y = Positif|X = Sans dfaut) = 0. e P(Y = Ngatif|X = Sans dfaut) = 0.95. e e On sintresse a lecacit du test, dnie par r = I(X, Y )/H(X). e ` e e 1. Donner la loi de X, la loi de (X, Y ), et la loi de Y . La loi de X est donne par e lnonc : en notant D pour dfaut, SD pour sans dfaut, P pour positif, N e e e e pour ngatif, T pour douteux, on a P(X = D) = 0.05, P(X = SD) = 0.95. Les e probabilits conditionnelles P(Y = T |X = D) = 0.97 et P(Y = T |X = SD) = e 0.05 sont obtenues par dirence, et la loi du couple (X, Y ) est alors obtenue e par produits (formule des probabilits conditionnelles) : P(X = D, Y = P ) = e 0.045, P(X = D, Y = T ) = 0.0035, P(X = D, Y = N ) = 0.0015, P(X = SD, Y = P ) = 0, P(X = SD, Y = T ) = 0.0475, P(X = SD, Y = N ) = 0.9025. On en dduit e alors, par sommation sur les valeurs de X, la loi de Y : P(Y = P ) = 0.045, P(Y = T ) = 0.051, P(Y = N ) = 0.904. La maladresse la plus frquente consiste e ` calculer la loi de Y avant celle de (X, Y ) en utilisant la formule des a probabilits totales ; lnonc est pos dans un ordre qui permet dviter e e e e e des calculs superus. Une erreur frquente consiste ` confondre la loi e a de Y sachant X (donne par lnonc) et la loi du couple (X, Y ) qui est e e e demande. e 2. Calculer H(X), I(X, Y ) et r. Lapplication bte des formules donne H(X) = e 0.2864, I(X, Y ) = 0.25198, et donc r = 88%. Pour le calcul de I(X, Y ), on peut passer par I(X, Y ) = H(X) + H(Y ) H(X, Y ) ; les valeurs numriques sont e H(Y ) = 0.55 et H(X, Y ) = 0.59. 3. Quelquun prtend avoir trouv un nouveau test, dont lecacit serait 1.15. Est-ce e e e possible ? Cest impossible, mais larmation une ecacit ne peut pas e tre plus grande que 1 est insusante (jesp`re que personne ne laurait e e utilis si, au lieu decacit, lnonc avait parl de trucosit). En ree e e e e e vanche, on a vu en cours que lon a toujours 0 I(X, Y ) H(X), ce qui implique bien que le ratio r est compris entre 0 et 1. 4. (Question optionnelle) On cre un nouveau test de la mani`re suivante : on ralise e e e deux fois, de mani`re indpendante, le test dorigine, et on note Z = (Y1 , Y2 ) les e e rsultats obtenus. On dnit lecacit de ce nouveau test par r = I(X, Z)/H(X). e e e (a) Justier sans calcul que lon a automatiquement r r. La question est difcile, et na pas t traite de mani`re satisfaisante (elle est hors e e e e bar`me). Il faut justier que lon a forcment I(X, Z) I(X, Y1 ). Ine e formellement : que lon en sait plus sur X quand on connait Y1 et Y2 , que quand on ne connait que Y1 . En mettant la dirence sous forme e de dirences dinformations compl`tes, on a e e I(X, Z)I(X, Y1 ) = H(Y1 , Y2 )H(X, Y1 , Y2 )H(Y1 )+H(X, Y1 ) = H(Y2 |Y1 )H(Y2 |X, Y1 ) 3

Il faut alors se souvenir que lentropie conditionnelle nest rien dautre quune esprance sur les valeurs de la variable par rapport ` laquelle e a on conditionne, et que les conditionnements successifs peuvent tre e faits dans nimporte quel ordre : pour toute valeur possible y1 de Y1 , H(Y2 |Y1 = y1 ) H(Y2 |X, Y1 = y1 ) = I(X, Y2 |Y1 = y1 ) 0, et en prenant la valeur moyenne selon Y1 on obtient exactement H(Y2 |Y1 ) H(Y2 |X, Y1 ) 0. (b) Calculer r . Question galement hors bar`me, qui ne prsente pas de dife e e cult technique, elle est seulement longue : il faut calculer compl`tement e e la loi du triplet (X, Y1 , Y2 ) (18 valeurs possibles, dont 2 ont probabilit e nulle) et appliquer la formule de linformation mutuelle.

Exercice 4 On consid`re un canal de transmission schmatis de la faon suivante : e e e c 1 0.25 0.75


1 0

1 0

On prend en entre une source binaire X mettant le symbole 0 avec probabilit p, et e e e 1 avec probabilit 1 p. On note Y le symbole reu. e c 1. Donner la loi de (X, Y ) et la loi de Y . Mme commentaire que pour lexercice e prcdent : il ne faut pas confondre la loi de Y sachant X (qui est donne e e e par la description du canal) et la loi du couple (X, Y ). Par simples produits (formule des probabilits conditionnelles), on trouve P((X, Y ) = (0, 0)) = e 0.75p, P((X, Y ) = (0, 1)) = 0.25p, P((X, Y ) = (1, 0)) = 0 et P((X, Y ) = (1, 1)) = 1 p. On en dduit par sommation la loi de Y : P(Y = 0) = 0.75p, P(Y = e 1) = 1 0.75p. 4

2. Calculer H(X, Y ), H(Y ), et I(X, Y ). Ayant la loi de (X, Y ), on peut facilement obtenir H(X, Y ), et de mme pour H(Y ). Il est alors plus simple dcrire e e la dcomposition I(X, Y ) + H(X, Y ) = H(X) + H(Y ) pour obtenir I(X, Y ). e On simplie signicativement les notations et les calculs en utilisant la notation h(x) = x log2 (x) (1 x) log 2 (1 x) (fonction entropie binaire) ; on obtient alors H(X) H(Y ) H(X, Y ) I(X, Y ) = = = = h(p) h(0.75p) h(p) ph(0.75) h(0.75p) ph(0.75)

3. Dterminer la capacit du canal. Question dicile si on na pas obtenu lexe e pression ci-dessus pour I(X, Y ), puisquil faut dterminer le maximum de e I(X, Y ) lorsque p varie entre 0 et 1. On vrie aisment que la formule e e donne 0 pour p = 0 et pour p = 1, la fonction atteint dont son maximum en un point o` sa drive sannule. Autre dicult, il faut penser, lors de u e e e la drivation, que lon travaille en logarithme ` base 2. On obtient e a h (x) = 1 (ln(x) ln(1 x)) = log2 ln(2) 1x x ,

et on se ram`ne ` rsoudre lquation e a e e 0.75 log2 dont la solution est x= 1 0.75p 0.75p 4 3.24h(3/4)/3 h(0.75) = 0,

0.4278

qui donne une valeur maximale pour linformation mutuelle (et donc la capacit) : e C 0.558. 4. On suppose dsormais que p = 0.6. e (a) Quelle est la probabilit que le symbole reu soit dirent du symbole mis ? e c e e Question tr`s simple : le symbole reu est dirent du symbole mis si e c e e et seulement si on met 0 et reoit 1 (puisque 1 est toujours transmis e c sans erreur), soit une probabilit de 0.25p = 0.15. e (b) On cherche a amliorer la situation (diminuer la probabilit derreur) en du` e e pliquant le symbole mis par S (on envoie deux fois le mme symbole), et en e e dcodant les deux symboles reus selon la r`gle 00 0, 01 0, 10 0, e c e 11 1. Quelle est la probabilit que le symbole dcod soit dirent du syme e e e bole initialement mis ? Dans cette situation, le symbole dcod di`re e e e e 5

du symbole mis par la source, si et seulement si la source met 0, e e mais que cest 11 qui est transmis. La probabilit nest pas le carr de e e la prcdente, puisque la source nest interroge quune seule fois : la e e e rponse correcte est p.(0.25)2 = 0.0375 (soit 3.75%). e (c) Justier le choix qui a t fait de la fonction de dcodage ci-dessus. Dans la ee e mesure o` le canal transmet toujours d`lement les 1, on peut tre u e e sr, chaque fois quun 0 est reu, que cest bien un 0 qui a t mis. u c e e e Il est donc naturel, chaque fois quun des blocs 00, 01 ou 10 est reu, c de dcoder en 0 puisque lon sait avec certitude que cest ce qui a t e e e mis. Il reste alors seulement le choix entre dcoder 11 en 0 (et alors, e e tout sera dcod en 0 ; linformation transmise est nulle), et dcoder e e e 11 en 1.