Exercices sur le traitement de l'information, Exercices de Applications des sciences informatiques. Ecole des Ingénieurs de la Ville de Paris
Christophe
Christophe3 March 2014

Exercices sur le traitement de l'information, Exercices de Applications des sciences informatiques. Ecole des Ingénieurs de la Ville de Paris

PDF (191.5 KB)
6 pages
182Numéro de visites
Description
Exercices d’informatique sur le traitement de l'information . Theorie de l'information Les principaux thèmes abordés sont les suivants: exercices.
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 6
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document

ENSEIRB Janvier 2008 Informatique 1ère année

Théorie de l’information Corrigé et commentaires sur l’examen de janvier 2008

Exercice 1 On considère une source S qui émet les symboles (a, b, c, d, e, f) avec probabilités res-

pectives (0.15, 0.27, 0.20, 0.10, 0.05, 0.23).

1. Calculer l’entropie H(S). On trouve 2.42 bits. Les erreurs les plus fréquentes consistent à utiliser le logarithme à base 10 (on trouve alors 0.73) ou le logarithme néperien (1.67)

2. Calculer un code de Huffmann pour S, et donner sa longueur moyenne et son effi- cacité. L’application de l’algorithme de Huffmann vu en cours, donne des longueurs 2 pour le codage des lettres b, c et f , 3 pour a, et 4 pour d et e ; dans l’arbre de décodage, les sommets correspondant aux lettres f et c sont frères. La longueur moyenne est de 2.45, l’efficacité de 98.8%. L’er- reur la plus fréquente consistait, pour le calcul de la longueur moyenne, à prendre la somme des longueurs divisée par 6 plutôt que d’utiliser les probabilités d’émission des lettes.

3. Le code C défini par C(a) = 110, C(b) = 00, C(c) = 10, C(d) = 1110, C(e) = 1111, C(f) = 01 est-il un code de Huffmann pour S ? Est-il optimal ? Question un peu subtile et piégeuse. Le code a les mêmes longueurs que le code de Huffmann trouvé à la question précédente (il est donc optimal, puisqu’on a vu en cours que les codes de Huffmann sont optimaux), mais ce n’est pas un code de Huffmann. En effet, dans l’arbre de décodage les sommets b et f sont frères, ce qui ne peut pas être obtenu avec l’algorithme de Huffmann.

4. Même question pour le code C ′ défini par C ′(a) = 10, C ′(b) = 00, C ′(c) = 110, C ′(d) = 1110, C ′(e) = 1111, C ′(f) = 01. Question plus facile, on remarque fa- cilement que la lettre a est codé plus court que la lettre c alors qu’elle est plus probable (c’est la seule différence de longueur avec le code de Huff- mann), ce qui se traduit par une longueur moyenne strictement supérieure. Le code n’est donc pas optimal, et a fortiori il ne peut pas être un code de Huffmann.

Exercice 2 On appelle code binaire de Shannon-Fano pour une source S, un code préfixe dans lequel

chaque symbole si, émis avec probabilité pi, est codé par un mot de longueur dlog2(1/pi)e, c’est-à-dire le plus petit entier k tel que 2−k ≤ pi.

1

docsity.com

1. Montrer qu’un tel code de Shannon-Fano existe toujours. On s’attend ici à ce que l’on utilise le théorème de Kraft, l’argument étant que les longueurs proposées satisfont la condition de Kraft. On a naturellement, si `i est la longueur proposée pour coder si,

2`i ≥ 2log2(1/pi) = 1/pi,

ce qui se traduit exactement par la condition de Kraft.

2. Donner un exemple d’un code de Shannon-Fano pour la source S qui émet les sym- boles a, b, c, d avec probabilités respectives 0.25, 0.12, 0.32 et 0.31. L’application des formules donne des longueurs de 2, 4, 2 et 2, respectivement, pour les 4 lettres a, b, c et d ; n’importe quel code préfixe utilisant ces longueurs convient.

3. Ce code est-il optimal ? L’erreur la plus fréquente consistait à calculer l’effi- cacité du code, et à dire que, cette efficacité étant strictement inférieure à 1, le code n’était pas optimal. Un code optimal peut parfaitement avoir une efficacité strictement inférieure à 1 (par exemple le code de Huffmann obtenu à l’exercice 1). On s’attendait ici, soit à ce que l’on remarque que le code a une fonction de Kraft strictement inférieure à 1 (ce qui implique qu’il n’est pas optimal), soit à ce que l’on calcule un code de Huffmann pour la même source (on trouve une longueur constante égale à 2, qui est clairement inférieur à la longueur moyenne de ce code qui utilise des mots de longueurs entre 2 et 4), soit (c’est essentiellement la même chose) à ce que l’on dise qu’il est possible d’obtenir un code préfixe dans lequel la lettre b est codée sur 3 ou 2 symboles sans changer les autres mots de code, ce qui donne une longueur moyenne strictement inférieure.

4. Donner une condition nécessaire et suffisante sur les probabilités pi pour qu’un code de Shannon-Fano soit optimal. Question difficile, et de fait hors barème. La condition nécessaire et suffisante est que toutes les probabilités pi soient des puissances négatives de 2. En effet, si cette condition n’est pas satis- faite, dans le calcul de la fonction de Kraft on a une inégalité stricte, donc la fonction de Kraft est strictement inférieure à 1 et le code ne saurait être optimal ; inversement, si la condition est satisfaite, le calcul de l’effi- cacité du code donne exactement 1, et un code d’efficacité 1 est forcément optimal.

Exercice 3 Une usine fabrique des pièces dont certaines présentent un défaut de fabrication. On

met au point un test pour détecter de tels défauts. On peut alors modéliser la situation par un système (X, Y ), où X correspond à la qualité de la pièce et prend les valeurs “Défaut” et “Sans défaut”, et Y représente le résultat du test, et prend les 3 valeurs “Positif”, “Négatif”, et “Douteux”.

On sait que 95% des pièces sont sans défaut, c’est-à-dire que P(X = Défaut) = 0.05, et que les caractérisques du test sont les suivantes :

2

docsity.com

– P(Y = Positif|X = Défaut) = 0.90. – P(Y = Négatif|X = Défaut) = 0.03. – P(Y = Positif|X = Sans défaut) = 0. – P(Y = Négatif|X = Sans défaut) = 0.95. On s’intéresse à l’efficacité du test, définie par r = I(X, Y )/H(X).

1. Donner la loi de X, la loi de (X, Y ), et la loi de Y . La loi de X est donnée par l’énoncé : en notant D pour défaut, SD pour sans défaut, P pour positif, N pour négatif, T pour douteux, on a P(X = D) = 0.05, P(X = SD) = 0.95. Les probabilités conditionnelles P(Y = T |X = D) = 0.97 et P(Y = T |X = SD) = 0.05 sont obtenues par différence, et la loi du couple (X, Y ) est alors obtenue par produits (formule des probabilités conditionnelles) : P(X = D, Y = P ) = 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 déduit 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 fréquente consiste à calculer la loi de Y avant celle de (X, Y ) en utilisant la formule des probabilités totales ; l’énoncé est posé dans un ordre qui permet d’éviter des calculs superflus. Une erreur fréquente consiste à confondre la loi de Y sachant X (donnée par l’énoncé) et la loi du couple (X, Y ) qui est demandée.

2. Calculer H(X), I(X, Y ) et r. L’application “bête” des formules donne H(X) = 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 numériques sont H(Y ) = 0.55 et H(X, Y ) = 0.59.

3. Quelqu’un prétend avoir trouvé un nouveau test, dont l’efficacité serait 1.15. Est-ce possible ? C’est impossible, mais l’affirmation “une efficacité ne peut pas être plus grande que 1” est insuffisante (j’espère que personne ne l’aurait utilisé si, au lieu d’efficacité, l’énoncé avait parlé de “trucosité”). En re- vanche, on a vu en cours que l’on 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 crée un nouveau test de la manière suivante : on réalise deux fois, de manière indépendante, le test d’origine, et on note Z = (Y1, Y2) les résultats obtenus. On définit l’efficacité de ce nouveau test par r′ = I(X, Z)/H(X).

(a) Justifier sans calcul que l’on a automatiquement r′ ≥ r. La question est dif- ficile, et n’a pas été traitée de manière satisfaisante (elle est hors barème). Il faut justifier que l’on a forcément I(X, Z) ≥ I(X, Y1). In- formellement : que l’on en sait plus sur X quand on connait Y1 et Y2, que quand on ne connait que Y1. En mettant la différence sous forme de différences d’informations complètes, on a

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

docsity.com

Il faut alors se souvenir que l’entropie conditionnelle n’est rien d’autre qu’une espérance sur les valeurs de la variable par rapport à laquelle on conditionne, et que les conditionnements successifs peuvent être faits dans n’importe 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 présente pas de dif- ficulté technique, elle est seulement longue : il faut calculer complètement la loi du triplet (X, Y1, Y2) (18 valeurs possibles, dont 2 ont probabilité nulle) et appliquer la formule de l’information mutuelle.

Exercice 4 On considère un canal de transmission schématisé de la façon suivante :







0.75

0.25

1

0

1

0

1

On prend en entrée une source binaire X émettant le symbole 0 avec probabilité p, et 1 avec probabilité 1 − p. On note Y le symbole reçu.

1. Donner la loi de (X, Y ) et la loi de Y . Même commentaire que pour l’exercice précédent : il ne faut pas confondre la loi de Y sachant X (qui est donnée par la description du canal) et la loi du couple (X, Y ). Par simples produits (formule des probabilités conditionnelles), on trouve P((X, Y ) = (0, 0)) = 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 déduit par sommation la loi de Y : P(Y = 0) = 0.75p, P(Y = 1) = 1 − 0.75p.

4

docsity.com

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 même pour H(Y ). Il est alors plus simple d’écrire la décomposition I(X, Y ) + H(X, Y ) = H(X) + H(Y ) pour obtenir I(X, Y ). On simplifie significativement les notations et les calculs en utilisant la notation h(x) = −x log2(x)− (1−x) log2(1−x) (fonction entropie binaire) ; on obtient alors

H(X) = h(p)

H(Y ) = h(0.75p)

H(X, Y ) = h(p) − ph(0.75)

I(X, Y ) = h(0.75p) − ph(0.75)

3. Déterminer la capacité du canal. Question difficile si on n’a pas obtenu l’ex- pression ci-dessus pour I(X, Y ), puisqu’il faut déterminer le maximum de I(X, Y ) lorsque p varie entre 0 et 1. On vérifie aisément que la formule donne 0 pour p = 0 et pour p = 1, la fonction atteint dont son maximum en un point où sa dérivée s’annule. Autre difficulté, il faut penser, lors de la dérivation, que l’on travaille en logarithme à base 2. On obtient

h′(x) = − 1

ln(2) (ln(x) − ln(1 − x)) = log2

(

1 − x

x

)

,

et on se ramène à résoudre l’équation

0.75 log2

(

1 − 0.75p

0.75p

)

− h(0.75) = 0,

dont la solution est

x = 4

3.24h(3/4)/3 ' 0.4278

qui donne une valeur maximale pour l’information mutuelle (et donc la capacité) :

C ' 0.558.

4. On suppose désormais que p = 0.6.

(a) Quelle est la probabilité que le symbole reçu soit différent du symbole émis ? Question très simple : le symbole reçu est différent du symbole émis si et seulement si on émet 0 et reçoit 1 (puisque 1 est toujours transmis sans erreur), soit une probabilité de 0.25p = 0.15.

(b) On cherche à améliorer la situation (diminuer la probabilité d’erreur) en du- pliquant le symbole émis par S (on envoie deux fois le même symbole), et en décodant les deux symboles reçus selon la règle 00 7→ 0, 01 7→ 0, 10 7→ 0, 11 7→ 1. Quelle est la probabilité que le symbole décodé soit différent du sym- bole initialement émis ? Dans cette situation, le symbole décodé diffère

5

docsity.com

du symbole émis par la source, si et seulement si la source émet 0, mais que c’est 11 qui est transmis. La probabilité n’est pas le carré de la précédente, puisque la source n’est interrogée qu’une seule fois : la réponse correcte est p.(0.25)2 = 0.0375 (soit 3.75%).

(c) Justifier le choix qui a été fait de la fonction de décodage ci-dessus. Dans la mesure où le canal transmet toujours fidèlement les 1, on peut être sûr, chaque fois qu’un 0 est reçu, que c’est bien un 0 qui a été émis. Il est donc naturel, chaque fois qu’un des blocs 00, 01 ou 10 est reçu, de décoder en 0 puisque l’on sait avec certitude que c’est ce qui a été émis. Il reste alors seulement le choix entre décoder 11 en 0 (et alors, tout sera décodé en 0 ; l’information transmise est nulle), et décoder 11 en 1.

6

docsity.com

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Docsity n'est pas optimisée pour le navigateur que vous utilisez. Passez à Google Chrome, Firefox, Internet Explorer ou Safari 9+! Téléchargez Google Chrome