Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal.

Hasonló előadás


Az előadások a következő témára: "Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal."— Előadás másolata:

1 Készítette: Mester Tamás METRABI.ELTE

2  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal.  Különböző tömörítési eljárások ugyanazon bemeneten különböző méreteket eredményezhetnek.

3  Adott egy ábécé és egy ezen ábécé feletti szöveg.  Példa input KAKUKKMADARAMNAK ábécé: {K, A, U, M, D, R, N}  Az algoritmus alapelve: Karakterek változó kódhossza, a szövegbeli gyakoriságuknak megfelelően. Pl.: ‚e’ vs. ‚w’ ; ebben az esetben az ‚e’ betű egy gyakori betű, míg a ‚w’ ritka. Ennek megfelelően az ‚e’ betűnek egy rövid kódhosszat kell választani, míg a ‚w’ kódja lehet hosszabb.

4  Egy olyan algoritmus a kód előállítására, hogy az eredmény optimális legyen, azaz optimális legrövidebb kódolást alkotó algoritmust adjunk.  A példában 7 karakter szerepel, uniform módon (3 biten ) kódoljuk őket.  16 karakter * 3 bit = 48 bit, ezen kellene javítani  Alapvető nehézség lenne a kódolt szöveg visszafejtésében a következő. Tfh.: K 10, A 101 és a kódolt szöveg 1010. Ebben az esetben nem lenne visszakódolható a szöveg, ezért ne engedjük meg azt,hogy egyik betű kódja a másik valódi prefixuma legyen!

5  Egy prefixmentes-kód  Ha minden karaktert ábrázolunk, akkor megkapjuk a kódfát. Ebben a fában minden belső pontnak 2 gyereke van.  A betűk a leveleken jelentkeznek, kódjuk a gyökér -> levél útvonal 0/1 szelektorainak sorozata.

6  Az algoritmus inputja: betűk és gyakoriságaik (tehát először kell egy végigolvasás a statisztika elkészítéséhez)  Az algoritmus egy fát épít fel alulról-felfelé, kezdve a ritka betűkkel (karakterekkel) fokozatosan bekapcsolva a gyakoribbakat.  Minden lépésben két csúcsot „fogunk össze”, a két gyakoriság összegével.  Miután végeztük a Huffmann-kód tábláját is átkell adni a dekódoló félnek!

7 N 1 R 1 D 1 U 1 M 2 K 5 A 5 input: K-5, A-5, U-1, M-2, D-1, R-1, N-1

8 N 1 R 1 D 1 U 1 M 2 K 5 A 5 2 0 1

9 N 1 R 1 D 1 U 1 M 2 K 5 A 5 2 0 1 2 0 1

10 N 1 R 1 D 1 U 1 M 2 K 5 A 5 2 0 1 2 0 1 4 1 0

11 N 1 R 1 D 1 U 1 M 2 2 0 1 2 0 1 4 1 0 6 0 1 K 5 A 5 10 1 0

12 N 1 R 1 D 1 U 1 M 2 2 0 1 2 0 1 4 1 0 6 0 1 K 5 A 5 1 0 16 1 0

13  Karakterek kódtáblája: KarakterKarakter kódja A00 K01 M10 U1100 D1101 R1110 N1111  Kódolt karaktersorozat hossza: 5*2+5*2+2*2+4*4 = 40 bit, ami jobb, mint az eredeti 48 bit!

14


Letölteni ppt "Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal."

Hasonló előadás


Google Hirdetések