The Wheel of Fortune Honza Blažek -

Slides:



Advertisements
Podobné prezentace
Algoritmy zpracování textů II
Advertisements

Počítačová grafika.
Půlbajtová komprimace
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Pro začátek něco lehčího
Zpracování informací a znalostí Datové struktury a algoritmy pro vyhledávání informací Doc. RNDr. Jan Rauch, CSc. Katedra informačního a znalostního.
Digitální reprezentace
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Pevné disky Kateřina Trčková 4.I.
Výukový modul projektu: Nové formy výuky ve školách kraje Vysočina Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.
*Zdroj: Průzkum spotřebitelů Komise EU, ukazatel GfK. Ekonomická očekávání v Evropě Březen.
Kompresní algoritmy.
Red-Black Stromy Binární Vyhledávací Stromy, u kterých je časová složitost operací v nejhorším případě rovná O(log n)
Semestrální práce KIV/PT Martin Kales Hana Hůlová.
Diskrétní matematika Opakování - příklady.
Aplikace teorie grafů Základní pojmy teorie grafů
ALGO – Algoritmizace 1. cvičení
Projektování výrobních procesů
Algoritmy zpracování textů II
Komprese textových, video a audio dat.  Komprese   JPEG: 
ADT Strom.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Metody řazení s lineární časovou složitostí
Skip-List je datová struktura, která může být použita jako náhrada za vyvážené stromy. představují pravděpodobnostní alternativu k vyváženým stromům (struktura.
B-Strom.
Úvod do databází Databáze.
Decision Trees & Genetic Programming 1 Klasické DT V některých případech nepraktické.
1 Vyhledávání Principy vyhledávání Klasifikace klíče:  Interní klíč – je součástí prohlížených záznamů  Externí klíč – není jeho součástí, je jím např.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace
Praha6.cz Nové trendy v e-publishingu Statické stránky, mapa stránek, menu a fulltextové vyhledávání.
Definování prostředí pro provozování aplikace dosud jsme řešili projekt v obecné rovině aplikace bude ovšem provozována v konkrétním technickém a programovém.
Získávání informací Získání informací o reálném systému
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Adaptivní Huffmanův kód.
Jazyk vývojových diagramů
Projekt PŘEDPOVĚĎ POČASÍ. Předpověď počasí na
, Elektronické služby knihoven prakticky, Praha Portál STM Lucie Hejná Státní technická knihovna
B-strom je dynamická indexová struktura.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód.
Informatika pro ekonomy II přednáška 3
Vnější paměť Ukládání dat pouze do operační paměti by při práci s počítačem nestačilo. Pro uchování vytvořených dat mají počítače ještě další, tzv. diskové.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Teorie informace.
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
Algoritmy a programovací techniky
PRAVOÚHLÝ TROJÚHELNÍK
FRAKTÁLY JSOU MNOŽINY JEJICHŽ GEOMETRICKÝ MOTIV SE OPAKUJE V ZÁKLADNÍM TĚLESE AŽ DO NEKONEČNA. (c) Tralvex Yeap. All Rights Reserved.
VII. Neutronová interferometrie II. cvičení KOTLÁŘSKÁ 7. DUBNA 2010 F4110 Kvantová fyzika atomárních soustav letní semestr
Algoritmy vyhledávání a řazení
Jazyk vývojových diagramů
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Úvod.
JavaScript Podmínky, cykly a pole.
Databázové modelování
Kompresní metoda ACB Associative Coder of Buyanovsky autor: George Buyanovsky připravil Tomáš Skopal podle knihy „Data Compression“ od D. Salomona, 1997,
Kompresní algoritmus LZW Dokumentografické informační systémy.
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
Informatika pro ekonomy přednáška 4
Vícerozměrný přístup pro indexování XML dat
ACB a DIS Využití kompresní metody ACB pro potřeby DIS Tomáš Skopal VŠB-TU Ostrava.
Návrh a implementace algoritmů pro údržbu,
Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS.
Perzistence XML dat Kamil Toman
Komprese obrázků Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorMgr. Soňa Patočková Název šablonyIII/2.
Rastrová grafika Základní termíny – Formáty rastrové grafiky.
Jednotná informační brána (JIB)
Informatika pro ekonomy přednáška 4
ANOPRESS Databáze TAM TAM
Algoritmizace a datové struktury (14ASD)
Informatika pro ekonomy přednáška 4
Transkript prezentace:

The Wheel of Fortune Honza Blažek -

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

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 L m = (l 1, l 2, …, l p ), kde p<|s| (maximální motiv) je takový m, který nelze prodloužit při zachování L m. (irredundant motiv) maximální motiv m se seznamem výskytů L m, takovým že L m  L m1 ∪ L m2 ∪ … ∪ L mp (tj. nepřekrývá se se žádným z ostatních motivů)

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]

5 kořen ab a = ba abc ba=bacac bc c 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

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řen ab = baca a = bacaa bc = bacac c

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

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

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-line 1 Ke komprimovanému souboru je přiložen slovník s motivy, jejich délkou, počtem výskytů a výskyty Off-Line 2 V textu je zachován jeden výskyt komprimovaného motivu a na něj je odkazováno Off-Line 3 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)

10 Příklad Off-Line 1 $ 1 dictionary ababa. 32 bababa$ abaababaabaababaababa$ dictionary aba... 3 original position original position

11 Příklad Off-Line abaababaabaababaababa$ PPLLLLLPLLPLLL ( 8, 3 )( 5, 3 )baaba( -3, 3 )ba( -5, 3 )ba$

12 Příklad Off-Line 3 dictionary abaababaabaababaababa$ PPLLPPLLPLLL ( 1 ) ba ba ba$ aba

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

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|L m maximálním a ten je zakomprimován Komprimovaný motiv se řídí Off- Line i předpisem problém s Off-Line 2 (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

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é

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

17 Komprese obrázků - lc

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

19 Srovnání na Calgary Corpus

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

21 Odkazy