Jauns gramatiku veids datu saspiešanai
Author
Kozlovičs, Sergejs
Co-author
Latvijas Universitāte. Fizikas un matemātikas fakultāte
Advisor
Freivalds, Kārlis
Date
2008Metadata
Show full item recordAbstract
Viens no veidiem, kā var saspiest virkni, ir uzkonstruēt virknei bezkonteksta gramatiku, kas to ģenerē. Tomēr ar šādā veida gramatikām, tāpat kā ar ahivatoru ZIP, virkni var labi saspiest tikai tad, ja tajā ir gari vienādi fragmenti.
Darbā tiek ieviests cits bezkonteksta gramatiku paveids — indeksu gramatikas. Darbā ir parādīts, ka ar indeksu gramatikām datus var saspiest daudz labāk nekā ar parastajām gramatikām vai arī ar arhivatoru ZIP. Tiek piedāvāti atbilstošo teorēmu pierādījumi. Bez tam, tiek paskaidrots, kāpēc indeksu gramatikas ir labākas, kā arī tiek piedāvāti saspiešanas/atspiešanas algoritmi. Saspiešanai tiek izmantota autora oriģinālā virknes tēlu meklēšanas (pattern discovery) metode, kas izmanto ātro Furjē transformāciju. One of the popular ways for compressing the given string is to constructa context-free grammar that generates exactly that string. However, using grammars of such kind as well as popular ZIP archiver the good compression ratio can be achieved only when the string contains long equal substrings.
In this work we introduce a special type of context-free grammars called index grammars. We show that by means of index grammars data can be compressed much better than using ZIP or ordinary grammars. The proofs of the corresponding theorems are given. We explain why index grammars are so good and present both compression and decompression algorithms. For compression we use our original idea of using Fast Fourier Transform for pattern discovery.