LE CODAGE ET DECODAGE ARITHMETIQUE
1) CODAGE
La technique du codage arithmétique engendre en résultat, un nombre réel
compris entre 0 et 1.
- ALGORITHME
limite_basse = 0
limite_haute = 1
tant_que ( (N=saisicar) != EOF )
{ intervalle = limite_haute - limite_basse équation1
limite_haute = limite_basse + (intevalle*max(N)) équation2
limite_basse = limite_basse + (intevalle*min(N)) équation3
}
ecrire(limite_basse)
- EXEMPLE : Soit la chaîne "!TESTDATA!" à compresser. On commence
par établir le tableau des occurrences suivant (le tableau donnant la
probabilité d’apparition de chaque caractère).
lettre probabilité intervalle
(min..max)
T 3/10 0.0 0.3
E 1/10 0.3 0.4
S 1/10 0.4 0.5
D 1/10 0.5 0.6
A 2/10 0.6 0.8
! 2/10 0.8 1.0
Tableau1
En suivant l’algorithme décrit ci-dessus et en calculant à chaque fois les
nouvelles valeurs de "intervalle" (en utilisant équation1), "limite_basse"
(en utilisant équation3) et "limite_haute" (en utilisant équation2), nous
dressons le tableau des résultats suivant :
chaîne intervalle limite_basse limite_haute
0.0 1.0
! 1.0 0.8 1.0
T 0.2 0.8 0.86
E 0.06 0.818 0.824
S 0.006 0.8202 0.821
T 0.0006 0.8204 0.82058
D 0.00018 0.82044 0.82056
A 0.000018 0.82049 0.82050508
T 0.0000036 0.8205008 0.820505044
A 0.00000108 0.820501448 0.8205050188
! 0.000000216 0.82050146208 0.82050501664
Tableau2
Le résultat du codage arithmétique de la chaîne "!TESTDATA!" est le réel se
trouvant dans la dernière ligne du Tableau2 et illustrant la dernière valeur de
"limite_basse" ; c'est-à-dire le réel : 0.82050146208
2) DECODAGE
Cette partie devra être faite par chacun de vous et retournée sous
forme d’un compte rendu. Cette évaluation sera prise en compte dans
la note finale de l’examen de ce module EP35.
QUESTION : Donner l’algorithme ainsi que le détail de calcul (sous forme
d’un tableau) qui permet de retrouver le résultat du décodage du réel :
0.82050146208, retrouvé précédemment.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !