the wheel of fortune
DESCRIPTION
The Wheel of Fortune. Honza Blažek - [email protected]. Roz šíření Definice Motivy D on ’t care symboly Algoritmy Datová struktura Trie LZW, LZ77 Off-Line g reedy textual substituton Implementace V ý sledky Literatura. Obsah. (abeceda) - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/2.jpg)
2
Obsah
Rozšíření Definice Motivy Don’t care symboly
Algoritmy Datová struktura Trie LZW, LZ77 Off-Line greedy textual
substituton Implementace Výsledky Literatura
![Page 3: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/3.jpg)
3
Definice
(abeceda) je množina všech znaků
vyskytujících se ve vstupu následně i v Trii
značení (vstupní data)
pole (řetězec) znaků s[], kde s[i] i {1, 2, …, |s|}
(abeceda s don’t care) ∪{-}, kde – značí don’t
care symbol (motif m)
řetězec abecedy ∪{-}, kde m[1], m[|m|]
(seznam výskytů) množina všech pozic na
kterých začíná motiv m v řetězci s
Lm = (l1, l2, …, lp), kde p<|s|
(maximální motiv) je takový m, který nelze
prodloužit při zachování Lm.
(irredundant motiv) maximální motiv m se
seznamem výskytů Lm, takovým že Lm Lm1∪ Lm2∪ … ∪ Lmp (tj. nepřekrývá se se žádným z ostatních motivů)
![Page 4: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/4.jpg)
4
Motivy a „don’t care“
don’t care symbolika nahrazení konkrétního
symbolu v motivu don’t care symbolem ( - )
zavedení abecedy ∪ {-} příklad:
neochotný ≠ neschopný
nahradíme: ne-cho-ný = ne-cho-ný
výhody don’t care: počty motivů se sníží četnost výskytu se zvýší slovník se zmenší
nevýhody don’t care komprese se bez dalších
úprav stává ztrátovou pro zachování
bezztrátovosti je třeba komprimovat i vynechané znaky
problematická implementace do algoritmů, tedy konkrétní výběr znaků, jenž se budou vynechávat více [4]
![Page 5: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/5.jpg)
5
kořenkořen
aa bb cc
a = baa = ba ccbb
aa ccbb
bba=bacaa=baca cc
Trie – klasická
stromová struktura následníci vrcholu jsou
všechny znaky požadované abecedy
slovo je vyhledáváno od kořene k listům a výsledné slovo je udáno cestou od kořene a hodnotu listu
všichni následovníci jednoho vrcholu mají stejný prefix
v daném vrcholu je 0 (pokud je vrchol prázdný) a slovo(pokud obsahuje hodnotu)
příklad abeceda ={a, b, c} slovo ve stromu je uloženo ve
vrstvě podle počtu písmen
![Page 6: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/6.jpg)
6
Trie – komprimovaná
def: vnitřní vrchol stromu vrchol, který není kořen a
má následovníky (listy nebo vnitřní vrcholy)
Trie -> komprimovaná Trie obsahuje-li vnitřní vrchol v,
jehož všichni synové (následovníci) jsou listy bez významu a jeden vnitřní vrchol w, je nahrazen tímto vrcholem. Takto se postupuje dokud takové vrcholy Trie obsahuje.
příklad nahrazeny 3 vnitřní vrcholy
kořenkořen
aab = bacab = baca
cc
a = bacaaa = bacaa bb c = bacacc = bacac
![Page 7: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/7.jpg)
7
LZ77
bezztrátový algoritmus Původně pro kompresi
textu Dnes komprese i datových
a grafických souborů (compress – Unix)
Doplňuje ztrátové kompresní algoritmy
komprese v reálném čase při nižších požadavcích na
rychlost lepší kompresní poměr
variabilní velikost okna symetrická komprese a
dekomprese
vlastní algoritmus v okně dané velikosti je
vyhledáván maximální shodný řetězec nalezený ve floating window
ten je zakódován pomocí ukazatele na toto místo v okně a délky tohoto řetězce
při dekompresi je nalezený ukazatel nahrazen řetězcem z dané pozice dané délky
![Page 8: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/8.jpg)
8
LZW
bezztrátový algoritmus Původně pro kompresi
textu Dnes komprese i datových
a grafických souborů (gzip – Unix)
Doplňuje ztrátové kompresní algoritmy
komprese v reálném čase při nižších požadavcích na
rychlost lepší kompresní poměr
variabilní hloubka slovníku symetrická komprese a
dekomprese
vlastní algoritmus v textu jsou vyhledávány
stejné řetězce, každý řetězec je uložen do slovníku
komprimovaný řetězec je vyhledán a místo něj je uložen odkaz na místo ve slovníku kde se vyskytuje
dekomprese – je tvořen stejný slovník jako při kompresi a z něj jsou získávány původní řetězce
původní text: abbaaabaab
komprimovaný text: abbaaa[3,3]b
![Page 9: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/9.jpg)
9
Off-Line greedy textual substitution
Off-Line statistika textu probíhá před
začátkem komprese (tedy předpokládá se vícenásobný přístup k datům)
Greedy je vybrán motiv, který
umožňuje maximální kompresi v aktuálním kroku
Kombinace obou statistika je obnovována po
každém komprimovaném motivu
výběr motivu probíhá až do doby, kdy už nedochází ke kompresi
Způsoby komprese Off-line1
Ke komprimovanému souboru je přiložen slovník s motivy, jejich délkou, počtem výskytů a výskyty
Off-Line2
V textu je zachován jeden výskyt komprimovaného motivu a na něj je odkazováno
Off-Line3
Ke komprimovanému souboru je přiložen slovník na který je v zakódovaném souboru odkazováno (jsou místo něj odkazy)
![Page 10: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/10.jpg)
10
Příklad Off-Line1
$1
dictionary
a b a b a .
3 2
b a b a b a $1 2 3 4 5 6 7
1 2 3 4 5 6 7 8 910
1112
13
14
15
16
17
18
19
20
21
22
a b a a b a b a a b a a b a b a a b a b a $
dictionary
a b a . . .
3
original position
1 4 9 12
17
. .
5 . .
original position
1 4 9 12
17
1 3 5 .
5 3 .
![Page 11: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/11.jpg)
11
Příklad Off-Line2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 1516
17 18 19 20 21 22
a b a a b a b a a b a a b a b a a b a b a $
P P L L L L L P L L P L L L
( 8, 3 ) ( 5, 3 ) b a a b a ( -3, 3 ) b a ( -5, 3 ) b a $
1 2 3 4 5 6 7 8 910
1112
13
14
![Page 12: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/12.jpg)
12
Příklad Off-Line3
dictionary
1 2 3 4 5 6 7 8 9 10 11 12 13 14 1516
17 18 19 20 21 22
a b a a b a b a a b a a b a b a a b a b a $
P P L L P P L L P L L L
( 1 ) ( 1 ) b a ( 1 ) ( 1 ) b a ( 1 ) b a $
1 2 3 4 5 6 7 8 910
11
12
1 2 . .
a b a . . .
3 . .
![Page 13: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/13.jpg)
13
Don’t care
ztrátová komprese (lc) probíhá bez větších
problémů, don’t care symboly jsou dopočítány dekodérem
bezztrátová komprese (llc) chybějící symboly jsou v
další Trii (tzv. resolver), slova jsou uložena odkazem do obou stromů
příklad:
abbabbaaabaababaabababbaa
![Page 14: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/14.jpg)
14
Kombinace don’t care s greedy algoritmy
Zpracování vstupu u llc jsou výsledkem dva slovníky u lc probíhá obvyklým způsobem
Ze slovníku se vybere motiv s |m|Lm maximálním a ten je zakomprimován
Komprimovaný motiv se řídí Off-Linei předpisem
problém s Off-Line2 (dodržení schématu je podstatně dražší)
Opakování procedury ke komprimovanému textu se
přidá resolver a potřebné slovníky
Procedura se opakuje (zpracování vstupu, výběry motivů)
Problémy zpracovávané motivy musí
být irredundant algoritmus jinak ztrácí
na efektivitě irredundant motivy se
nepřekrývají – není třeba Trii stále obnovovat
počet vln komprese musí být rozumně omezen
časová náročnost kompresní poměr u lc dochází ke
zbytečným ztrátám bez zvýšení efektivity
![Page 15: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/15.jpg)
15
LZ77 a don’t care
Implementace lc Ve vyhledávacím okně je
nalezen nejvhodnější kandidát a na něj je z kódovaného signálu odkazováno
Před začátkem komprese je stanoven index k určující maximální počet don’t care v řetězci
k určuje výslednou kompresi a také ztrátu
dekodér nahrazuje přímo konkrétním řetězcem z původního okna
Implementace llc Nepoužívá se – nároky na
pomocný slovník jsou příliš velké, jak časové tak prostorové
![Page 16: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/16.jpg)
16
LZW a don’t care
Implementace lc Komprese
Při zpracování textu je budován slovník s již vynechanými znaky, každý uzel má jako své syny ∪{-}, don’t care symboly fungují ve slovníku jako defaultní cesta, pokud není nalezen hledaný řetězec
Při kompresi daného řetězce je odkazováno do slovníku
Dekomprese Ze slovníku je vždy rozbalen
daný řetězec don’t care symboly jsou
dopočítávány pomocí nějaké spojité funkce (v závislosti na signálu (obrázek, el. signál)
Implementace llc Komprese
Při budování slovníku je budován reslover
Odkaz je slepen z odkazu do resolveru a do původního slovníku
Dekomprese Resolver je
dekomprimován Odkazy jsou rozbaleny
a chybějící symboly jsou rozbaleny
![Page 17: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/17.jpg)
17
Komprese obrázků - lc
![Page 18: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/18.jpg)
18
Srovnání metod – gzip a LZW+don’t care
![Page 19: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/19.jpg)
19
Srovnání na Calgary Corpus
![Page 20: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/20.jpg)
20
Literatura
[1] Alberto Apostolico and Laxmi Parida, “Compression and the Wheel of Fortune”, IEEE Computer Society Press, 2003
[2] Alberto Apostolico, Matteo Comin and Laxmi Parida, “Motifs in Ziv-Lempel-Welch Clef”, IEEE Computer Society Press, 2004
[3] Alberto Apostolico and Stefano Leonardi, “Off-Line Compression by Greedy Textual Substitution”, IEEE, 2000
[4] Alberto Apostolico and Laxmi Parida, “Incremental Paradigms of Motif Discovery”, IEEE, 2003
![Page 21: The Wheel of Fortune](https://reader035.vdocuments.net/reader035/viewer/2022081512/56813e65550346895da86c50/html5/thumbnails/21.jpg)
21
Odkazy
http://gimli.mysteria.cz/komprese/seminar