Az Informatika Elméleti Alapjai

Hasonló dokumentumok
Informatikai Rendszerek Alapjai

Az Informatika Elméleti Alapjai

Az Informatika Elméleti Alapjai

Az Informatika Elméleti Alapjai

Informatikai Rendszerek Alapjai

Az Informatika Elméleti Alapjai

Zárthelyi dolgozat feladatainak megoldása õsz

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

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

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,

Algoritmusok és adatszerkezetek 2.

Diszkrét matematika 2.C szakirány

Á Ü É Ü Ú Ü É

Ó Ó ö ú ö ö ö ö ü ú ú ö ö ö ú ú ö ö ö ú ú ú ű ö ö ú ö ü ö ö ö ö ü ú Á ö ü Á ö ö ö ö ö ö

ú Ó ú ú ú ú ú ú ú É Á

Á Ö Ö Ö Ö ú ú Ö Ö Ó Ó ú ú Ü ú Ó Ö Ö Ü Ó Ö Ö Á Ó ú ú ú ű Ö Ö Ö Ö Á Ó Ö Ó ú ú Ö

ű Ú ű ű É Ú ű ű

ó ő ő ó ő ö ő ő ó ó ó ö ő ó ó ó ö ő ó ő ő ö Ö ő ö ó ő ö ő ő ú ö ö ü ö ó ö ö ö ő ö ö Ö ú ü ó ü ő ő ő ő ó ő ü ó ü ö ő ö ó ő ö ő ö ü ö ü ő ö ö ó ö ő ő ö

Á ó ó ó Ü Ü ó ó Ü ó ó ú ú ó ó Ü ó ó ó Ü ó ó

Á Á ő ő Ö ő ő ö É ö ő ö ő ő ö ő ő ö ő ő ü ö

Ó é é Ó Ó ő ű Ó Ö ü Ó é Ó ő Ó Á Ö é Ö Ó Ó é Ó Ó Ó Ó ú Ó Ó Ó Ó ű Ö Ó Ó Ó é Ó Ó ö Ö Ó Ö Ö Ó Ó Ó é ö Ö é é Ü Ó Ö Ó é Ó é ö Ó Ú Ó ő Ö Ó é é Ö ú Ó Ö ö ű ő

ö ö Á Á Ó Á ö ö ö ö ö ú ű ö ö Á Á ű ű ö ö ö ö ű

ü ü Ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü É ü ü

Ú ű É ű ű Ü Ü ű ű Ú É ű ű Ü ű ű ű ű ű ű ű Ú ű ű

Á Ó ű ű Á É ű ű ű ű Ú Ú

ű Ö ű Ú ű ű ű Á ű

ű ű ű Ú Ú Á ű Ö ű ű Ú Ő É

ú ö ö ö ö ö ö Á ö ö ö á á á ű Ü ű ö ö Á á Á

ű ő ő ő

ü ú ú ü ú ú ú ú

Á ű ó ó

É É Ö

ö ő ü ö ő ő ü ü ő ő ő ü ö ü ü ő ú ő ő ő ü ő ő ő ő ő ú ő ő ü ő ő ő ü ö ü ú ő ő ő ő ü ü ő ő ú

É Á Á Ö Á

é ü ó ö é Ö é ü é é ó ö é ü ü é é ó ó ó é Á é é ü ó é ó ó é ö ö ö é é ü é ü é é ö ü ü é ó é é é é é é ö é é é é é é ö é ó ö ü é é é ü é é ó é ü ó ö é

ó Ó ú ó ó ó Á ó ó ó Á ó ó ó ó Á ó ú ó ó ó

Ó Ó ó ö ó

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

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

É ú É ö ö ű ö ö ö ú ú ú ű ű ú ö ű ö ű ű ü ö ö ü ű ö ü ö ö ö ö ú ü ö ö ö ú ö ö ú ö ö ú ü ú ú ú ű ü ö ö ű ú ű ű ü ö ű ö ö ö ű ú ö ö ü ú ü ö ö ö ü ú ö ű

É Ö Á Í Á Ó Ö ü

ú ú ö ö ü ü ü ü ű ü ü

ű ú Í Ó Á ú Ű ű Ő Ö Á ú Ű Ü ú ú Á ú ű

ú ű ú ú ű ú ű ű ú ű ú ű Á ű ű Á ű ű ú ú ú ú ú ú ű ú ú ú ú ú ú ú ú

Ö Ö ű ű ű Ú Ú ű ű ű Ú ű

ő ő ő ő ú É ü ú ú ű ú ű ő ő ő ő Á Á ü ő É É É É É É Á Ú Á Á ő ő ő ő ő É Á Á Á ő ő ő Á ü ő ő ü

Á Á Ö Ö Ü É Ö É É Á Ú É É É É Á Á Ö Ö Ő

Ö Ö Ú Ó Ö ű Ő Ő ű ű Ü Ő Ó Ő

Ó ű ű Á ú ű ű ú ú ú ű ű É ú É Á Á ú ű Ü Á Ü Á ű Ö Ú É Ó É Á Á Á Ű Á úá Á Ö É Ö É Ü

é ú é é é é é é é é é é é é ú é ö é é é ö Ő é é é ú é é é é é é é é ö é é é ö é Ö é é ö é ö é é é ű é ö ö é ö é é ö ö é é ö ö é ö é Ö é ú é é é é é é

ő ö ő ú ő ö ö ő ó ő ö ü ú ö ö ó ő ö ü ó ó ó ó ő ő ő ó ó ú ő ü ő ö ö ó ü ö ö ő ű ö ö ő ú ú ó ö ő ű ö ó

ú ú ü ü Á ú ú ü ű ű ú ü ü ü ü

ó ú ú ü ú ő ó ő ő ó ó ó ö ó ü ő ó ő ö ü ü ó ö ő É ó ö ö ö ó ó ö ü ü ö ü ó ó ő ó ü ó ü ü ö ö É ú ó ó ö ú ö ü ü ó ó ó ü Á ö ö ü ó ö ó ö ö ö ö ó ó ö ó ó

É ö Ű ő ű ő ő ű ű

ö ö ö ö ö ö ö ü ö ü ö ű ö ú ü ű ö ü Í ö ú ü ü ű ö ú ü Á ü

ú Ü Í ú ú ú ú ú ú

ü ö ú ö ú ü ö ü Á Ó ö ö ö ö ú ü ú ü ü ú ú ö ö ü ü ú ü ü ö ö ű ö ü ü ü ü ö ö

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

Ö ő ü Ö Ö Ő ü ő Ö Ö ü ű Á Í Ö ű ü ő ő ő Ö ü ü ő ő ő Ü ü ő ő ő ü ő ő ü ü

ő ő Ű ü ú ú Ú ü ű ő ő ő ő Á Á Í ü É ő ő ő ő ő É ő ú ú ú ő Á Ö ő

É ő ő ű ú Á ő Á ő ű ő ő ő ő ő ő ő ő ű ú ű ű ő ő ő ű

Ü ü Ü Ö Ó ö ü ö Ó Ú Ó ü Ó ö ö Á ö ö ö ö ü

ö ö ó ú ö ö ú ü ó ö ö Í ö ö ö ü ó ö ö ú ú ö ü ó ü ó ü ö ú ü ó ü ö ó Á Á ö ü ú ó ö ü ü ö ó ü ü Á ü ö ü ö ü ö ö ö ü ö ú ö ö ö ü ú ö ú ö ű ú ú ü ö ó ö ö

Í Ú É ő ő ú ö Ö ú ú ú ö ö ú ö ö ű ö ő ö ö ú ö ő ő ö ö ö ő ő ú ő ú ö ö ö ú ö ö ú ő ö ú ö ű ö ő Ó ő Á ö ő ö ö

É Í ü ú É ü ő ő ő ő ú ő ú ü ü ő ü ú ü ű ú ú ü ü Í ü ű ő ő É ő

ő ő ő ő ő ő ú ő ü Á ü ü ő ő ő ő ő ő ő ő ő ő Ö Ó ő ő ő Ö ő ő ő

é ö é Ö é é ő í ó í é ő ö ú é ó é ő ü ü é ó ö é é ó é é ö é ő í é é ő é é ö é ű ö é í ó é é í ö í ó í ó é é ö ó í ó ó í ó é é ö ő í ó ó í ó ü é í ü


Ö Ö ö Ó Ó Ó Ó Ü ú ü Ű Ö Ö Ö ö Ü ö Í ü ű

Ü ű ö Á Ü ü ö ö

í ó ő í é ö ő é í ó é é ó é í é é í é í íí é é é í é ö é ő é ó ő ő é ö é Ö ü é ó ö ü ö ö é é é ő í ő í ő ö é ő ú é ö é é é í é é í é é ü é é ö é ó í é

ú ü ü ú Ö ú ü ü ü ü ü ú ü ú ü ű Í ü ü ű ü ű Ó ü Ü ű ú ú Á ü ű ű ü ü Ö ü ű ü Í ü ü

ű í ú ü ü ü ü ü Ó í ü í í í É Á

ű ű ű ű Ü ű ű ű Ó ű Á ű Á Ö É É É Á É É É É Ü Á Á Á ű

ö ö Ö ó ó ö ó ó ó ü ö í ü ú ó ó í ö ö ö ó ö ü ú ó ü ö ü ö ö Ö ü ö ö Ö ó

Í Í Ó ű Ü Ó Ó Ü ü Ö Í Ü Í Í ú Ö Ó Í ú ú Ö Ó É Í ű ú

ő ö ő ű ó ö ó ű Í Ö Ö Á Í Ó Ö Ü É Ö Ö Ö Á Á Ö É Á Ö

Í Í Í Ü Ó Ó Ö Á Ü Ü Ó Ü Ü Ó Ö Í É Ö

ű ú ú Ö ó Ö ó ó ó Ö ű ó ű ű ü Á ó ó ó ó ü ó ü Ö ó ó ó Ö ű ű ü Ö ű Á ú ú ú ó ű í í Ő ú Á É Ö í ó ü ű í ó ű ó Ö ú Ő ú ó í ú ó

ö ü ü ú ó í ó ü ú ö ó ű ö ó ö í ó ö í ö ű ö ó Ú ú ö ü É ó í ö Ó Á í ó í í Ú ö ú ö ű ü ó

í Ó ó ó í ó ó ó ő í ó ó ó ó

ö Ó ű ö ó í ó ü ö Ó ó í ö ö ó Ö ó ö í ó í ó Á í ó Á Á Ő ú ü ó Í ü ú ü

Ö Ö ú

Í ö ö ű ú ö ö Í ö ü ö ü

Kvantumcsatorna tulajdonságai

Ü


É Í Á Á É Ü Ó É É É É Í Ó Ó Ő Á Á É Á É É É É Á É É Á Á É É Á É Í

í ó í ó ó ó í í ü ú í ú ó ó ü ü í ó ü ú ó ü í í ü ü ü ó í ü í ü ü í ü ü í ó ó ó í ó í ü ó í Á

ó É ó í ó ó í í ö í ó í ö ö ö ü ö ó ó ó ü ú ö ü ó ó ö ö ü ü ü ö ö ó ö í ó ű Ü ó í ú í ö í ö í Í ó ó í í ö ü ö ö í ö í ö ö ö ü ó í ö ö ó í ú ü ó ö

Ö Ö Ö Ö Ö Á Ű É Ö Ö Ö

ú ű ű É ü ű ü ű ű í ü í ő í Ü ő ő ü ú Í ő ő í ú ü ü ő ü

ű ú ü ü ü Í ü ö ü ö ü ö ü Ó ü ö ü ö ö ü ű ű ú ü ö ö ü Ó ö ű ü ö ú ö ö ü ü ű ü ü ö ö ü ü ú ö ö ü ü ú ü

í í É í ó ó É ö í ó í ó í ó ó í ó í í ó ó ó í ö ö ö ö í í í ó ó ö ó

ó ö í í ü Ű Ö ó ó ű ö ü Í í í ö Ö Ó ö Ű Ö ú ó ó í í ű ö ö ö ö í ó ö ö í ö ű ö ű ö ö ö ö ö í ó Ö Ö ü ú ö ó ü ö Ö ű ö Ö ü ó ö ö ó ö ö Ó í ű ö ű ö ö ű í

ű ö ú ö ö ö ö í ű ö ö ö ű ö ö ö í ü ú í ű í ö í ú ű í ü ö ö ú ö í ö ű ú ü ö ö í ö ü ö ú ű ö ö ö í Á í ü í ö ü ö í ü ö Ő ü ö í ű ü ö í í í í í

ü ö ö ő ü ó ó ú ó

ö ö ö Ö ö ú Ö í Ö ű ö í Ö í ö ü ö í ú Ö Ö ö í ű ö ö í ö ö Ő ö í ü ö ö í Ö ö ö í ö í Ő í ű ű í Ö Ó í ö ö ö ö Ö Ö ö í ü ö ö Ö í ü Ö ö í ö ö ö ö ö Ö ö í

í ü í ü ő ő ü Í ő ő ő ú í ő ő ö ö ö ű ü í ő ő í ú ö ö ú ő ő ú í ő í ő ö ö í ő ü ü í ő ö ü ü ú í í ü ő í ü Í í í í ö ő ö ü ő í ő ő ü ű ő ő í ő í í ő ő

Átírás:

Az Informatika Elméleti Alapjai dr. Kutor László Az üzenet információ-tartalma, redundanciája Minimális redundanciájú kódok http://mobil.nik.bmf.hu/tantárgyak/iea.html Felhasználónév: iea Jelszó: IEA07 BMF NIK dr. Kutor László IEA 7/1 Az Információ értelmezése Az információ szó szinonimái a köznapi használatban: Tájékoztatás Hír, Újság Adat Felvilágosítás Közlés Tudás Bejelentés Jellemzés Értesülés Tudományos értelemben: Az információ olyan mennyiség amely egy eseményrendszer egyik vagy másik eseményének bekövetkezéséről, (illetve egy állapottér egyik vagy másik állapotáról) elemi szimbólumok sorozatával közölhető. Az információ a bizonytalanság csökkentésének mennyisége BMF NIK dr. Kutor László IEA 7/2

Egy kártya kiválasztásához tartozó információ. 4 5 2 3 1 BMF NIK dr. Kutor László IEA 7/3 R. Hartley formula az információ mérésére H= k * log n Ahol H = az információ mennyiség egy üzenet (szó) kiválasztásakor n = az üzenet - ABC betűinek száma k = a betűk száma az üzenetben (szóban) Az információ mértékegységei különböző logaritmusok estén: H = k * log 10 n [ Hartley] H = k * log 2 n [ Shannon, bit] H = k * log e n [ Nat ] BMF NIK dr. Kutor László IEA 7/4

C. E. Shannon és N.Wiener információ értelmezése Véges számú közleményből véletlenszerűen választunk ki egyet Kérdés: Milyen következtetést vonhatunk le az egész közlemény bizonytalanságára? H(S) = - p{ x i }* log 2 p{x i } Ahol H(S) = a közlemény információ tartalma S(x 1,x 2,x 3,.x i, x n ) = a közlemények P{x 1 }, P{x 2 }, P{x 3 }, P{x i }, P{x n } = az üzenetek előfordulási valószínűsége BMF NIK dr. Kutor László IEA 7/5 Shannon információra vonatkozó összefüggése Kibocsátott üzenetek száma: M Xi előfordulásának száma: g i = M * X i I M = g1*i(x 1 ) + gi*i(xi) + gn*i(xn) IM= - M* p{ xi}* log 2 p{xi} H(S) = - p{ x i }* log 2 p{x i }? BMF NIK dr. Kutor László IEA 7/6

Az információ redundanciája 1. Redundancia köznapi értelmezése: terjengősség A redundancia információ elméleti értelmezése: n H S = - p{ xi}* log 2 p{xi} (Shannon) i=1 n H max = - 1/n * log (1/n)= - log (1/n) = log (n) i=1 (Hartley) H relatív = H S H max = az információ forrás jósága BMF NIK dr. Kutor László IEA 7/7 Az információ redundanciája 2. H S = a hírforrás információ tartalma (entrópiája) H max = a hírforrás maximális információ tartalma H relatív = H S H max = az információ forrás jósága H R S = 1 - S A hírforrás által közölt információ * 100 H hány százaléka felesleges max Példa: H S = 1.684 H max = 2 Hr = 1.684 = 0.842 2 R S = (1 0.842) * 100 = 15.8 ~ 16% BMF NIK dr. Kutor László IEA 7/8

Példa az írott szöveg redundancájára 1 ( a szöveg minden 3 karakteréből 2 elhagyva) A programozók (minden ellenkező híresztelés ellenére) emberek, akik éjnek éjjelén, teljesen alkalmatlan fejlesztőprogramokkal, hibáktól hemzsegő hardverek egymáshoz nem illeszthető konglomerátumán megkísérlik, hogy a feladatra alkalmatlan megbízóik megrendelésére megbízóik egymásnak ellentmondó kívánságait olyan programokká alakítsák át, amelyeket aztán a végén, senki sem fog használni. BMF NIK dr. Kutor László IEA 7/9 Példa az írott szöveg redundancájára 2 ( a szöveg minden 3 karakteréből 1 elhagyva) A programozók (minden ellenkező híresztelés ellenére) emberek, akik éjnek éjjelén, teljesen alkalmatlan fejlesztőprogramokkal, hibáktól hemzsegő hardverek egymáshoz nem illeszthető konglomerátumán megkísérlik, hogy a feladatra alkalmatlan megbízóik megrendelésére megbízóik egymásnak ellentmondó kívánságait olyan programokká alakítsák át, amelyeket aztán a végén, senki sem fog használni. BMF NIK dr. Kutor László IEA 7/10

Példa az írott szöveg redundancájára 1 ( a szöveg minden karaktere kiírva) A programozók (minden ellenkező híresztelés ellenére) emberek, akik éjnek éjjelén, teljesen alkalmatlan fejlesztőprogramokkal, hibáktól hemzsegő hardverek egymáshoz nem illeszthető konglomerátumán megkísérlik, hogy a feladatra alkalmatlan megbízóik megrendelésére megbízóik egymásnak ellentmondó kívánságait olyan programokká alakítsák át, amelyeket aztán a végén, senki sem fog használni. BMF NIK dr. Kutor László IEA 7/11 A magyar nyelv betűgyakorisága és információ tartalma 10 000 szavas újságszöveg alapján Gyakoriság Információ (% ) tartalom (bit) Fülöp Géza Gyakoriság Információ (% ) tartalom (bit) http://www.mek.oszk.hu/03100/03118/html/#5 Gyakoriság Információ (% ) tartalom (bit) A 9,35 3,43 Á 3,72 4,77 B 1,72 5,87 C 0,60 7,40 D 1,71 5,90 E 9,71 3,37 É 3,87 4,71 F 0,88 6,87 G 3,55 4,83 H 1,23 6,37 I 4,39 4,53 J 1,21 6,39 K 5,35 4,24 L 6,30 4,00 M 3,92 4,69 N 5,47 4,21 O 4,47 4,50 Ö 2,14 5,57 P 1,04 6,61 R 4,22 4,58 S 6,57 3,94 T 7,87 3,68 U 1,29 6,30 Ü 0,93 6,77 V 1,81 5,81 X 0,01 13,33 Y 2,21 5,52 Z 4,46 4,50 I átlag = 4.44 bit BMF NIK dr. Kutor László IEA 7/12

Tömörítő programok hatékonysága A kiinduló fájl típusa:.exe.img.txt A kiinduló fájl mérete: 277 766 168 974 151 579 Huffmann 103 408 57 383 42 576 LZW 117 811 55 108 48 322 Aritmetikai 177 042 79 870 101 322 PKZIP 96 525 56 380 39 953 ARJ 92 560 50 236 36 913 Koschek Vilmos BMF NIK dr. Kutor László IEA 7/13 Az angol nyelv betűgyakorisága Betű Betű Információ [bit] gyakoriság A 8,4966% 3,5570 B 2,0720% 5,5928 C 4,5388% 4,4615 D 3,3844% 4,8850 E 11,1607% 3,1635 F 1,8121% 5,7862 G 2,4705% 5,3391 H 3,0034% 5,0573 I 7,5448% 3,7284 J 0,1965% 8,9913 K 1,1016% 6,5043 L 5,4893% 4,1872 M 3,0129% 5,0527 Betű Betű Információ[bit] gyakoriság N 6,6544% 3,9095 O 7,1635% 3,8032 P 3,1671% 4,9807 Q 0,1961% 8,9942 R 7,5809% 3,7215 S 5,7351% 4,1240 T 6,9509% 3,8467 U 3,6308% 4,7836 V 1,0074% 6,6332 W 1,2899% 6,2766 X 0,2902% 8,4287 Y 1,7779% 5,8137 Z 0,2722% 8,5211 I átlag = 4.22 bit BMF NIK dr. Kutor László IEA 7/14

Tömörítő programok tesztje 1. Szövegfájlok méret szerint Kiinduló fájlok mérete: 1.22 MBájt BMF NIK dr. Kutor László IEA 7/15 Tömörítő programok tesztje 2. Szövegfájlok idő szerint Kiinduló fájlok mérete: 1.22 MBájt BMF NIK dr. Kutor László IEA 7/16

Tömörítő programok tesztje 3..doc fájlok méret szerint 12.34 MBájt BMF NIK dr. Kutor László IEA 7/17 Tömörítő programok tesztje 4..doc fájlok idő szerint 12.34 MBájt BMF NIK dr. Kutor László IEA 7/18

Tömörítő programok tesztje 2.. exe fájlok méret szerint 8.47 MBájt BMF NIK dr. Kutor László IEA 7/19 Tömörítő programok tesztje 6.. exe fájlok 8.47 MBájt BMF NIK dr. Kutor László IEA 7/20

Tömörítő programok tesztje 7. kép fájlok (.png) méret szerint 70.62 MBájt BMF NIK dr. Kutor László IEA 7/21 Tömörítő programok tesztje 8. kép fájlok (.png) idő szerint 70.62 MBájt BMF NIK dr. Kutor László IEA 7/22

Tömörítő programok tesztje 9. hang fájlok (.wav) méret szerint 15.66 MBájt BMF NIK dr. Kutor László IEA 7/23 Tömörítő programok tesztje 10. hang fájlok (.wav) idő szerint 15.66 MBájt BMF NIK dr. Kutor László IEA 7/24

Tömörítő programok tesztje 11. Tömörítvények (.zip) méret szerint 6.61 MBájt BMF NIK dr. Kutor László IEA 7/25 Tömörítő programok tesztje 12. Tömörítvények (.zip) idő szerint 6.61 MBájt BMF NIK dr. Kutor László IEA 7/26

A kódolás folyamata és fogalmai U A A* U* Forrás Kódoló Csatorna Dekódoló Vevő A kódolás céljai: U-nak A-ba történő leképezése minimális redundancia létrehozásával Forrás kódolás U-nak A-ba történő leképezése növelt redundancia létrehozásával Csatorna kódolás U-nak A-ba történő leképezése a kódrendszer titkos megváltoztatásával Titkosító kódolás BMF NIK dr. Kutor László IEA 7/27 A kódolással szemben támasztott követelmények 1. Egyértelmű dekódolhatóság: nem redukálható = irreducibilis kód! Feltétele: hogy egyik kódszó sem lehet a másik része 2. Forráskódolásnál a minimális szóhossz 3. Csatornakódolásnál a hibák észlelése és javítása 4. Titkosító kódolásnál a megfelelően nehéz dekódolhatóság BMF NIK dr. Kutor László IEA 7/28

Morse kód A.- J.--- B -... K -.- C -.-. L.-.. D -.. M -- E. N -. F..-. O --- G --. P.--. H... Q --.- I.. R.-. (redukálható) S... T - U..- V...- W.-- X -..- Y -.-- Z --.. 0 ----- 1.---- 2..--- 3...-- 4...- 5... 6 -... 7 --... 8 ---.. 9 ----. Fullstop.-.-.- Comma --..-- Query..--.. BMF NIK dr. Kutor László IEA 7/29 Statisztikára épülő adattömörítés Forrás Kódoló Csatorna Dekódoló Vevő Statisztika Statisztika Előnye: biztosítja a minimális átlagos szóhosszat (minimum redundanciát) Hátránya: a statisztikát is továbbítani kell BMF NIK dr. Kutor László IEA 7/30

Minimum redundanciájú kódok 1. Shannon-Fano kód Claude Snannon Bell Lab ~1950 R.M. Fano M.I.T. Az üzenetek (szimbólumok) előfordulási gyakoriságának (valószínűségének) ismeretében létrehozható olyan kód amely egyértelműen dekódolható változó (szó) hosszúságú a kódszavak hossza a kódolt szimbólumok előfordulási valószínűségétől függ Gyakori szimbólum Ritka szimbólum rövid kód hosszú kód BMF NIK dr. Kutor László IEA 7/31 A Shannon-Fano algoritmus 1. Az üzenetekben előforduló szimbólumok előfordulási gyakoriságának meghatározása 2. A szimbólumok gyakoriság szerinti csökkenő sorrendbe rendezése 3. A lista két részre osztása úgy, hogy a két részben lévő szimbólumok összesített gyakorisága (közel) egyenlő legyen 4. A lista felső részéhez 0 -át, az alsó részéhez 1 -et rendelünk (vagy fordítva) 5. A 3.-ik és 4.-ik eljárást addig ismételjük, amíg a kettéosztott lista mindkét részében csak 1-1 szimbólum található BMF NIK dr. Kutor László IEA 7/32

Példa a Shannon Fano algoritmusra Szimbólumok Előfordulások Információ Bitek száma száma tartalom A 15 1.38 20.68 B 7 2.48 17.35 C 6 2.7 16.2 D 6 2.7 16.2 E 5 2.96 14.82 A (15) B (7) C (6) D (6) E (5) (22) 0 (17) 1 A (15) B (7) C (6) D (6) E (5) 0 1 0 0 1 D (6) E (5) 1 A = 00 B = 01 C = 10 D = 110 E = 111 ASCII 39* 8 = 312 Shannon-Fano 89? BMF NIK dr. Kutor László IEA 7/33 Minimum redundanciájú kódok 2. Huffmann kód D.A. Huffmann (1952) 1. Az üzenetekben előforduló szimbólumok előfordulási gyakoriságának meghatározása 2. A szimbólumok gyakoriság szerinti csökkenő sorrendbe rendezése 3. A két legkevésbé gyakori szimbólumot összevonjuk és beírjuk a szimbólumok közé a gyakorisági sorba 4. A 3.-ik pontot addig ismételjük, amíg 2 elemű lesz a lista. Ekkor az egyik elemhez 0 -át a másikhoz 1 -et rendelünk. 5. Visszalépünk az előző összevont szimbólumhoz, és az előbbivel azonos sorrendben a két szimbólumhoz 0 -át és 1 -etrendelünk, mindaddig, míg vissza nem jutunk az egyes szimbólumokhoz BMF NIK dr. Kutor László IEA 7/34

Példa a Huffmann algoritmusra Szimbólumok Előfordulások Információ Bitek száma száma tartalom A 15 1.38 20.68 B 7 2.48 17.35 C 6 2.7 16.2 D 6 2.7 16.2 E 5 2.96 14.82 A (15) B (7) C (6) D (6) E (5) A (15) DE (11) B (7) 1 1 C (6) 0 0 A (15) BC(13) 1 DE (11) 0 BCDE(24) A (15) 1 0 A = 0 B = 111 C = 110 D = 101 E = 100 ASCII 39* 8 = 312 Huffmann 87? BMF NIK dr. Kutor László IEA 7/35 1/2 példa a Huffmann algoritmusra: Dekódolás Dekódolandó üzenet: 1101001010111101000110 Kódtábla: A = 0 B = 111 C = 110 D = 101 E = 100 C Visszafejtett kód: CEDABDAAAC E D A B D AAAC BMF NIK dr. Kutor László IEA 7/36

A kódolási példa fa szerkezete BCDE 1 0 DE 1 0 BC D 1 0 E B 1 0 C A gyökér A = 0 B = 111 C = 110 D = 101 E = 100 D E B C A levelek BMF NIK dr. Kutor László IEA 7/37 2. példa a Huffmann algoritmusra: Kódolás Kódolandó szöveg: Semmi nem olyan egyszerű, mint amilyennek látszik 1. A karakterek gyakoriságának meghatározása = 2, S=1, e=6, m=5, i=4, _=6, n=5, o=1, l=3, y=3, a=2, g=1, s=2, z=2, r=1, ű=1,,=1, t=2, k=2 =50 2. Gyakoriság szerinti rendezés 3. A kevésbé gyakori karaktereket kettesével összevonjuk és beírjuk a gyakorisági sorba, ami két elemű lesz a lista 4. A lista elemekhez rendre 0-át és 1-et rendelve létrehozzuk, majd kiolvassuk a kódot e(6) (6) m(5) n(5) i(4) l(3) y(3) (2) a(2) s(2) z(2) t(2) k(2) o(1) r(1) ű(1) g(1),(1) BMF NIK dr. Kutor László IEA 7/38