Pourquoi on s'intéresse à la compression de données ?
i
de S
H(ABBCCCDDDDEEEEE) = 2.14925539717
>>> from math import *
>>> -1./15*log(1./15)/log(2)
0.26045937304056793
>>> -2./15*log(2./15)/log(2)
0.3875854127478025
>>> -3./15*log(3./15)/log(2)
0.4643856189774725
>>> -4./15*log(4./15)/log(2)
0.5085041588289383
>>> -5./15*log(5./15)/log(2)
0.5283208335737187
>>> 0.26045937304056793+0.3875854127478025+0.4643856189774725
+0.5085041588289383+0.5283208335737187
2.1492553971685
2.1492553971685 bits
, il faut
donc théoriquement 15x2.1492553971685 = 32.2388309575 bits
pour
coder le message
A
BB
CCC
DDDD
EEEEE
A
apparaît 1 fois, B
2 fois, C
3 fois, D
4 fois et E
5 foisA
et B
ABB
CCC
DDDD
EEEEE
AB
et C
ABBCCC
DDDD
EEEEE
DDDD
EEEEE
ABBCCC
D
et E
DDDDEEEEE
ABBCCC
ABBCCC
DDDDEEEEE
ABC
et DE
ABBCCCDDDDEEEEE
A
est 0
, 0
puis 0
soit 000
B
est 001
C
est 01
D
est 10
E
est 11
ABBCCCDDDDEEEEE
ABBCCCDDDDEEEEE
à partir de l'arbre de Huffman1110A0B0C10D0E : 5*8+9 = 49 bits
49 + 33 = 82 bits
0α
\(\mathbf{0^αA}\)
0α
0
A
\(0^αA\)
αA
\(0^αA\mathbf{1^αB}\)
αA
1
B
\(0^αA1^αB\)
αAαB
\(0^αA1^αB\mathbf{01^B}\)
αAαB
B
: 01
\(0^αA1^αB01^B\)
αAαBB
\(0^αA1^αB01^B\mathbf{0^αC}\)
αAαBB
0
C
\(0^αA1^αB01^B0^αC\)
αAαBBαC
\(0^αA1^αB01^B0^αC\mathbf{101^C}\)
αAαBBαC
C
: 101
\(0^αA1^αB01^B0^αC101^C\)
αAαBBαCC
\(0^αA1^αB01^B0^αC101^C\mathbf{10^C}\)
αAαBBαCC
C
: 10
\(0^αA1^αB01^B0^αC101^C10^C\)
αAαBBαCCC
\(0^αA1^αB01^B0^αC101^C10^C\mathbf{0^αD}\)
αAαBBαCCC
0
D
\(0^αA1^αB01^B0^αC101^C10^C0^αD\)
αAαBBαCCCαD
\(0^αA1^αB01^B0^αC101^C10^C0^αD\mathbf{1101^D}\)
αAαBBαCCCαD
D
: 1101
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D\)
αAαBBαCCCαDD
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D\mathbf{00^D}\)
αAαBBαCCCαDD
D
: 00
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D\)
αAαBBαCCCαDDD
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D\mathbf{10^D}\)
αAαBBαCCCαDDD
D
: 10
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D\)
αAαBBαCCCαDDDD
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D\mathbf{11^αE}\)
αAαBBαCCCαDDDD
11
E
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE\)
αAαBBαCCCαDDDDαE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE\mathbf{0101^E}\)
αAαBBαCCCαDDDDαE
E
: 0101
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E\)
αAαBBαCCCαDDDDαEE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E\mathbf{100^E}\)
αAαBBαCCCαDDDDαEE
E
: 100
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E\)
αAαBBαCCCαDDDDαEEE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E\mathbf{00^E}\)
αAαBBαCCCαDDDDαEEE
E
: 00
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E00^E\)
αAαBBαCCCαDDDDαEEEE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E00^E\mathbf{01^E}\)
αAαBBαCCCαDDDDαEEEE
E
: 01
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E00^E01^E\)
αAαBBαCCCαDDDDαEEEEE
5*8+32 = 72 bits
0α
\(\mathbf{0^αA}\)
0α
0
qui correspond au caractère αA
\(0^αA\)
αA
\(0^αA\mathbf{1^αB}\)
αA
1
qui correspond au caractère αB
\(0^αA1^αB\)
αAαB
\(0^αA1^αB\mathbf{01^B}\)
αAαB
01
qui correspond au caractère B
\(0^αA1^αB01^B\)
αAαBB
\(0^αA1^αB01^B\mathbf{0^αC}\)
αAαBB
0
qui correspond au caractère αC
\(0^αA1^αB01^B0^αC\)
αAαBBαC
\(0^αA1^αB01^B0^αC\mathbf{101^C}\)
αAαBBαC
101
qui correspond au caractère C
\(0^αA1^αB01^B0^αC101^C\)
αAαBBαCC
\(0^αA1^αB01^B0^αC101^C\mathbf{10^C}\)
αAαBBαCC
10
qui correspond au caractère C
\(0^αA1^αB01^B0^αC101^C10^C\)
αAαBBαCCC
\(0^αA1^αB01^B0^αC101^C10^C\mathbf{0^αD}\)
αAαBBαCCC
0
qui correspond au caractère αD
\(0^αA1^αB01^B0^αC101^C10^C0^αD\)
αAαBBαCCCαD
\(0^αA1^αB01^B0^αC101^C10^C0^αD\mathbf{1101^D}\)
αAαBBαCCCαD
1101
qui correspond au caractère D
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D\)
αAαBBαCCCαDD
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D\mathbf{00^D}\)
αAαBBαCCCαDD
00
qui correspond au caractère D
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D\)
αAαBBαCCCαDDD
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D\mathbf{10^D}\)
αAαBBαCCCαDDD
10
qui correspond au caractère D
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D\)
αAαBBαCCCαDDDD
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D\mathbf{11^αE}\)
αAαBBαCCCαDDDD
11
qui correspond au caractère αE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE\)
αAαBBαCCCαDDDDαE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE\mathbf{0101^E}\)
αAαBBαCCCαDDDDαE
0101
qui correspond au caractère E
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E\)
αAαBBαCCCαDDDDαEE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E\mathbf{100^E}\)
αAαBBαCCCαDDDDαEE
100
qui correspond au caractère E
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E\)
αAαBBαCCCαDDDDαEEE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E\mathbf{00^E}\)
αAαBBαCCCαDDDDαEEE
00
qui correspond au caractère E
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E00^E\)
αAαBBαCCCαDDDDαEEEE
\(0^αA1^αB01^B0^αC101^C10^C0^αD1101^D00^D10^D11^αE0101^E100^E00^E\mathbf{01^E}\)
αAαBBαCCCαDDDDαEEEE
01
qui correspond au caractère E
Le codage arithmétique :
0
et on ajoute la première
fréquence ce qui donne [0, 1/15)
, [0,0.0666...)
pour A
.1/15
ce qui
donne la borne min de B
et on ajoute la fréquence de B
ce qui donne
1/15 + 2/15 = 3/15
.B
est 3/15
et donne la borne min de C
. On ajoute la
fréquence de C
ce qui donne 3/15 + 3/15 = 6/15
symbole | fréquence | intervalle | intervalle final |
---|---|---|---|
A | 1/15 | [0 , 0 + 1/15) | [0 , 0.0666…) |
B | 2/15 | [1/15 , 1/15 + 2/15) | [0.0666… , 0.2 ) |
C | 3/15 | [3/15 , 3/15 + 3/15) | [0.2 , 0.4 ) |
D | 4/15 | [6/15 , 6/15 + 4/15) | [0.4 , 0.6666…) |
E | 5/15 | [10/15 , 10/15 + 5/15) | [0.6666… , 1 ) |
écart = 1 - 0 = 1
borne basse = 0 + 1 * 0 = 0
borne haute = 0 + 1 * 0.0666... = 0.0666...
écart = 0.0666... - 0 = 0.0666...
borne basse = 0 + 0.0666... * 0.0666... = 0.00444...
borne haute = 0 + 0.0666... * 0.2 = 0.01333...
écart = 0.01333... - 0.00444... = 0.008888...
borne basse = 0.00444... + 0.008888... * 0.0666... = 0.00503703...
borne haute = 0.00444... + 0.008888... * 0.2 = 0.006222...
2**-8*sum([int(c)*2**-index
for index, c in enumerate('1010111011011010111011001')])
8
bits pour l'exposant et 25
pour Mantissa soit 33
bits5*3 + 5*8 = 55 bits
55+33 = 88 bits
0.00533615634777
- 1A
car 0.00533615634777
est compris entre [0 , 0.0666...)
(0.00533615634777-0)/(1./15) = 0.08004234521655
B
car 0.08004234521655
est compris entre [0.0666... , 0.2)
(0.08004234521655-1./15)/(2./15) = 0.10031758912412501
B
car 0.10031758912412501
est compris entre [0.0666... , 0.2)
(0.10031758912412501-1./15)/(2./15) = 0.2523819184309376
0.00533615634777
- 2C
: 0.2523819184309376
entre [0.2, 0.4)
C
: 0.26190959215468795
entre [0.2, 0.4)
C
: 0.3095479607734397
entre [0.2, 0.4)
D
: 0.5477398038671984
entre [0.4, 0.666666666)
D
: 0.5540242645019942
entre [0.4, 0.666666666)
D
: 0.577590991882478
entre [0.4, 0.666666666)
D
: 0.6659662195592924
entre [0.4, 0.666666666)
E
: 0.9973733233473463
entre [0.6666666666, 1)
E
: 0.992119970042039
entre [0.6666666666, 1)
E
: 0.9763599101261171
entre [0.6666666666, 1)
E
: 0.9290797303783515
entre [0.6666666666, 1)
E
: 0.7872391911350545
entre [0.6666666666, 1)
AAAAABBBBB
peut être remplacer par 5A5B
ABABAB
il faudrait écrire 1A1B1A1B1A1B
ce qui n'est
pas du tout efficace!5A!5B
pour AAAAABBBBB
alors que ABABAB
reste
inchangé.
1A2B3C4D5E = 10*8 = 80 bits
ABBCCC!4D!5E = 12*8 = 96 bits
A
, il n'existe pas dans le dictionnaire local, on affiche donc 0, 0, A
A
B
, il n'existe pas dans le dictionnaire local, on affiche donc 0, 0, B
B
B
, il existe dans le dictionnaire local, on
recherche le plus grand préfixeB
en rouge, on affiche donc
l'index dans le dictionnaire du B
qui est 1
la longueur du préfixe
qui est aussi 1
1, 1, C
)C
C
, il existe dans le dictionnaire local, on
recherche le plus grand préfixeCC
, on affiche donc l'index dans le
dictionnaire qui est 1
et la longueur du préfixe qui est 2
D
(soit 1, 2, D
)D
0,0,A
pas de préfixe, on affiche directement A
0,0,B
pas de préfixe, on affiche directement B
1,1,C
un préfixe qui commence par la dernière lettre affichée B
et de longueur 1 donc B
, puis on affiche C
1,2,D
un préfixe qui commence par la dernière lettre affichée C
et de longueur 2 donc C
puis de nouveau C
, puis on affiche D
1,3,E
un préfixe qui commence par la dernière lettre affichée D
et de longueur 3 donc DDD
, puis on affiche E
1,3,E
un préfixe qui commence par la dernière lettre affichée E
et de longueur 3 donc EEE
, puis on affiche E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 1 |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | 2 |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | 3 |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | 4 |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 | ||
E |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 | ||
E | E |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 | ||
E | E | 8, E | ||
9, EE |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 | ||
E | E | 8, E | ||
9, EE | E |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 | ||
E | E | 8, E | ||
9, EE | E | |||
E |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 | ||
E | E | 8, E | ||
9, EE | E | |||
E | E |
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
0, null | A | 0, A | 1 | |
1, A | B | 0, B | ||
2, B | B | 2 | ||
B | C | 2, C | ||
3, BC | C | 0, C | ||
4, C | C | 3 | ||
C | D | 4, D | ||
5, CD | D | 0, D | ||
6, D | D | |||
D | D | 6, D | ||
7, DD | E | 0, E | ||
8, E | E | 4 | ||
E | E | 8, E | ||
9, EE | E | |||
E | E | |||
EE | 9 |
0,A,0,B,2,C,0,C,4,D,0,D,6,D,0,E,8,E,9
(2*1 + 2*2 + 4*3 + 2*4)+9*8 = 98 bits
0,A,0,B,2,C,0,C,4,D,0,D,6,D,0,E,8,E,9
0,A
On affiche A
et on ajoute A
au dico à l'index 1
0,B
On affiche B
et on ajoute B
au dico à l'index 2
2,C
On affiche BC
, B
provenant du dico à l'index 2
et on ajoute BC
au dico à l'index 3
0,C
On affiche C
et on ajoute C
au dico à l'index 4
4,D
On affiche CD
, C
provenant du dico à l'index 4
et on ajoute CD
au dico à l'index 5
0,D
On affiche D
et on ajoute D
au dico à l'index 6
6,D
On affiche DD
et on ajoute DD
au dico à l'index 7
0,E
On affiche E
et on ajoute E
au dico à l'index 8
8,E
On affiche EE
et on ajoute EE
au dico à l'index 9
9
On affiche EE
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 |
A
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A |
A
est dans le dictionnaire on l'ajoute au mot en coursDictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B |
B
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | 9 |
AB
n'est pas dans le dictionnaire, on affiche donc l'index du mot
en cours en sortie A
AB
dans le dictionnaire avec l'index 256
(la taille du
dico passe à 9)B
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | 9 |
B
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B |
BB
n'est pas dans le dictionnaire, on affiche donc l'index du mot
en cours en sortie B
BB
dans le dictionnaire avec l'index 257
B
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C |
C
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C |
BC
n'est pas dans le dictionnaire, on affiche donc l'index du mot
en cours en sortie B
BC
dans le dictionnaire avec l'index 258
C
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C |
C
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C |
CC
n'est pas dans le dictionnaire, on affiche C
en sortieCC
dans le dictionnaire avec l'index 259
C
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C |
C
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC |
CC
est dans le dictionnaire, on ajoute le symbole C
au mot
en coursDictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D |
D
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D |
CCD
n'est pas dans le dictionnaire, on affiche 259
correspondant
à l'index du mot en cours CC
en sortieCCD
dans le dictionnaire avec l'index 260
D
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D |
D
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D |
DD
n'est pas dans le dictionnaire, on affiche D
en sortieDD
dans le dictionnaire avec l'index 261
D
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D |
D
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD |
DD
est dans le dictionnaire, on ajoute le symbole D
au mot
en coursDictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D |
D
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D |
DDD
n'est pas dans le dictionnaire, on affiche 261
en sortieDDD
dans le dictionnaire avec l'index 262
D
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E |
E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E |
DE
n'est pas dans le dictionnaire, on affiche D
en sortieDE
dans le dictionnaire avec l'index 263
E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E |
E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E |
EE
n'est pas dans le dictionnaire, on affiche E
en sortieEE
dans le dictionnaire avec l'index 264
E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E | E |
E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E | E | ||
EE |
EE
est dans le dictionnaire, on ajoute le symbole E
au mot
en coursDictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E | E | ||
EE | E |
E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E | E | ||
EE | E | 264 | ||
265, EEE | E |
EEE
n'est pas dans le dictionnaire, on affiche 264
en sortieEEE
dans le dictionnaire avec l'index 265
E
au mot en coursDictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E | E | ||
EE | E | 264 | ||
265, EEE | E | E |
E
Dictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E | E | ||
EE | E | 264 | ||
265, EEE | E | E | ||
EE |
EE
est dans le dictionnaire, on ajoute le symbole E
au mot
en coursDictionnaire | Mot en cours | Symbole | Sortie | Taille dico |
---|---|---|---|---|
A | 8 | |||
A | B | A | ||
256, AB | B | B | B | 9 |
257, BB | B | C | B | |
258, BC | C | C | C | |
259, CC | C | C | ||
CC | D | 259 | ||
260, CCD | D | D | D | |
261, DD | D | D | ||
DD | D | 261 | ||
262, DDD | D | E | D | |
263, DE | E | E | E | |
264, EE | E | E | ||
EE | E | 264 | ||
265, EEE | E | E | ||
EE | 264 |
264
A, B, B, C, 259, D, 261, D, E, 264, 264
8 + 9*10 = 98 bits
A, B, B, C, 259, D, 261, D, E, 264, 264
A
: Lire A
B
: Lire B
, afficher A
et ajouter AB
au dico à l'index 256
B
: Lire B
, afficher B
et ajouter BB
au dico à l'index 257
C
: Lire C
, afficher B
et ajouter BC
au dico à l'index 258
259
: Lire 259
, afficher C
et ajouter CC
au dico à
l'index 259
(quand l'index est égal à la taille du dico en
cours, on concatène le mot en cours ici C
avec la première
lettre du mot en cours ici C
)D
: Lire D
, afficher CC
et ajouter CCD
au dico à l'index 260
261
: Lire 261
, afficher D
et ajouter DD
au dico à l'index 261
D
: Lire D
, afficher DD
et ajouter DDD
au dico à l'index 262
E
: Lire E
, afficher D
et ajouter DE
au dico à l'index 263
264
: Lire 264
, afficher E
et ajouter EE
au dico à l'index 264
264
: Lire 264
, afficher EE
et ajouter EEE
au dico à l'index 265
EE
15*8 = 120 bits
2.14925539717
49+33 = 82 bits
5*8+32 = 72 bits
55+33 = 88 bits
80 bits
96 bits
78 bits
98 bits
98 bits