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