dolás, felbontható kód Prefix kód Blokk kódk Kódfa



Hasonló dokumentumok
Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 2.C szakirány

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

H=0 H=1. Legyen m pozitív egészre {a 1, a 2,, a m } különböző üzenetek halmaza. Ha az a i üzenetet k i -szer fordul elő az adásban,

Hamming-kódnak. Definíci Az 1-hibajav1. nevezzük. F 2 fölötti vektorokkal foglalkozunk. se: zleményszavak hossza A H (r n)

Nagy Gábor compalg.inf.elte.hu/ nagy

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Hibajavító kódok május 31. Hibajavító kódok 1. 1

Zárthelyi dolgozat feladatainak megoldása õsz

Az Informatika Elméleti Alapjai

Alapfogalmak a Diszkrét matematika II. tárgyból

Lineáris kódok. sorvektor. W q az n dimenziós s altere. 3. tétel. t tel. Legyen K [n,k,d] kód k d (k 1). Ekkor d(k)=w(k)

Mohó algoritmusok. Példa:

Informatikai Rendszerek Alapjai

Informatikai Rendszerek Alapjai

Információelmélet Szemináriumi gyakorlatok

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 2.C szakirány

Az Informatika Elméleti Alapjai

Az Informatika Elméleti Alapjai

Diszkrét matematika 2.C szakirány

Kódoláselmélet. (Humann kód, hibajavító kódok, véges testek konstrukciója. Reed-Solomon kód és dekódolása.)

Nagyordó, Omega, Theta, Kisordó

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

Szakdolgozat. Pongor Gábor

Konzulensek: Mikó Gyula. Budapest, ősz

Diszkrét matematika 2.C szakirány

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

KÓDOLÁSTECHNIKA PZH december 18.

Diszkrét matematika 2.

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás


5. A gráf, mint adatstruktúra Gráfelméleti bevezető

Információs rendszerek elméleti alapjai. Információelmélet

2. Visszalépéses stratégia

Diszkrét matematika 2.

1. Gráfok alapfogalmai

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Leképezések. Leképezések tulajdonságai. Számosságok.

Diszkrét matematika I.

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

Diszkrét matematika 2.C szakirány

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

2. Visszalépéses keresés

Algoritmuselmélet 7. előadás

Az B sorozatban a pontok helyes preorder sorrendben vannak. A preorder bejárásban p k -t közvetlenül q m követi.

Információs rendszerek elméleti alapjai. Információelmélet

A rák, mint genetikai betegség

ZH feladatok megoldásai

Diszkrét matematika 2.

megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:

Diszkrét matematika 2. estis képzés

Diszkrét matematika 1. estis képzés

A valós számok halmaza

Alap fatranszformátorok II

Hatodik gyakorlat. Rendszer, adat, információ

Jármőtervezés és vizsgálat I. VALÓSZÍNŐSÉGSZÁMÍTÁSI ALAPFOGALMAK Dr. Márialigeti János

Az információelmélet alapjai, biológiai alkalmazások. 1. A logaritmusfüggvény és azonosságai

Kvantumcsatorna tulajdonságai

Kriptográfia Kilencedik előadás A hitelesítésről általában

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

nyelvoktatásban Bernadett

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Készítette: Fegyverneki Sándor. Miskolci Egyetem, 2002.

Diszkrét matematika 2. estis képzés

Bevezetés az információelméletbe

Permutációk véges halmazon (el adásvázlat, február 12.)

Függvények növekedési korlátainak jellemzése

Fraktál alapú képtömörítés p. 1/26

Chomsky-féle hierarchia

SHk rövidítéssel fogunk hivatkozni.

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Sorozatok és Sorozatok és / 18

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Diszkrét matematika 2. estis képzés

Diszkrét matematika alapfogalmak

Kódolás. Informatika alapjai-3 Kódolás 1/9

KOVÁCS BÉLA, MATEMATIKA I.

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

KUNHEGYESI REFORMÁTUS ÁLTALÁNOS ISKOLA

Algoritmuselmélet 18. előadás

12. Képtömörítés. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Következik, hogy B-nek minden prímosztója 4k + 1 alakú, de akkor B maga is 4k + 1 alakú, s ez ellentmondás.

Algoritmuselmélet 6. előadás

Számítógépi képelemzés

KOVÁCS BÉLA, MATEMATIKA I.

A tanévi matematika OKTV I. kategória első (iskolai) fordulójának pontozási útmutatója

Normák, kondíciószám

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika I.

Diszkrét matematika II. feladatok

Kvantum-tömörítés II.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Tisztelt LátogatL. togatóink! koztatást adni iskolánk TÁMOP /08/ megye közoktatk. zményeiben.

Hamilton-körök és DNS molekulák

Átírás:

Kódelméletlet dolás

dolás o Kódolás o Betőnk nkénti nti kódolk dolás, felbontható kód Prefix kód Blokk kódk Kódfa o A kódok k hosszának alsó korlátja McMillan-egyenlıtlens tlenség Kraft-tételetele o Optimális kódk Témavázlat Átlagos szóhossz, a kód k d költsk ltsége Optimális kódokk Entrópia Shannon-tételetele Bináris Huffman-kód Adaptív v kódok: k LZ-, LZW-kód dolás 2

dolás dolás 3

A hírközlésben szüks kségünk van arra, hogy valamilyen üzenetet egy csatornán átjuttassunk. A csatorna azonban csak meghatározott jeleket tud befogadni, ezért az üzenetet idınk nként nt megfelelıképpen át t kell alakítanunk, kódolnunk kell. Ez az átalakítás s olyan kell legyen, hogy a csatorna túlst lsó oldalán n többt bbé-kevésbé helyesen visszaáll llítható legyen az eredeti üzenet. Az alábbiakban olyan kódolk dolásokkal foglalkozunk, amelyek lehetıvé teszik a kódbk dból l az üzenet helyes visszaáll llítását, és a kódok k lehetıség g szerint rövidek. Ennek az elvi korlátait vizsgáljuk. dolás 4

Kódolás Definíci ció. Az A={a,,, a n } véges, v nemüres halmazt ábécé-nek nevezzük, elemei a betők,, a belılük k képezhetk pezhetı véges hosszú sorozatok a szavak.. Az összes véges v hosszú sorozat halmazát t A* jelöli. li. Definíci ció. Legyen B és s C ábécé.. A f: B C* leképez pezést kódolásnak nevezzük, ha injektív. f(b) C* a kódszavak halmaza, a kód. A b B b bető kódja f(b). Az injektivitás s garantálja a dekódolhat dolhatóságot,, vagyis azt, hogy a képelemekbıl l helyesen vissza tudjuk állítani a B halmaz elemeit.. példa. p Legyen B={a, b, c}, C={0, } és s f(a)= 0, f(b)=0, f(c)=00. Ez a leképez pezés s kódolk dolás. dolás 5

Betőnk nkénti nti kódolk dolás, felbontható kód Definíci ció. Terjesszük k ki f-et f B*-ra a következk vetkezıképpen: Legyen b=b b 2 b s B*. Ekkor f(b)=f(b )f(b 2 ) f( f(b s ). A B*-beli szavak kódjk dját t a szavakat alkotó betők k kódjainak k egymás s mellé írásával kapjuk. Ekkor E az f: B* C* kódolk dolást betőnk nkénti nti kódolk dolásnak nevezzük. Definíci ció. Az f: B* C* betőnk nkénti nti kódolk dolás felbontható kódot állít t elı,, ha két t különbk nbözı B*-beli szóhoz tartozó kód d különbk nbözı. A kód k d felbonthatósága garantálja az üzenet kódjk djából l az üzenet egyértelm rtelmő visszaáll llíthatóságát. t. 2. példa. p Az. példa p kódja k példp ldául nem felbontható,, mert f(ab)=f(c). dolás 6

Prefix kód Definíci ció. Betőnkénti nti kódolk dolás s esetén n a kódot k prefixnek nevezzük, ha egyik kódszó sem valódi szókezd kezdı része a másiknak. m 3. példa. p Az elızı példában szereplı kód d nem prefix. f(a)= 0, f(b)=0, f(c)=00, Például f(a) szerepel f(b) elején, más m s szóval f(b) az f(a)-nak folytatása. 4. példa. p Legyen B={a, b, c}, C={0, } és s f(a)= 0, f(b)=0, f(c)=00. Ez a kód k prefix. Tétel. Prefix kód d felbontható. Bizonyítás. Könnyen adható dekódol dolási algoritmus. Ez prefix kód d esetén n egyértelm rtelmően en elıáll llítja a kódolt k üzenetbıl l az eredetit. dolás 7

Blokk-kód Definíci ció. Betőnkénti nti kódolk dolás s esetén n a kódot k blokk-kódnak nevezzük, ha a B halmaz mindegyik eleméhez ugyanolyan hosszú kódszó tartozik. Tétel. Blokk-kód d felbontható. Bizonyítás. A blokk-kód d egyúttal prefix kód d is, így az elızı tétel tel alkalmazható. dolás 8

Kódfa Definíci ció. Az f: B C* által létrehozott l prefix kódhoz k irány nyított fát, f un. kódfát rendelhetünk nk a következk vetkezı módon. A fa csúcsaib csaiból legfeljebb C elemszámú él l vezethet ki, ezeket az éleket C elemeivel címkc mkézzük k meg. A fa leveleit (olyan csúcsok, csok, amelyekbıl l nem vezet ki él) a B elemeivel címkc mkézzük k meg. Ekkor a kódolk dolás s a következk vetkezıképpen olvasható le a fáról. f Legyen az egyik levél l a b B b és s a gyökérb rbıl l a hozzá vezetı élek címkéi i sorban c, c 2,, c k. Ekkor f(b)= c c 2 c k. A következk vetkezı példában bináris prefix kód d kódfk dfáját t látjuk. l dolás 9

5. példa. 0 0 0 b 6 0 b 3 0 b b 2 B={b, b 2, b 3, b 4, b 5, b 6 } C={0,} f(b )=000 f(b 2 )=00 f(b 3 )=0 f(b 4 )=000 f(b 5 )=00 f(b 6 )= 0 b 4 b 5 dolás 0

A kódok k hosszának alsó korlátja dolás

McMillan-egyenl egyenlıtlenség Tétel. (McMillan-egyenlıtlenség) Tegyük k fel, hogy f: B C* felbontható kódot határoz meg. B ={b, b 2,, b k }, és s az f(b ), f(b 2 ),,, f(b k ) kódszavak k hossza {h, h 2,, h k }, C =c. k Ekkor i= c h i 6. példa. p A 4. példa p prefix kódjára C =2, a kódhosszak k, 2, 3, a McMillan-egyenl egyenlıtlenség teljesül. l. k i= c h i = 2 + 2 2 + 2 3 = 7 8 dolás 2

Vigyázzunk, a McMillan-egyenl egyenlıtlenség nem megfordíthat tható.. Ha teljesül l az egyenlıtlens tlenség, nem biztos, hogy a kód k d felbontható. 7. példa. p Az. példa p esetében ugyanazt az értéket kapjuk mint az 5. példában, pedig az elıbbi kód k d nem felbontható. Tétel. (Kraft-tétel) Legyen B és s C véges v ábécé, B ={b, b 2,, b k }, C =c, és s legyenek {h, h 2,, h k } pozitív v egész számok, melyekre teljesül l a McMillan-egyenl egyenlıtlenség. i= c h i Ekkor létezik l olyan prefix kódot meghatároz rozó f: B C* kódolk dolás, amelyre az f(b ), f(b 2 ),,, f(b k ) kódszavak k hossza éppen {h, h 2,, h k }. k dolás 3

Következmény. A McMillan- és s a Kraft-tételb telbıl következik, hogy ha f: B C* felbontható kódot határoz meg, akkor létezik l olyan prefix kód, hogy a két k t kódban k a B elemeihez tartozó kódszavak hossza megegyezik. Ez a tény t megnöveli a prefix kód d jelentıségét. t. dolás 4

Optimális kódk dolás 5

Átlagos szóhossz, a kód k d költsk ltsége A kódolandk dolandó üzenetben a különbk nbözı jelek más m és s más m gyakorisággal ggal fordulhatnak elı.. Ha törekszt rekszünk arra, hogy az üzenethez tartozó kód d minél l rövidebb r legyen, akkor a gyakrabban elıfordul forduló jelekhez rövidebb r kódot, k míg m g a ritkábban elıfordul fordulókhoz a hosszabb kódokat k érdemes rendelnünk. nk. dolás 6

Tegyük k fel a továbbiakban, hogy az F jelforrás s a B ={b, b 2,, b k } ábécé jeleit egymást stól l függetlenf ggetlenül véletlenszerően en bocsátja ki. Jelölje lje p i annak a valósz színőségét, hogy az F által kibocsátott jel b i. Feltesszük, hogy k p i >0 (i=..k), és p i i= = Elég g hosszú,, pl. M számú jelbıl álló jelsorozatban a benne elıfordul forduló b i -k száma közelk zelítıleg leg p i M. Az M számú jelbıl álló sorozat kódjk djának átlagos hossza: k p i h i Ha csökken a értéke, akkor csökken a közlk zlések átlagos i= hossza is. Ez indokolja a következk vetkezı definíci ciót. M k i= p i h i dolás 7

Definíci ció. Tegyük k fel, hogy az f: B C* felbontható kódolást alkalmazzuk, és s az f(b ), f(b 2 ),,, f(b k ) kódszavak k hossza {h, h 2,, h k }, C =c, K=f(B) C*. Jelölje lje p i annak a valósz színőségét, hogy az F forrás által kibocsátott jel b i. A K kód k d F forrás s melletti átlagos szóhossza hossza,, vagy költsége: k H ( K ) = i= p i h i dolás 8

Optimális kódokk Definíci ció. Legyen B és s C véges v ábécé.. RögzR gzítsük k a F jelforrást, vagyis a B ábécé betőihez tartozó p i valósz színőségeket. Tekintsük k az f: B C* függvf ggvények által meghatározott felbontható kódokat. Ezek közül k l a legkisebb átlagos szóhossz hosszúságú (költs ltségő) ) kódot k optimális kódnak k nevezzük. Korábbi megjegyzésünk alapján n elég g adott esetben az optimális prefix kódot keresnünk. nk. dolás 9

Entrópia Definíci ció. Az alábbi E(F) értéket az F forrás entrópi piájának nevezzük. (A log 2-es alapú logaritmust jelöl) l) E( F) = k i= p i log p i = k i= p i log p i dolás 20

H k ( K) = p i h i E( F) = pi log = i= Tétel.. (Shannon( tétele tele zajmentes csatornákra) Egy F jelforráshoz tartozó tetszıleges K felbontható kódra teljesül l a következk vetkezı H ( K) k i= E( F) log c p i k i= p i log p i Prefix kóddal ez a korlát t jól j l megközel zelíthetı. Tétel. E( F) Létezik olyan f: B C* B prefix kód, amelyre H ( K) + logc Bizonyítás. A bizonyítást példp ldául az un. Shannon-Fano kód d segíts tségével lehet elvégezni. dolás 2

Bináris Huffman-kód Legyen B ={b, b 2,, b k }, a valósz színőségek pedig sorban (nagyság g szerint csökken kkenıen rendezve): {0,20; 0,20; 0,9; 0,2; 0,; 0,09; 0,09} b b 2 b 3 b 4 b 5 b 6 b 7 0,20 0,20 0,9 0,2 0, 0,09 0,09 0,20 0,20 0,9 0,8 0,2 0, 0,23 0,20 0,20 0,9 0,8 0,37 0,23 0,20 0,20 0,40 0,37 0,23 0,60 0,40 b b 2 b 3 b 4 b 5 b 6 0 000 00 0 000 00 b 7 0 000 00 00 0 0 0 000 00 00 0 0 00 0 dolás 22 0

A Huffmann-kód d elınye: Optimális kódot k állít t elı. A Huffmann-kód d hátrh trányai: Ismernünk nk kell kódolk dolásnál l a teljes szöveget. Kétszer kell végigmennv gigmennünk nk az adatokon. Elısz ször meghatározzuk a forrásbet sbetők k relatív v gyakoriságát, ami megegyezik a valósz színőségekkel, majd ennek felhasználásával elvégezz gezzük k a tényleges t kódolk dolást. Adaptív v Huffmann-kódol dolás. Csak egyszer megy végig v az adatokon. Az optimalitás rovására ra idıt t takarítunk tunk meg. Egy forrásbet sbetőt t az elızı forrásbet sbetők elıfordul fordulásai alapján n kódolunk, k s ezzel együtt lépésenkl senként nt változik maga a kód k d is. Az aktuális forrásbet sbető kódolását t egy, az elızıleg leg feldolgozott forrásbet sbetőkre optimális kóddal k hajtjuk végre. dolás 23

Adaptív v kódok. k Menet közben k győjt jtünk informáci ciót t a forrásszimb sszimbólumokról, l, az aktuális szimbólumot az ezt megelızı szimbólumok alapján kódoljuk. Lempel-Ziv kódok: LZ77 algoritmus. 977-ben publikált lták. LZ78 algoritmus. LZW kód: k Terry Welch az LZ78-at módosm dosította. Az Unix COMPRESS parancsa és s a GIF (Graphics( Interchange Format) képtömörítı is az LZW algoritmust használja. dolás 24

Irodalomjegyzék Demetrovics, Denev,, Pavlov: A számítástudom studomány matematikai alapjai Tankönyvkiad nyvkiadó,, Budapest, 985 Gyırfi László-Gyıri Sándor-Vajda István: Informáci ció és kódelmélet let Typotex Kiadó,, 2000 Jablonszkij, Lupanov: Diszkrét t matematika a számítástudom studományban Mőszaki KönyvkiadK nyvkiadó,, 980 dolás 25