1 Plan du cours Introduction Notions de mécanique : force, énergie, travail, puissance… Température et chaleur Systèmes, transformations et échanges thermodynamiques Premier principe de la thermodynamique Second principe de la thermodynamique Brève introduction aux probabilités et à la statistique Notions élémentaires de mécanique statistique Théorie de l’information Placez le curseur sur l’illustration dont vous désirez connaître l’origine.
2 Théorie de l’information Tout comme les termes utilisés en physique (force, énergie, puissance…), le mot information reçoit dans le langage courant un grand nombre d’acceptions. Nous considérerons l’information comme quelque chose que l’on peut transmettre à autrui, c’est la communication. Ici encore, plusieurs approches sont possibles, répondant à diverses questions, formulées par Warren Weaver ( ) en 1964 : avec quelle précision et quelle fidélité les signaux peuvent- ils être transmis (le problème technique) ? avec quelle exactitude les symboles transmettent-ils la signification voulue du message (problème sémantique) ? avec quelle efficacité le message transmis affecte-t-il le comportement du système (du destinataire) dans le sens voulu (le problème d’efficacité) ?
3 Théorie de l’information La naissance de la théorie de l’information coïncide avec le développement des télécommunications dans la première moitié du XX e siècle. Les pères fondateurs, Nyquist et Hartley, à la fin des années vingt, Shannon, à la fin des années quarante, étaient tous trois employés aux laboratoires de recherche de la société Bell. Par la suite, Léon Brillouin ( ) développa la théorie de l’information dans l’esprit de la thermodynamique en proposant notamment une résolution du paradoxe du démon de Maxwell. Les techniques de codages, pour lesquelles Shannon avait fourni les bases théoriques sans nécessairement donner de construction explicite, ont beaucoup progressé dans les années septante (Ziv et Lempel) et nonante (turbocodes).
4 Diagramme de communication Les étapes successives du transfert de d’information peuvent être schématisées par un diagramme de communication : SourceCodeurÉmetteur Canal RécepteurDécodeurDestinataire Bruit
5 Diagramme de communication Cette représentation nous servira de guide pour répondre à des questions telles que : comment mesurer la quantité d’information ? comment mesurer la capacité d’une voie de communication ? quel est le but (quels sont les buts) du codage ? Comment mesure-t-on l’efficacité d’un codage ? peut-on limiter les effets du bruit et comment ? si le signal est continu plutôt que discret, comment cela modifie- t-il la donne ?
6 Mesure de l’information Pour mesurer l’information contenue dans un message, considérons le nombre de messages de même longueur que l’on eût pu former en faisant usage des mêmes symboles. Si on me communique un numéro de téléphone à sept chiffres, f 1 f 2 f 3 f 4 f 5 f 6 f 7, ce numéro représente une possibilité parmi 10 7 ; s’il s’agit d’un numéro à six chiffres, p 1 p 2 p 3 p 4 p 5 p 6, le nombre de messages possibles sera égal à Il paraît naturel d’attribuer une quantité d’information plus grande au premier message, puisqu’il résulte d’un choix effectué dans un ensemble plus vaste. Par ailleurs, si on me transmet les deux numéros, l’information résultante devrait être la somme de l’information associée à chacun séparément.
7 Mesure de l’information Le nombre de paires de messages à considérer est égal au produit du nombre de messages possibles dans chacun des cas. Afin d’établir la correspondance souhaitée entre produit et somme, nous prendrons comme définition où représente le nombre de messages possibles, k est une constante qui détermine l’unité choisie.
8 Mesure de l’information Nous choisirons d’exprimer l’information en shannons (Sh), ce qui correspond à k = 1 / log 2, et noterons désormais log pour log 2. Cette unité est fréquemment appelée bit, nous réserverons toutefois ce vocable à la désignation d’un chiffre binaire, afin d’éviter d’être confronté à des expressions du type : « ce signal transmet 0.75 bit par bit ». L’unité correspondante à l’emploi des logarithmes décimaux est le hartley (hart), tandis qu’une mesure en logarithmes népériens donne des nats.
9 Mesure de l’information Nous noterons désormais log pour log 2.
10 Mesure de l’information Il nous faut maintenant préciser le domaine de validité de la relation I = log . Si l’information contenue dans un message est liée au nombre de messages de même longueur que l’on peut construire à l’aide des mêmes symboles, c’est parce que tous ces messages sont supposés également probables, c’est-à-dire qu’ils sont issus d’une source sans mémoire (la probabilité d’apparition d’un symbole ne dépend pas de ceux qui ont été précédemment émis) et que tous les symboles aient la même probabilité d’apparition. Notons que ceci n’est certainement pas le cas pour des messages écrits en un langage naturel (français, anglais, finnois, espagnol…)
11 Mesure de l’information Si, dans ces conditions, un message de longueur n est construit à l’aide de l’alphabet X = {x 1, x 2 …x m }, on trouve En particulier, si le message est exprimé à l’aide de deux symboles, ce qui justifie a posteriori notre choix d’unité.
12 Mesure de l’information On définit l’entropie d’information ou information moyenne par élément
13 Information & entropie L’entropie d’information, H, et l’entropie d’un système physique, S, sont liées l’une au nombre de messages, l’autre au nombre de configurations possibles dans des conditions données. En fait, compter les configurations possibles pour N molécules de gaz parfait occupant une enceinte composée de deux sous-volumes v g et v d, ressemble fort à compter le nombre de messages de longueur N que l’on peut écrire en utilisant l’alphabet X = {g, d}. Cette observation a été mise à profit par Brillouin pour proposer une solution au paradoxe du démon de Maxwell, qui continue à susciter l’intérêt des physiciens. Une autre approche est due à Slater.
14 Le démon de Maxwell A gauche : le démon. A droite : James C. Maxwell ( ).
15 Le démon de Maxwell For we have seen that the molecules in a vessel full of air at uniform temperature are moving with velocities by no means uniform, (…) Now let us suppose that such a vessel is divided into two portions, A and B, by a division in which there is a small hole, and that a being, who can see the individual molecules, opens and closes this hole, so as to allow only the swifter molecules to pass from A to B, and only the slower ones to pass from B to A. He will thus, without expenditure of work, raise the temperature of B and lower that of A, in contradiction to the second law of thermodynamics. Theory of heat (1871).
16 Le démon de Maxwell Léon Brillouin ( ) John C. Slater ( )
17 Vitesse de transmission La vitesse de transmission d’un canal, c.-à-d. son débit, défini comme le nombre de symboles transmis par unité de temps, varie avec la durée de transmission, T, c’est pourquoi nous prendrons plutôt comme définition Cette limite est définie dans tous les cas d’intérêt pratique.
18 Capacité temporelle La quantité d’information transmise par unité de temps représente la capacité temporelle d’un canal On définit de façon similaire la capacité temporelle d’une source et la capacité temporelle d’un destinataire. On note en particulier :
19 Capacité temporelle Une transmission correcte requiert lorsqu’elle fait intervenir une seule source et un seul destinataire. Il arrivera souvent qu’un seul canal desserve plusieurs destinataires. Dans ce cas, on doit avoir :
20 Exemple On peut à partir de là estimer la capacité temporelle d’un téléviseur. Si chacun des pixels de l’écran est composé de trois points de couleurs différentes, pouvant prendre trois niveaux d’intensité, il y a donc 3 3 cas possibles pour chaque pixel et H(X) = log 3 3. À raison de 24 images par seconde, on trouve D C = 24 La capacité temporelle du canal vaut donc : C t (C) = 24 log 3 3 = 46 10 6 Sh / s Tandis que l’information contenue dans une image vaut : I = log 3 3 = 1.9 10 6 Sh
21 Symboles non équiprobables Le dernier résultat obtenu représente en fait l’information contenue dans une image émise par une source sans mémoire, tous les symboles étant équiprobables, ce qui ne correspond pas à la réalité.
22 Notations Pour repérer la place d’une lettre dans l’alphabet de départ, il suffit d’un indice. Si on utilise l’alphabet latin complété d’un espace on note par exemple e = x 5. Pour repérer la place d’une lettre dans un message, on utilise deux indices, l’un faisant référence au message, l’autre à la place de la lettre dans ce message.
23 Notations Si on rédige deux messages à l’aide de cet alphabet on exprime que la 21 e lettre du message est la lettre e en écrivant on écrit pareillement
24 Notations On représente donc un message quelconque,, de longueur n par la notation
25 Symboles non équiprobables L’information associée à un message particulier composé de symboles équiprobables émis par une source sans mémoire est liée au logarithme de sa probabilité d’apparition : L’information moyenne liée à un message de longueur n vaudra dès lors :
26 Symboles non équiprobables Dans le cas d’une source sans mémoire, on trouve et donc
27 Symboles non équiprobables D’où découle la formule de Shannon :
28 Approche alternative On peut considérer le même sujet d’un point de vue axiomatique, faisant intervenir un espace probabilisé {X, x, p(x)}, où X est une expérience dont un nombre fini d’événements élémentaires sont les résultats possibles ; x 1, x 2 … x m sont les résultats possibles ; p 1, p 2 … p m sont les probabilités respectives de réalisation de ces événements. La formule de Shannon devient alors la définition de l’entropie :
29 Propriétés de l’entropie H(p 1,…, p m ) 0 i : p i = 1 H(p 1,…, p m ) = 0 H(p 1,…, p m ) ≤ H(1/m,…, 1/m)
30 Exemple Si trois urnes contiennent une boule blanche et 1, 9 ou 99 boules noires, le résultat d’un tirage sera moins inattendu dans le dernier cas que dans le premier. On peut quantifier cette différence. Partant de on trouvera
31 Exemple Plus l’apparition d’une boule blanche devient rare, plus cet événement est porteur d’information, puisque –log p(b) devient de plus en plus grand. Mais cet événement étant peu fréquent, sa contribution à l’information moyenne devient de plus en plus faible. Cette observation, qui traduit justifie notre convention que
32 X = {0, 1} Lorsque l’alphabet utilisé contient deux symboles, ayant les probabilités d’apparition p et 1 – p, l’information moyenne par caractère est représentée par le graphe de droite. On note fréquemment h 2 (p) pour H(p, 1-p).
33 Application On dispose d’une balance à deux plateaux et de neuf pièces de monnaie dont une est légèrement différente, soit plus lourde ou plus légère que les autres. Peut-on déterminer en trois pesées laquelle diffère des autres et si elle est plus lourde ou plus légère ? Effectuer une pesée, c’est émettre l’un des symboles de X={e, g, d}, selon que la balance reste en équilibre, penche à gauche ou penche à droite. Dans le meilleur des cas, si les trois résultats ont même probabilité, l’information résultant d’une pesée sera égale à log 3 = 1.58 Sh.
34 Application Le problème à résoudre comporte 18 réponses possibles, car a priori chaque pièce peut être trop lourde (9 cas) ou trop légère (9 cas), et en l’absence d’autre information, elles ont toutes même probabilité. La quantité d’information à trouver est donc égale à log 18 = 4.17 Sh. Un message de longueur trois peut fournir jusqu’à 3 1.58 = 4.75 Sh. Le problème n’est donc peut-être pas insoluble. La première pesée doit satisfaire à la condition
35 Application Les pièces doivent donc être disposées sur les plateaux de la balance de façon que chaque résultat ramène à 18 / 3 = 6 le nombre des possibilités. On peut par exemple poser les pièces 1, 2 et 3 sur le plateau de gauche et 4, 5 et 6 sur celui de droite. Si on note nL pour « la n-ème pièce est trop lourde » et nl « la n-ème pièce est trop légère », les résultats de la premières pesée sont : e {7L, 8L, 9L, 7l, 8l, 9l} g {1L, 2L, 3L, 4l, 5l, 6l} d {1l, 2l, 3l, 4L, 5L, 6L} De même, la seconde pesée doit réduire à 6 / 3 = 2 le nombre de cas possibles.
36 Application On peut par exemple disposer 1, 4 et 7 sur le plateau de gauche et 2, 5 et 8 sur celui de droite. Les 9 résultats possibles à l’issue de deux pesées sont ee {9l, 9L}eg {8l, 7L}ed {7l, 8L} ge {6l, 3L}gg {5l, 1L}gd {4l, 2L} de {3l, 6L}dg {2l, 4L}dd {1l, 5L} Pour la dernière pesée, il lever l’indétermination entre deux possibilités. Si on choisit de poser 3, 4 et 9 à gauche et 1, 7 et 8 à droite, on aboutit à :
37 Application eeeimp.gee6ldee6L eeg9Lgeg3Ldegimp. eed9lgedimp.ded3l egeimp.gge5ldge2l egg8lgggimp.dgg4L egd7Lggd1Ldgdimp. edeimp.gde2Ldde5L edg7lgdgimp.ddg1l edd8Lgdd4ldddimp.
38 Application 1lddd1Lggd 2ldge2Lgde 3lded3Lgeg 4lgdd4Ldgg 5lgge5Ldde 6lgee6Ldee 7ledg7Legd 8legg8Ledd 9leed9Leeg
39 Entropie d’un langage Appliquée à un message écrit à l’aide de l’alphabet usuel (26 lettres et un espace), la formule de Shannon donne H = log 27 = 4.75 Sh comme valeur maximale. Les lettres n’apparaissent bien sûr pas toutes avec la même probabilité. Tenant compte des probabilités d’apparition différentes de chaque lettre, on trouve H = 4.03 Sh pour l’anglais. Cette estimation est encore trop élevée, car elle ignore les corrélations entre lettres successives qui abaissent cette valeur à 1.4 Sh dans le cas de l’anglais.
40 Transmission de l’information Les perturbations (le « bruit ») affectant une transmission trouvent leur origine dans le système lui-même, qu’il s’agisse du mouvement stochastique des électrons lié à leur énergie thermique ou des variations statistiques du flux d’électrons lors de la traversée de diodes, transistors et autres dispositifs à semi- conducteurs ; à l’extérieur du système, à la suite d’une action humaine (allumage ou arrêt d’un dispositif électronique) ou sous l’effet d’une cause naturelle. Elles ont pour effet d’engendrer de manière aléatoire des signes différents de ceux qui ont été émis.
41 Modélisation du bruit Nous modélisons la transmission avec bruit par l’interaction de deux sources, représentant le signal envoyé par l’émetteur, X, et celui produit par le canal, Y. Les nombre de symboles n et m ne sont pas nécessairement identiques. L’événement « x i envoyé, y j reçu », noté (x i, y j ), se produit avec une probabilité p(x i, y j ).
42 Sources indépendantes Si X et Y sont des sources indépendantes, Leur entropie conjointe vaut
43 Sources indépendantes L’indépendance des sources n’empêche pas les coïncidences accidentelles, comme le montre l’exemple du de Bello Gallico de César et du Lac de Lamartine
44 Probabilités : rappel P(x i,y j ), P(x i /y j ) et P(y j /x i ) représentent des concepts différents qu’il importe de ne pas confondre. Supposons que le texte émis et le texte reçu soient imprimés en regard l’un de l’autre sur un ruban et que l’on découpe les paires (symbole émis)-(symboles reçu), pour les mêler dans une urne.
45 Probabilités : rappel Dans ce cas, pourvu que le message soit suffisamment long, la probabilité d’obtenir la paire x i = G (= x 7 ), y j = A (= y 1 ) est donnée par P(x 7,y 1 ). Cette grandeur est identique à P(y 1,x 7 ). De même P(x 12,y 19 ) correspond à la paire x i = L (= x 12 ), y j = S (= y 19 ).
46 Probabilités : rappel Si on ne dépose dans l’urne que les paires dont la lettre émise est la lettre L, la probabilité de tirer la paire L,S prend une valeur différente, que l’on note P(y 19 /x 12 ). La notation /x 12 exprime qu’avant d’effectuer le tirage on savait déjà que la lettre émise était L.
47 Probabilités : rappel Si on ne dépose dans l’urne que les paires dont la lettre reçue est la lettre S, la probabilité de tirer la paire L,S prend encore une valeur différente, que l’on note P(x 12 /y 19 ). La notation /y 19 exprime qu’avant d’effectuer le tirage on savait déjà que la lettre reçue était S.
48 Probabilités : rappel Revenant à la situation de départ (toutes les paires sont déposées dans l’urne), on peut se demander quand on tirera une paire dont la lettre reçue soit S. Cela se produira si on tire l’une des paires {A,S}, {B,S}, … {Z,S}. Comme le tirage d’une paire donnée est incompatible avec celui d’une autre paire, on trouve
49 Probabilités : rappel On trouve de même pour la probabilité d’émission de x i
50 Sources dépendantes De manière générale, on considérera : une source {X, x, p(x)} ; un canal [X, p(y/x), Y] où p(y j /x i ) représente la probabilité de recevoir y j alors que x i avait été émis. On distingue deux cas particuliers : p(y j /x i ) = i,j correspondant à une transmission sans bruit, p(y j /x i ) = p(y j ) correspondant à deux sources indépendantes ; un destinataire {Y, y, p(y)}.
51 Sources dépendantes L’incertitude résiduelle affectant le symbole émis, x i, lorsque le destinataire a reçu y j est égale à -log p(x i /y j ). Sa moyenne, prise sur toutes les paires (x i,y j ), est appelée équivocation, elle représente l’ignorance du destinataire relative à X lorsqu’il a reçu Y. On note : L’équivocation représente l’information moyenne perdue en raison du bruit. Par différence, on trouve l’information moyenne reçue :
52 Équivocation Lorsque le destinataire a reçu y j, l’entropie (conditionnelle) de la source est donnée par L’équivocation est la moyenne de cette grandeur, prise sur Y.
53 Exemple : pas de bruit On peut calculer aisément les valeurs de H(X/Y) et I(X,Y) dans le cas d’une transmission sans bruit. Partant de
54 Exemple : pas de bruit On trouve (comme on s’y attendait) :
55 Exemple : s. indépendantes Partant de
56 Exemple : s. indépendantes On trouve (comme on s’y attendait aussi) :
57 Information, entropie et la vie
58 Cas général Le cas général de deux sources dépendantes occupe une position intermédiaire entre celui de sources indépendantes et celui de l’absence de bruit. Nous allons maintenant établir plusieurs inégalités s’appliquant à la transmission avec bruit d’un signal émis par une source sans mémoire et passant par un canal discret et constant. Il s’agit du canal que nous avons déjà envisagé, qui transforme un nombre fini de symboles {x 1 …x n } en d’autres symboles {y 1 …y m }, également en nombre fini, avec des probabilités p(y j /x i ) indépendantes du temps.
59 Cas général (1) On établit cette propriété à l’aide du lemme écrit ici sous la forme L’égalité a lieu si, et seulement si, X et Y sont indépendants.
60 Cas général (2)
61 Cas général (3) Ceci découle immédiatement de la propriété précédente, qui reste valable lorsqu’on intervertit les rôles de X et Y. Il en découle également
62 Cas général (4) Ce résultat découle des propriétés précédentes. Il y a égalité si, et seulement si, les source X et Y sont indépendantes.
63 Cas général (5) Conséquence immédiate de la propriété (4).
64 Cas général (6) On établit cette propriété (qui devient une égalité si, et seulement si, les sources sont indépendantes) à l’aide du lemme utilisé précédemment, en notant que :
65 Unicité L’entropie d’information définie par la formule de Shannon est la seule (à une constante multiplicative près) à jouir des propriétés que nous avons démontrées : elle atteint son maximum lorsque les symboles sont équiprobables, H(X,Y) = H(X) + H(Y/X), l’addition d’un symbole de probabilité nulle ne modifie pas l’entropie d’information, H(p 1,…,p n ) = H(p 1,…,p n,0).
66 Capacité d’un canal bruité L’information moyenne transmise, I(X,Y), varie entre deux valeur extrêmes On peut chercher à en optimiser la valeur. Le maximum de l’information moyenne transmise par un canal donné est appelé capacité en information du canal, C(C), à ne pas confondre avec sa capacité temporelle, C t (C). Pour un canal donné, C(C) représente la quantité d’information par symbole, C t (C) représente la quantité d’information par unité de temps.
67 Capacité d’un canal bruité À titre d’exemple on considère l’information moyenne transmise par un canal binaire caractérisé par lorsque la probabilité d’émission p(x 1 ) varie entre 0 et 1.
68 Capacité d’un canal bruité
69 Capacité d’un canal bruité Partant de la définition, on obtient l’expression de I(X,Y) en fonction des caractéristiques de la source, p(x i ) et du canal, p(y j /x i ). Le maximum est alors trouvé par la méthode des multiplicateurs de Lagrange. Les valeurs des p(x i ) ainsi trouvées permettent de calculer la capacité du canal. Pour le détail des calculs, cliquer ici : Pour un exemple, cliquer ici :
70 Canal binaire symétrique Canal binaire avec effacement Un cas particulier important est le canal binaire symétrique, qui transmet deux symboles, avec la même probabilité d’erreur, p, pour chacun d’eux. Un second cas est celui du canal binaire avec effacement : chacun des deux symboles a la probabilité (1-p) d’être transmis correctement et la probabilité p d’être transformé en un symbole erroné, E.
71 Capacité d’un canal bruité Parce que la méthode que nous avons exposée néglige la contrainte de positivité des probabilités d’émission, elle peut conduire dans certains cas à des probabilités d’émission négatives, comme le montre l’exemple donné dans le syllabus. Il faut alors reprendre le calcul après avoir rendu ces probabilités égales à zéro. Pour éviter ce problème, on peut faire appel à la méthode itérative développée par Arimoto et Blahut, qui sort du cadre de ce cours.
72 Capacité d’un canal bruité Richard E. Blahut (1937- ) Suguru Arimoto (1936- )
73 Utilité du codage Les probabilités d’apparition des symboles dans le message émis par la source n’ont a priori aucune raison de correspondre à celles qui maximisent l’information moyenne transmise par le canal. Afin de réaliser cette optimisation, il faut coder le message, c’est le codage de canal. Une autre motivation provient du souhait de donner au message une forme aussi compacte que possible, résultat obtenu par un codage de source. Nous envisagerons d’abord ce second cas.
74 Diagramme de communication On obtient dès lors un nouveau diagramme de communication : Source Codeur Source Codeur Canal Décodeur Canal Décodeur Source Destinataire Bruit Émetteur Récepteur
75 Codage de source Pour étudier le codage de source, on envisage le cas d’une transmission sans bruit : Source Codeur Source Émetteur Récepteur Décodeur Source Destinataire Canal
76 Codage de source Les symboles choisis dans X = {x 1,…,x N } sont émis par une source sans mémoire avec des probabilités p(x 1 ),…,p(x N ). À chaque symbole qu’il reçoit, le codeur associe de façon biunivoque une séquence d’éléments de l’alphabet U = {u 1,…,u r }. La longueur de la séquence peut varier pour chaque symbole émis par la source. Le canal sans bruit, discret et constant transmet le message qu’il reçoit du codeur. Le décodeur reconstitue le message émis par la source, à partir de celui qu’il reçoit du canal.
77 Exemple de codage de source La source émet un chiffre par seconde, le canal peut transmettre 200 symboles par minute. Le codage le plus évident produit 4 60 = 240 symboles par minutes, ce qui dépasse le débit du canal.
78 Exemple de codage de source En revanche, le codage produit en moyenne 3.04 60 = symboles par minute. Calcul de la longueur moyenne d’une séquence :
79 Codage de source Cet exemple illustre le but du codage de source, qui est de minimiser la longueur moyenne des séquences. Le codage ne modifiant pas l’information du message transmis, l’entropie de la source et celle du codeur sont liées par
80 Codage de source L’entropie du codeur est donc donnée par et vaut au plus log r. On définit l’efficacité du codeur par Cette expression permet de trouver une borne inférieure à la longueur des séquences.
81 Codage de source Sous quelles conditions cette inégalité devient-elle une égalité ? Considérons d’abord le cas d’un codage uniforme, c’est-à-dire pour lequel toutes les séquences ont la même longueur.
82 Codage uniforme Le nombre de séquences différentes de longueur n que l’on peut former en utilisant r symboles est égal à r n et doit manifestement être au moins égal à celui des symboles émis par la source. On trouve donc :
83 Codage uniforme Le maximum d’efficacité (E = 1) est atteint si, et seulement si, le nombre de symboles émis par la source est une puissance entière du nombre de symboles utilisés par le canal (N = r n ); les symboles émis pas la source sont équiprobables (H(X) = log N). Pour atteindre une efficacité maximum en dehors de ces conditions, il faut faire appel à un codage non uniforme, comme le suggérait d’ailleurs l’exemple envisagé plus haut.
84 Codage non uniforme La longueur des séquences devenant variable, il importe de pouvoir les séparer sans ambiguïté lors du décodage. Si tel est le cas, le code est dit séparable (ou déchiffrable). Si de plus la séparation est possible au fur et à mesure de l’arrivée du message, le code est dit instantané (ou irréductible). Pour qu’un code soit instantané, il faut et suffit qu’aucune séquence ne soit le préfixe (le début) d’une autre. Un code peut être séparable sans être instantané, par exemple, X = {a, b, c, d}, U = {0, 1} et a00c b00100d
85 Codage instantané La construction d’un code instantané peut se faire en utilisant la méthode de l’arbre, que nous allons illustrer à partir de l’exemple suivant : X = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, U = {a, b, c}. 0a5cba 1ba6cbb 2bb7cbc 3bc8cca 4ca9ccc
86 Codage instantané a 0b a 1b 2c 3 c a 4b a 5b 6c 7 c a 8 b c 9
87 Codage instantané Les chemins qui partent de la racine de l’arbre (en haut !) et qui correspondent à une séquence utilisée par le code (par exemple a ou cbb) ne peuvent jamais aboutir à une autre séquence qui serait également utilisée, aussi loin qu’on les prolonge. On note que certains chemins peuvent éventuellement se poursuivre à l’infini sans jamais correspondre à une séquence utilisée pour le codage (par exemple ccb…) Si tel n’est pas le cas, on dit que le code est complet. Ceci a lieu si, et seulement si, (N- 1) mod(r-1) = 0, ce qui est toujours le cas lorsque r = 2.
88 Codage complet Condition suffisante : si (N-1) mod(r-1) = 0, on peut construire un code complet. Soit n défini par r n N < r n+1. Nous allons montrer qu’on peut construire un code complet dont toutes les séquences sont de longueur n ou n+1. Soit d n le nombre de séquences de longueur n utilisées par le code et d n+1 celles de longueur n+1. Si le code est complet, les séquences de longueur n non utilisées se prolongent toutes par des séquences de longueur n+1 utilisées par le code ; inversement, aucune séquence de longueur n+1 utilisée par le code ne peut prolonger une séquence de longueur n déjà utilisée. La construction du code donnée ici suit une voie différente de celle donnée dans le syllabus
89 Codage complet Il résulte de cela que par ailleurs
90 Codage complet d’où finalement Les deux divisions du second membre peuvent être effectuées de façon exacte, ce qui établit la condition suffisante.
91 Codage complet Condition nécessaire : s’il existe un codage complet de X = {x 1 …x N } par U = {u 1 …u r }, alors (N-1) mod(r-1) = 0. Soit n max la longueur maximum des séquences utilisées par ce code. Commençons par exprimer que toutes les séquences de longueur m sont soit des séquences du code soit le prolongement de séquences du code, pour autant que m n max. Notant d k le nombre de séquences de longueur k utilisées par le code, on écrit :
92 Codage complet Par ailleurs, les N symboles de X se décomposent en ceux codés par une séquence de longueur 1, ceux codés par une séquence de longueur 2, etc. Soustrayant membre à membre on trouve Chacun des termes du membre de gauche est multiple de r-1, de même que le premier terme du membre de droite, ce qui établit la propriété.
93 Inégalité de McMillan et Kraft En 1949, Leon G. Kraft établit une condition nécessaire et suffisante à l’existence d’un code séparable. En 1956, Brockway McMillan établit que la même condition est nécessaire et suffisante à l’existence d’un code instantané. Nous donnerons la démonstration de la relation pour les codes instantanés.
94 Inégalité de McMillan et Kraft Condition nécessaire : si un codage est instantané, les longueurs de séquences respectent l’inégalité. Soit donc un codage instantané de X = {x 1,…,x N } au moyen de U = {u 1,…,u r }, la séquence associée à x i étant de longueur n i. On notera d k le nombre de séquences de longueur k utilisées par ce codage. Le nombre total de séquences de longueur m est r m, dont d k r m-k sont le prolongement de séquences de longueur k utilisées pour coder (avec k = 1…m). Le code étant instantané, aucune séquence de longueur m ne peut prolonger plus d’une séquence utilisée pour le codage.
95 Inégalité de McMillan et Kraft Ainsi, les 3 2 = 9 séquences de longueur 2 du code exemple se répartissent en 1 3 1 = 3 séquences prolongeant celle de longueur 1 utilisée par le code (aa, ab et ac), 4 3 0 = 4 séquences de longueur 2 utilisées par le code (ba, bb, bc et ca), 2 séquences restantes (cb et cc). On a bien sûr 9 a 0b a 1b 2c 3 c a 4b a 5b 6c 7 c a 8 b c 9
96 Inégalité de McMillan et Kraft Dans le cas général, cette inégalité s’écrit ou encore Pour autant que m soit supérieur au plus grand des n i, cette relation est identique à celle recherchée, dont elle ne diffère que par un regroupement des termes.
97 Inégalité de McMillan et Kraft Pour le code exemple, n i varie de 1 à 3, on prendra donc m 3. a 0b a 1b 2c 3 c a 4b a 5b 6c 7 c a 8 b c 9
98 Inégalité de McMillan et Kraft Condition suffisante : on peut construire un codage instantané de X = {x 1,…,x N } qui associe à x i une séquence de longueur n i de symboles choisis parmi U = {u 1,…,u r }, pourvu que l’inégalité de McMillan et Kraft soit vérifiée. Comme précédemment, on notera d k le nombre de séquences de longueur k utilisées par ce codage, afin de pouvoir écrire l’inégalité sous la forme
99 Inégalité de McMillan et Kraft De on déduit établissant ainsi que le nombre de séquences de longueur 1 disponibles (r) est suffisant pour en extraire celles nécessaires à la construction du code (d 1 ). Tronquant la somme après le deuxième terme, il vient
100 Inégalité de McMillan et Kraft ce qui montre que le nombre de séquences de longueur 2 disponibles (r 2 – d 1 r) est suffisant pour en extraire celles nécessaires à la construction du code (d 2 ). De proche en proche, on établit ainsi la propriété recherchée.
101 Inégalité de McMillan et Kraft L’inégalité de M&K devient une égalité si, et seulement si, le code considéré est complet.
102 Longueur des séquences Partant du fait que le codage n’altère pas la quantité d’information, nous avons établi précédemment : relation dont nous pouvons maintenant donner une démonstration basée sur la relation de McMillan et Kraft, à partir du lemme de Shannon:
103 Longueur des séquences où l’on choisit Introduisant dans la relation précédente ces nombres positifs dont la somme vaut 1, on trouve :
104 Longueur des séquences or ce qui ramène l’inégalité précédente à
105 Longueur des séquences Pour que cette inégalité devienne une égalité il faut que l’inégalité de McMillan et Kraft soit une égalité ; l’inégalité de Shannon soit une égalité. Cette condition est également suffisante.
106 Théorème de Shannon Le théorème de Shannon dit qu’il est possible de trouver pour une source sans mémoire un code dont la longueur moyenne des séquences s’approche autant que l’on veut de sa limite inférieure. Nous le démontrerons en construisant explicitement un code satisfaisant à l’inégalité
107 Théorème de Shannon On commence par définir un entier positif, M, tel que On regroupe alors les symboles émis par la source par blocs de M, c’est la M-ème extension de la source :
108 Théorème de Shannon Le message émis par la source est écrit à l’aide des z j ce qui exprime que le j-ième symbole du message écrit à l’aide des x i est x j, tandis que lorsqu’on utilise les z i, c’est z j.
109 Théorème de Shannon La source étant sans mémoire, il vient Les longueurs des séquences associées aux z j sont alors définies par : Nous devons encore vérifier que les n j satisfont à la condition de McMillan et Kraft.
110 Théorème de Shannon Tel est bien le cas, car Une borne de la longueur moyenne des séquences est donnée par
111 Théorème de Shannon Finalement, Ce qui établit la propriété annoncée. Un code qui réalise la borne inférieure est dit absolument optimal.
112 Exemple de code absolument optimal La seconde extension de codée selon l’algorithme de Shannon à l’aide de
113 Théorème de Shannon Une conséquence du théorème de Shannon est qu’un message peut être transmis sans perte ni ralentissement pourvu que la capacité temporelle du canal soit supérieure à celle de la source. Pour une transmission sans perte ni ralentissement, il faut que le débit à la sortie du codeur soit inférieur au débit du canal: Pour une démonstration que la première relation entraîne la seconde, cliquer ici.
114 Code de Huffman Le code que nous venons de construire est rarement le meilleur possible pour une extension donnée. Voici, sans démonstration, la méthode de construction du code de Huffman, illustrée à partir d’un exemple. On se donne X = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, U = {a, b, c}, avec les probabilités
115 Code de Huffman On commence par se placer dans les conditions d’existence d’un code complet, en complétant éventuellement X par des symboles de probabilité nulle. Un seul symbole ( ) suffit dans notre cas. On regroupe alors les r (3 dans notre exemple) symboles les moins probables (0, 1, dans notre exemple), qui comptent maintenant pour un seul ayant une probabilité égale à la somme de celles des symboles regroupés (0.10 dans notre exemple). On répète ce regroupement jusqu’à épuisement des symboles.
116 Code de Huffman Le codage de Huffman est le code optimal pour une extension donnée. Comparons maintenant les longueurs moyennes résultant des codages de Shannon et de Huffman (pour la première extension) à la longueur optimale, donnée par H(X) / log(r) =
117 Code de Huffman
118 Code de Shannon
119 Code de Ziv et Lempel Le code de Huffman assure la longueur moyenne de séquence la plus petite possible pour une extension donnée, pourvu que les probabilités d’apparition des symboles émis par la source soient connues. Ziv et Lempel ont développé à la fin des années 70 un procédé de codage qui permet d’approcher la longueur de séquence optimale sans connaissance préalable des probabilités d’apparition des symboles. Nous nous bornons à signaler l’existence de ce type de codage, dont l’étude dépasse le cadre de ce cours.
120 Question d’argent La mise en forme des messages sous une forme aussi compacte que possible permet de limiter l’utilisation (onéreuse !) du canal de transmission. Si par ailleurs le canal n’est disponible que pendant un temps déterminé, un codage optimal permet d’envoyer le maximum d’information. C’est le cas par exemple des sondes spatiales. L’antenne haut gain ( bits par seconde) de la sonde Galileo, envoyée vers Jupiter ne s’étant pas déployée, il fallut faire appel à l’antenne à faible gain (160 bps). La perte estimée se chiffre à $
121 Question d’argent
122 Question d’argent
123 Retour au bruit Le codage de source permet d’optimiser la longueur du message transmis par le canal, mais n’offre aucune protection contre d’éventuelles distorsions (il n’est pas fait pour ça), comme l’illustre l’exemple ci-dessous. Prenons X = {A, B, C, D, E} avec les probabilités suivantes: ABCDE Le codage binaire est absolument optimal, puisqu’il est instantané et que
124 Retour au bruit Le message AACDBEA est codé par que le destinataire interprète, si la transmission est correcte, comme étant 000·000 · 01 · 10 · 001 · 11 · 000. Qu’une erreur de transmission se produise, le destinataire recevant interprétera ce message comme étant 000 · 000 · 01 · 11 · 001 · 11 · 000, soit AACEBEA. Selon l’emplacement de l’erreur, la distorsion sera plus ou moins grande : sera décodé comme étant 01 · 000 · 001 · 10 · 001 · 11 · 000, soit CABDBEA. On ne peut pas exclure la possibilité d’erreurs multiples : sera décodé comme étant 01 · 10 · 000 · 11 · 000 · 11 · 10 · 00, soit CDAEAED .
125 Retour au bruit Afin de réduire le bruit, voire l’éliminer complètement, il faut faire appel au codage de canal. Source Codeur Source Codeur Canal Décodeur Canal Décodeur Source Destinataire Bruit Émetteur Récepteur
126 Retour au bruit On a donc : la source, utilisant les symboles X = {x 1,…,x N }, il s’agira souvent de {lettres, chiffres, espace, ponctuation} ; le codeur de source, utilisant U = {u 1,…,u r }, souvent {0,1} ; le codeur de canal, utilisant V = {v 1,…,v s }, souvent {0,1}. Le premier codage de canal qui vient à l’esprit est sans doute la répétition, que nous illustrons par un exemple.
127 Contre le bruit : la répétition Le codage par répétition consiste à répéter le symbole émis : Prenons comme exemple celui d’un canal binaire avec effacement, de paramètre p. Au décodage, le message reçu est tronçonné en séquences de longueur N rep interprétées comme 0 ou 1 si elles contiennent au moins une fois ce symbole, sinon il y a effacement.
128 Contre le bruit : la répétition L’ensemble {codeur de canal, canal, décodeur de canal} peut donc être représenté par un nouveau canal binaire avec effacement, de paramètre p Nrep.
129 Contre le bruit : la répétition La capacité en information du canal qui était de 1-p passe ainsi à 1-p Nrep. Ce gain est accompagné d’une diminution d’un facteur N rep du débit. À première vue il semblerait que la lutte contre le bruit ne soit possible qu’au prix d’un ralentissement considérable de la transmission.
130 Th. de Shannon avec bruit Lors de la transmission par un canal affecté de bruit, la condition nécessaire et suffisante pour pouvoir rendre la perte d’information inférieure à toute valeur positive et transmettre sans ralentissement est donnée par C t (S) ≤ C t (C). Nous ne donnerons pas de démonstration pour ce théorème, nous bornant à en discuter certaines implications. Il s’agit d’un théorème d’existence, qui ne donne pas d’indication pratique quant à la construction du codage permettant de réduire ainsi la perte d’information.
131 Th. de Shannon avec bruit Afin de pouvoir transmettre sans ralentissement, il faut que le débit de sortie du codeur de canal soit inférieur au débit du canal, c’est-à-dire La longueur moyenne de séquence du codeur de source vérifie
132 Th. de Shannon avec bruit Multipliant ces relations membre à membre, on voit qu’il existe donc un codage de canal dont la longueur moyenne de séquence satisfait à et pour lequel la perte d’information est inférieure à toute borne positive, aussi petite soit-elle.
133 Exemple de codage de canal Une source émet un message composé de chiffres décimaux, tous avec une probabilité 0.1. Les seules probabilités de transition non nulles sont : Le débit de la source est de 1 symbole par seconde, celui du canal est de 5/3 de symbole par seconde.
134 Exemple de codage de canal On calcule à partir de là l’entropie de la source, H(X), qui est de log 10 Sh par symbole, ainsi que la capacité en information du canal, C(C), qui est de 2 Sh / symbole. On trouve : quantités qui satisfont à la condition d’existence d’un codage sans perte appréciable d’information et sans ralentissement. Les symboles émis par la source étant équiprobables, le codage de source restitue à l’identique le message qu’elle émet. Le code de canal proposé utilise uniquement les symboles 0, 1, 4 et 7 pour coder la troisième extension de la source.
135 Exemple de codage de canal … … … … … … … … …
136 Exemple de codage de canal La longueur moyenne de séquence de ce codage, rapportée à un symbole émis par la source, est Le débit à la sortie du codeur est dès lors de symbole par seconde, inférieur au débit du canal. La transmission est donc possible sans ralentissement. Reste à montrer qu’elle se fait sans erreur.
137 Exemple de codage de canal La correction des erreurs peut se faire chiffre par chiffre: si le chiffre arrivant au décodeur est 0, on sait qu’il n’y a pas d’erreur. Si c’est un autre chiffre, mettons 5, on sait que le chiffre transmis au canal par le codeur était 4, 5 ou 6 et on sait aussi que le seul des trois à être émis par le codeur est 4, qui est donc le chiffre corrigé. Après avoir corrigé le message, le décodage ne pose pas de problème puisque le code utilisé est instantané.
138 Codage de canal L’étude du codage de canal sort du cadre de ce cours. Signalons simplement que l’introduction des turbocodes au cours des années 90 a permis de se rapprocher fortement de la limite de Shannon. Les possibilités de correction permettent par exemple la restitution de musique à la lecture d’un CD malgré la présence éventuelle de grains de poussières (plusieurs milliers d’erreurs en rafale).
139 Codage de canal
140 Alain Glavieux ( ) Claude Berrou (1951- ) Punya Thitimajshima ( ) Turbocodes Vous avez échappé à l'appellation originelle de : codes à concaténation parallèle de codes convolutifs récursifs systématiques, avec décodage itératifs. (C. Berrou)