TD de Théorie de l`..

publicité
Polytech Marseille, IRM4
TD de Théorie de l’information. 1
1. Rappelez la définition de l'entropie d'une source discrète. Quel est son signe ?
Que représente l'entropie en terme d'information ?
Pour un source S générant des symboles s1, s2, ..., sn, de probabilités respectives
p1, p2, ..., pn , l'entropie est H (S) = – [ p1 log2 (p1) + p2 log2 (p2) + ... + pn log2 (pn) ] .
On peut aussi l'écrire H (S) = p1 log2 (1/p1) + p2 log2 (1/p2) + ... + pn log2 (1/pn). On
peut également considérer qu'il s'agit des réalisations possibles d'une variable aléatoire
discrète X, représentant un expérience aléatoire, de valeurs numériques x1, x2, ..., xn .
Elle est toujours positive. Elle représente la quantité d'information moyenne apportée
par l'observation d'un symbole (ou par la réalisation d'une valeur de X).
Il s'agit aussi de l'espérance mathématique de la variable aléatoire discrète Y, qui
prend les valeurs – log2 (p1), – log2 (p2), ... , – log2 (pn) avec les probabilités
p1, p2, ..., pn (Les valeurs de Y correspondent à la quantité d'information apportée par
l'observation des différents symboles.
2. On considère un fichier binaire formé de valeurs aléatoires. A quelles conditions
est-il possible (en théorie) de compresser l’information ?
La condition nécessaire (pas suffisante en pratique) pour pouvoir compresser des
données est qu'elles contiennent de la redondance. Pour un fichier binaire aléatoire il y
a deux types de redondance possibles : Si les valeurs (indépendantes) du fichier ont
une probabilité différente de 1/2 d'être 0 ou 1, ou si les bits successifs sont corrélés
(avec par exemple des répétitions d'un même bit, comme dans un code à répétition).
Une technique de compression pourra être une méthode RLE. Cette méthode pourra
s'appliquer aux deux types de redondance. On eut aussi envisager un code à longueur
variable, mais pour cela il faut regrouper les bits, par exemple par deux.
Si on suppose les bits 1 et 0 de probabilité respectives p et q (q = 1 – p), l'entropie est
H = – p log2 (p) – q log2 (q). On peut remarquer sur cet exemple que si on pose
f (p) = – p log2 (p) – (1 – p) log2 (1 – p), la fonction f a un maximum en p = 1/2 qui
constitue bien le cas d'entropie maximale (ou l'absence de redondance. Cette entropie
maximale est égale à 1 (un Binary uniT par bit). Dans tous les autres cas l'entropie h
est strictement inférieure à 1, laissant a priori la possibilité de coder les données à
raison de h < 1 bit par bit de données.
Si on suppose p ≠ 1/2, et qu'on regroupe les bits par deux, soit 00, 01, 10, 11, les
probabilités de ces symboles sont q2, pq, pq, p2. L'entropie devient donc
– [p2 log2 (p2) + 2 p q log2 (p q) + q2 log2 (q2)] = – 2 [ p2 log2 (p) + p q ( log2 (p) +
log2 (q) ) + p2 log2 (p) ] = – 2 [ (p2 + p q) log2 (p) + (q2 + p q) log2 (q) ]
= – 2 [ p log2 (p) + q log2 (q)] = 2 H (S)
Il s'agit donc de la même entropie par bit que la suite binaire !
1
Polytech Marseille, IRM4
Si on prend un exemple avec p = 3/4 et q = 1/4, on obtient H = 0.815
On peut regrouper les bits par deux, et les coder par un code à longueur variable :
11
1
(p1 = 9/16)
10
01
(p2 = 3/16)
01
001 (p3 = 3/16)
00
000 (p4 = 1/16)
avec une longueur moyenne de 27/16 = 1.688 bits, à comparer à l'entropie 2H = 1.63.
3. Une source fournit des symboles de l’alphabet {A, G, C, T} de probabilités
connues, respectivement 0.44 ; 0.23 ; 0.19 ; 0.14 . Y a-t-il pour coder ces symboles
un code efficace ? Quelles performances pourrait-on attendre d’un tel code ?
Pouvez-vous en proposer un ?
Les probabilités sont différentes de 0.25, et il y a donc de la redondance. On eut
mesurer cette redondance avec le calcul de l'entropie : H = 1.86. On peut en déduire
que si un code efficace (optimal) existe, sa longueur moyenne sera supérieure à 1.86.
La seule possibilité pour un code meilleur que le code fixe est de coder le symbole le
lus probable sur un bit. Le deuxième pourra alors être codé sur 2 bits, et les deux
suivants su 3 bits (cf exercice 2). On peut par exemple utiliser le code suivant :
A:1
G : 01
C : 001
T : 000
Il s'agit bien d'un code non ambigu, car il respecte la condition préfixe (aucun mot
n'est préfixe d'un autre mot du code). On peut déterminer sa longueur moyenne :
L = 1.89. C'est donc bien un code optimal. L'écart avec l'entropie est lié à un effet de
bord (l'égalité ne peut avoir lieu que si toutes les probabilités des symboles de la
source sont des inverses de puissances de 2).
Remarque : On peut retrouver la forme du (d'un) code optimal avec l'algorithme de
Huffmann :
A (0.44)
A (0.44)
A (0.44)
G (0.23)
G (0.23)
S1 (0.33)
C (0.19)
0 S1 (0.33)
T (0.14) 1
2
G (0.23) 1
A (0.44)
0 S2 (0.56)
S2
A1
0 R
Polytech Marseille, IRM4
4. Pour une source à trois symboles quelles sont les valeurs possibles de l’entropie
de la source ? Même question pour une source à 4 symboles. Peut-on citer des
conditions sur les probabilités des 4 symboles pour qu’il existe un code meilleur
que le code fixe de longueur 2 ? Quelle est la condition pour qu'un code optimal
coïncide avec l'entropie ?
Pour une source à M symboles, l'entropie peut prendre toutes les valeurs entre 0 et
l'entropie maximale, log2 (M). Pour le vérifier il suffit d'observer qu'elle peut prendre
des valeurs arbitrairement petites, en prenant la probabilité d'un des symboles proche
de 1, et qu'elle est continue, et donc vérifie le théorème des valeurs intermédiaires.
Si on pose p1 = 1 – 1/n et pk = 1/n (M – 1), 1 < k ≤ M, l'entropie peut s'écrire H (n) , et
H (n) ∼ 1/n + (M – 1) . 1/n (M – 1) [log2 (n) + log2 ((M – 1 ] ∼ log2 (n) / n tend vers 0
quand n tend vers l'infini. Pour la continuité il s'agit d'une fonction de M variables à
valeurs dans R, mais le théorème reste valide.
Pour la condition d'existence d'un code efficace, meilleur que le code fixe, on peut
reprendre une remarque précédente. Si la source a 4 symboles, de probabilités
p1 ≥ p2 ≥ p3 ≥ p4, la longueur moyenne du code sera L = p1 + 2 p2 + 3 p3 + 3 p4, et
comme p1 + p2 + p3 + p4 = 1, L = p1 + 2 p2 + 3 [1 – (p1 + p2) ] = 3 – 2 p1 – p2. La
condition que ce code est meilleur que le code ixe s'écrit donc L = 3 – 2 p1 – p2 < 2, ou
encore 2 p1 + p2 > 1. On peut noter une condition nécessaire, que p1 > 1/3.
Les exemples précédents vérifiaient bien ces conditions : 2 × 0.44 + 0.23 = 1.11
(exercice 3), et 2 × 9/16 + 3/16 = 21/16 > 1 (exercice 2). Si on prend des valeurs moins
éloignées de l'équirépartition cela ne sera plus possible : si p1 = 0.33, ou si p1 = 0. 35 et
p2 = 0.29, avec par exemple p3 = 0.2 et p4 = 0.16 la redondance réelle présente dans
les données ne permet pas la moindre compression.
Le fait que la longueur moyenne d'un code optimal puisse atteindre l'entropie
n'arrivera, comme on l'a déjà souligné, que si tous les pk s'écrivent 1/2αk. La
démonstration de cette propriété est une conséquence du théorème de comparaison.
5. Vérifiez que pour une source discrète de n symboles l’entropie est maximale si les
probabilités sont identiques. Montrez que pour une source continue prenant ses
valeurs dans l’intervalle [a, b] l’entropie est maximale si la loi de probabilité est
uniforme. Y a-t-il une loi qui minimise la valeur de l’entropie ?
La démonstration générale dans le cas discret tient à la résolution d'un problème
d'optimisation sous contrainte, qui peut se faire à l'aide de multiplicateur de Lagrange.
Ce calcul a été fait en séance, et nous renvoyons pour la méthode aux cours
d'optimisation.
Pour les cas continus il faut utiliser des théorèmes de convexité du calcul des
probabilités, comme l'inégalité de Jensen. Nous développerons ces éléments dans un
fascicule complémentaire au cours d Théorie de l'Information.
Pour la minimisation de l'entropie, comme il s'agit d'un information complète, cela
revient à supprimer le caractère aléatoire, et donc à considérer une situation
déterministe.
3
Polytech Marseille, IRM4
6. Vérifiez la formule : H (X, Y) = H (X /Y) + H (Y), en précisant la définition et les
différences entre les trois termes de cette relation.
L'entropie conjointe est définie de manière assez naturelle à partir de la loi conjointe
de X et Y. Si X prend les valeurs x1, x2, ... , xn avec les probabilités p1, p2, ... , pn et si Y
prend les valeurs y1, y2, ... , ym avec les probabilités q1, q2, ... , qm, on notera
pkl = P (X = xk , Y = yl) et qkl = P (X = xk / Y = yl) = P (X = xk , Y = yl) / P (Y = yl) .
On peut remarquer que pour tout indice k = 1, 2, ..., n, pk1 + pk2 + ... + pkm = pk, et
pour tout indice l = 1, 2, ..., m, p11 + p2l + ... + pnl = ql.
n
H (X, Y) = – ∑k = 1
n
H (X/ Y) = – ∑k = 1
m
∑l = 1
m
∑l = 1
pkl log2(pkl) et
pkl log2(qkl)
En effet les informations conditionnelles s'écrivent bien – log2(qkl), mais leur
moyenne se fait en pondérant avec les coefficients pkl.
n
Si on développe H (X/ Y) = – ∑k = 1
= – ∑k = 1
= – ∑k = 1
n
n
m
∑l = 1 pkl log2(pkl/ql)
n
m
n
m
= – ∑k = 1 ∑l = 1 pkl log2(pkl) + ∑k = 1 ∑l = 1
m
m
n
∑l = 1 pkl log2(pkl) + ∑l = 1 (∑k = 1 pkl) log2(ql)
m
m
∑l = 1 pkl log2(pkl) + ∑l = 1 ql log2(ql)
pkl log2(ql)
= H (X, Y) – H (Y)
7. Vérifiez que l’entropie d’une somme de variables est supérieure à celle des deux
termes de la somme (cas discret et cas continu). Rappelez l’énoncé du théorème
de limite centrale, et des applications de ce théorème. Indiquez un lien entre la
notion d’entropie et le théorème de limite centrale.
Non traité en séance. Cf annexe au cours.
8. Justifiez la définition de la convexité généralisée d'une fonction.
La propriété se montre directement par récurrence (cf cours d'analyse)
9. Montrez que la divergence de Kullback est toujours positive (cas discret et
continu).
Inégalité de Jensen : pour une fonction convexe g et une variable aléatoire X telle
que les espérances de X et de g (X) existent, g [E (X) ] ≤ E [g (X)).
Pour des variables aléatoires discrètes X et Y de probabilités respectives p1, p2, ... , pn
et q1, q2, ... , qn la divergence de Kullback est définie par K (X, Y) = – ∑ pk log2(qk / pk)
La fonction – log2 étant convexe, la convexité généralisée s'écrit :
– log2(∑ pk . qk / pk) = 0 ≤ – ∑ pk log2(qk / pk).
4
Téléchargement