Entropie de Shannon, théorie de l`information et

publicité
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
Téléchargement