ESPCI 1ère année, Tutorat de physique statistique Entropie de Shannon, théorie de l’information et compression des données En 1948, tandis qu’il travaillait aux Laboratoires Bell, l’ingénieur en génie électrique Claude Shannon formalisa mathématiquement la nature statistique de « l’information manquante » dans les signaux des lignes téléphoniques. Pour ce faire, il développa le concept général d’entropie et d’information. Dans ce tutorat, nous allons étudier cette entropie (qui se trouve être la même, à une constante multiplicative près, que celle de Boltzmann) et ses liens avec la compression de données. 1 Entropie et probabilité On place aléatoirement N particules discernables dans k boîtes, de façon équiprobable. 1. Donnez le nombre NN ((Nj )1≤j≤k )) de configurations où pour tout j, la boîte j contient Nj particules. Quel est le nombre total d’expériences ? Déduisez-en la probabilité d’obtenir « l’état macroscopique » (Nj )j . 2. Considérez la limite « thermodynamique » N → ∞. En utilisant la formule de Stirling, montrer que l’on peut écrire NN ((Nnj )j ) ' exp(NΣ((nj )j )) (on ne retiendra que les termes « extensifs » dans l’exponentielle). Que vous évoque la fonction Σ((nj )j ) ? On associe l’énergie Ej à l’état j. 3. En utilisant le formalisme des multiplicateurs de Lagrange, nj les plus P calculez les nombres d’occupation P probables sous les contraintes de nombre de particules fixé, j nj = 1, et d’énergie fixée, j Ej nj = . 2 Surprise et incertitude Passons maintenant à la théorie de l’information. Considérons une variable aléatoire X qui peut prendre une valeur parmi les N possibles dans un alphabet χ = {x1 , . . . , xN }, avec P(X = xi ) = pi . Pour cet exercice, prenons χ = {A, B, C, D} et pA = 1/2, pB = 1/4, pC = pD = 1/8. Tirons une valeur xi . Moins cette valeur est probable, plus nous sommes surpris de la voir apparaître. On définit la « surprise » comme log2 (1/pi ). Appelons, avec Shannon, « incertitude » la surprise moyenne. 4. Comment s’écrit l’incertitude en général ? Que vaut-elle dans notre exemple ? Nous appelerons entropie cette incertitude. 1 3 Entropie de Shannon et questions oui/non Nous voulons maintenant répondre à la question : à quel point est-il difficile de deviner la valeur d’une variable aléatoire ? On mesure cette difficulté par le nombre moyen de questions fermées auxquelles il faut répondre pour deviner cette valeur. Ce nombre peut se calculer pour plusieurs algorithmes de questionnement. Pour deviner la valeur de X parmi les quatre possibles, on regarde les deux algorithmes suivants : — algorithme (i) : la première question est « la lettre X appartient-elle à l’ensemble {A, B} ? ». — Si la réponse est « oui », on demande « X = A ? ». — Sinon, on demande « X = C ? ». On a ainsi déterminé la valeur de X en deux questions. — algorithme (ii) : la première question est « X = A ? ». — Sinon « X = B ? » — Sinon « X = C ? » 5. Déterminez le nombre moyen de questions à poser hnQ i avec ces deux algorithmes. Lequel est le plus efficace ? Comparer avec l’entropie de l’alphabet. Même question si les 4 lettres sont équiprobables. 6. Même question avec l’algorithme (i) pour 3 lettres équiprobables, puis pour 2b lettres équiprobables. 7. Dans le cas général d’un alphabet de N lettres (xi ) de probabilités (pi ), généraliser l’algorithme (ii). Que vaut hnQ i ? Initialement, il ne semble pas que Shannon ait été au courant de la relation entre sa nouvelle mesure et les travaux précédents en thermodynamique. En 1949, tandis qu’il travaillait à ses équations depuis un moment, il rendit visite au grand mathématicien John von Neuman qui lui dit : « La théorie est excellente mais elle a besoin d’un bon nom pour « information perdue ». Pourquoi ne l’appelles-tu pas entropie ? Premièrement, un développement mathématique ressemblant fort au tien existe déjà dans la mécanique statistique de Boltzmann, et deuxièmement, personne ne comprend vraiment bien l’entropie, donc dans une discussion tu te trouverais dans une position avantageuse. » 4 Compression de l’information Prenons un fichier avec N valeurs aléatoires dans {x1 , . . . , xA }. Ce fichier prend une place N log2 (A) bits sur le disque dur. On utilise les algorithmes précédents pour compresser le fichier : on remplace chaque caractère par la suite des réponses aux questions données dans la partie précédente qui y aboutissent. Chaque réponse est stockée sur un bit. 8. Quelle est la taille moyenne du fichier comprimé ? 9. Comparez ce résultat avec les performances d’un programme de compression (zip, xz) pour les fichiers textes que vous pouvez récupérer à l’adresse suivante : http://www.pct.espci.fr/˜vdemery/files/textes_al%C3%A9atoires.tar — random256.txt : caractères tirés uniformément dans un alphabet de 256 lettres, — — random128.txt : caractères tirés uniformément dans un alphabet de 128 lettres, — random4.txt : caractères tirés uniforméments dans un alphabet de 4 lettres, — random4_b.txt : caractères tirés dans un alphabet de 4 lettres avec les probabilités de la section 2. 2 5 Entropie de l’anglais La fréquence des lettres en anglais est disponible à l’adresse suivante : https://en.wikipedia.org/wiki/Letter_frequency 10. Quelle est l’entropie de l’alphabet latin avec ces fréquences ? Quel taux de compression peut-on espérer à partir d’un fichier utilisant un encodage sur 256 caractères ? Regardez les taux de compression qu’il est possible d’obtenir à cette adresse http://prize.hutter1.net 11. D’où peut venir cette différence ? 3