Algoritmy komprese dat
Transkript
Algoritmy komprese dat Úvod Marcus Hutter (*1967) ANU Canberra 5.10.2016 NSWI072 - 1 Komprese dat Kódování dat s cílem zmenšit jejich objem odstraněním nadbytečné informace. Data musí být možno obnovit dekódovacím algoritmem. Algoritmus komprese = kódování (komprese) + dekódování (dekomprese) Komprese • bezztrátová: obnovená data jsou identická originálu • ztrátová: obnovená data jsou „rozumnou“ aproximací originálu Metody • statické / adaptivní • symetrické / asymetrické • proudové / blokové 2 Funkce komprese ✓úspora paměti komprese/ dekomprese ✓komunikace odesílatel komprese dekomprese 3 příjemce Jak změřit účinnost komprese? délka vstupních dat délka komprimovaných dat v bajtů k bajtů (K bitů) míra vzorec příklad kompresní poměr k / v * 100% 36% kompresní faktor v:k 3:1 zisk komprese (v-k)/v*100% 64% bpc (bits per char) K/v 2.92 b/c bpp (bits per pixel) průměrná délka kódového slova relativní komprese 100 ln (k / k’) 10.5 (percent log ratio) k’ bajtů = délka dat komprimovaných zvoleným standardním alg. 4 Měření účinnosti: datové korpusy Rychlost: CPB (cycles per byte) • pro speciální hardware Datové korpusy • experimentální měření účinnosti bezztrátové komprese Calgary Corpus (1987) • 14 souborů: text, grafika, binární soubory Canterbury Corpus (1997) http://corpus.canterbury.ac.nz • 11 souborů + artifical c. (4) + large c. (3) + miscellaneous c. (1) Silesia Corpus (2003) Sebastian Deorowicz, Politechnika Śląska, Gliwice http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia • 18 souborů o velikostech 6 – 51MB Prague Corpus (2011) Jan Holub et al., FIT ČVUT, Praha 5 Canterburský korpus 6 Canterburský korpus - pokračování The Artificial Corpus a.txt The letter 'a' 1 aaa.txt The letter 'a', repeated 100,000 100000 times. alphabet.txt Enough repetitions of the alphabet 100000 to fill 100,000 characters random.txt 100,000 characters, randomly selected from [a-z|A-Z|0-9|!| ] (alphabet size 64) 7 100000 Canterburský korpus - pokračování The Large Corpus E.coli Complete genome of the E. Coli 4638690 bacterium bible.txt The King James version of the 4047392 bible world192.txt The CIA world fact book 2473400 The Miscellaneous Corpus pi.txt The first million digits of pi 8 1000000 Slezský korpus 9 Měření účinnosti: datové korpusy Maximum Compression http://www.maximumcompression.com • maximální dosažitelný kompresní poměr pro specifické typy dat (text, .exe, .jpg apod.) • single file compression: 10 souborů 823kB – 20MB • multiple file compression: 510 souborů 301MB celkem • Jan Ondruš: PAQ8PX, http://en.wikipedia.org/wiki/PAQ Pizza & Chili http://pizzachili.dcc.uchile.cl • • • • Paolo Ferragina (University of Pisa) Gonzalo Navarro (University of Chile) testování komprimovaného indexu 7 souborů 55.8 MB - 2.21 GB 10 Pizza & Chili File SOURCES PITCHES PROTEINS PROTEINS.OLD DNA ENGLISH XML Size 210.9 MB 55.8 MB 1.18 GB 66.8 MB 403.9 MB 2.21 GB 296.1 MB |⌃| 230 133 27 24 16 239 97 Description concatenated C/Java source code files human readable MIDI files newline-separated protein sequences from the Swissprot database older version of PROTEINS newline-separated gene DNA sequences from Gutenberg Project concatenation of English text files from Gutenberg Project XML formated bibliography from dblp.uni-trier.de. 11 Soutěž o nejúčinnější kompresi Calgary Corpus Compression Challenge (1996) • http://mailcom.com/challenge/ • (777,777.00 - X) / 333 za archiv délky X Byte z původních 14 souborů Calgarského korpusu • nyní (580,170.00 - X) / 111 $ 12 Soutěž o nejúčinnější kompresi Calgary Corpus Compression Challenge (1996) Size Date Name 759881 09/1997 Malcolm Taylor 692154 08/2001 Maxim Smirnov 680558 09/2001 Maxim Smirnov 653720 11/2002 Serge Voskoboynikov 645667 01/2004 Matt Mahoney 637116 04/2004 Alexander Rhatushnyak 608980 12/2004 Alexander Rhatushnyak 603416 04/2005 Przemysław Skibiński 596314 10/2005 Alexander Rhatushnyak 593620 12/2005 Alexander Rhatushnyak 589863 05/2006 Alexander Rhatushnyak 580170 07/2010 Alexander Rhatushnyak 13 Soutěž o nejúčinnější kompresi II Hutter Prize (2006) http://prize.hutter1.net • archiv prvních 100MB internetové encyklopedie Wikipedia • 500 € za každé 1% zlepšení velikosti archivu autor datum dek vel komp. faktor Matt Mahoney 24.3.2006 paq8f 18'324'887 5.46 854MB 5h Alexander Ratushnyak 25.7.2006 paq8hp5 17'073'018 5.86 900MB 5h Alexander Ratushnyak 14.5.2007 paq8hp12 16'481'655 6.07 936MB 9h Alexander Ratushnyak 23.5.2009 decmprs8 6.27 936MB 9h 15'949'688 14 RAM čas Hutterova cena Motivace: podpořit výzkum v oblasti AI Kolmogorovská složitost (algoritmická teorie informace) Alternativa Turingovy imitační hry Marcus Hutter: being able to compress well is closely related to acting intelligently • M. Hutter, Towards a Universal Theory of Artificial Intelligence based on Algorithmic Probability and Sequential Decisions, Proceedings of the 12th European Conference on Machine Learning, 226-238, 2000 • optimální chování racionálního agenta v neznámém prostředí • interakce 2 Turingových strojů, které se v každém kroku posílají zprávy • cílem agenta je maximalizovat hodnotu účelové funkce, kterou dává prostředí • optimální chování agenta: prostředí řídí nejkratší program, konzistentní se všemi dosud vydanými zprávami 15 Meze bezztrátové komprese Kódování f : {n-bitová slova} → {slova délky < n} | Dom f | = 2n | Im f | ≤ 2n - 1 ⇒ f nemůže být prosté! Buď M ⊆ Dom f tž. ∀w ∈ M, | f(w) | ≤ 0.9n f prosté na M ⇒ |M| ≤ 21+0.9n - 1 n = 100, |M|/ 2n < 2-9 n = 1000, |M|/ 2n < 2-99 ≈ 1.578 ⋅10-30 16 Historie - Braillovo písmo Louis Braille (1820) w pole 3 × 2 bodů w písmena, slova w cca 80% komprese 17 Historie - Baudotův kód J.M.E.Baudot (1880) w telegraf w 5bitový kód pro písmeno/znak w přepínání LTRS,FIGS 18 Historie - Morseova abeceda Samuel Morse (1838) A .H .... O B -... I .. P C -.-. J .--- Q D -.. K -.- R E . L .-.. S F ..-. M -T G --. N -. U --- V .--. W --.- X .-. Y ... Z ..19 ....--..-.---.. Další jednoduché metody Komprese slovníku Adam adaptace adekvátní adept admirál afekt aféra agenda agent Adam 3ptace 2ekvátní 3pt 2mirál 1fekt 2éra 1genda 4t R.Nix: Experience with a space efficient way to store a dictionary, Commun. ACM 24(1981), 297-8. 20 Další jednoduché metody Textový editor MacWrite (D.M.Young, 1985) 4bitové kódy znaků • mezera • e,t,n,r,o,a,i,s,d,l,h,c,f,p • <escape> Ostatní znaky: • <escape><8bitový ASCII kód znaku> Každý odstavec zvlášť, expanze ⇒ původní ASCII kód Bitový příznak pro každý odstavec 21
Podobné dokumenty
BAKALÁŘSKÁ PRÁCE Jindřich Šedek Konstrukční algoritmy pro
is a more space efficient variant of DAWG. Their main use is in searching short
patterns in a huge amount of data. This work is aimed at an implementation of few
construction algorithms of these da...
Bakalářská práce - bezztrátové komprimační algoritmy
o problém svým způsobem opačný k předešlému: jak přetvarovat libovolnou zprávu, případně
jak pomocí určitého klíče vytvořit kanál, aby ze zprávy na výstupu kanálu nebylo bez klíče
možno rekonstruov...
ROOTS • KOŘENY
Kučera (1936), both sculptors/painters leaning on the fine European
tradition of the geometrical abstraction with poetical and magical accents. The “middle-age” generation is represented by a numbe...
Entry Lists JUNIOR 2 - TOM-A-RACE
CJT-Couceiro Junior Team
CJT-Couceiro Junior Team
Gandolfi Ennio Racing
DR Srl
Norswed
Maranello Kart
Maranello Kart
Keyzer Racing
Polski Zniazek Motor. Poland
Art Racing
Kart Mania
Ward Racing
CRG...