Théorie de l information Master 1 Cryptographie Université de Rennes 1 oumar.diao@univ-rennes1.fr Janvier 2012
Introduction Ethymologie : information vient du verbe latin informare qui signifie "donner forme à" (ou "se former une idée de"). Actuellement, le mot "information" est étroitement lié aux notions de donnée, de connaissance, de communication, de signification, de perception, de représentation, etc. La théorie de l information s occupe de la transformation, de la transmission et de la conservation de donnée (ou information). Dès lors, elle se préoccupe de l efficacité des systèmes d information et de communication. Pour traiter mathématiquement les problèmes soulevés par la théorie de l information, il faut d abord définir une mesure pour l information. Dès les années 20, citons les tentatives de définition de mesure pour l information par Nyquist (comm.), Fisher (stat.) et Hartley (élec.). En 1948, Shannon formalise la définition de la mesure pour l information et pose ainsi les bases de la théorie de l information.
Codage de l information : motivation L objectif originel de la théorie de l information est le transport et la conservation "sans perte" d information : elle doit pouvoir être restituer dans son intégralité. Les informations que nous recevons journalièrement, sous forme de messages (ou de nouvelles), sont stockées, transformées et traitées par le cerveau. La reproduction fidéle de ses informations est difficile et pose le problème de la quantification de l information contenue dans une nouvelle. Pour pouvoir messure la quantité d information contenue dans un message, nous devons faire abstraction de sa forme et de son contenue. Par exemple, l employé des Postes qui doit émettre un message est totalement indifférent à la signification du message, ce qui compte pour lui, c est de faire payer un service dépendant exclusivement du nombre de mots. Dès lors, un texte incohérent, i.e. une suite arbitraire de caractères est un message.
Codage de l information : introduction Pour pouvoir être mesurer, l information doit d abord être coder. Exemple : le langage écrit pour les informations du langage parlé, le langage parlé pour les informations du langage mimique, le code télégraphique (basé sur le code Morse) le code ASCII pour les informations écrites etc. Le codage de l information nécessite un alphabet. Exemple : le français écrit : {a,, z} alphabet Morse : 4 symboles notés : {,, α, β} Binaire : {0, 1} Hexadécimal : {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f }
Codage de l information : définition Un alphabet A est un ensemble fini ou "dénombrable" (de symboles), on note A = {a 1,, a q}. Un mot M est une suite finie d éléments de A. Un mot de longueur l est alors de la forme M = a i1 a il. On note par A l ensemble des mots défini sur A. Sur l ensemble A, la "concaténation" permet de définir une loi de composition interne et fait de A un monoïde. Une information peut être défini comme une jaxtoposition finie et aléatoire de mots. Si A contient la ponctuation, alors une information est un mot. Mésurer une information M = définir une "mesure mathématique" sur M. Donc une information M peut être considéré comme un événement formé d une répétitition d expériences aléatoires et "indépendantes". La quantité d information apportée par la réalisation d un événement est équivalente à l incertitude sur cet événement : un événement certain apporte une information nulle, plus un événement est "improbable", plus il apporte de l information.
Quantité d information : mesure de l incertitude Nous avons une bijection entre l information d un événement et l incertitude de sa réalisation. Appelons par f une telle bijection. Soit E un événement aléatoire, notons par Pr(E) la probabilité de réalisation de E et par h(e) la mesure d incertitude. Relation entre h, Pr et f? Propriété de la bijection f : Comme un événement certain apporte une information nulle, donc Pr(E) = 1 h(e) = 0, i.e. f (1) = 0. h(e) est d autant plus grande que Pr(E) est petite, i.e. on peut poser h(e) = f 1, avec f une fonction croissante. Pr(E) si E et F sont des évén. indépendants, alors h(e F) = h(e) + h(f), c-a-d 1 f = f 1 Pr(E F ) Pr(E) 1 = f 1 + f 1 Pr(F ) Pr(E) Pr(F)
Quantité d information : fonction adéquate La fonction f à cherchée vérifie les propriétés suivantes : (f : [1, + [ R +, f crois., f (1) = 0 et f (xy) = f (x) + f (y)) f = log a. Le réel positif a > 1 désigne l unité de mesure de l incertitude. On a alors h(e) = f (1/Pr(E)) = log a (Pr(E)). si a = e = exp(1), alors l unité d incertitude est le nat (natural unit) ; si a = 10, alors l unité d incertitude est le ban (ou dit : decimal unit) ; si a = 2, alors l unité d incertitude est le bit (binary unit) ou le Shannon. On peut interpréter h(e) = log a (Pr(E)) de deux façons : à priori, par l incertitude qui régne sur la réalisation de l évén. E à postériori, par l information apportée par la réalisation de l évén. E
Information comme probabilité conditionnelle L information dépend aussi du niveau de connaissances : si E est une information (événement aléatoire d un alphabet A), alors h(e) dépend aussi d une autre information F (appelée connaissance). Autrement dit, la théorie de l information peut être formaliser par une probabilité conditionnelle. On peut alors poser : h(e/f ) = log a (Pr(E/F)), E, F A. Comme Pr(E F ) = Pr(F ) Pr(E/F ) = Pr(E) Pr(F/E)), donc h(e F) = h(f) + h(e/f ) = h(e) + h(f/e) E, F A. Dans ce cas, si E et F sont des événements indépendants, on retrouve l axiome : h(e F ) = h(e) + h(f).
Information mutuelle de deux événements Soit E et F deux info. de l alphabet A, on appelle l information apportée par F sur E, la dimunition de l incertitude sur E lors que F est réalisée : ι F E := h(e) h(e/f). On montre facilement que ι F E := h(f) h(f/e) = ι E F, donc on appelle l information mutuelle entre E et F la quantité : ι(e; F ) = ι(f ; E) = ι E F = ι F E. On voit alors que h(e/f) = h(e) ι(e; F), donc on obtient h(e F) = h(e) + h(f) ι(e; F). Si Pr(E) = Pr(E F) = Pr(F) alors ι(e; F ) = h(a) = h(b).
Entropie d une variable aléatoire discrète Soit M := m 1,..., m l une information (une épreuve aléatoire) et p une loi de probabilité sur M := {m 1,.., m l }. L entropie de M (ou d une v.a. X défini sur M) est par définition l espérance mathématique : H( M) := n n Pr(m i )h(m i ) := Pr(m i ) log(p(m i )). i=1 i=1 L entropie donne une appréciation numérique globale, plus précisément elle donne une incertitude moyenne attachée à l expérience. Remarques : H( M) ne dépend que de la loi de probabilité de M Exprimé en Shannons, H( M) représente le nombre moyen de bits nécessaire à la codification des différents éléments de M; p 1 et p 2 deux lois de proba. sur M, l i=1 p 1(m i ). log ( p2 (m i ) p 1 (m i ) ) 0. H( M) log(l) et on a l égalité ssi p est la loi uniforme (i.e. p(a i ) = 1/l).
Entropie et information liées à un couple Soit S = x 1...x l et T = y 1...y k des informations d un alphabet A. Soient p et q deux loi de prob. sur S := {x 1,..., x l } et T := {y 1,..., y k } respectivement. Notons par p i,j := Pr(X = x i, Y = y j ) = Pr({X = x i } {Y = y j }) la loi de proba. du produit S T. Nous avons alors, les lois deux lois projetées et les deux lois conditionnelles suivantes : Pr(X = x i ) := p i = k p ij et Pr(Y = y i ) := q j = j=1 Pr(X = x i /Y = y j ) := P j (i) = p ij q j et Pr(Y = y j /X = x i ) := P i (j) = p ij p i L entropie du couple (X, Y ) est : H(X, Y ) = l i=1 k p ij log(p ij ). L entropie du couple est appelée aussi entropie composée ou conjointe. j=1 l i=1 p ij
Entropie conditionnelle L incertitude moyenne sur X sachant que Y = y j est H(X/y j ) = l P j (i) log(p j (i)) = i=1 l i=1 p ij q j log ( pij Cette incertitude (entropie) exprime partiellement l influence de Y sur X. Les entropies conditionnelles sont : H(X/Y ) := H Y (X) = H(Y /X) := H X (Y ) = k q j H(X/y j ) := j=1 l p i H(Y /x i ) := H Y (X) est l incertitude sur X lors qu on connait Y. i=1 l i=1 l i=1 q j k p ij log j=1 k p ij log j=1 ). ( pij q j ( pij p i ). ).
Information mutuelle moyenne L information mutuelle moyenne entre X et Y peut s écrire : I(X; Y ) = H(X) H(X/Y ) = H(Y ) H(Y /X) = I(Y ; X). cela correspond à la dimunition de l incertitude sur X lors qu on connait Y (ou resp. la dimunition de l incertitude de Y lors qu on connait X). On peut aisément montrer les relations suivantes : H(X, Y ) = H(X) + H(Y /X) = H(Y ) + H(X/Y ) I(X, Y ) = H(X) + H(Y ) H(X, Y ) L information mutuelle moyenne de X et de Y est toujours possitive alors l information mutuelle de deux événements peut être négative. Le conditionnement diminue l incertitude, i.e. H(X) H(X/Y ). On peut étendre le raisonnement dans le cas de n variables.
Transmission des données : communication
Modèle d un système de communication Un système de communication est composé de trois entités : Éméteur ou source Voix ou Canal Récepteur Le canal peut subir des perturbations comme les bruits, les erreurs d écriture/lecture, etc. L éméteur et le destinataire doivent se comprendre, ils doivent utiliser le même système de codeur/décodeur. Avant l envoie de l information (considérée comme un message), l éméteur doit la coder dans un alphabet A, on dit parfois alphabet de la source. Alors, émettre un message revient à faire un choix "aléatoire" d un élément de A. Pour le récepteur, deux conditions doivent être réalisée : a) une possibilité de lecture, donc le destinataire connait l alphabet A. b) une règle de décision permettant de désigner le message reçu. On distingue plusieurs types de sources, de canaux et de destinataires.
Types de sources Une source d information est un couple S = (A, p) où A est un alphabet et p une loi de probabilité défini sur A. Plus précisément, une source discrète est un dispositif susceptible de fournir un ensemble dénombrable fini (ou infini) de messages ("élémentaires") S = {s 1,..., s r } issus de A. Autrement dit, une source est une suite de variables aléatoires (X n) n N (finie ou infinie). S est une source est stationnaire si pour tout i, les X i ont même loi. La source S a une mémoire d ordre m si et seulement si, pour tout n ( ) ( ) Pr X n/ n 1 j=1 X j = Pr X n/ n 1 j=n m X j. Pr (X n/x n 1, X n 2,..., X 1 ) = Pr (X n/x n 1, X n 2,..., X n m). m = 0 S est sans mémoire et si m = 1 S est source de Markov.
Source discrète avec mémoire Soit (X n) n N la suite de v.a. d une source de mémoire m. Posons la v.a. Z n := (X n, X n 1,..., X n m+1 ). Donc (Z n) n N est une chaine de Markov. En effet, Pr(Z n/z n 1, Z n 2,..., Z n m) = Pr(X n, X n 1,..., X n m+1 /X n 1,..., X 2, X 1 ) = Pr(X n, X n 1,..., X n m+1 /X n 1,..., X n m+1, X n m) = Pr(Z n/z n 1 ). Toute S de mémoire m peut se ramener en une chaine de Markov. On n étudiera que les sources de mémoire 1, i.e. les chaines de Markov. La matrice de transition des proba est T = (Pr(X i /X i 1 )) 1 i n La source est dite homogène si T est indépendant de l entier n
Entropie d une source avec mémoire Soit S une source stationnaire de mémoire m = q 1 sur A = {a 1,..., a q} L entropie de la source S peut se calculer avec la limite suivante : H (S) := lim q H (X q/x q 1,.., X 1 ) 1 := lim q q H(X 1,..., X q). La limite existe car la suite (H(X q/x q 1,.., X 1 )) est décroissante et minorée. En effet, comme le conditionnement diminue l incertitude, alors pour tout q : H(X q/x 1, X 2,..., X q 1 ) H(X q/x 2,..., X q 1 ) := H(X q 1 /X 1,..., X q 2 ). si la mémoire m = 0, alors H (S) = H(X 1 ) log(q) si la mémoire m = 1, alors H (S) = H(X 2 /X 1 )
Exemple : Entropie d une source binaire Soit une source binaire S = {0, 1} où la proba. d avoir 1 est p. Alors l entropie de la source est : { p log(p) (1 p) log(1 p) si 0 < p < 1 H(S) = 0 si p = 0 ou 1 Soit une source S = {a 1, a 2, a 3, a 4 } avec Pr(a 1 ) = 1/2, Pr(a 2 ) = 1/4 et Pr(a 3 ) = Pr(a 4 ) = 1/8. Alors H(S) = 1, 75 En Shannons, l entropie d une source est le nombre moyen minimal de symboles binaires par lettre nécessaires pour représenter la source
Codage de source : motivation Soit S une source sur un alphabet A = {a 1,..., a q}. Si les éléments a i n ont pas la même proba. alors on peut dire que A est mal utilisé, car l information fournit par la source est inférieure au maximum possible (H(A) log a (q)). Codage de source = transformer l alphabet de la source en un alphabet où les symboles sont "presques" équiprobables et indépendants : A B := {b 1,..., b t} avec p(b i ) 1 t (loi uniforme). Le codage d une source joue un rôle : d intermédiaire qui permet le transport de S (le signal, le numérique) d économie : accélération du débit, utilisation maximale de la source de lutte contre le bruit avec la redondance.
Codage de source : définitions Soit S = {s 1,..., s n} une source sur A et soit B = {b 1,..., b t} un alphabet de référence (en général B = {0, 1} alphabet binaire). un codage de S par B = fonction c : S B tq c(s i s j ) = c(s i )c(s j ) un mot-code est l image c(s i ) B du mot s i de S. un code C sur l alphabet B est un sous-ensemble de B, C = c(s). C est dit régulier (ou non-singulier) si c est une application injective C est dit uniquement déchiffrable si et seulement si pour tout entier n, la fonction n k=1s k B est injective : si u 1,.., u l C et v 1,..., v k C, alors u 1 u 2 u l = v 1 v 2 v k = l = k et i, u i = v i. C est dit préfixe si aucun mot de C n est le début d un autre mot de C. C est dit de longueur fixe si tous ses mots ont la même longueur. C est un code de long. fixe = C est un code préfixe = C est déchiffrable.
Codage de source : exemple L alphabet de référence est l alphabet binaire B = {0, 1} : alors {00, 01, 10, 11} est un code de longueur 2, donc déchiffrable! {0, 11, 010} est uniquement déchiffrable {0, 1, 101} n est pas uniquement déchiffrable, car 101 = 1//0//1 {0, 10, 110, 111} est un code préfixe {0, 11, 110, 111} n est pas un code préfixe car 11 est le debut de 110. un code C est dit à décodage instantané s il est possibilité de décoder un mot dès que tous les symboles du mot ont été reçus. un code C est dit irréductible si C est un code préfixe et instantané.
Codage de source : caractéristiques Soit C un code sur B = {b 1,..., b t}, pout tout u C, on appelle longueur de u, et on note u le nombre symboles de B permettant d écrire u. Longueur moyenne de C : c est la longueur moyenne des mots de code n := Pr(u) u. u C H Efficacité : L efficacité de C, d entropie H est définie par E = n log a (t). débit littéral de la source D S = nombre de symboles émis par seconde débit d information est l information moy. par seconde D I = D S H/n. redondance (utile contre le bruit des canaux) est r = 1 E comme l entropie H log 2 (t) donc l efficacité E 1
Codage de source : exemple Soit A = {a 1, a 2, a 3, a 4 } et deux codes a i Pr(a i ) C 1 C 2 a 1 1/2 00 0 a 2 1/4 01 10 a 3 1/8 10 110 a 4 1/8 11 111. L entropie de la source est H(S) = 1, 75 bits. Pour le code C 1, on a : n 1 := 2, alors E 1 = 87, 5% et r 1 = 1 E 1 = 12, 5% Pour le code C 2, on a : n 2 := 1, 75 alors E 2 = 100% et r 2 = 1 E 2 = 0. le code C 2 est plus efficace que le code C 1, cela peut s expliquer par le fait que C 2 affecte les mots les plus courts aux message les plus fréquents. Plus n est petite, plus le code est efficace, mais on l appauvrie! Peut-on toujours atteindre une efficace de 100% sans appauvrir le code?
Source : code de longueur fixe Proposition : Soit S une source discrète sur A := {a 1,..., a q}. Alors, il est possible de coder S avec un code régulier de longueur fixe m tel que log 2 (q) m < 1 + log 2 (q), avec une efficacité E = H(A) m. Exemple soit une source d alpha. A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} muni de la loi uniforme. Le codage peut se faire avec un code de longueur 4. Alors E := H(A) 4 = log 2 (10) 4 83%. Pour améliorer l efficacité, on peut coder avec les paires A 2 = {00,..., 99}. La source peut être coder avec un code de longueur 7 et d efficacité E 2 := H(A2 ) 7 = log 2 (100) 7 95%. Avec les l uplets A l, on a : H(A l ) = l H(A), long. m l = l log 2 (10) et E l = l H(A)/ l log 2 (10) avec lim l E l = 1
Source : code de longueur fixe - généralité Soit S = {s 1,..., s n} une source discrète et soit S l la source des l uplets. La source S k peut être coder avec un code régulier de longueur m k tel que log 2 (n) m k k < 1 k + log 2 (n). L efficacité d un tel code vaut E(k) = H(Sk ) m k = l H(S) m k = H(S), avec l k := m k l k k. Comme lim k l k = log 2 (n), alors lim k E(k) = H(S) log 2 (n). Impossible de s approcher d un codage optimal avec un code régulier. Pour une source munie d une loi uniforme, l efficacité est proche de 1. L efficacité croit mais le codage et le décodage se complexifient
Source : code de longueur variable Pour construire des codes déchiffrables et plus particulièrement des codes irréductibles aussi économiques que possible, nous avons : Théorème de Kraft : Il existe un code irréductible de l mots de longueurs respectives n 1,..., n l sur un alphabet B = {b 1,..., b q} est l q n i 1. i=1 Théorème de Mac Millan (généralisation du thm de Kraft) : Il existe un code déchiffrable de l mots de longueurs respectives n 1,..., n l sur B est l q n i 1. Les théorèmes de Kraft et de Mac Millan sont non constructifs. i=1
Source : premier théorème de Shannon Remarques : 1) Pour toute source S codée par un code déchiffrable sur B = {b 1,..., b q}, la longueur moyenne n des mots-code vérifie H(S) n log(q). 2) Il existe un codage irréductible dont la longueur moyenne n vérifie n log(q) < H(S) + log(q). Premier théorème de Shannon Pour toute source homogène, il existe un codage déchiffrable dont l efficacité est arbitrairement proche de 1. Ce théorème est encore appelé le théorème du codage sans bruit par opposition au second théorème de Shannon relatif au canal bruyant.
Codage de source : compression de données Optimisation de la taille d un message pour le stockage (ou la comm.) Compression des données : transformer un long texte T en un texte U plus court tel qu on retrouve T à partir de U. Si on retrouve exactement T, on parle de compression ou code réversible type de compression : compression sans perte (RLE, LZW, Huffman, etc.) ou compression avec perte (JPEG, fractal, etc.) Taux de compression : Pour Z {T, U}, notons par l(z ) la long. de Z sur l alphabet B Z de taille q Z, alors le taux de compression est l(u) log(q U ) l(t ) log(q T ). Vitesse de compression : le temps nécessaire à la compression de T Remarque : il n existe aucune méthode idéale (universelle et sans perte) de compression.
Compression : quelques méthodes RLE (Run Length Encoding) : remplacer les suites de caractères répétés par un caractère "spécial" et le nombre de caractère. Ex : AAAAARRRRRROLLLLBBBBBUUTTTTTT (29 lettres) sera codé par @5A@6RO@4L@5BUU@6T (18 lettres) LZW (Lempel Ziv Welch) : utilise un dictionnaire (table) pour stocker la fréquence des symboles. Les symboles ayant des fréquences élevées sont remplacés par un "mot" ayant un nombre de caractères le plus petit possible. Huffman : trier la fréquence des symboles et construire un arbre binaire. Pour l arbre, on relie les 2 éléments ayant la plus petite fréquence par un seul nœud dont la valeur est la somme des deux fréquences et on réordonne la table des fréquences avec le nouveau nœud. Ex : AAAAARRRRRROLLLLBBBBBUUTTTTTT donne 0 U L A B R T 1 2 4 5 5 6 6
Canaux discrets sans mémoire
Canal : définition Canal : permet d acheminer un message entre deux points distants Un canal est la donnée d un triplet : un alphabet d entrée "fini" A = {a 1,.., a r } un alphabet de sortie "fini" B = {b 1,..., b q} une matrice de transition T := [Pr(a i /b j )] 1 i r,1 j q Ex 1 : pour A 1 = B 1 = {0, 1} avec p la proba pour qu un bit soit changé. Alors : [ ] q p T 1 =, avec q = 1 p p q Ex 2 : pour A 2 = B 2 = A 2 1 = {00, 01, 10, 11}, la matrice de transition est : q 2 qp pq p 2 T 2 = qp q 2 p 2 pq pq p 2 q 2 qp, avec q = 1 p p 2 pq qp q 2
Les canaux : propriétés L information transmise par le canal (A, B, T ) est I(A; B) = H(A) H(A/B) = H(B) H(B/A). H(A) : le nombre moyen de bits représentant A (canal sans bruit). H(A/B) : perte d information due au bruit lors de la transmission. Capacité d un canal : plus grande quantité d information moyenne (par symboles de A) qu il peut transmettre. C := max I(A; B), p A où p A : toutes les lois définies sur A. La capacité C existe car l ensemble des lois d emission peut être plonger dans un domaine convexe de R r Pour un canal symétrique, C est atteint pour une loi uniforme de A. Ex : pour un canal binaire symétrique, on a : C = 1 H(p)
Les canaux : second théorème de Shannon Rendement d un code : Soit un code C un code de longueur n et de cardinal N. Son rendement est : R := log(n). n Second théorème de Shannon Soit C la capacité du canal de transmission et soient 2 réels ε > 0 et δ < C. Il existe un code de rendement supérieur à δ tel que la probabilité d erreur en sortie soit inférieure à ε Réciproquement, pour tout code de rendement R > C, il existe une constante α telle que la probabilité d erreur en sortie soit supérieure à α. Conséquence : étude des codes correcteurs d erreurs