21
The Wheel of Fortune Honza Blažek - [email protected]

The Wheel of Fortune

  • Upload
    alain

  • View
    68

  • Download
    6

Embed Size (px)

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 Presentation

Citation preview

Page 1: The Wheel of Fortune

The Wheel of Fortune

Honza Blažek - [email protected]

Page 2: The Wheel of Fortune

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17

Komprese obrázků - lc

Page 18: The Wheel of Fortune

18

Srovnání metod – gzip a LZW+don’t care

Page 19: The Wheel of Fortune

19

Srovnání na Calgary Corpus

Page 20: The Wheel of Fortune

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

21

Odkazy

http://gimli.mysteria.cz/komprese/seminar