Algoritmul FGK
Baza algoritmului FGK o reprezinta proprietatea sibling, definita de Gallager: un arbore cod binar are proprietatea sibling, daca fiecare nod, exceptand nodul radacina, are o sibling si daca nodurile pot fi afisate in ordine descrescatoare a ponderii cu fiecare nod adiacent cu siblingul lui. Gallager arata ca un cod prefix binar este un cod Huffman daca si numai daca arborele are proprietatea sibling. In algoritmul FGK, ambii senderul si receiverul mentin schimbarile dinamice ale arborilor codului Huffman. Frunzele arborelui cod reprezinta mesajele sursa si ponderile frunzelor reprezinta numararile frecventei pentru mesaje.
Figura 1--algoritmul FGK aplicat pe EXAMPLE (a) arbore dupa prelucrarea "aa bb" ; 11 se va transmite pentru urmatorul b ; (b) dupa codarea celui de-al treilea b; 101 se va transmite pentru urmatorul element space; arborele nu se va schimba ; 100 se va transmite pentru primul c; (c) arborele dupa update urmand primul c.
Initial,
arborele cod consta intr-un singur nod frunza, numit nodul-0. Nodul-0
este un nod special utilizat pentru a reprezenta cele n-k mesaje nefolosite.
Pentru fiecare mesaj transmis, ambele parti trebuie sa incrementeze
ponderea corespunzatoare si sa recalculeze arborele cod astfel incat
sa se mentina proprietatea sibling. La momentul din timp in care
t mesaje au fost transmise, k dintre ele distincte si k < n, arborele este un arbore de cod
Huffman legal, cu k + 1
Arborele format prin algoritmul FGK pe ansamblul EXAMPLE
Neconsiderand overheadul, numarul de biti transmisi prin algoritmul FGK este 129. Algoritmul static Huffman transmite 117 biti in procesarea acelorasi date. Overheadul asociat metodei adaptive este de fapt mai mic decat cel al algoritmului static. In cazul adaptiv, overheadul este de n log n biti necesari pentru a reprezenta fiecare dintre cele n mesaje sursa diferite atunci cand apar pentru prima oara. (Acest lucru este de fapt conservativ; decat sa transmita un cod unic pentru fiecare din cele n mesaje sursa, mai degraba senderul ar putea transmite pozitia mesajului din lista mesajelor ramase si sa salveze cativa biti in cazul obisnuit.)
In cazul static, mesajele sursa trebuie sa fie trimise dupa forma arborelui cod. Dupa cum am mai spus, o reprezentare eficienta a formei arborelui necesita 2n biti. Algoritmul FGK se compara bine cu codarea staticp Huffman cand se tine seama de overhead.
Figura de mai jos ilustreaza un exemplu pe care algoritmul FGK actioneaza mai bine decat algoritmul static Huffman, chiar fara a lua in consideratie overheadul. Algoritmul FGK transmite 47 de biti pentru acest ansamblu in timp ce algoritmul static Huffman necesita 53 de biti.
Arbore format prin algoritmul FGK pentru ansamblul 'e eae de eabe eae dcf
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |