Documente Academic
Documente Profesional
Documente Cultură
Rhouma Rhouma
https://sites.google.com/site/rhoouma
Avril 2015
1 / 55
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
2 / 55
Problématique de la Communications
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
3 / 55
Problématique de la Communications
4 / 55
Problématique de la Communications
Syllabus
5 / 55
Problématique de la Communications
Samuel Morse
6 / 55
Problématique de la Communications
7 / 55
Mesure de l’information et Entropie
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
8 / 55
Mesure de l’information et Entropie
Claude Shannon
9 / 55
Mesure de l’information et Entropie
Mesure de l’information
Définition de Shannon: Information is the resolution of uncertainty
La quantité d’information d’un symbole est d’autant plus grande que celui-ci est peu
probable.
La quantité d’information de deux symboles successifs est la somme de leurs quantités
d’information.
La quantité d’information notée I est une fonction qui doit ainsi avoir les propriétés
suivantes:
1 I(pk ) est une fonction continue de la probabilité pk .
2 I(pk ) ↑ si pk ↓ ⇒ I(pk ) est une fonction décroissante de pk
3 I(pk et pj ) = I(pk ) + I(pj )
4 Un symbole certain possède une quantité d’information nulle :
I(pk = 1) = 0.
une fonction qui vérifie les conditions 1, 3 et 4 est log(pk ). Pour obtenir la propriété 2 il
suffit de prendre log( p1 ) = −log(pk )
k
la quantité d’information d’un symbole xk de prob pk est donc :
1
I(xk ) = log( ) = −log(pk )
pk
unité: bit ou shannon pour log2 . nat pour Ln. dit pour log10 . trit pour log3
10 / 55
Mesure de l’information et Entropie
Entropie
Soit S une source de symboles discrète s1 , s2 , ..., sN de prob p1 ,
p2 , ..., pN
L’entropie H(S) est la quantité d’information moyenne reçu de S:
N N
X X 1
H(S) = pk I(sk ) = pk log2 ( )
pk
k =1 k =1
unité: bit/symbole ou Shannon/sybmole
Si tous les symboles sont equiprobables:
H(S) = log2 N
et donc
N = 2H(S)
=⇒ C’est la valeur maximale que l’entropie peut atteindre
11 / 55
Mesure de l’information et Entropie
12 / 55
Mesure de l’information et Entropie
13 / 55
Mesure de l’information et Entropie
Signifiance de l’entropie
14 / 55
Codes de longueurs fixes
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
15 / 55
Codes de longueurs fixes
16 / 55
Codes de longueurs fixes
H(S)
L’efficacité d’un code est η = R avec R est a longueur du code
l’entropie mesuré ici est :
H(S) = 0.333 × 1.58 + 0.5 × 1 + 2 × 0.83 × 3.58 = 1.626 bits
Peut-on trouver un encodage où la transmission de 1000 symboles
nécessite 1626 digit binaire en moyenne ? Si oui η = 1 puisque
R = H(S) ⇒ Efficacité de 100 %
avec un encodage de longueur fixe qui utilise 2 digit binaire pour chaque
symbole, on transmet 2000 digits binaires. ici η = 1.626
2 = 0.813 ⇒
Efficacité de 81,3 %
17 / 55
Codes de longueurs fixes
Extension de source
Pour améliorer l’efficacité du codage, on peut transmettre et donc coder les symboles non
pas individuellement mais par blocs de J symboles.
Exemple: avec {A, B} on peut faire avec J = 2. les blocs {AA, AB, BA, BB}.
à partir d’une source primaire de K symboles, on construit une source secondaire de K J .
N : longueur de codage de chaque symbole de la source secondaire. alors N ≥ log2 (K J )
=⇒ N ≥ J · log2 (K ) et donc N = E[J · log2 (K )] + 1
R: longueur de codage de chaque symbole de la source primaire:
R = N/J = E[log2 (K )] + 1/J. (R n’est plus un entier)
H(S)
efficacité de la source primaire avec extension de source : η2 = E[log2 (K )]+1/J
H(S)
η1 = E[log2 (K )]+1
. IL est clair que η2 > η1
La technique d’extension de source peut ainsi améliorer l’efficacité du codage pour des
mots de codes de longueur fixe.
H(S) J·H(S)
C’est comme si η2 = R
= N
ex: K=24 et J=3 donc K J = 13824 donc
N=14 et 2N = 16384 et donc R=4.666.
Si tous les symboles sont équiprobables : H(S) = 4.585 et η2 = 98.25% > η1 = 91.7%.
18 / 55
Codes de longueurs fixes
19 / 55
Codes de longueurs variables, codes préfixes
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
20 / 55
Codes de longueurs variables, codes préfixes
Codes préfixe
examiner ces trois codes de cette source de 4 symboles et coder
le message BOF.
21 / 55
Codes de longueurs variables, codes préfixes
Codes préfixe
1 Avec le code I, le message envoyé est : 001001. C’est ce que voit le récepteur. Comment
peut-il l’interpréter? De manière correcte bien sûr mais aussi 00 1 00 1 c’est à dire BIBI.
Problème, le message n’est pas décodable de manière unique. Ceci est du au fait que le
1, code attribué à I est le début d’un autre code 10 attribué au O. Pour éviter cette
situation, il ne faut pas qu’un code soit le "préfixe" d’un autre code. Les codes qui
remplissent cette condition sont des codes préfixes.
2 Avec le code III, le message envoyé est 01111011. Au décodage nous pouvons voir 0
111... c’est à dire IO... Mais ici nous nous rendons compte du fait que ce qui suit c’est à
dire soit 1, soit 10, soit 101 ne sont pas des codes et donc, nous pouvons revenir en
arrière pour modifier l’interprétation soit 01 111 011 et retrouver le bon message. Le code
n’est pas décodable de manière instantanée. Ceci est aussi dû au fait que le code utilisé
n’est pas un code préfixe.
3 Le code II est lui un code préfixe et nous avons les deux propriétés souhaitées: décodable
de manière unique et de manière instantanée.
22 / 55
Codes de longueurs variables, codes préfixes
23 / 55
Codes de longueurs variables, codes préfixes
Inégalité de Kraft
25 / 55
Codes de longueurs variables, codes préfixes
26 / 55
Codes de longueurs variables, codes préfixes
27 / 55
Algorithme de Huffman
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
28 / 55
Algorithme de Huffman
Algorithme de Huffman
29 / 55
Algorithme de Huffman
Exemple
Initialement S = {(A, 1/3)(B, 1/2)(C, 1/12)(D, 1/12)}
Première itération:
les symboles peu probables sont C et D
créer un nouveau noeud
ajouter un nouveau symbole à la source
S = {(A, 1/3)(B, 1/2)(CD, 1/6)}
Deuxième itération :
les symboles peu probables sont CD et A
créer un nouveau noeud
ajouter un nouveau symbole à la source
S = {(B, 1/2)(ACD, 1/2)}
Troisième itération :
les symboles peu probables sont ACD et B
créer un nouveau noeud
ajouter un nouveau symbole à la source
S = {(BACD, 1)}
Terminé !
30 / 55
Algorithme de Huffman
31 / 55
Algorithme de Huffman
un autre exemple
32 / 55
Algorithme de Huffman
construction de l’arbre
33 / 55
Algorithme de Huffman
34 / 55
Algorithme de Huffman
35 / 55
Algorithme de Huffman
36 / 55
Algorithme de Huffman
37 / 55
Algorithme de Fano-Shannon
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
38 / 55
Algorithme de Fano-Shannon
Codage de Fano-Shannon
39 / 55
Algorithme de Fano-Shannon
Algorithme de Fano-Shannon
40 / 55
Algorithme de Fano-Shannon
exemple
Source de symbole
= {(E, 0.48)(A, 0.21)(S, 0.12)(T , 0.08)(U, 0.06)(U, 0.05)}
41 / 55
Algorithme de Fano-Shannon
42 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
43 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
44 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
Si on compte les probabilités des symboles d’une façon individuelle mais sans utiliser le
contexte, l’entropie H=4.177 bits/symbol
Mais le texte Anglais est plein de contexte ! ex: completer la lettre manquante : "Nothing
can be said to be certain, except death and ta?"
c’est "x". pourtant "x" a une très faible probabilité p =0.0017 dans l’anglais
Shannon et d’autres chercheurs ont trouvé que l’entropie de l’anglais est inférieur à 4.177
il a estimé 0.6 à 1.3 bits/lettre en utilisant l’expectation humaine
45 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
Lempel-Ziv-Welch (1977,1978,1984)
développé en 1977-1978 par Abraham Lempel et Jacob Ziv et est
l’algorithme dit LZ77 et LZ78.
Une amélioration de ces algorithmes a été proposée en 1984 par
Welch ce qui donne l’algorithme LZW.
Cet alg n’ayant pas de statistiques sur la source, va se constituer
en ligne un dictionnaire où figurent les groupes de mots qui se
trouvent répétés dans le document à compresser.
Ziv est un diplômé (1950s) du MIT lui aussi comme Huffman
LZW atteint asymptotiquement la limite inférieure de shannon qui
est H(S).
Normes de compression qui utilise LZW (souvent avec Huffman)
sont: gif (compression d’images), tiff, png, pdf, zip (Winzip), gzip,
pkzip,
La compression de données pour la transmission sur modem
norme V42 bis.
46 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
47 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
Codage LZW
48 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
49 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
Décodage LZW
50 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
51 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
52 / 55
Limitations de Fano-Shannon et Huffman et Supériorité de LZW
Décompression
53 / 55
Code par répétition
Plan
1 Problématique de la Communications
5 Algorithme de Huffman
6 Algorithme de Fano-Shannon
54 / 55
Code par répétition
55 / 55