Információelmélet 1. Előadás Dr. Nagy Szilvia Széchenyi István Egyetem Győr, 2006 tavaszi félév
Az információelmélet kezdetei Már az ősember is… Boltzmann és az entrópia R. V. L. Hartley információdefiníciója C. E. Shannon általánosabb információdefiníciója, entrópia
Matematikai kitérő – A valószínűségszámítás alapfogalmairól Esemény: sokszor végrehajtható kísérlet eredménye. Kísérlet, ill. kimenetel lehet például: Egy dobozból golyókat veszünk ki, és vizsgáljuk a színüket. Esemény, hogy piros, zöld, lila, … golyót találtunk. Fej vagy írást játszunk egy érmével. Esemény: a fej vagy az írás oldal van felül. Minden kedden reggel 7 és 8 óra között vizsgáljuk egy buszmegállóban a megálló buszok számát. Esemény: 0 busz állt meg, 1, 2, … busz állt meg. Egy hírközlési csatornára bocsátunk egy bizonyos jelet és vizsgáljuk a kimeneti jelet. Esemény: a vett jel azonos a leadottal, a vett jel amplitúdója azonos a leadottéval, de a frekvenciája kétszeres, …
Az A esemény ellentett eseménye a kísérlet minden A-n kívüli kimenetele. Jelölés: A. Egy A esemény valószínűsége: nagyon sokszor elvégezve a kísérletet azon kísérletek száma, amikor A bekövetkezik az összes kísérlet száma A valószínűség jellemzői: 1 ≥ p(A) ≥ 0, az 1 valószínűségű esemény biztosan bekövetkezik, a 0 valószínűségű sohasem következik be. p(A)+p(A) = 1. Matematikai kitérő – A valószínűségszámítás alapfogalmairól p(A) =
Egy dobozban 15 sárga, 6 lila, 42 fehér és 11 kék golyó van. Mi a valószínűsége, hogy ha egyetlen golyót veszünk ki a dobozból (nem odanézve), akkor az kék lesz: sárga lesz: nem sárga lesz: kék vagy lila lesz: piros lesz: Matematikai kitérő – A valószínűségszámítás alapfogalmairól
Egy A és egy B esemény szorzatán azt értjük, ha A és B is bekö- vetkezik. A és B együttes bekövetkezési valószínűsége: p(A∙B ). Egy A és egy B esemény összege az, ha vagy A, vagy B (vagy mind- kettő) bekövetkezik. Valószínűsége: p(A+B ). Az A és B események függetlenek, ha semmiféle befolyással nincs A-nak a bekövetkezése a B bekövetkezésére. Ekkor p(A∙B )= p(A ) ∙ p(B ). Egyéb esetekben p(A∙B )≠ p(A) ∙ p(B ), csak azt lehet tudni, hogy p(A+B ) = p(A) + p(B) – p(A∙B ), és p(A∙B ) ≤ p(A ) ∙ p(B ). Matematikai kitérő – A valószínűségszámítás alapfogalmairól
Egy dobozban 15 sárga, 6 lila, 42 fehér és 11 kék golyó van. Mi a valószínűsége, hogy ha két golyót veszünk ki a dobozból (nem odanézve), akkor az 1. kék lesz, a 2. fehér: mindkettő sárga lesz: valamelyik sárga lesz: egyik sem lesz sárga: Matematikai kitérő – A valószínűségszámítás alapfogalmairól
Egy hírközlési csatorna bemenetén és kimenetén megjelenő jelek nem függetlenek egymástól. Ha B jelet vettünk akkor annak a valószínűsége, hogy A jel volt a csatorna bemenetén: A-nak B feltétel melletti feltételes valószínűsége Az is érdekes, hogy ha A jelet adok, milyen B kerül a csatorna kimenetére, ez B-nek A feltétel melletti feltételes valószínűségével, p( B|A )-val írható le. A kölcsönös és feltételes valószínűségek között fennáll: p(A∙B )=p(B ) ∙ p( A|B )= p(A ) ∙ p( B|A ) Matematikai kitérő – A valószínűségszámítás alapfogalmairól
Egy dobozban 15 sárga, 6 lila, 42 fehér és 11 kék golyó van. Mi a feltételes valószínűsége annak, hogy ha az első kihúzott golyó kék volt, akkor a második fehér: kék: nem kék: Mi annak a feltételes valószínűsége, hogy az első kék volt, ha a második kék: Matematikai kitérő – A valószínűségszámítás alapfogalmairól
Ha az eseményekhez számértékek rendelhetők, (pl. árammérés), akkor kíváncsiak lehetünk a kísérlet eredményének várható értékére. Legyen A={A 1, A 2, … A n } számhalmaz a kísérlet kimenetének értékkészlete, az A 1 kimenet valószínűsége p(A 1 ), … az A n -é p(A n ). Ekkor A várható értéke Az is érdekelhet minket, hogy átlagosan mennyire fog eltérni az eredmény a várhatóértéktől, ezt a szórással jellemezhetjük: Matematikai kitérő – A valószínűségszámítás alapfogalmairól
Az információ Az információ valamely véges számú, előre ismert esemény közül annak megnevezése, hogy melyik következett be. Alternatív megfogalmazás: az információ mértéke azonos azzal a bizonytalansággal, amelyet megszűntet. Hartley: m számú, azonos valószínűségű esemény közül egy megnevezésével nyert információ: I=log 2 m. (log 2 m kérdéssel azonosítható egy elem) Shannon: minél váratlanabb egy esemény, bekövetkezése annál több információt jelent. Legyen A={A 1, A 2, … A m } eseményhalmaz, az A 1 esemény valószínűsége p 1, … az A m -é p m. Ekkor az A i megnevezésekor nyert információ: Megjegyzés: ha p i =1/m, minden m-re, visszakapjuk Hartley definícióját.
Az információ Az információ tulajdonságai: 1.Csak az esemény valószínűségének függvénye. 2.Nem negatív: I ≥ 0 3.Additív: ha m = m 1 ∙m 2, I(m 1 ∙m 2 ) = I(m 1 ) + I(m 2 ) 4.Monoton: ha p i ≥ p j, akkor I(A i ) ≤ I(A j ) 5.Normálás: legyen I(A)=1, ha p(A)=0,5. Ekkor kettes alapú logaritmus használandó és az információegysége a bit. Megjegyzés: ha tízes alapú logaritmust (lg-t) használunk, a hartley, az egység. Ekkor a normálás: I(p=0,1)=1. Ha természetes alapú logaritmussal definiáljuk az információt (I=−ln p), akkor a natban mérjük az információt, a normálás pedig I(p=1/e)=1.
Az információ A forrásunk a következő üzenetet adta le: „ccndnddnnncdnndncdncdncdncdnnnncdcdncdcnnncdcccdcddc dccccnnn” (21 db „c”, 22 db „n”, 17 db „d”) mekkora az információtartalma a „c” szimbólum kibocsátásának? p(c)=21/( )=21/60=0,35 I(c) = − log 2 0,35 = −ln 0,35/ln 2 = 1,51 A forrásunk a , , , , szimbólumokat bocsátja ki p =0,12, p =0,37, p =0,06, p =0,21, p =0,24 valószínűséggel. Mi az információtartalma annak a közlésnek, hogy a jelet adta? I( ) = − log 2 0,37 = − ln 0,37/ln 2 = 1,43
Az entrópia Az entrópia az információ várható értéke: Az entrópia tulajdonképpen annak a kijelentésnek az információtartalma, hogy az m db egymást kizáró esemény közül az egyik bekövetkezett. A p log 2 p kifejezés p=0 esetén: L’Hospital- szabály szerint
Az entrópia Az entrópia tulajdonságai: 1. Nem negatív: H( p 1, p 2, …, p m ) ≥ 0 2. Az események valószínűségeinek folytonos függvénye. 3. H( p 1, p 2, …, p m, 0 ) = H( p 1, p 2, …, p m ) 4. Ha p i = 1, a többi p k = 0, ( k=1, …, i−1, i+1,…, m ), akkor H( p 1, p 2, …, p m ) =0. 5. H( p 1, p 2, …, p m ) ≤ H( 1/m, 1/m, … 1/m ) 6. H( p 1, …, p k−1, p ℓ, p k+1, …, p ℓ−1, p k, p ℓ+1, …, p m ) = = H( p 1, p 2, …, p m ), k, ℓ ; azaz az entrópia szimmetrikus változóinak cseréjére.
A forrásunk a következő üzenetet adta le: „ccndnddnnncdnndncdncdncdncdnnnncdcdncdcnnncdcccdcddc dccccnnn” (21 db „c”, 22 db „n”, 17 db „d”) Mekkora az üzenet entrópiája? p(c)=21/60=0,35 p(n)=22/60=0,37 p(d)=17/60=0,28 H(c) = −0,35 log 2 0,35 = −0,35 ∙(ln 0,35/ln 2) = = −0,35∙(−1,51) = 0,53 H(n) = −0,37 log 2 0,37 = −0,37 ∙(ln 0,37/ln 2) = = −0,37∙(−1,43) = 0,53 H(d) = −0,28 log 2 0,28 = −0,28 ∙(ln 0,28/ln 2) = = −0,28∙(−1,84) = 0,51 Az entrópia
A forrásunk a , , , , szimbólumokat bocsátja ki p =0,12, p =0,37, p =0,06, p =0,21, p =0,24 valószínűséggel. Mennyi az entrópia? H( , , , , ) = −0,12 log 2 0,12 −0,37 log 2 0,37 − − 0,06 log 2 0,06 −0,21 log 2 0,21 −0,24 log 2 0,24 = = 0,37+0,53+0,24+0,47+0,49 = 2,1 Az entrópia
A kölcsönös entrópia Legyen A={A 1, …, A m 1 } a lehetséges leadott jelek halmaza, B={B 1, …, B m 2 } pedig a vehető jelek halmaza. Vizsgáljuk azt az összetett eseményt, hogy egy A-beli és egy B-beli esemény is bekövetkezik. A i és B j együttes bekövetkezési valószínűsége p i,j = p(A i ∙ B j ), a két esemény együttes bekövetkezésekor nyert információ I(A i ∙ B j )=−log 2 p(A i ∙ B j )=−log 2 p i,j. Mindig igaz a kölcsönös információra, hogy I(A i ∙ B j )≥ I(A i ), és I(A i ∙ B j )≥ I(B j ). A és B halmazok kölcsönös entrópiája:
A feltételes entrópia Legyen A={A 1, …, A m 1 } a lehetséges leadott jelek halmaza, B={B 1, …, B m 2 } pedig a vehető jelek halmaza. Minden A-beli esemény bekövetkezése maga után von egy B-beli eseményt. A i -nek B j -re vonatkoztatott feltételes valószínűsége p(A i | B j ). Az A halmaz B halmazra vonatkoztatott feltételes entrópiája: Mivel p(A i ∙B j )=p(B j ) ∙ p( A i |B j ) minden i-re és j-re, H(A ∙ B )= H(B) ∙ H(A|B )= H(A) ∙ H(B|A ). Így H(A) ≥ H(A∙B) ≥ 0
Shannon hírközlési modellje A hírközlés során egy üzenetet juttatunk el egy tér- és időbeli pontból egy másikba. forrás/adó kódoló csatorna dekódoló nyelő/vevő tényleges forrás mintavételezés, kvantálás, forráskódolás Lehet folytonos jel A forrás jelét diszkrét jellé alakítja át és tömöríti
Shannon hírközlési modellje A hírközlés során egy üzenetet juttatunk el egy tér- és időbeli pontból egy másikba. forrás/adó kódoló csatorna dekódoló nyelő/vevő Csatornakódolás avagy hibajavító kódolás: lehetővé teszi a zajos csatornán való biztonságos(abb) üzenetátvitelt, a keletkező hibák jelzését kijavítását. (Esetleg a modulátor is ide sorolható.)
Shannon hírközlési modellje A hírközlés során egy üzenetet juttatunk el egy tér- és időbeli pontból egy másikba. forrás/adó kódoló csatorna dekódoló nyelő/vevő modulátorcsatorna demodulátor, döntő Átalakítja a kódolt üzenetet a csatornán átvihető jellé. torzul a jel Eldönti, hogy a lehetséges leadott jelalakok közül melyiket adhatták.
Shannon hírközlési modellje A hírközlés során egy üzenetet juttatunk el egy tér- és időbeli pontból egy másikba. forrás/adó kódoló csatorna dekódoló nyelő/vevő Kijavítja és/vagy jelzi a vett jelek hibáit. Elvégzi a csatornakódolás inverz műveletét.
Shannon hírközlési modellje A hírközlés során egy üzenetet juttatunk el egy tér- és időbeli pontból egy másikba. forrás/adó kódoló csatorna dekódoló nyelő/vevő vevő a forráskódolás inverze a helyreállított üzenetet „kitömöríti” értelmezi az üzenetet
Forráskódolás A következőkben olyan forrásokkal fogunk foglalkozni, amelyek kimenetén véges sok elemből álló A ={A 1, …, A n } halmaz elemei jelenhetnek meg. Az A halmazt ekkor forrásábécének nevezzük. Az A elemeiből képezett véges A (1) A (2) A (3) … A (m) sorozatok az üzenetek. (m tetszőleges természetes szám) A lehetséges üzenetek halmaza A. A kódolt üzenetek egy B ={B 1, …, B s } szintén véges halmaz elemeiből épülnek fel, B a kódábécé. A B elemeiból álló véges hosszúságú B (1) B (2) B (3) … B (m) sorozatok a kódszavak. A lehetséges kódszavak halmaza B.
Forráskódolás: egyértelműen dekódolható kódok Az illetve függvényeket (forrás)kódoknak nevezzük. Az f leképezés a forrás egy-egy szimbólumához rendel egy-egy kódszót, az F ennél általánosabb. Egy f forráskód egyértelműen dekódolható, ha minden egyes B -beli sorozatot csak egyféle A -beli sorozatból állít elő. (A neki megfeleltethető F invertálható. Az nem elég, hogy f invertálható.) Az állandó kódszóhosszú kódok egyértelműen dekódolhatók, megfejthetők, de nem elég gazdaságosak. Egy f betűnkénti kód prefix, ha a lehetséges kódszavak közül egyik sem áll elő egy másik folytatásaként. prefixposztfix a000 b1001 c d
Forráskódolás: a források jellemzése, forrásentrópia Vizsgáljuk a forrás egymást követő N szimbólumkibocsátását: az A (1), A (2), …, A (N) sorozatot. A forrás emlékezet nélküli, ha A (i) független A (i−1) -től, i. A forrás stacioner, ha A (i) A i, és p( A (i) = A j ) = p j, i, j. Az A forrás forrásentrópiája: Nem keverendő -vel, a forrásábécé entrópiájával.
Forráskódolás: a kódszavak átlagos hossza Az olyan kódokat, amelyek különböző A-beli szimbólumokhoz más és más hosszúságú kódszavakat rendelnek, változó szóhosszúságú kódoknak nevezzük. Az B -beli sorozat, azaz kódszó hossza ℓ i. Egy f kód átlagos szóhossza ℓ i várható értéke: AiAi kódszóℓiℓi pipi L(A)L(A) α010,42 1,91 β0120,34 γ01130,15 δ011140,09
Forráskódolás: a kódszavak átlagos hossza Az olyan kódokat, amelyek különböző A-beli szimbólumokhoz más és más hosszúságú kódszavakat rendelnek, változó szóhosszúságú kódoknak nevezzük. Az B -beli sorozat, azaz kódszó hossza ℓ i. Egy f kód átlagos szóhossza ℓ i várható értéke: AiAi kódszóℓiℓi pipi L(A)L(A) α01130,42 2,95 β011140,34 γ010,15 δ0120,09
Forráskódolás: a kódszavak átlagos hossza Az olyan kódokat, amelyek különböző A-beli szimbólumokhoz más és más hosszúságú kódszavakat rendelnek, változó szóhosszúságú kódoknak nevezzük. Az B -beli sorozat, azaz kódszó hossza ℓ i. Egy f kód átlagos szóhossza ℓ i várható értéke: AiAi kódszóℓiℓi pipi L(A)L(A) α011130,42 3,09 β01140,34 γ0110,15 δ020,09
Forráskódolás: a McMillan-egyenlőtlenség Minden egyértelműen dekódolható kódra igaz, hogy ahol s a kódábécé elemszáma n pedig a forrásábécéé.
Forráskódolás: a Kraft-egyenlőtlenség Legyen ℓ 1, ℓ 2, …, ℓ n N, s >1 egész, és legyen rájuk érvényes, hogy Ekkor létezik olyan prefix kód, amelynek kódábécéje s elemű, és az n elemű forrásábécé A 1, A 2, …, A n elemeihez rendelt kódszavak hossza rendre ℓ 1, ℓ 2, …, ℓ n.
Forráskódolás: a kódszavak átlagos hosszáról szóló tétel Minden egyértelműen dekódolható kódra Bizonyítás: A Jensen-egyenlőtlenség egy következménye, hogy ha p i ≥ 0, q i > 0, és
Forráskódolás: a kódszavak átlagos hosszáról szóló tétel Független i-től, állandó McMillan: ≤ 1
Forráskódolás: a kódszavak átlagos hosszáról szóló II tétel Létezik olyan prefix kód, melyre Bizonyítás: Legyenek ℓ 1, ℓ 2, …, ℓ n pozitív egész számok, melyekre
Forráskódolás: a kódszavak átlagos hosszáról szóló II tétel Létezik olyan prefix kód, melyre Bizonyítás: Legyenek ℓ 1, ℓ 2, …, ℓ n pozitív egész számok, melyekre
Forráskódolás: Shannon első tétele Minden A={A 1, A 2, …, A n } véges forrásábécéjű forráshoz található olyan s elemű kódábécével rendelkező kód, amely az egyes forrásszimbólumokhoz rendre ℓ 1, ℓ 2, …, ℓ n szóhosszúságú kódszavakat rendel, és Az olyan kódok, amelyekre ez teljesül az optimális kódok.
Információelmélet 2. Előadás Dr. Nagy Szilvia Széchenyi István Egyetem Győr, 2006 tavaszi félév
Forráskódolás A következőkben olyan forrásokkal fogunk foglalkozni, amelyek kimenetén véges sok elemből álló A ={A 1, …, A n } halmaz elemei jelenhetnek meg. Az A halmazt ekkor forrásábécének nevezzük. Az A elemeiből képezett véges A (1) A (2) A (3) … A (m) sorozatok az üzenetek. (m tetszőleges természetes szám) A lehetséges üzenetek halmaza A. A kódolt üzenetek egy B ={B 1, …, B s } szintén véges halmaz elemeiből épülnek fel, B a kódábécé. A B elemeiból álló véges hosszúságú B (1) B (2) B (3) … B (m) sorozatok a kódszavak. A lehetséges kódszavak halmaza B.
Forráskódolás: egyértelműen dekódolható kódok Az illetve függvényeket (forrás)kódoknak nevezzük. Az f leképezés a forrásábécé egy-egy betűjéhez rendel egy-egy kódszót. Egy f forráskód egyértelműen dekódolható, ha minden egyes B -beli sorozatot csak egyféle A -beli sorozatból állít elő. Az állandó kódszóhosszú kódok egyértelműen dekódolhatók, de nem elég gazdaságosak. Ha a gyakrabban előforduló A i kódábécébeli elemhez rövidebb kódszót rendelünk, mint a ritkább A j -hez, akkor már tömörítettük az üzenetet. Egy f betűnkénti kód prefix, ha a lehetséges kódszavak közül egyik sem áll elő egy másik folytatásaként.
Forráskódolás: a kódszavak hossza Az olyan kódokat, amelyek különböző A-beli szimbólumokhoz más és más hosszúságú kódszavakat rendelnek, változó szóhosszúságú kódoknak nevezzük. Az B -beli sorozat, azaz kódszó hossza ℓ i. A jó tömörítő eljárásokra tehát igaz, hogy ha p i ≥ p j, akkor ℓ i ≤ ℓ i. Ha az f bináris kód prefix, akkor a leggyakoribb forrásábécébeli elemhez fog a legrövidebb kódszó tartozni, a második leggyakoribbhoz eggyel hosszabb kódszó, … a két legritkábban előforduló betűhöz pedig azonosan hosszú kódszó fog tartozni, és csak az utolsó karakterben fog e két szó különbözni.
Forráskódolás: Huffman-kód A legrövidebb átlagos szóhosszú bináris prefix kód. 1. Valószínűségek szerint sorba rendez 2.A két legkisebb valószínűségű szimbólumot összevonja. Az összevont szimbólum valószínűsége a két eredeti szimbólum valószínűségének összege. 3.Az (1-)2. lépést addig ismétli, amíg egyetlen, 1 valószínűségű összevont szimbólumot nem kap. 4.A kapott gráf minden csomópontja előtti két élt megcímkézi 0- val és 1-gyel. 5.A kódfa gyökerétől elindulva megkeresi az adott szimbólumhoz tartozó útvonalat, kiolvassa az éleknek megfelelő biteket. A kapott bitsorozatot rendeli a szimbólumhoz kódszóként.
Forráskódolás: Huffman-kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5, A 6, A 7 }, elemeinek előfordulási valószínűsége rendre p 1 =0,17, p 2 =0,26, p 3 =0,07, p 4 =0,21, p 5 =0,10, p 6 =0,08 és p 7 =0,11. A2A2 0,26 0,320,420,581 A4A4 0,21 0,260,320,42 A1A1 0,17 0,21 0,26 A7A7 0,110,150,170,21 A5A5 0,100,110,15 A6A6 0,080,10 A3A3 0,07
Forráskódolás: Huffman-kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5, A 6, A 7 }, elemeinek előfordulási valószínűsége rendre p 1 =0,17, p 2 =0,26, p 3 =0,07, p 4 =0,21, p 5 =0,10, p 6 =0,08 és p 7 =0,11. A2A2 0,26 0,58 A4A4 0,21 0,421 A1A1 0,17 0,32 A7A7 0,11 0,21 A5A5 0,10 A6A6 0,08 0,15 A3A3 0,07 A 0 és 1 címkézése válastható, elágazásomként felcserélhető.
Forráskódolás: Huffman-kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5, A 6, A 7 }, elemeinek előfordulási valószínűsége rendre p 1 =0,17, p 2 =0,26, p 3 =0,07, p 4 =0,21, p 5 =0,10, p 6 =0,08 és p 7 =0,11. A2A2 0,26 A4A4 0,21 A1A1 0,17 A7A7 0,11 A5A5 0,10 A6A6 0,08 A3A3 0,07 Az átlagos kódszóhossz:
Forráskódolás: Huffman-kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5, A 6, A 7 }, elemeinek előfordulási valószínűsége rendre p 1 =0,17, p 2 =0,26, p 3 =0,07, p 4 =0,21, p 5 =0,10, p 6 =0,08 és p 7 =0,11. A kódhoz tartozó egyszerűsített bináris fa: A kiolvasás iránya
Forráskódolás: Huffman-kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5, A 6, A 7 }, elemeinek előfordulási valószínűsége rendre p 1 =0,17, p 2 =0,26, p 3 =0,07, p 4 =0,21, p 5 =0,10, p 6 =0,08 és p 7 =0,11. A2A2 0,26 0,320,420,581 A4A4 0,21 0,260,320,42 A1A1 0,17 0,21 0,26 A7A7 0,110,150,170,21 A5A5 0,100,110,15 A6A6 0,080,10 A3A3 0,07 A kiolvasás iránya
Forráskódolás: Huffman-kód Legyen a forrásábécé A={ , , , , , }, elemeinek előfordulási valószínűsége rendre p ( ) =0,10, p ( ) =0,05, p ( ) =0,12, p ( ) =0,25, p ( ) =0,40 és p ( ) =0,08. A2A2 0,40 0,601 A4A4 0,25 0,350,40 A1A1 0,120,130,220,25 A7A7 0,100,120,13 A5A5 0,080,10 A6A6 0,05
Forráskódolás: Huffman-kód Legyen a forrásábécé A={ , , , , , }, elemeinek előfordulási valószínűsége rendre p ( ) =0,10, p ( ) =0,05, p ( ) =0,12, p ( ) =0,25, p ( ) =0,40 és p ( ) =0,08. 0,40 0,601 0,25 0,350,40 0,120,130,220,25 0,100,120,13 0,080,10 0,05 A kiolvasás iránya
Forráskódolás: Huffman-kód Legyen a forrásábécé A={ , , , , , }, elemeinek előfordulási valószínűsége rendre p ( ) =0,10, p ( ) =0,05, p ( ) =0,12, p ( ) =0,25, p ( ) =0,40 és p ( ) =0,08. A kiolvasás iránya Az átlagos kódszóhossz:
Forráskódolás: Huffman-kód Legyen a forrásábécé A={ , , , , , }, elemeinek előfordulási valószínűsége rendre p ( ) =0,10, p ( ) =0,05, p ( ) =0,12, p ( ) =0,25, p ( ) =0,40 és p ( ) =0,08. A kódhoz tartozó bináris fa: A kiolvasás iránya
Forráskódolás: Huffman-kód Legyen a forrásábécé A={Б, Г, Д, Ж, З, И, К}, elemeinek előfordulási valószínűsége rendre p Б =0,17, p Г =0,26, p Д =0,07, p Ж =0,21, p З =0,10, p И =0,08 és p К =0,11. Kódoljuk bináris Huffman- kóddal a Ж Г К Г Д И Б Д З З И Ж Г Б Ж З Д Б Д Г Г К üzenetet
Forráskódolás: Aritmetikai kód Legyen a forrásábécé elemszáma n, és m elemű blokkokat kódoljunk. 1.Felosztja a [0,1) intervallumot n diszjunkt részre, minden résznek megfeleltet egy-egy forrásábécébeli elemet. Célszerű a kis valószínűségű betűkhöz rövid, a gyakoriakhoz hosszú részintervallumot rendelni. 2.Kiválasztja a blokk soron következő karakterének megfelelő intervallumot. 3.Az új intervallumot felosztja ugyanolyan arányban, mint a [0,1)-et osztotta, és ugyanolyan sorrendben rendeli a részintervallumokhoz a lehetséges szimbólumokat. 4.A 2-3. lépéseket ismétli, amíg el nem fogy a blokk. 5.A végül maradt kis intervallumból kiválaszt egy (binárisan) jól leírható számot, az lesz a kódszó.
Forráskódolás: Aritmetikai kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5 }, elemeinek előfordulási valószínűsége rendre p 1 =0,18, p 2 =0,36, p 3 =0,11, p 4 =0,26 és p 5 =0,09. A kódolni kívánt blokkunk: A 2, A 2, A 1, A 4, A 1 A 3, A 4, A 5
Forráskódolás: Aritmetikai kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5 }, elemeinek előfordulási valószínűsége rendre p 1 =0,18, p 2 =0,36, p 3 =0,11, p 4 =0,26 és p 5 =0,09. A kódolni kívánt blokkunk: A 2, A 2, A 1, A 4, A 1
Forráskódolás: Aritmetikai kód Legyen a forrásábécé A={A 1, A 2, A 3, A 4, A 5 }, elemeinek előfordulási valószínűsége rendre p 1 =0,18, p 2 =0,36, p 3 =0,11, p 4 =0,26 és p 5 =0,09. A kódolni kívánt blokkunk: A 2, A 2, A 1, A 4, A 1 bináris tört alakban:
Forráskódolás: Lempel—Ziv-algoritmusok Nem szükséges előre ismerni a kódolandó karakterek előfordulási valószínűségét. Az üzenet bolvasása során egy láncolt listát, ú.n. szótárat épít. Egy szótársornak 3 mezője van: m sorszám, n mutató és a karakter. A kódolt információ a sorszámokból álló sorozat lesz. A kódolás során a vevő is megkapja a szükséges információt, párhuzamosan építi a szótárat, vagy pedig a tömörített fájlban szerepel maga a szótár is.
Forráskódolás: LZ78 A szótár nulladik sora adott: m=0, n=0 a karakter pedig üres. A kódolás elején a megjegyzett sorszám n m = 0, az utolsó használt sorszám is m u =0. A kódoló a következő lépéseket ismétli, amíg el nem fogy az üzenet: Beolvassa a következő karaktert, amit nevezzünk „c”-nek –Ha egyáltalán nem szerepel a karakter a szótárban nyit neki egy új sort, a sor paraméterei: m=m u +1, n=0, a karakter „c”. A megjegyzett elem n m = 0 az utolsó sorszám m u =m u +1. Az üzenet ezen eleméhez rendelt kódszó: m. –Ha már szerepel a karakter a szótárban, akkor vizsgálja azokat a sorokat, amelyeknek a megjegyzett n m szerepel a mutató mezejükben. Ha talál olyant, amelynek a karaktermezejében „c” szerepel, annak a sornak az indexe lesz az új n m, m u nem változik. Ha nem talál olyan sort, amelyikben „c” a karakter, akkor nyit egy újat. A sorszám m=m u +1, a mutató n m, a karakter „c”. Az új megjegyzett sorszám 0. A használt utolsó sorszám m u =m u +1. Az üzenet ezen láncához rendelt kódszó n m és „c” sorszáma.
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 43
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 43 50
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 43 50 61
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 43 50 61 73
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 43 50 61 73 82
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 43 50 61 73 82 mn„c”sorozat 96 104 119 128 130 1413 151 1614 1713
Forráskódolás: LZ78 Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 43 50 61 73 82 mn„c”sorozat 96 104 119 128 130 1413 151 1614 1713
Forráskódolás: LZW A szótár első k sora tartalmazza a használni kínánt k darab karaktert. A kódolás elején a megjegyzett sorszám n m = 0, az utolsó használt sorszám m u =k. A kódoló a következő lépéseket ismétli, amíg el nem fogy az üzenet: Beolvassa a következő karaktert, amit nevezzünk „c”-nek. Vizsgálja azokat a sorokat, amelyeknek a megjegyzett n m szerepel a mutató mezejükben. Ha talál olyant, amelynek a karaktermezejében „c” szerepel, annak a sornak az indexe lesz az új n m. Ha nem talál olyan sort, amelyikben „c” a karakter, akkor nyit egy újat. A sorszám m=m u +1, a mutató n m, a karakter „c”. Az új megjegyzett sorszám annak a sornak az m-je, ahol a „c” karakter először szerepelt. A használt utolsó sorszám m u =m u +1. Az üzenet ezen láncához rendelt kódszó n m.
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61 73
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61 73 83
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61 73 83 mn„c”sorozat 93 102 114 126
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61 73 83 mn„c”sorozat 93 102 114 126 138
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61 73 83 mn„c”sorozat 93 102 114 126 138 1410 1512 169 1711
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61 73 83 mn„c”sorozat 93 102 114 126 138 1410 1512 169 1711 mn„c”sorozat 187 1916 201 215 225 2311 2421 2523
Forráskódolás: LZW Legyen az LZ78 algoritmussal kódolandó üzenet: mn„c”sorozat 20 30 40 50 61 73 83 mn„c”sorozat 93 102 114 126 138 1410 1512 169 1711 mn„c”sorozat 187 1916 201 215 225 2311 2421 2523