Vous êtes sur la page 1sur 34

Thorie de linformation

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 ide de").
Actuellement, le mot "information" est troitement li aux notions de
donne, de connaissance, de communication, de signification, de perception,
de reprsentation, etc.
La thorie de linformation soccupe de la transformation, de la
transmission et de la conservation de donne (ou information). Ds lors, elle
se proccupe de lefficacit des systmes dinformation et de communication.
Pour traiter mathmatiquement les problmes soulevs par la thorie de
linformation, il faut dabord dfinir une mesure pour linformation.
Ds les annes 20, citons les tentatives de dfinition de mesure pour
linformation par Nyquist (comm.), Fisher (stat.) et Hartley (lec.).
En 1948, Shannon formalise la dfinition de la mesure pour linformation
et pose ainsi les bases de la thorie de linformation.
Codage de linformation : motivation
Lobjectif originel de la thorie de linformation est le transport et la
conservation "sans perte" dinformation : elle doit pouvoir tre restituer dans
son intgralit.
Les informations que nous recevons journalirement, sous forme de
messages (ou de nouvelles), sont stockes, transformes et traites par le
cerveau. La reproduction fidle de ses informations est difficile et pose le
problme de la quantification de linformation contenue dans une nouvelle.
Pour pouvoir messure la quantit dinformation contenue dans un
message, nous devons faire abstraction de sa forme et de son contenue.
Par exemple, lemploy des Postes qui doit mettre un message est
totalement indiffrent la signification du message, ce qui compte pour lui,
cest de faire payer un service dpendant exclusivement du nombre de mots.
Ds lors, un texte incohrent, i.e. une suite arbitraire de caractres est un
message.
Codage de linformation : introduction
Pour pouvoir tre mesurer, linformation doit dabord tre coder. Exemple :

le langage crit pour les informations du langage parl,

le langage parl pour les informations du langage mimique,

le code tlgraphique (bas sur le code Morse)

le code ASCII pour les informations crites

etc.

Le codage de linformation ncessite un alphabet. Exemple :

le franais crit : {a, , z}

alphabet Morse : 4 symboles nots : {, , , }

Binaire : {0, 1}

Hexadcimal : {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f }
Codage de linformation : dfinition
Un alphabet A est un ensemble fini ou "dnombrable" (de symboles), on
note A = {a1 , , aq }. Un mot M est une suite finie dlments de A. Un
mot de longueur ` est alors de la forme M = ai1 ai` . On note par A?
lensemble des mots dfini sur A. Sur lensemble A? , la "concatnation"
permet de dfinir une loi de composition interne et fait de A? un monode.
Une information peut tre dfini comme une jaxtoposition finie et alatoire
de mots. Si A contient la ponctuation, alors une information est un mot.
Msurer une information M = dfinir une "mesure mathmatique" sur M.
Donc une information M peut tre considr comme un vnement form
dune rptitition dexpriences alatoires et "indpendantes".
La quantit dinformation apporte par la ralisation dun vnement est
quivalente lincertitude sur cet vnement :

un vnement certain apporte une information nulle,

plus un vnement est "improbable", plus il apporte de linformation.


Quantit dinformation : mesure de lincertitude
Nous avons une bijection entre linformation dun vnement et
lincertitude de sa ralisation. Appelons par f une telle bijection.
Soit E un vnement alatoire, notons par Pr(E) la probabilit de ralisation
de E et par h(E) la mesure dincertitude. Relation entre h, Pr et f ?
Proprit de la bijection f :

Comme un vnement certain apporte une information nulle, donc


Pr(E) = 1 h(E) = 0, i.e. f (1) = 0.

h(E) est dautant


plus grande que Pr(E) est petite, i.e. on peut poser

1
h(E) = f , avec f une fonction croissante.
Pr(E)

si E et F sont des vn. indpendants, alors h(E F ) = h(E) + h(F ),


c-a-d

1 1 1 1 1
f =f =f +f
Pr(E F ) Pr(E) Pr(F ) Pr(E) Pr(F )
Quantit dinformation : fonction adquate

La fonction f cherche vrifie les proprits suivantes :


(f : [1, +[ R+ , f crois., f (1) = 0 et f (xy ) = f (x) + f (y )) f = loga .
Le rel positif a > 1 dsigne lunit de mesure de lincertitude. On a alors

h(E) = f (1/Pr(E)) = loga (Pr(E)).

si a = e = exp(1), alors lunit dincertitude est le nat (natural unit) ;

si a = 10, alors lunit dincertitude est le ban (ou dit : decimal unit) ;

si a = 2, alors lunit dincertitude est le bit (binary unit) ou le Shannon.

On peut interprter h(E) = loga (Pr(E)) de deux faons :

priori, par lincertitude qui rgne sur la ralisation de lvn. E

postriori, par linformation apporte par la ralisation de lvn. E


Information comme probabilit conditionnelle

Linformation dpend aussi du niveau de connaissances : si E est une


information (vnement alatoire dun alphabet A), alors h(E) dpend aussi
dune autre information F (appele connaissance). Autrement dit, la thorie
de linformation peut tre formaliser par une probabilit conditionnelle. On
peut alors poser :

h(E/F ) = loga (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 vnements indpendants, on retrouve


laxiome : h(E F ) = h(E) + h(F ).
Information mutuelle de deux vnements

Soit E et F deux info. de lalphabet A, on appelle linformation apporte


par F sur E, la dimunition de lincertitude sur E lors que F est ralise :

F E := h(E) h(E/F ).

On montre facilement que F E := h(F ) h(F /E) = EF , donc on


appelle linformation mutuelle entre E et F la quantit :

(E; F ) = (F ; E) = EF = 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 dune variable alatoire discrte
Soit M := m1 , ..., m` une information (une preuve alatoire) et p une loi
e := {m1 , .., m` }. Lentropie de M
de probabilit sur M e (ou dune v.a. X dfini
sur M)
e est par dfinition lesprance mathmatique :

n
X n
X
H(M)
e := Pr(mi )h(mi ) := Pr(mi ) log(p(mi )).
i=1 i=1

Lentropie donne une apprciation numrique globale, plus prcisment


elle donne une incertitude moyenne attache lexprience.
Remarques :

H(M)
e ne dpend que de la loi de probabilit de M
e

Exprim en Shannons, H(M) e reprsente le nombre moyen de bits


ncessaire la codification des diffrents lments de M;
e
 
e P` p1 (mi ). log p2 (mi ) 0.
p1 et p2 deux lois de proba. sur M, i=1 p (m ) 1 i

e log(`) et on a lgalit ssi p est la loi uniforme (i.e. p(ai ) = 1/`).


H(M)
Entropie et information lies un couple
Soit S = x1 ...x` et T = y1 ...yk des informations dun alphabet A. Soient p
e := {x1 , ..., x` } et T
et q deux loi de prob. sur S e := {y1 , ..., yk } respectivement.
Notons par pi,j := Pr(X = xi , Y = yj ) = Pr({X = xi } {Y = yj }) la loi de
proba. du produit Se Te . Nous avons alors, les lois deux lois projetes et les
deux lois conditionnelles suivantes :
k
X `
X
Pr(X = xi ) := pi = pij et Pr(Y = yi ) := qj = pij
j=1 i=1
pij pij
Pr(X = xi /Y = yj ) := Pj (i) = et Pr(Y = yj /X = xi ) := Pi (j) =
qj pi

Lentropie du couple (X , Y ) est :

k
` X
X
H(X , Y ) = pij log(pij ).
i=1 j=1

Lentropie du couple est appele aussi entropie compose ou conjointe.


Entropie conditionnelle

Lincertitude moyenne sur X sachant que Y = yj est

` `  
X X pij pij
H(X /yj ) = Pj (i) log(Pj (i)) = log .
qj qj
i=1 i=1

Cette incertitude (entropie) exprime partiellement linfluence de Y sur X .


Les entropies conditionnelles sont :

k k
` X  
X X pij
H(X /Y ) := HY (X ) = qj H(X /yj ) := pij log .
qj
j=1 i=1 j=1

` k
` X  
X X pij
H(Y /X ) := HX (Y ) = pi H(Y /xi ) := pij log .
pi
i=1 i=1 j=1

HY (X ) est lincertitude sur X lors quon connait Y .


Information mutuelle moyenne
Linformation mutuelle moyenne entre X et Y peut scrire :

I(X ; Y ) = H(X ) H(X /Y ) = H(Y ) H(Y /X ) = I(Y ; X ).

cela correspond la dimunition de lincertitude sur X lors quon connait Y


(ou resp. la dimunition de lincertitude de Y lors quon connait X ).
On peut aisment 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 )

Linformation mutuelle moyenne de X et de Y est toujours possitive alors


linformation mutuelle de deux vnements peut tre ngative.
Le conditionnement diminue lincertitude, i.e. H(X ) H(X /Y ).
On peut tendre le raisonnement dans le cas de n variables.
Transmission des donnes : communication
Modle dun systme de communication
Un systme de communication est compos de trois entits :

mteur ou source Voix ou Canal Rcepteur

Le canal peut subir des perturbations comme les bruits, les erreurs
dcriture/lecture, etc.
Lmteur et le destinataire doivent se comprendre, ils doivent utiliser le
mme systme de codeur/dcodeur.
Avant lenvoie de linformation (considre comme un message), lmteur
doit la coder dans un alphabet A, on dit parfois alphabet de la source. Alors,
mettre un message revient faire un choix "alatoire" dun lment de A? .
Pour le rcepteur, deux conditions doivent tre ralise :

a) une possibilit de lecture, donc le destinataire connait lalphabet A.

b) une rgle de dcision permettant de dsigner le message reu.

On distingue plusieurs types de sources, de canaux et de destinataires.


Types de sources

Une source dinformation est un couple S = (A, p) o A est un alphabet


et p une loi de probabilit dfini sur A.
Plus prcisment, une source discrte est un dispositif susceptible de
fournir un ensemble dnombrable fini (ou infini) de messages
("lmentaires") S = {s1 , ..., sr } issus de A? . Autrement dit, une source est
une suite de variables alatoires (Xn )nN? (finie ou infinie).
S est une source est stationnaire si pour tout i, les Xi ont mme loi.
La source S a une mmoire dordre m si et seulement si, pour tout n
   
Pr Xn / n1
j=1 Xj = Pr Xn / n1
j=nm Xj .

Pr (Xn /Xn1 , Xn2 , ..., X1 ) = Pr (Xn /Xn1 , Xn2 , ..., Xnm ).

m = 0 S est sans mmoire et si m = 1 S est source de Markov.


Source discrte avec mmoire

Soit (Xn )nN? la suite de v.a. dune source de mmoire m. Posons la v.a.

Zn := (Xn , Xn1 , ..., Xnm+1 ).

Donc (Zn )nN? est une chaine de Markov. En effet,

Pr(Zn /Zn1 , Zn2 , ..., Znm ) = Pr(Xn , Xn1 , ..., Xnm+1 /Xn1 , ..., X2 , X1 )
= Pr(Xn , Xn1 , ..., Xnm+1 /Xn1 , ..., Xnm+1 , Xnm )
= Pr(Zn /Zn1 ).

Toute S de mmoire m peut se ramener en une chaine de Markov.


On ntudiera que les sources de mmoire 1, i.e. les chaines de Markov.
La matrice de transition des proba est T = (Pr(Xi /Xi1 ))1in
La source est dite homogne si T est indpendant de lentier n
Entropie dune source avec mmoire

Soit S une source stationnaire de mmoire m = q 1 sur A = {a1 , ..., aq }


Lentropie de la source S peut se calculer avec la limite suivante :

H (S) := lim H (Xq /Xq1 , .., X1 )


q

1
:= lim H(X1 , ..., Xq ).
q q

La limite existe car la suite (H(Xq /Xq1 , .., X1 )) est dcroissante et minore.
En effet, comme le conditionnement diminue lincertitude, alors pour tout q :

H(Xq /X1 , X2 , ..., Xq1 ) H(Xq /X2 , ..., Xq1 ) := H(Xq1 /X1 , ..., Xq2 ).

si la mmoire m = 0, alors H (S) = H(X1 ) log(q)

si la mmoire m = 1, alors H (S) = H(X2 /X1 )


Exemple : Entropie dune source binaire

Soit une source binaire S = {0, 1} o la proba. davoir 1 est p. Alors


lentropie 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 = {a1 , a2 , a3 , a4 } avec Pr(a1 ) = 1/2, Pr(a2 ) = 1/4 et


Pr(a3 ) = Pr(a4 ) = 1/8. Alors H(S) = 1, 75
En Shannons, lentropie dune source est le nombre moyen minimal de
symboles binaires par lettre ncessaires pour reprsenter la source
Codage de source : motivation

Soit S une source sur un alphabet A = {a1 , ..., aq }. Si les lments ai nont
pas la mme proba. alors on peut dire que A est mal utilis, car linformation
fournit par la source est infrieure au maximum possible (H(A) loga (q)).
Codage de source = transformer lalphabet de la source en un alphabet o
les symboles sont "presques" quiprobables et indpendants :

1
A B := {b1 , ..., bt } avec p(bi ) (loi uniforme).
t

Le codage dune source joue un rle :

dintermdiaire qui permet le transport de S (le signal, le numrique)

dconomie : acclration du dbit, utilisation maximale de la source

de lutte contre le bruit avec la redondance.


Codage de source : dfinitions

Soit S = {s1 , ..., sn } une source sur A et soit B = {b1 , ..., bt } un alphabet de
rfrence (en gnral B = {0, 1} alphabet binaire).
un codage de S par B = fonction c : S B? tq c(si sj ) = c(si )c(sj )
un mot-code est limage c(si ) B? du mot si de S.
un code C sur lalphabet B est un sous-ensemble de B? , C = c(S).
C est dit rgulier (ou non-singulier) si c est une application injective
C est dit uniquement dchiffrable si et seulement si pour tout entier n, la
fonction nk=1 S k B? est injective : si u1 , .., u` C et v1 , ..., vk C, alors

u1 u2 u` = v1 v2 vk = ` = k et i, ui = vi .

C est dit prfixe si aucun mot de C nest le dbut dun autre mot de C.
C est dit de longueur fixe si tous ses mots ont la mme longueur.
C est un code de long. fixe = C est un code prfixe = C est dchiffrable.
Codage de source : exemple

Lalphabet de rfrence est lalphabet binaire B = {0, 1} : alors

{00, 01, 10, 11} est un code de longueur 2, donc dchiffrable !

{0, 11, 010} est uniquement dchiffrable

{0, 1, 101} nest pas uniquement dchiffrable, car 101 = 1//0//1

{0, 10, 110, 111} est un code prfixe

{0, 11, 110, 111} nest pas un code prfixe car 11 est le debut de 110.

un code C est dit dcodage instantan sil est possibilit de dcoder un


mot ds que tous les symboles du mot ont t reus.
un code C est dit irrductible si C est un code prfixe et instantan.
Codage de source : caractristiques

Soit C un code sur B = {b1 , ..., bt }, pout tout u C, on appelle longueur de


u, et on note |u| le nombre symboles de B permettant dcrire u.
Longueur moyenne de C : cest la longueur moyenne des mots de code
X
n := Pr(u)|u|.
uC

H
Efficacit : Lefficacit de C, dentropie H est dfinie par E = .
n loga (t)
dbit littral de la source DS = nombre de symboles mis par seconde
dbit dinformation est linformation moy. par seconde DI = DS H/n.
redondance (utile contre le bruit des canaux) est r = 1 E
comme lentropie H log2 (t) donc lefficacit E 1
Codage de source : exemple

ai Pr(ai ) C1 C2
a1 1/2 00 0
Soit A = {a1 , a2 , a3 , a4 } et deux codes a2 1/4 01 10 .
a3 1/8 10 110
a4 1/8 11 111

Lentropie de la source est H(S) = 1, 75 bits.


Pour le code C1 , on a : n1 := 2, alors E1 = 87, 5% et r1 = 1 E1 = 12, 5%
Pour le code C2 , on a : n2 := 1, 75 alors E2 = 100% et r2 = 1 E2 = 0.
le code C2 est plus efficace que le code C1 , cela peut sexpliquer par le fait
que C2 affecte les mots les plus courts aux message les plus frquents.
Plus n est petite, plus le code est efficace, mais on lappauvrie !
Peut-on toujours atteindre une efficace de 100% sans appauvrir le code ?
Source : code de longueur fixe
Proposition : Soit S une source discrte sur A := {a1 , ..., aq }. Alors, il est
possible de coder S avec un code rgulier de longueur fixe m tel que

H(A)
log2 (q) m < 1 + log2 (q), avec une efficacit E = .
m

Exemple soit une source dalpha. 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

H(A) log2 (10)


E := = 83%.
4 4

Pour amliorer lefficacit, on peut coder avec les paires A2 = {00, ..., 99}.
La source peut tre coder avec un code de longueur 7 et defficacit

H(A2 ) log2 (100)


E2 := = 95%.
7 7

Avec les `uplets A` , on a : H(A` ) = ` H(A), long. m` = d` log2 (10)e et


E` = ` H(A)/d` log2 (10)e avec lim` E` = 1
Source : code de longueur fixe - gnralit

Soit S = {s1 , ..., sn } une source discrte et soit S ` la source des `uplets. La
source S k peut tre coder avec un code rgulier de longueur mk tel que

mk 1
log2 (n) < + log2 (n).
k k

Lefficacit dun tel code vaut

H(S k ) ` H(S) H(S) mk


E(k ) = = = , avec `k := .
mk mk `k k

H(S)
Comme limk `k = log2 (n), alors limk E(k ) = .
log2 (n)
Impossible de sapprocher dun codage optimal avec un code rgulier.
Pour une source munie dune loi uniforme, lefficacit est proche de 1.
Lefficacit croit mais le codage et le dcodage se complexifient
Source : code de longueur variable
Pour construire des codes dchiffrables et plus particulirement des codes
irrductibles aussi conomiques que possible, nous avons :

Thorme de Kraft : Il existe un code irrductible de ` mots de longueurs


respectives n1 , ..., n` sur un alphabet B = {b1 , ..., bq } est

`
X
q ni 1.
i=1

Thorme de Mac Millan (gnralisation du thm de Kraft) : Il existe un code


dchiffrable de ` mots de longueurs respectives n1 , ..., n` sur B est

`
X
q ni 1.
i=1

Les thormes de Kraft et de Mac Millan sont non constructifs.


Source : premier thorme de Shannon
Remarques :

1) Pour toute source S code par un code dchiffrable sur B = {b1 , ..., bq },
la longueur moyenne n des mots-code vrifie

H(S) n log(q).

2) Il existe un codage irrductible dont la longueur moyenne n vrifie

n log(q) < H(S) + log(q).

Premier thorme de Shannon Pour toute source homogne, il existe


un codage dchiffrable dont lefficacit est arbitrairement proche de 1.

Ce thorme est encore appel le thorme du codage sans bruit par


opposition au second thorme de Shannon relatif au canal bruyant.
Codage de source : compression de donnes

Optimisation de la taille dun message pour le stockage (ou la comm.)


Compression des donnes : transformer un long texte T en un texte U
plus court tel quon retrouve T partir de U.
Si on retrouve exactement T , on parle de compression ou code rversible
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 `(Z ) la long. de Z sur
lalphabet BZ de taille qZ , alors le taux de compression est

`(U) log(qU )
.
`(T ) log(qT )

Vitesse de compression : le temps ncessaire la compression de T


Remarque : il nexiste aucune mthode idale (universelle et sans perte) de
compression.
Compression : quelques mthodes
RLE (Run Length Encoding) : remplacer les suites de caractres rpts
par un caractre "spcial" et le nombre de caractre.
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


frquence des symboles. Les symboles ayant des frquences leves sont
remplacs par un "mot" ayant un nombre de caractres le plus petit possible.

Huffman : trier la frquence des symboles et construire un arbre binaire.


Pour larbre, on relie les 2 lments ayant la plus petite frquence par un seul
nud dont la valeur est la somme des deux frquences et on rordonne la
table des frquences avec le nouveau nud.
0 U L A B R T
Ex : AAAAARRRRRROLLLLBBBBBUUTTTTTT donne
1 2 4 5 5 6 6
Canaux discrets sans mmoire
Canal : dfinition
Canal : permet dacheminer un message entre deux points distants
Un canal est la donne dun triplet :
un alphabet dentre "fini" A = {a1 , .., ar }
un alphabet de sortie "fini" B = {b1 , ..., bq }
une matrice de transition T := [Pr(ai /bj )]1ir ,1jq
Ex 1 : pour A1 = B1 = {0, 1} avec p la proba pour quun bit soit chang.
Alors :
" #
q p
T1 = , avec q = 1 p
p q

Ex 2 : pour A2 = B2 = A21 = {00, 01, 10, 11}, la matrice de transition est :


2
q qp pq p2
qp q 2 p2 pq

T2 =

2
, avec q = 1 p
pq p q 2 qp

p2 pq qp q 2
Les canaux : proprits
Linformation 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 reprsentant A (canal sans bruit).


H(A/B) : perte dinformation due au bruit lors de la transmission.
Capacit dun canal : plus grande quantit dinformation moyenne (par
symboles de A) quil peut transmettre.

C := max I(A; B),


pA

o pA : toutes les lois dfinies sur A. La capacit C existe car lensemble


des lois demission peut tre plonger dans un domaine convexe de Rr
Pour un canal symtrique, C est atteint pour une loi uniforme de A.
Ex : pour un canal binaire symtrique, on a : C = 1 H(p)
Les canaux : second thorme de Shannon

Rendement dun code : Soit un code C un code de longueur n et de


cardinal N. Son rendement est :

log(N)
R := .
n

Second thorme de Shannon Soit C la capacit du canal de transmission et


soient 2 rels > 0 et < C. Il existe un code de rendement suprieur tel
que la probabilit derreur en sortie soit infrieure
Rciproquement, pour tout code de rendement R > C, il existe une constante
telle que la probabilit derreur en sortie soit suprieure .

Consquence : tude des codes correcteurs derreurs

Vous aimerez peut-être aussi