infokod jegyzet ii-resz beta1

Upload: intoshblef

Post on 07-Aug-2018

240 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    1/107

    3Ebben a fejezetben először a forráskódokról szólunk, majd az információelméletibevezető gondolatmenetét folytatva az ott már említett illesztő kódolásról lesz szó, amelyelvezet bennünket a forráskódot terelő redundancia minimalizálásáoz, más szóval aforrás!információ "veszteségmentes# tömörítéséez$$ % tárgyalásmód "miként már az előzőrészben is volt, itt is# induktív$ Ezért a gondolatmenetet többnyire a szövegtörzsbe beé&ített&éldákon keresztül mutatjuk be és nem abból kiemelve a fejezet végén$

    % kódolásoz tartozik az un$ ibavédelmi kódolás is, de ezt külön, a '$ fejezetben

    tárgyaljuk majd$

    3.1 A forráskód

    (zóltunk már arról, ogy az információt előállító forrás egy esemény bekövetkeztérőlegy szimbólum kibocsátásával ad írt$ )yakran eleve valamilyen kódolt formában történikennek az információnak a kibocsátása$

    *$+ ábra %z információ forrásába -beleértett. forrás kódoló$

    FORRÁSFORRÁSKÓDOLÓ

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    2/107

    % forráskódot az információforrás jellegének, természetének, vagy az adott alkal!mazásnak leginkább megfelelően szokták megválasztani$ /a &l$ a forrás egy lingvisztikai nyelvbet0it "és írásjeleit# szolgáltatja, akkor a forráskódoló kimenetén e bet0k valamilyenegyezményes bináris kódja lelenet meg egy!egy forrás!esemény bekövetkezésekor$

    3.1.1 Numerikus források kimeneti kódjai

    % digitális "és legtöbbször bináris# mérés és jelfeldolgozás esetén a m0szerekkimenőjelei tulajdonké&&en decimális karakterek, de binárisan kódolva$ % koraiszámítógé&ekben is alkalmaztak decimális aritmetikákat, amelyek un$ binárisan kódolt de!cimális "123# számjegyekkel dolgoztak$

    % decimális számjegyek bináris kódolásáoz négy bit több, mint elegendő, de árom bitkevés lenne$ % négybites bináris kombinációkból összesen +4 féle létezik$ %z un$ binárisankódolt decimális rendszerek ebből a +4 féle kombinációból választanak ki tizet és rendelik

    ozzá a decimális számjegyeket$ % redundáns kód miatt többféle ozzárendelés is le!etséges$ Ezek közül mutatunk be néányat a következő táblázatban

    in-dex

    bináriskom-

    bináció

    Súlyozott kódok(a hozzárendelt decimális számje-

    gyek) 

    nem súlyozottkód

    NBCD 4,2,2,1 8,4,(-2),(-1)) 3 többletes

    0 0000 0 0 0 -

    1 0001 1 1 - -2 0010 2 2 - -

    3 0011 3 3 - 0

    4 0100 4 - 4 1

    5 0101 5 - 3 2

    6 0110 6 4 2 3

    7 0111 7 - 1 4

    Az önkomplementálás tükröz# vonala

    8 1000 8 - 8 5

    9 1001 9 5 7 6

    10 1010 - - 6 7

    11 1011 - - 5 8

    12 1100 - 6 - 9

    13 1101 - 7 - -

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    3/107

    14 1110 - 8 - -

    15 1111 - 9 9 -

    Ezeket közös néven binárisab kódolt decimális kódrendszereknek nevezzük, rövidenBCD kódoknak$

    % táblázatnak a decimális ozzárendeléseket tartalmazó "utolsó négy# oszlo&a közül azelső áromban un$ s5lyozott 123 kódok vannak, amelyeknél a négybites kódszó "6tetrád#mindegyik bináris elyéez valamilyen elyiérték van ozzárendelve$ %z első az un$ 7123"67ormál 123# kód, amelynél ezek a elyiértékek rendre 8,',9 és +, aogyan a -normál.bináris számoknál is előfordulnak$

    % második oszlo&ban az un$ Aiken kód  egy változta van feltüntetve, amelynél a e!lyiértékekez rendelt s5lyok rendre ',9, ismét 9 és végül +$ %z ismétlődő 9!es s5lyok miatt adecimális jegyek ozzárendelésének többféle variációja is leetséges$ %z itt megadott

    ozzárendelést 5gy konstruálták meg, ogy a egy decimális jegyez tartozó tetrádban a jegyeket kom&lementáljuk "6 az +!esek elyett :!kat írunk és fordítva# akkor é&&en a de!cimális szám ;!es kom&lemenséez tartozó kódot ka&juk meg$ %z ilyen tulajdonság5 kódotönkomplementáló BCD  kódnak nevezik és elsősorban a korai számítógé&ekbe é&ített de!cimális aritmetikáknál volt jelentőségük$

    % ozzárendelések armadik oszlo&ában egy érdekes s5lyozott kód van, amelynek akét utolsó elyiértékéez negatív sl!ok tartoznak$ ez is önkom&lementáló kód és ennek istöbbféle ozzárendelése leetséges az adott s5lyozás mellett is$

    %z utolsó oszlo&ban egy nem s5lyozott 123 kódot, az un$ 3 tö""letes  "tree e&l$ előjel! információkat, ibajelzést stb$ rendelnek ozzájuk$

    % 123 kódok közül meg kell még említeni egy gyakran asznált ötbites kódot is, az un$kett# a$ öt"#l kódot$ %z ötbites bináris kódszavak közül a kombinatorika szabályai szerint ötalatt a kettő "6+:# olyan kombináció választató ki, amelyben 9!9 db +!es fordul elő$+ Eez a+: kombinációoz tetszőleges sorrendben ozzárendelető a +: decimális számjegy és ez isegy 123 kód lesz$ Előnye az egyszerü dekódolatóság, de ezzel itt nem foglalkozunk$

    3.1.% &o$i'ió(kódolás

    ?ineáris elmozdulások, vagy szög&ozició érzékelése és kódolása gyakran előforduló fe!ladat$

    Ennek egyik módja egy sötét és átlátszó csíkokkal ellátott sáv átvilágítása és az áta!ladó, vagy nem átaladó fény érzékelése$ %z elmozdulási irány egyidej0 érzékelése mellettoda! vagy visszafelé számlálni kell az érzékelőből nyert im&ulzusokat s így "valamilyen kezde!ti, referencia!&ozicióra vonatkoztatva# megatározató az aktuális szög! vagy elmozdulás!&ozició$ Ez a fajta megoldás nem is tartozik a kódolás körébe$

    + Egy tetszőleges ossz5ság5 kódszóban lévő +!esek számát a kódszó s5lyának nevezzük$ Errőlkésőbb, a ibavédelmi kódolás ka&csán bővebben is szólunk majd$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    4/107

    =ás a elyzet, a a mindenkori &oziciót abszolut értékben "azaz nem számlálással# kellmegatározni$ @izsgáljuk meg &l$ azt, amikor egyetlen decimális jegyet &l$ 7123 kóddalellátott ilyen átvilágításos módszerrel kell érzékelni$ "%z elv ugyanaz akár lineáris elmozdulás,akár szög&ozició érzékeléséről van szó$#

    %z egyetlen decimális számjegyez tartozó &ozicióérzékelő transz&arens csík egy részesávonként egy!egy fényérzékelővel és az ábrán fel nem tüntetett leolvasó!fénysávval

    Fényérzékelõk

    850 1 2 3 4 6 7 9 a b A leolvasó vonal két,

    szomszédos poziciója

    *$9 ábra7123 &ozíció kódolás egy decimális elyiértéken

    Aól látató, ogy az egyszer0 7123 kód alkalmazásakor egy decimális jegyez tartozósávon több olyan szomszédos leolvasási &ozició is találató, amelyek közötti átmenetkor

    több fényérzékelőnek kell"ene# &ontosan egyszerre jelet váltania$ Blyen a &éldaként berajzolt-a. és -b. &ozició is, aol ezen az egyetlen 123 sávon négy érzékelőnek kellene egyszerre

     jelet váltania, ami gyakorlatilag több okból sem kivitelezető#$ Elég a az érzékelőkvalószín0leg különböző kom&arálási szintjeit említjük#$

    Ezért &ozició!érzékelésnél szívesen alkalmaznak olyan kódokat, amelyek kétszomszédos &ozición csak egyetlen bitben különböznek$ "Ezek a kódok nem csak 123 kódokleetnek$# Blyenek az un$ )ray kódok$

    Céldaként megadunk egy )ray kóddal szerkesztett 123 kódsávot

    *$* ábraEgy )ray!féle &ozíció kódolás egy decimális elyiértéken

    a b A leolvasó vonal két,

    szomszédos poziciója

    Fényérzékelõk

    elsõ dekád 2. dekád

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    5/107

    % &áros dekádok a &áratlanok tükörké&ei azért, ogy a következő "szomszédos# tize!desjegy 5gy változasson a dekádváltáskor, ogy az egész leolvasóvonal mentén csak egyet!len érzékelő jelváltása következzék be$

    Dgyanilyen tulajdonság5 )ray kód többféle fekete!feér mezőkiosztással isszerkesztető$

    és ajánlott irodalom

    3.1.3  Karakter kódok% B$ század végétől a számítógé&eket nem csak bonyolult számítások elvégzésére

    asználták, de nagy mennyiség0 és nem feltétlenül numerikus adatok feldolgozására is$ Efeladat elvégzéséez meg kellett oldani, ogy a szöveget alkotó bet0k, számjegyek és egyébírásjelek > közös néven karakterek  > valamilyen alkalmas kód révén ábrázolatóak legyeneka számítógé&ek memóriájában$

    EBCDIC

    %z +;4:!as évek második felében egy igen elterjedt kódolási eljárás volt az  EBCDIC  "Ex-tended Binary Coded Decimal Interchange Code)$ %z E123B2 kódolás a természetes 123kódolás kibővítéseként született, rögzített ossz5ság5, 8!bites kódolás$ % decimális számje!gyek '!bites kódját egy további '!bites, csu&a egyest tartalmazó &refi a numerikus kódokkal ellentétben > nem az aritmetikaim0veletek elvégezetősége a legfontosabb szem&ont$ % szöveges információ feldolgozása

    szem&ontjából sokkal lényegesebb, ogy olyan kódot generáljunk, amely segítségével akódolt szövegeket gyorsan leet sorbarendezni, jól leet közöttük keresni valamilyen

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    6/107

    konkrét információt, és támogatják az olyan szövegekre jellemző m0veleteket, mint a kis! ésnagybet0 konverziót, vagy a következő, ill$ előző bet0 vagy számjegy ké&zését$

    % sorbarendezés és a kisFnagybet0 konverzió támogatása az E123B2 rendszerben me!goldott, iszen a bet0k kódjai látatóan az angol ábécé szerinti rendben növekszenek, illetvebármely bet0 kis és nagybet0s változata között ugyanakkora a távolság$ % következő, illetveelőző bet0 generálása azonban már &roblémás tekintve, ogy a bet0k nem folyamatosankövetik egymást, elyenként -szünetek. vannak a kódban$ %z GiG bet0 kódja &éldául :

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    7/107

    % &robléma átidalására először az %(2BB rendszer ki nem asznált felső tartományátasználták fel ezeknek a s&eciális nemzeti karaktereknek a kódolására$ =ivel azonban többvolt a nemzeti karakter, mint a leetséges kód, több különböző kódkiosztás is született, ame!lyek más!más nemzeti karaktereket feleltettek meg a :+9I: kódla&ot#, illetve olyan szabványügyi szervezetek is, mint a 7em!zetközi (zabványügyi (zervezet, az B(T$ %z B(T az euró&ai nyelvek s&eciális karaktereinekkódolására egy tíz kódla&ból álló kódla&!családot dolgozott ki, az ISO–8859 kódla&okat$ Jag!

     jai az észak!, dél!, kelet! és nyugat!euró&ai kódla&ok, illetve cirill, arab, görög, éber, török ésaz 5n$ nordic kódkészletek$ (zámunkra az B(T!88I;!9 "kelet!euró&ai# kódla& az érdekes,amely ?atin9 néven is ismert$

     A! "nicode rends!er

    % ;:!es évek köze&ére többé!kevésbé kiderült, ogy a nemzeti karakterek kódla&okkaltörténő kezelése egyáltalán nem járató 5t$ %z informatikai &iacon olyan nemzetek jelentekmeg, akik az angol ábécétől teljesen különböző jelkészletet asználtak$ % ciril bet0ket mégtöbbé kevésbé meg leetett feleltetni az angolFlatin ábécé bet0inek, és ezáltal itt is alkal!mazni leetett a kódla&okon ala&uló tecnológiát$ % kínai írásjelek azonban végké&& kifogtaka kódla&ok ívein$ Uj irányzat kezdett utat törni magának legyen egyetlen, mindent átfogónemzetközi kódkészletV

    %z Unicode, azaz az egységes kódkészlet ala&ötlete az a felismerés, ogy a egyszer9I4!nál jóval több karaktert kell kódolnunk, akkor ne egyetlen bájtot asználjunk akódolásra, anem kettőt "sőt, a kell, akár ármat is#$ Ezzel az ötlettel nem csak a nemzetikarakterek kérdését leetett megoldani, de az olyan addig megoldatlan gondokra is me!goldás született, mint a több karakterből álló szövegelemek9 kérdése$

    9 Céldául a magyar nyelvben a -cs. egyetlen nyelvi elemnek számít mind az elválasztás, mind

    &edig a rendezés szem&ontjából$ % kódla&okon ala&uló ábrázolások esetén az adatbázisokbana -csokoládé. szó előbb fog szere&elni, mint a -cukor., jólleet a magyar elyesírási szabályzatszerint &ont fordítva kellene lenni$ Wsszetett szavakban viszont előfordulat két külön nyelvi

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    8/107

    %z Dnicode kódkészlet tulajdonké&&en változó ossz5ság5 kódot asznál annakérdekében, ogy megőrizze a visszafelé kom&atibilitást az eredeti %(2BB kódkészlettel$ % :!+9H %(2BB kód5 karakterek Dnicode kódjai megegyeznek az eredeti %(2BB kódokkal, azazolyan 8!bites kódok, amelyek legmagasabb elyérték0 bitje :$ % további karakterekkódolására az Dnicode olyan egy!árom bájtos kódot asznál, aol a legelső bájt legmaga!

    sabb elyérték0 bitje +!es$=agának az nemzeti karakternek a kódolására az Dnicode szabvány i"a/ A 0ivatko$á(

    si forrás nem talál0ató. többféle eljárást is asznál egyes karakterek esetében &éldául kije!lenti, ogy az adott karakter micsoda$ =ás karakterek esetében felsorolja a karakter -kom!&onenseit., amelyekből az illető karakter összeállítató$ Ez az utóbbi módszer megfelel &l$ azékezetes karakterek kódolására, de különösen a távol keleti > kínai, ja&án > karakterekesetén célravezető$

    )(3. á"ra* ni'ode komponens kódok 2s a "el#lk öss$eállított írásjel

    3.2   Az illesztő kódolás

    %z információelméleti részben elmondottakból kit0nik, ogy az információ-természetes. forrása általában nem mentes a redundanciától, de láttuk azt is, ogy a re!dundancia asznos leet a jobb értetőség elősegítésében, a közvetítés során keletkezőibák felfedezésében és kijavításában$

    Redundanciára tehát ok eet!en "#k$% &an' de nai&itá lenne a"thinni' ho%( a" in)or*áció)orrá +ter*$"ete, redundanciá-a .*inta*il(en pl/ e%( ter*$"ete n(el& eet$n a" e%(e han%"ók tati"tikai*e%o"láá!ól' %(akoriá%á!ól "ár*a"ó redundancia0 a hi!ák )eli1*er$e $ -a&2táa "e*pont-á!ól a le%ked&e"3!!/4

    elemként, mint a > némileg erőltettet > -táncsor. &éldában$ Dnicode kódolással megoldató,ogy különbséget tegyünk ezek között az esetek közt$

    * Cersze minden ilyen kijelentés viszonylagos$ % ma szokásos írközlő csatornák ny5jtottakörnyezetben igaz a kijelentés, de leetséges, ogy a lingvisztikai nyelvek s&ontánkifejlődésekor megatározó volt az a környezeti zaj, amely értetőség!rontó atását é&&en az

    a -természetesnek. nevezett redundancia kom&enzálja, ami a lingvisztikai nyelvekben meg!találató$ %z mindenesetre biztos, ogy a bet0knek megfelelő angok egymásutánját befo!lyásolta az értetőség igénye, no és > természetesen > a szó kiejtetősége is$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    9/107

    Ezért szükség van valami olyan eljárásra, ami a forrás X &riori redundanciáját minimáli!sra "o&timális esetben nullára# csökkenti$ Ezt az eljárást a céljától függően ille"t3 kódolának  vagy > más esetekben > t*r2t$nek  nevezzük$'

    /a az információt valamilyen csatorna o&timális kiasználásával 5gy szándékozunktovábbítani, ogy az információ a ibavédelem szem&ontjainak leginkább megfelelő redun!danciával rendelkezzék, akkor az illesztő kódolást követően szükség van még egy 5n$ hi!a&$1del*i kódolára is$

    1lokkvázlaton ez a következőké&& néz ki

    ). á"ra* A$ illes$t# kódolás 2s a 0i"av2delmi kódolás 0el!e a$ informá'ió te'0nológiai fol!amatá"an

    %z illesztő kódoló és a tömörítő szere&e nagyon asonló$ =égis indokolt ezeket külön!külön tárgyalni, mert az illesztő kódoló esetében csak minimalizálni, vagy, ideális esetben,nullára csökkenteni akarjuk a redundanciát, a tömörítés esetében &edig nemcsak erről leetszó, anem esetenként megengedünk valamennyi információvesztést is$ ?átni fogjuk azon!ban, ogy sok tömörítési eljárás megegyezik azokkal, amelyeket az illesztő kódolás ka&csánbemutatunk$

    6onto' ho%( a" ille"t3 kódolá *indi% t*r2t$t i -elent – le1%alá!! i a &e"te$% n$lk#li t*r2t$ek eet$n – l$n(e%$!en *indi%ille"t3 kódoláról &an "ó/

    =ind a ibavédelmi kódolással, mind a tömörítési eljárásokkal majd később foglalko!zunk$ "ti$ a #$ és az %$ fejezetekben$#

    % teljesség kedvéért meg kell jegyezni, ogy az illesztő kódolással "vagy a tömörítéssel#előállított információt sok esetben még egy -kezelésnek. vetik alá, amikor is titkosítják, azazigyekeznek megakadályozni, ogy a címzetten kívül bárki más ké&es legyen kibogozni annaka tartalmát$ Ezt egyelőre nem tüntettük fel a fenti blokkvázlaton$

    % ala&ján látató az illesztő kódolás másik fontos szere&e is$ % gyakorlatban az in!formációforrás egy rá jellemző szimbólumkészlet elemeit bocsátja ki a bekövetkezőesemények atására > ezt jelöli az ábra bal oldalán az  7 6  almaz$ Dgyanakkor a csatornaáltalában másfajta jelek továbbítására alkalmas > ezeket az ábra jobb oldalán az  7 C  almaz

     jelöli >, amelyek általában még darabszámukban sem egyeznek meg a forrás által kibocsátottszimbólumoknak$ Blyen értelemben teát az illesztő kódolás egy fajta

    *:   F C  X X   ":$+#

    ' Btt és most történetesen olyan tömörítésről van szó, amely nem okoz információveszteséget$

    %z ilyen tömörítési eljárást >mily megle&ő! veszteség nélküli tömörítésnek nevezik, de ismere!tesek veszteséges tömörítési eljárások is$ =indezekről később, a tömörítési eljárásoktárgyalásakor szólunk majd$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    10/107

    leké&zés, azaz a forrás szimbólumok almazából a csatornaszimbólumokból alkotott soroza!tokra ké&ező függvény$

    Céldául az egyik legismertebb illesztő kód, a ore1kód  latin bet0kből, számjegyekbőlés egyéb írásjelekből alkotott szövegeket tesz alkalmassá =orse!távíróval történőtovábbításra$ Ez esetben az 7 6  forrásábécé a latin karakterkészlet közel +:: szimbóluma, míga csatorna fizikai jellegzetességeiből következően csu&án áromI fajta jel > ossz5 és rövidim&ulzusok, valamint a köztük lévő szünetek > továbbítására alkalmas$ %z illesztő kódolásegyik szere&e ez esetben é&&en az, ogy a forrás és a csatorna ábécéje közti különbségeketátidalja$

    % (amuel =orse által +8'I!ben &ublikált kódnak egyéb tanulsága is van számunkra$=orse szeme előtt a kód kidolgozásakor > többek között > az a cél is lebegett, ogy a kódmegfelelő megszerkesztése révén könnyítse a távírászok munkáját$ Ennek szellemében akódot 5gy alkotta meg, ogy a természetes szövegekben gyakrabban előforduló bet0köz"mint amilyen az GeG, GtG és GaG# rövid kódokat rendelt, míg a osszabb kódokat az ábécé viszo!nylag ritkábban asznált bet0i ka&ták$

    %z illesztő kódolás o&timalizálásának ala&elveit kb$ száz évvel később 2laude E$ (an!non fogalmazta meg, és Ro!ert / 6ano!val együtt eljárást is dolgoztak ki arra, ogy ogyanleet olyan változó szóossz5ság5 "bináris# kódot szerkeszteni, amely lényegesen csökkenti aforráskód redundanciáját$ Ezt az eljárást nevezik Shannon16ano1)$le kódolának $

    % kód o&timalizálásáoz valamifajta mértékre is szükség van, amely szerint a különbözőkódok összeasonlítatóvá válnak$ Ennek az összeasonlításnak az egyik eszköze a kódolástömörségét kifejező kódolái arán( , amelyet más néven a kódolás atásfokának is nevez!nek$

    % forrás tényleges :.70 entró&iájának az illesztő kód átlagos szóossz5ságával osztva

    arányszámot ka&unk arra,  ogy a! illes!t& kd egy-egy 'it(e átlagosan hány s!á!alékáthordo!!a a forrásentrpia egy-egy 'itnyi informáci(ának 

    ( )C 

     H X  A

    l = ":$9#

    % kódolási arány ":$9# ké&letének nevezőjében az átlagos kódszó!ossz5ság "&recízeb!ben a kódszó!ossz5ság várató értéke# szere&el, amelyet az entró&iáoz asonlóanszámítatunk ki$ % különbség csak az, ogy itt nem az egyes szimbólumokoz tartozó egyediinformációtartalmat kell azok előfordulási valószín0ségeivel s5lyozva összegezni, anem aszimbólumokoz rendelt kódszavak osszát

    I @alójában a =orse kódolásban a szimbólumokat "bet0ket# elválasztó szünet jelen kívül mégtovábbi kétféle szünet!jel is előfordul$ %z egyik a ossz5 és rövid jeleket elválasztó -rövid.szünet, ami tulajdonké&&en nem része a kódnak a csatorna aszinkron üzemmódjának biz!tosítására szolgál$ % másik a szavakat elválasztó -nagyon ossz5. szünet "a bet0k közti szünet!nek kb$ áromszorosa# ugyan valódi negyedik jel, de csak egyetlen forrásszimbólum, a szóközkódolására szolgál$ Y&&en ezért lényegét tekintve a =orse ábécé sokkal inkább árom, mint!sem négy jelet asználó kód$

    4 %z itt definiált kódolási arány fogalmat ne tévesszük össze az informatikában széles körben

    elterjedt encodin% rate  kifejezéssel$ =íg a kódolási arány a kódolás tömörségét, kifejezőatásfok jelleg0 mennyiség, addig az encoding rate a kódoló, tömörítő eszközök sebességét jellemző, általában b&s!ben vagy Zb&s!ben kifejezett érték$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    11/107

    ( )1

    n

    k k 

    l P x l  =

    = ":$*#

    aol l k az ; k szimbólumoz tartozó kódszó ossz5ságátH jelenti$

    % Zraft!=c=illan egyenlőtlenség "részletesen lásd az    függelékben# következménye,

    ogy bármilyen információforrásoz találató olyan bináris illesztő kód, ogy( ) ( ) 1 H X l H X    < + ":$'#

    aol :.70 és l  bitFszimbólum, illetve bitFkódszó egységekben van kifejezve$ %z egyenlőtlenségbal oldala azt a nyilvánvaló tényt fejezi ki, ogy bármely illesztő kódoz kódszavanként átla!gosan legalább annyi bináris számjegyre van szükség, mint aány bit információt ordoznak"átlagosan# az információforrás egyes szimbólumai$

    %z egyenlőtlenség jobb oldala viszont azt az igen jelentős tényt szögezi le, ogy bárme!ly információforrásoz találató olyan bináris illesztő kód, amely átlagosan legfeljebb egyet!len bittel -rosszabb. az eredeti információforrás információordozó ké&ességénél$

    % ":$'# formula teát beatárolja az > átlagos kódszó!ossz szem&ontjából > o&timálisillesztő kód tulajdonságait, de nem ad módszert annak megkonstruálására$ %z alábbiakbankét módszert mutatunk be illesztő kódok készítésére a korábban már említett (annon![ano kódolást, és annak 3avid /uffman által tökéletesített változatát$

    %z illesztő kódok készítésének másik célja, ogy az információforrás által kibocsátottredundáns információoz olyan kódot rendeljen, amely a leető legkevésbé redundáns, azazaz csatornán átvitt szimbólumok átlagosan a leető legtöbb információt szállítják$ Ennek aminimális redundanciának a biztosításáoz szükséges, ogy a forrás által kibocsátott in!formációt a leető legkevesebb csatorna!jel segítségével közvetítsük "azaz, ogy a leetőlegtömörebb kódot konstruáljuk#, ez azonban korántsem elégséges feltétel$

    % csatorna redundanciája, amelyet minimalizálni akarunk, a catorna a-át entrópiá-á1tól függ, azaz az egyes csatorna jelek által szállított információ várató értékétől

    ( ) ( )( )1

    1log

    m

    c k a

    k  k 

     H X P x P x

    =

    =

    ":$I#

    % csatorna szimbólumok által ténylegesen szállított információt 5gy számítatjuk ki,ogy a csatorna szimbólum előfordulási gyakorisága ala&ján számított entró&ia mennyiséget

     > az adott csatorna információ ordozó ka&acitását > a tényleges kódolási aránnyal szoroz!zuk

    ( ) ( )k c c c H X A H X = ":$4#

    Bnnen a tényleges redundancia "bináris kódok esetén#

    ( )( )1 1

    maxc c

    c c c

    c

     A H X  R A H X 

     H 

    =   =   ":$H#

    ?átató, ogy a csatorna tényleges redundanciája egyrészt a kódolási arány ma 5gy éretjük el, a a olyan kódot ge!nerálunk, amely valamennyi csatorna szimbólumot leetőleg egyforma gyakorisággal

    H

    %z illesztő kódolás ":$+# szerinti definíciója kijelenti, ogy a forrásszimbólumokoz a csatornaábécéjéből alkotott sorozatokat rendelünk$ Ebben az értelemben egy sorozat ossz5ságán abenne találató szimbólumok darabszámát értjük$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    12/107

    asználja, azaz amelyik o&timálisan kiegyenlített$ Blyen kódok generálásával foglalkozik az   függelék, valamint az irodalomjegyzék$

    3.3   A Shannon-Fano-féle illesztő kódolás

    % (annon![ano!féle algoritmus a következő elvekre é&ül

    mint látni fogjuk > az egyik ala&elv az,ogy mindig van benne két olyan kódszó, amelyek azonos ossz5ság5ak, és csak a legutolsóbitjeikben különböznek$ %zt is mondatjuk, ogy a /uffman algoritmus lényegében &ontosanazokra az elvekre é&ülő változó szóossz5ság5 kódot generál, mint az ([ algoritmus, s csakabban különbözik az ([ algoritmustól, ogy a két legosszabb kódszava azonos ossz5ság5$

    1. példa

    %dott egy négyelem0 forrás!ábécé

    6\ A' B' C' D]

    aol az egyes bet0k előfordulásának relatív gyakoriságai rendreC6\^, _, `, `]

    % valószín0ségi modell teljes, mert a relatív gyakoriságok összege +$

    8 % kód egyértelm0 megfejtetőségét annyira magától értetődő feltételnek tekintik, ogy soks!zor nem is sorolják fel az itt leírt négy feltétel között$ gy csak két ala&feltétel marad "ti$ az elsőés a negyedik# de még ezeket is egyetlen feltételként leet megfogalmazni$ Blyen értel!mezésben a (annon![ano!féle változó szóossz5ság5 "és triviálisan egyértelm0en

    visszafejtető# kódolásnak csak egy ala&feltétele van$ ?átni fogjuk, ogy eez a /uffman!féle,ugyancsak változó szóossz5ság5 és egyértelm0en visszafejtető kódolási eljárásnál még egyala&feltétel járul majd$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    13/107

    % (annon![ano kódolás 9$ ala&elvének szellemében rendeljünk egy egybites kódszót aleggyakrabban előforduló szimbólumoz, azaz az  A bet0özV /a az A bet0öz a -:. kódszótrendeljük ozzá, akkor a '$ ala&elv értelmében az összes többi kódszónak nem szabad :!valkezdődnie, azaz minden más kódszó +!gyel kezdődik$

    % következő leggyakoribb szimbólumoz > a B bet0öz >, a 9$ ala&elv értelmébenkétbites kódszót kell rendelnünk, amelynek az előbbiek értelmében +!gyel kell kezdődnie$Pendeljük teát B!ez az -+:. kódszót$

    /asonló okoskodással belátató, ogy a C és a D bet0köz árombites kódszavaknakkell tartozniuk, amelyek csakis -++.!gyel kezdődetnek ; $ % teljes ozzárendelés "avalószín0ségeket is feltüntetve# a következő+: 

    xk P(xk) a kód a kód hossza (Lk)

     A ½ = 2-1  0 1

    B ¼ =2-2  10 2

    C    / =2-3  110 3D   / =2-3  111 3

    % forrásentró&ia

    ( ) 1 1 12 2 22 4 831 1 1 1 1

    2 4 4 2 2 4

    log 2 log 4 2 log 8

    2 3 1,75   bit bet  

     H X    =   +   +   =

    +   +   = + + =  

    % bináris kódszavak átlagos "várató# szóossz5ságát asonló módon számoljuk ki azegyes kódszavak osszát előfordulási valószín0ségükkel s5lyozva összegezzük

    1 1 1

    2 4 8

    1 2 2 3 1,75   bit kódszó

    l   =   +   +   =

    vagyis ugyanannyi, mint a forrás entró&iája$ Ez a kódválasztás teát redundanciamentes csa!tornakódot eredményezett$ Dgyanezt tükrözi a kódolás atásfoka is

    ( ) 1,751 100%

    1,75c H X 

     Al 

    = = = =  

    ; (zigor5an véve a &éldamegoldásban nem (annon![ano "([# kódot adtunk meg, mert az ([

    kódolásnál minden forrásszimbólumoz más!más ossz5ság5 kódszó tartozik$ (annon![anokódolás esetén 3 szimbólumoz az +++: kódot kellett volna ozzárendelni, de ekkor a kódatásfoka nem lenne +::!os$ ?átni fogjuk mindjárt, ogy csak a /uffman!féle kódolásnál lé&be az a feltétel, ogy a két legkisebb gyakoriság5 forrásszimbólumoz azonos ossz5ság5kódszót kell ozzárendelni$

    +:  % kódkiosztási algoritmust a (annon![ano módszer eredetileg 5gy fogalmazza meg, ogyelőször is kioszt egy kódot "&l$ a :!át# egy forrásszimbólumoz, és a -másik., ki nem osztottkódot asználja az összes többi kódszó &refi

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    14/107

    Yrdekesen szemlélteti a &élda megoldását, a az alábbi gráfot rajzoljuk meg ozzá

    1

    1/2

    1/2

    1/4

    1/4

    1/8

    1/8

    A

    B

    C

    D

    0

    1

    10

    11

    110

    111

     (4. á"ra* A kód kios$tását repre$entáló fa

    % !I$ ábra fa!tí&us5 gráfjában annak levelei felől a gyökere felé aladva a csomó&on!tokba beírt valószín0ségek a felettük lévő csomó&ontban összegeződnek, azaz aonnan abeléjük vezető élek kiindulnak$

    Ez a szerkesztési elv nyilván eez asonló módon akkor is alkalmazató, a egy!egycsomó&ontból nem feltétlenül csak két él fut ki, azaz nem bináris kódoknál$

    % gráf azt is megmutatja, ogy a "változó ossz5ság5# kódszavakat ogyan leet kiosz!tani$

    =int az előző oldalon megjegyeztük a 2 és a 3 szimbólumokoz rendelt a"ono ho"=1á%=  kódszavak miatt tulajdonké&&en nem (annon![ano kódról, anem annak egytovábbfejlesztett változatáról van szó, amit :u))*an kódnak  neveznek$ /asonlóké&&en a !I$ábra bináris fáját :u))*an )ának  nevezik$

    =ielőtt kiaknáznánk ennek a fajta ábrázolásnak a gyakorlati előnyeit, vizsgáljunk meg

    egy másik megközelítést is$ Ez azon ala&ul, ogy a teljes valószín0ségi teret annyi részreosztjuk fel, aány forrásszimbólumunk van, és minden egyes forrásszimbólumoz akkoratérrészt rendelünk ozzá, amennyi az adott szimbólum valószín0sége$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    15/107

    Egy ilyen felosztást mutat be a !4$ ábra

    A1/2

    B1/4

    C1/8

    D1/8

     (5. á"ra* A valós$ín6s2ggel arán!os terletekre való felos$tás a -0annon(7ano kódolás0o$

    % valószín0ségi mező felosztására ugyan igen szemléletes módszert ad ez az ábrázolás"amely nyilván akkor is jól alkalmazató, a a valószín0ségek 9!nek nem egész atványai# dea kódok kiosztásáoz kevesebb segítséget ny5jt, mint az előbbi gráf$

    =indkét ábrázolásra érvényes az, ogy azok nagyon jól alkalmazatók, a avalószín0ségeket kifejező törtek nevezőiben 9!nek egész atványa fordul elő, mert "változóossz5ság5# 'ináris kódokat alkalmaztunk, és ezek azok, amelyek a 9!es számrendszerez jólilleszkednek$

    /a a bináris kódok elyett &l$ ternáris kódot alkalmaznánk, azaz olyat, amelyikben *szimbólum segítségével kódolunk, akkor ez a stratégia olyan valószín0ségekez illeszkedne

     jól, amelyek nevezőiben főleg * egész atványai fordulnának elő$

    =indazonáltal egy csomó kérdést nyitva agy$ "Cl$ mi a elyzet egy ötbet0s ábécénél,aol a valószín0ségek rendre :,9I :,9I :,9I :,+9I :,+9I #

    % további eurisztikus megközelítés elyett azonban jobb, a a már kidolgozott szisz!tematikus módszerek közül ismertetjük a leginkább &raktikus algoritmusokat$ Elsőként az 5n$(annon![ano algoritmus egy egyszer0sített változatát$

    3.3.3  A Shannon-Fano algoritmus?ényegében a valószín0ségi mezőnek a fentiekez asonló felosztására és a változó

    szóossz5ság5 "bináris# kódszavak kiosztására ad alkalmas stratégiát$

    %zzal kezdi, ogy a forrásszimbólumokat azok valószín0ségeinek monoton csökkenősorrendjében írja fel egy táblázatban a valószín0ségeikkel együtt$ % valószín0ségek e rende!zett almazát aztán 5gy kell két részalmazra osztani, ogy mindegyikben minél közelebb

    legyen egymásoz a két részalmaz valószín0ségeinek összege$ Ezt a módszert kell aztán arészalmazokra is követni mindaddig, ameddig a részalmazoknak csak egy!egy eleme nemlesz$ Ebből a felosztásból aztán felrajzolató az előzőekben bemutatott bináris fa és kiosz!tatók a kódok is$

    %z eljárást szemléltetésére tekintsük a következő &éldát

    2. példa

    ?egyen az adott forrásnak négybet0s ábécéje, amelyben az egyes szimbólumok ill$ aozzájuk tartozó valószín0ségek rendre

     7 6\ A, B,  , S]

    6\:,' :,+ :,9 :,*]

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    16/107

    (zerkesszük meg a mondott táblázatot

    xk P(xk) 1. osztás 2. osztás 3. osztás

     A 0,4  0,4

    S  0,30,6

    0,3K  0,2

    0,30,2

    B 0,1 0,1

    %z eez tartozó bináris fa és a kód!kiosztás a következő

    0,3

    0,1

    11

    111

    0,6

    1

    1

    0,4

    0

    0,3

    10

    0,2

    110

    A

    S

    K

    B

    )(8. á"ra* A kódkios$tását repre$entáló uffmann(fa

    )(9. á"ra* :alós$ín6s2gi me$#kre os$tás a %. p2ldaeset2n

    % kód a bináris fáról leolvasató$

    % forrásentró&ia

    ( ) 10 10 104 3 20, 4 lg 0,3 lg 0, 2 lg 0,1 lg10

    0, 4 0,398 0,3 0,523 0, 2 0,699 0,1 1

    0,159 0,157 0,140 0,1

    0,556 1,846hartley   bit  szimbólum szimbólum

     H X    =   +   +   +   =

    =   +   +   +   =

    = + + + =

    = =  

    Jekintettel arra, ogy a forrás négyféle szimbólumot bocsát ki, a forrásentró&ia ma

    A;

    0,4

    S;0,3

    K; 0,2

    B; 0,1 

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    17/107

    1,84692,32%

    21 7,68%

     F 

     F F 

    e

     R e

    = =

    =   =

    %z átlagos kódossz5ság

    0, 4 1 0,3 2 0, 2 3 0,1 3 1,9   bit kódszól   =   +   +   +   =

    Ez természetesen nem leet kisebb, mint a forrásentró&ia$ 2sak o&timális esetben le!etne a forrásentró&iával egyenlő "ti$ amikor a valószín0ségek reci&rokai 9!nek egészatványai#$

    Ennek az illesztő kódolásnak a atásfoka

    1,84697,18%

    1,9c A   = =

     

    3.4  A Huffman algoritmus

    %z illesztő kódolásra többféle eljárás is létezik$ % következőkben bemutatott eljárást3avid /uffman +;I9!ben közölte$ ?ényegében a (annon![ano eljárás egy finomított, és&ontosabban algoritmizálató formájáról van szó, amelynek talán a legfőbb érdeme az, ogyolyan változó szóossz5ság5 bináris kódot ad, amely garantáltan a legrövidebb átlagosszóossz5ságot adja$

    % kiindulás itt is és most is egy ugyanolyan táblázat, mint amit a (annon![anoeljárásnál asználtunk, de itt a forrásszimbólumok valószín0ségeit a legkisebbvalószín0ségektől kiindulva vizsgáljuk$ Először összevonjuk a két legkisebb valószín0séget "s aozzájuk tartozó szimbólumokat is#, majd 5jra csökkenő sorrendbe rendezzük az immárösszevonást is tartalmazó valószín0ségeket, és ezt az eljárást folytatjuk mindaddig, amíg +!etnem ka&unk$ "%z algoritmus asonló aoz, mint amikor a (annon![ano eljárásnál a binárisfa tetejéről aladtunk lefelé, de most ugyanezt ellenkező irányban tesszük#

    %z eljárás illusztrálására tekintsük a következő &éldát

    3. példa

    ?egyen egy információforrás szimbólumkészlete és a szimbólumokoz tartozóelőfordulási valószín0ségek az alábbiak

    { }

    { }

    , , , ,

    0,35;0,25;0,20;0,15;0,05

     X A B C D E 

     P 

    =

    =

    %z információforrást jellemző táblázat a valószín0ségek csökkenő sorrendjében ren!dezve, valamint az első két összevonás eredményét az alábbi táblázat mutatja be

    )(;. á"ra* uffman algoritmus tá"lá$ata a$ els# k2t öss$evonás után

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    18/107

    %z utolsó oszlo&ban "ti$ a második összevonás után ismét szükség van a valószín0ségekrendezésére

    (1

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    19/107

    %zt, ogy a valószín0ségek csökkenő sorrendjét követve szerkesszük meg a táblázatot,csak az indokolja, ogy az összevonandó két legkisebb elemet viszonylag egyszer0en ki le!essen választani$ Ezt azonban más módon is biztosítatjuk$ % csökkenő sorrendbe rendezéstazért választottuk, ogy könnyebb legyen összeasonlítani a /uffman módszert a (annon![ano módszerrel$

    % gyakorlatban é&&en a valószín0ségek növekvő sorrendje szerint szerkesztik meg aforrásszimbólumok és a ozzájuk tartozó valószín0ségek táblázatát$ Ekkor az algoritmusszöveges megfogalmazása is egyszer0bb mindig a rendezett tömb két legelső elemét kellösszevonni$ % későbbiekben majd ezt is megmutatjuk egy &éldán, de előbb számítsuk ki azadott &éldára az informatikai jellemzőket$

    % forrásentró&ia

    ( ) 35 100 25 100 20 100 15 100 5 100100 35 100 25 100 20 100 15 100 5lg lg lg lg lg

    0,639 2,121hartley   bit  szibólum szimbólum

     H X    =   +   +   +   +   =

    = =  

    % forrásentró&ia ma

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    20/107

    szimbólumonként 9 darab G+G jelenik meg a kimeneten, G:G viszont egy sem$ /asonló gondo!latmenettel belátató, ogy a G:G!k és G+G!ek kódszavankénti darabszámát az egyes kódszavakelőfordulási valószín0ségével s5lyozva é&&en azt ka&juk, ogy egy összesen 9,9 bit átlagosossz5ság5 kódszóban váratóan ány G:G és ány G+G!es fordul elő, azaz a csatornas!zimbólumok előfordulásának várató értékét egy kódszóra vetítve$ Ezt átlagos kódszó!

    ossz5sággal osztva megka&juk, ogy az adott szimbólum milyen arányban fordul elő a teljeskódsorozatban

    0

    1 0

    0,35 1 0,25 0 0,20 2 0,15 2 0,05 1 150%

    2,2 2

    1 50%

     A

     A A

      +   +   +   + = = =

    =   =

    % csatornaszimbólumok előfordulási gyakoriságai ala&ján ugyan5gy számítatunk csa!tornaentró&iát, mint az információforrás esetében$ % fenti &éldában látszik, ogy a kétszimbólum előfordulási gyakorisága megegyezik, teát számolás nélkül látszik, ogy a csa!tornaentró&ia "és így a atárfok is# ma

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    21/107

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    22/107

    % /uffman fa megszerkesztéséez a forrásszimbólumokat gyakoriságuk növekvő sor!rendjébe kell rendezni "ezt eleve így adtuk meg a fenti táblázatban# majd a két legkisebbgyakoriság5 elemből a /uffman fa "első# két levelét állítjuk elő és eez a két levélezozzárendelünk egy szülő!csomó&ontot, valamint egy gyakoriságot, amely a két levél gyako!riságainak összege

    )(14. á"ra* A '(). p2lda tá"lá$ata 2s uffman fája a$ els# öss$evonás után

    Pendezzük most 5jra a táblázatot az utolsó oszlo& gyakoriságainak növekvő sor!rendjébe, és ismételjük meg az előbbi m0veletet 5gy, ogy ismét a két legkisebb gyakoriság5

    csomó&ontoz rendelünk egy szülő csomó&ontot

    )(15. á"ra* A '(). p2lda tá"lá$ata 2s uffman fája a második öss$evonás után

    Ezeket a lé&éseket kell mindaddig ismételni, amíg a táblázatban mindent egyetlenelemmé vontunk össze "az összes gyakoriság összegével jelölve#$

    % következő rendezett táblázatban a két legkisebb gyakoriság5 elem 3 és E lesz, ame!lyek közül eddig még egyik sem szere&elt összevonásban$

    %z eljárást eszerint végigcsinálva a következő /uffman fát ka&juk

    )(18. á"ra* A '(). p2lda v2geredm2n!ek2nt adódó tá"lá$at 2s uffman fa a 'ímk2$ett 2lekkel

    % változó ossz5ság5 bináris kódot a /uffman fa gyökerétől kiindulva 5gy osztottuk ki,ogy jobbra vezető élez +!et rendeltünk, balra lé&ésnél &edig :!át$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    23/107

    %z adott &éldánál a kód!ozzárendelés a következő

    Forrás szimb. Gyakoriság Kód

    A 5 1010B 7 1011

    C 10 100D 15 110E 20 111F 45 0

    % fenti kódkiosztás szerint a :!ás jegyek relatív gyakorisága a '9,I, míg az +!es je!gyeké IH,I$ Ezek ala&ján kiszámítató a csatornakód atásfoka és redundanciája

    98,39%

    1,61%c

    c

    e

     R

    =

    =

    Yrdemes kiszámítani a forrás atásfokát és redundanciáját, és összeasonlítani a ka&ott

    csatornakóddal$ % részletes számításokat az Tlvasóra bízzuk, itt csak a végeredményeketközöljük

    84,93%

    15,07% F 

     F 

    e

     R

    =

    =

    ?átató, ogy az illesztő kód lényegesen javította forrás atásfokát$

    =egjegyezzük, ogy az élek ügyesebb címkézése révén még jobb atásfokot éretünkel$ Blyen kódok generálásával részletesen foglalkozunk az   függelékben$ %z Tlvasóra bízzukannak igazolását, ogy az alábbi kódkiosztás tökéletes, : redundanciáj5 csatornakódoteredményez

    Forrás szimb. Gyakoriság Kód

    A 5 0010

    B 7 0011

    C 10 000

    D 15 011

    E 20 010

    F 45 1)(19. á"ra* =edundan'ia mentes kódkios$tás a '(). p2ldá0o$

    % módszer illusztrálására további kidolgozott &éldákat találunk a fejezet végén$

    3.4.4  A Huffman fa s a Huffman algoritmus.% bemutatott &éldákban alkalmazott /uffman fákról a következőket foglalatjuk össze

    % /uffman fa "bináris kód esetén# egy nem irányított bináris gráf, azaz mindencsomó&ontjából két!két él indul$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    24/107

    Ez alól csak a fa levelei a kivételek, amelyek mindegyikébe egy!egy él érkezik, debelőlük 5jabb élek nem indulnak$

    % fának vannak 5n$ k/ls& és 'els& csompont(ai $ Zülső csomó&ont a gráf gyökere éskülső csomó&ontok a gráf levelei$

    Egy csomó&ont távolsága a gyökértől azoknak az éleknek a száma, amelyek a gyökértőlaz adott csomó&ontig vezetnek, azaz a gyökértől a csomó&ontoz vezető 5t ossza

    % levelek általában nem egyforma távolságra vannak a gyökértől$

    Zódszavakat csak a levelekez rendelünk ozzá, belső csomó&ontoz és a gyökéreznem$ %z egyes levelekez tartozó kódszavak é&&en a gyökértől az adott levélig vezető 5télein találató címkék sorozata$

    Ebből következik, ogy egy adott levélez rendelt kódszó ossza azonos az adottlevélnek a gyökértől való távolságával$

    % leírt strukt5ráj5 fánál értelmezetők a s!/l& csompontok   és a les!árma!ott   "vagytd   ill$ gyerek # csompontok . =inden belső csomó&ont és a gyökér szülő csomó&ont, a

    levelek azonban mind leszármazottak$

    % közös szülőtől egyetlen él!&árral leszármazott csomó&ontok test,ér-csompontok $

    =indegyik csomó&ontoz egy!egy valószín0ség "vagy gyakoriság# rendelető ozzá$ %levelekez a forrásszimbólumok gyakoriságai ill$ valószín0ségei, a belső csomó&ontokoz abelőlük származó leszármazottak valószín0ségeinek összege$ % gyökérez rendeletővalószín0ség mindig + "feltéve, ogy teljes eseményrendszerről van szó#$

    % csomó&ontokoz rendelető gyakoriságokat "vagy valószín0ségeket# gyakran acsompontok s*lyainak  nevezzük$

    % /uffman fa "és a kódolási algoritmus# nem bináris kódokra is értelmezető$ Jernáris

    kód esetén a belső csomó&ontokból és a gyökérből induló élek száma *, kvadrális kódokesetén ', és így tovább$ "% nem!bináris /uffman kódokkal itt nem foglalkozunk$#

    3.4.!  A" adapt#v Huffman kódolásról/a egy ismeretlen ábécével írt szövegez akarunk /uffman kódot szerkeszteni, akkor

    első lé&ésben egy szöveg!analízist kell elvégezni aoz, ogy felderítsük a szöveg statisztikaiszerkezetét$

    Eleve eldöntetjük, &ersze, ogy azt a diszkrét valószín0ségi modellt alkalmazzuk majd,amelyben minden forrásszimbólum független az azt megelőzőtől, de akkor is el kell végezni abet0gyakoriság!analízist, vagy valamilyen korábbi analízis ala&ján ismertnek tekinteni a gya!

    koriságokat$+I 

    gyakorlati jelentősége$ 2sak a gráfelméleti -fa. terminológia alkalmazása miatt tekintjük nemirányítottnak$

    +I  Egyáltalán nem nyilvánvaló, ogy általános esetben mit értünk szöveg alatt$ ?eet az &l$ tőzsdeirészvényárak előre megálla&odott sorrendben való felsorolása s akkor bizony valamilyenkorábbi értéktől nem nagyon eltérő mérték0 leet egy!egy árfolyam, vagyis többé!kevésbé

    megjósolató$ 7umerikus információról van teát szó, mégsem egyformán valószín0 mindenszám előfordulása$ /asonló a elyzet &l$ egy karakterisztika!mérés adatainál, vagy olyan ada!toknál, amelyek valamilyen becsülető trendet követnek$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    25/107

    gy is, 5gy is a /uffman kódolás kétlé&éses &rocesszus "és ebbe a két lé&ésbe nemszámítottuk bele azt, ogy az alkalmazni kívánt valószín0ségi modellt ezektől függetlenülmeg kell választanunk#$

    @an azonban olyan algoritmus, amely ezt a -statisztikai felmérést. és magát a /uffmankódolást egyetlen -menetben. végzi el$ Ezt nevezzük ada&tív /uffman kódolásnak, és részle!teiben a C függelékben tárgyaljuk$

    3.  A Huffman kódolás néhán! alkalmazása.

    % következőkben leírt néány alkalmazási &élda korántsem meríti ki a /uffman kódokvalamennyi alkalmazását$ =ár csak azért sem, mert a /uffman kódokat sokszor asználjákmás kódolási tecnikákkal együtt$

    3.!.3  A ves"tesgmentes kp-t$m$r#ts

    % legegyszer0bb eljárás ala&elve az ird 12

     valószín0ségi modellt alkalmazza egy!egy &i

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    26/107

    ké&&ontról csak azt az információt közöljük, ogy szürke!árnyalata mennyire tér el akörnyezetétől$+H 

    Ezekre a különbségekre alkalmazva az ada&tív /uffman kódolási módszert "megint csaka ké& jellegétől függően# kétszeresnél jobb tömörítési arány is elérető$

    %z ada&tív /uffman kódolás on!line alkalmazató, ami sok esetben nagyon előnyös$@együk észre azt is, ogy a több ké& egymás utáni közvetítése "vagy tárolása# a feladat,akkor az ada&tív /uffman kódolás asználatja ugyan mindegyik ké&ez ugyanazt azelőzetesen megálla&odott fi< kódot "ami nyilvánvalóan megegyezik a szürke!árnyalatkódjával#, de a ké&ez rendelt /uffman kód végül is minden egyes ké& esetén más és máslesz$ % -kétmenetes. /uffman kód teát ebből a szem&ontból is ada&tív$

    %z on!line kódolási tecnikákat dina*iku kódolának   is nevezik$ %z ada&tív "-egyme!netes.# /uffman kódolási módszer is dinamikus kódolás$

    =indemellett azonban emlékeztetnünk kell arra, ogy az ada&tív /uffman kód érzéke!nyebb az átviteli csatornán bekövetkező ibákra, mert egy iba atása továbbterjed "&ro!

    &agálódik#, és a iba utáni bitfolyam dekódolására is kiat$

    3.!.4  S"$vegt$m$r#ts% /uffman kódolásnak > mondatni > természetes alkalmazási területe a

    szövegtömörítés$ "Ezen is mutattuk be mind a -kétmenetes., illetve az    függelékben azada&tív -egymenetes. /uffman kódolást$# % kódok kiosztásánál asználatók a szövegnyelvének megfelelő bet0gyakorisági táblázatok, amelyek általában előre ismertek$ Ezáltal azegyszer0bb -kétmenetes. /uffman kódolás is gyakorlatilag egyetlen menetben im&le!mentálató$

    7e felejtsük el, ogy a bet0statisztika csak akkor tekintető stacionáriusnak, a a forrás

    nyelve nem változik, mert más!más nyelvekez más!más bet0gyakoriság!statisztika tartozik$% szöveg tartalmától és keletkezésének idejétől is függet az egyes bet0k gyakorisága$ Egyangol regényszöveg statisztikája &éldául különbözni fog egy egyébként angol szavakat tar!talmazó &rogram!forrásnyelv statisztikájától$ Egy m5lt századi elbeszélő költemény "&l$ aJoldi# bet0statisztikája is eltér egy átlagos mai magyar 5jságszövegétől$

    2saknem minden szövegben találatók gyakran előforduló bet0cso&ortok$ /a a szövegegyes bet0inek gyakoriságai elyett az ilyen bet0cso&ortokat felsoroljuk egy listában,sorszámozzuk, és a a bet0cso&ort előfordul a szövegben, akkor csak a sorszámátközvetítjük, s azt is kódolva, akkor az eddigiekez ké&est+8  jelentős további nyereségetéretünk el a tömörítésnél$

    Ji&ikusan ilyen gyakran előforduló bet0cso&ortokat tartalmazó szövegek &l$ egy adott&rogramozási nyelven írt &rogramok, vagy ilyenek leetnek bizonyos nyilvántartások, ame!lyekben &l$ a -neve., a -allgató azonosítója., a -diákigazolvány száma. stb$ szavak gyakranelőfordulnak$

    +H  =egfelelő algoritmussal elérető, ogy ne csak az egymás után következő "teát egy sorbanlévő# ké&&ontok eltéréseit, anem az egymás felettiekét is figyelembe tudjuk venni$ Eez egyké&&ont környezeti ké&&ontjai szürke árnylatának az átlagát ké&ezzük és ettől, mint becsült

    értéktől való eltérést adjuk meg az adott ké&&ontoz$+8  /a az ird   modellt alkalmazzuk latin bet0s lingvisztikai szövegekre, akkor mintegy kétszerestömörítési arányt leet elérni az egyszer0 és az ada&tív /uffman kódolással$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    27/107

    Blyen esetekben egy 5n$ tatiku "ótárat 

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    28/107

    **F9+, azaz +,IH!szeres, és eez &usztán az adott kódolásnál 5gyis meglévő redundanciátasználtuk ki$ Ez a redundancia tette leetővé ugyanis, ogy figyelembe veessünk árom, akódolandó szövegben gyakori bigrammát is$ Ezért az alkalmazott diszkrét valószín0ségi mod!ell most nem független "inde&endent# eseményekkel számol, teát a valószín0ségi modellnem iid  és nem ird modell$

    %z adott &éldánál a dekódolás is egyszer0, mert mind az egyes bet0köz, mind a bi!grammákoz ugyanolyan ossz5 "* bites# kódszavakat rendeltünk, teát a dekódolást isárombites cso&ortonként kell elvégezni$

    %z elv változó szóossz5ság5 kódolásnál is alkalmazató$

    3.!.!  Audio file-ok t$m$r#tse% 23 minőség0, mind időben, mind am&lit5dóban diszkrét "digitalizált# audio in!

    formáció igen nagy fájlokat eredményez, amelyek mérete "a ma é&&en asználatos 23 tec!nika mellett 4::!8:: =1$9+ gy a tömörítés nagyon is fontos$

    Ez a atalmas adatmennyiség a ma szokásos '',+ k/!es mintavételi frekvencia és +4bites analóg!digitális átalakítás következménye$

    /a /uffman!féle veszteségnélküli tömörítést szeretnénk alkalmazni, akkor a +4 biteskvantálás 4I I*4 különböző, változó szóossz5ság5 kódszót jelentene, ami kezeletetlenülsok$ ?éteznek ugyan igen nagy forrásábécéket is kezelni ké&es tecnikák "&l$ az 5n$ rekurzívinde+,I!szeres tömörítési arányt leet elérni$ % angfájlok vesz!teség nélküli tömörítésére is alkalmazató a ké&fájlok tömörítésére kitalált 5n$ különbségikódolás tecnikája "amely csak az egymás környezetében lévő angok eltéréseit kódolja ésközvetíti#, de ezzel is csak +,I>+,8!szoros tömörítési arányt leet elérni, s ráadásul igen nagyszámítási ka&acitással$

    =ás, finomított valószín0ségi modellekkel ezeknél jobb tömörítési arány is eléretőugyan, de azok sem közelítik meg a ma már elterjedten asznált 4  "veszteséges#tömörítési tecnika +:!szeres, vagy ennél is jobb tömörítési arányát$

    @égeredményben teát a angfájlok tömörítésével ka&csolatban elmondató, ogy aveszteség nélküli tömörítési tecnikákban asználatos "esetenként finomított, ada&tív#/uffman kódolási módszer nem erre való$

    3."  A #olom$%&i'e kódok.

    % )olomb!Pice kódok egy egész kód!családot alkotnak$ %z eddigi kódoktól eltérően,aol a forrásszimbólumokra vonatkozóan semmilyen megkötést sem tettünk, ezeket a kódo!

    kat e%$" "á*ok  kódolására tervezték$ %bból az ala&feltételezésből indultak ki, ogy minélnagyobb egy szám, annál ritkábban fordul elő$ Jöbbféle kód is szerkesztető ezen az ala&on$% legegyszer0bb az 5n$ unári kód $

    9+  % tényleges file mérete természetesen függ annak az audio információnak "&l$ zenedarabnak#

    az időtartamától is, amelyet digitalizálunk, de függ a zene jellegétől is$ 7éány összeasonlítókisérlet azt mutatja, ogy az azonos időtertem5 zenék közül a szimfonikus zenekari m0vek "&l$=ozart# információtartalma nagyobb, mint más zenéké$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    29/107

    3.%.3  A" unáris kód%z n &ozitív egészszámoz tartozó unáris kódszó n darab +!esből áll, amit a végén egy :

    követ$99  gy &éldául

    (zimbólum kód

    + +:

    9 ++:

    H +++++++:

    +* +++++++++++++:

    ?átató, ogy a kódolásoz az unáris kód is két szimbólumot asznál, teát szimbólu!mok számát tekintve ez is bináris kód$

    /a a forrás szimbólumkészlete

    {1,2, , , X k n=   K K   ":$8#

    és eez olyan iid  modellt rendelünk, amelyben a k szám valószín0sége

    ( )( )1

    2 ,

    2 ,

    n

    ha k n P k 

    ha k n

     

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    30/107

    3.%.4  A &olom' kódok% fent bemutatottnál egy fokkal kom&le és a természetesszámok almaza az aritmetikai összeadás és szorzás m0veletekkel együtt ilyen strukt5ra >egyértelm0en elvégezető, azaz a ":$+:# szerinti összefüggéssel definiált

    2: g G   ":$++#

    leké&zés a természetes számok kölcsönösen egyértelm0 leké&zése természetesszám&árokká$ Esetünkben ez biztosítja, ogy a )olomb kódok egyértelm5en dekdolhat kódok$

    )olomb kódok esetében az adott n!ez tartozó F értékét egy unáris kóddal re&re!

    zentáljuk, az r  maradékot &edig egy természetes bináris kóddal$ /a történetesen %!t 5gyválasztottuk meg, ogy 9!nek valamelyik k !adik "aol k  egészszám# atványa legyen, akkor r ábrázolására k  bites bináris szám asználató$ /a % értéke nem egész atványa 9!nek, akkor

    az r maradékot 2log bites bináris kóddal ábrázolatjuk9'$

    %z eljárást a következő &éldán mutatjuk be-6. példa

    Jervezzünk )olomb kódot, amelynek legyen a &aramétere %64$ hbrázoljuk táblázato!san az n6:>tól n6+I!ig terjedő egész számokoz tartozó kódszavakat$

    9*  7em kell kikötnünk, ogy a kódolni kívánt egészszámok almaza véges legyen és előbb márkiterjesztettük az értelmezést a :!át is tartalmazó valamennyi természetes számra$

    9'  %z és  x  jelölésekkel az  ; "valós# szám alsó és felső egész részét jelöljük, azaz azt a leg!

    nagyobb egész számot, amely nem nagyobb  ; !nél, illetve azt a legkisebb egész számot, amelynem kisebb ; !nél$ 7yilvánvaló, ogy  x x $

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    31/107

    % választott &araméter "%64# esetén az r maradék a :, +, 9, *, ' és I egészszámok va!lamelyike leet$ [i< szóossz5ság5 kód esetén ezek kódolására * bit kell$9I 

    )(1;. á"ra* &2lda >olom" kódkios$tásra

    1izonyítató, ogy a

    2

    1log

     g  p

    =

    ":$+9#

    &araméter0 )olomb kód o&timális a

    ( ) ( )1 1n P n p p= ":$+*#

    diszkrét valószín0ségi modellre$ Ez nem más, mint az 5n$ dis!krét geometriai elos!lás,ami egy megfigyelés ismételt elvégzését írja le egy "+! p# valószín0ség0 esemény elsőbekövetkezéséig$ Blyen modellel írató le &éldául egy villanykörte élettartama, vagy adottossz5ság5 &iros sorozat bekövetkezése a rulettben$ 7em véletlen, ogy )olomb is ezt a&éldát említi cikke bevezetőjében$

    3.%.!  (i)e kódok%z 5n$ Pice kódok a )olomb kódok ada&tív változatainak tekintetők$ P$ [$ Pice a &asa!

    denai  6et 7roplsion 8a'oratory !ban fejlesztette ki ezt a fajta kódolást, és +;H;!ben &ub!likálta$ %z ada&tív /uffman kódolásoz asonlóan ezek is jól asználatók veszteségmentestömörítésre$

    % Pice kódolás egy nemnegatív egész számokból álló sorozatok kódolásáoz készült$Ezek a nemnegatív egész számok többnyire valamilyen másfajta információelőfeldolgozásának eredményeként állnak elő$

    Ezt az egész számokból álló sorozatot fi függetlenül attól, ogy azok egyenként ányszámjegyesek$ % kódolási eljárásnak sokféle o&ciója leet, és az egymás után következőblokkok mindegyikén ki&róbálják valamennyi kódolási o&ciót$ Yrdemes megjegyezni, ogy azemlített o&ciók közül a legtöbb valamelyik )olomb kód$

    %z eljárás összeasonlítja, ogy egy adott blokk kódolásakor melyik o&ció eredményezia legrövidebb kódot és az lesz annak a blokknak a kódolási algoritmusa, ill$ eredménye annak

    9I  ?átató, ogy az erre asznált árombites bináris kód redundáns$ Julajdonké&&en csak a ' ésaz I kódolásáoz kell a árom bit$ %z I!nél kisebb maradékok kódolásáoz elegendő lenne ke!

    vesebb is$@alóban van is olyan )olomb kódolási konvenció, amely a kisebb maradékokoz rövidebbbináris kódot rendel ozzá, de ezzel itt nem foglalkozunk$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    32/107

    a blokknak a kódja$ =indegyik o&ciónak van saját azonosítója s azt ozzáka&csolják az adottblokk kódjáoz, ogy a dekódolásnál tudni leessen, ogy melyik o&ció dekódoló algorit!musát kell az adott blokk esetében alkalmazni$

    % Pice kódolási eljárás teát blokk!kódolás "abban az értelemben, aogyan azt atitkosítással ka&csolatban szoktuk érteni, amely rögzített ossz5ság5, numerikus információ!blokkokat kódol#$ Zésőbb ebben az anyagban részletesen tárgyaljuk majd az 5n$ bináris blokkkódokat$

    % Pice kódolás így, röviden szavakba foglalva is eléggé számításigényes, neezenkövetető algoritmusnak látszik$ Jénykérdés azonban, ogy &éldául az 0rtávközlésben ked!velt kódolási módszer, mert a távközlési ibákra kevésbé érzékeny, mint az ada&tív /uffmankód$ Bgaz, ogy a &re&rocesszálás miatt mindenké&&en kétmenetes eljárás$ =ásrészt azon!ban a &re&rocesszált információs blokkok kódolására alkalmazott valószín0ségi modell bizo!nyos mértékig maga is ada&tív, ezért az eljárás jó atásfokkal tömörít$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    33/107

    3.* Adapt#v Huffman kódolás./a egy ismeretlen ábécével írt szövegez akarunk /uffman kódot szerkeszteni, akkor

    első lé&ésben egy szöveg!analízist kell elvégezni aoz, ogy felderítsük a szöveg statisztikaiszerkezetét$

    Eleve eldöntetjük, &ersze, ogy azt a diszkrét valószín0ségi modellt alkalmazzuk majd, ame!lyben minden forrásszimbólum független az azt megelőzőtől, de akkor is el kell végezni abet0gyakoriság!analízist, vagy valamilyen korábbi analízis ala&ján ismertnek tekinteni a gya!koriságokat$94 

    gy is, 5gy is kétlé&éses &rocesszus a /uffman kódolás "és ebbe a két lé&ésbe nemszámítottuk bele azt, ogy az alkalmazni kívánt valószín0ségi modellt ezektől függetlenülmeg kell választanunk#$

    @an azonban olyan algoritmus, amely ezt a -statisztikai felmérést. és magát a /uffman félekódolást egyetlen -menetben. végzi el$ Ezt nevezzük ada&tív /uffman kódolásnak, amit a 2függelékben tárgyalunk részleteiben 

    3.1+ Aritmetikai kódolás7em a /uffman!féle kódolási módszer az egyetlen, amit mana&ság változó

    szóoszsz5ság5 kódok előállítására asználnak$ Egyre nő a né&szer0sége az un$ aritmetikaikódoknak is$ Ezek különösen alkalmasak kis szimbólumkészlettel rendelkező forrásokkódolására$ % bináris források többsége &edig ilyen$%z aritmetikai kódok is az illesztő kódok családjába tartoznak és ezért veszteség nélkültömörítik a forrásinformációt$

    =indeddig többnyire olyan módszereket mutattunk be, amelyekben a forrás model!lezésének a kérdését és a kódolási módszert egymástól elválasztva tárgyaltuk s az aritmetikaikódolásnál is ezt a konce&ciót követjük$9H 

    2élszer0 itt a kódolás atékonyságára egy 5jabb szóasználatot bevezetni, nevezetesena kódolási arán! fogalmát$ Ezt az +. [üggelékben fejtettük ki és vetettük öszsze a korábbanmár asznált atásfok!fogalommal$

    Egyszerüen arról van szó, ogy az  AC  kódolási arány azt fejezi ki, ogy az illesztő kódegy!egy bitje átlagosan ányadrészét szállítja a forrásentró&ia egy!egy bitjének$ 7yilvánvaló,ogy

    1C  Akell, ogy legyen$

    94  Egyáltalán nem nyilvánvaló, ogy általános esetben mit értünk szöveg alatt$ ?eet az &l$ tőzsdeirészvényárak előre megálla&odott sorrendben való felsorolása s akkor bizony valamilyenkorábbi értéktől nem nagyon eltérő mérték0 leet egy!egy árfolyam, vagyis többé!kevésbbémegjósolató$ 7umerikus információról van teát szó, mégsem egyformán valószín0 mindenszám előfordulása$ /asonló a elyzet &l$ egy karakterisztika!mérés adatainál, vagy olyan ada!toknál, amelyek valamilyen becsülető trendet követnek$

    9H

      Bgazából nem egészen$ %bban a &illanatban, ugyanis, amikor méár nem tekintjük egészenfüggetleneknek a forrásszimbólumok sorozatát, tulajdonké&&en szakítunk az ird modellel$ azaritmetikai kódoláskor &edig &ontosan ez történik$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    34/107

    % megelőző fejezetekben a /uffman!féle kódolási módszert tárgyaltuk, amelynek le!galább a továbbfejlesztett változatai biztosították, ogy az átlagos kódszóossz kisebb le!gyen, mint a /"# forrásentró&ia &lusz egy bit$98 )allager egy +;H8!as cikkében máské&&en is megfogalmazta a /uffman kódokra levezetette feltételt

    &maallag0er 0atár ill$ >allag0er felt2tel# névenivatkozunk$)ondolatmenetünk folytatása előtt egy &éldán szemléltetjük az itt elmondottakat$

    98  @égső soron a Zraft!=c=illan egyenlőtlenség alkalmazásával tudtuk levezetni az átlagoskódszóossz5ságra az alsó és a felső korlátot$ %z alsó korlát értelemszerüen a forrásentró&ia,mert a veszteség nélkül kódolni akarjuk a forrás által emittált információt, akkor az átlagoskódszóossz nyilván nem leet kevesebb bit, mint a forrásentró&ia$ =egmutattuk, ogy mindíg

    elérető, ogy az átlagos kódszóossz kisebb legyen mint a forrásentró&ia &lusz egy bit$ %z ol!vasóra bíztuk, ogy bizonyítás nélkül eliszi!e, ogy ebből a szem&ontból mindíg o&timális a/uffman!féle kódolási eljárás$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    35/107

    3.1allag0er korlát% *$I &élda ala&adataiból kiindulva az ott kiszámolt forrás!jellemzők a következők vol!

    tak

    &élda(zimbó

    lum)ya!

    koriság CiB"

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    36/107

    Eez a következő /uffman kódot rendeltük ozzá

    (zimbólum

    Pel$gyak$ ód

    kódossz

    ?i $&i

    [ :,''++H4 + :,''++H4

    E :,+;4:H8 ++

    * :,I889*'

    3 :,+'H:I; +:

    * :,''++HH

    2 :,:;8:*; :+

    * :,9;'++H

    1 :,:

    4849H ::+

    ' :,9

    H'I:8

    % :,:';:9 :::

    ' :,+;4:8

    Jotal + 9,9*I9;9

    %z átlagos kódszóossz5ság a táblázat utolsó oszlo&ában feltüntetett, a relatív gyako!riságokkal s5lyozott kódszóosszak összege, vagyis 9,9*I9;9 bitFkódszó$ ?átatóan nagyobb,

    mint a forrásentró&ia /"# 6 9,+;I':; bitFforrásszimbólum és ennek így is kell lennie$Ezekből az adatokból kiszámítató az eredményül ka&ott /uffman kódoz tartozó

    kódolási arány

     AC 6 982157,0235292,2195409,2)(   ==l  X  H 

    %zaz a /uffman kód minden egyes bitje átlagosan :,;89 bit forrásinformációt ordoz$

    % )allager!korlát szerint az átlagos kódszóossz a forrásentró&ia és/"# &ma

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    37/107

    forrásentró&iáoz ké&est korántsem atékony$9; E &robléma kiküszöbölésének egyik módjaaz, ogy blokkokba cso&ortosítjuk a forrásszimbólumokat és a blokkokoz szerkesztünk/uffman kódot$ % *$8 &éldában demonstráltuk ezt és azt "is# ta&asztaltuk, ogy a forrás szi!mulálására alkalmazott diszkrét valószín0ségi modell megváltoztatása nélkül a forrás in!formációelméleti jellemzői nem változnak, de a /uffman kód kedvezőbb leet$ % blokkméret

    növelésével még kedvezőbb leet a kód atásfoka, de kezeletetlenül nagy lesz a kódszavakszáma$%zt is megjegyeztük a forrássszimbólumok blokkosításával ka&csolatban, ogy ez a módszergyakorlatilag nem mindíg alkalmazató$*: Jegyük még eez ozzá, ogy a csak egy kissé is megváltozik a forrásábécé valószín0ségieloszlása "és nem változtatjuk vele együtt a blokk!valószín0ségeket# akkor ez igen nagymértékben befolyásolatja a kód tényleges atékonyságát$

    [oglaljuk össze, ogy miért jó a /uffman!féle veszteség nélküli tömörítés és mégis mi a gonda /uffman kód atékonyságávalV

    +$  1ármelyik veszteség nélküli illesztő kódolás feltételezi, ogy a forrás valamilyen ismertdiszkrét valószín0ségi modell szerint emittálja a forrásszimbólumokat és az alkalmazottillesztő kódolási módszer ismeri ezt a valószín0ségi modellt$ % legegyszer0bb ilyenvalószín0ségi modell az iid  "inde&endent, identically distributed# modell s csak egy fokkalbonyolultabb az ird  "6 inde&endent, randomly distributed# modell$

    9$  =inden redundancia!csökkentő illesztő kódolás egyuttal veszteség nélküli tömörítőeljárás is$ gy mind az egyszer0 "6.kétmenetes.# mind a továbbfejlesztett"6.egymenetes.# ada&tív /uffman kódolás is$@annak más, a /uffman eljárástól különböző ada&tív kódolási eljárások is$

    *$  % /uffaman!féle kódolási módszer változó szóossz5ság5 kódszavakat rendel a

    forrásszimbólumokoz és "az ird  modell esetében# minden esetben o&timális átlagosszóossz5ság5 kódot ad$ Ez más szóval azt jelenti, ogy a kódolási arány a leető legjob!ban közelíti a +::!ot$

    '$  Jriviális, ogy a kód "bitekben megadott# átlagos szóossz5sága nem leet kisebb aforrásentró&iánál$ Ezért a szóossz5ság alsó korlátja a /"# forrásentró&ia$ =intkorábban láttuk, léteznek olyan diszkrét valószín0ségeloszlások, amelyek esetén azillesztő kód átlagos szóossz5sága é&&en a forrásentró&iával egyenlő$ "Ji$ a avalószín0ségek 9!nek negatív egész kitevőj0 atványai$#

    I$  Zérdés, ogy van!e az o&timális kód átlagos szóossz5ságára valamilyen elvi felső atár$7os, több is van$

    9;  Ekkor is belül van azonban a Zraft!=c=illan egyenlőtlenségből következő korlátokon$*:  % megálla&ítások kissé ellentmondásosak, mert azt mondtuk, ogy a )allager korlát elég jól

    m0ködik nagy forrásábécé esetén, s ilyenkor rendszerint nem is tér el nagyon &ma

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    38/107

    4$  % kódossz5ság egyik elvi felső atára a Zraft!=c=illan egyenlőtlenségből adódik, s ezzel 

    ( ) ( ) 1+

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    39/107

    +:$ Aavítató a /uffman kód atékonysága, a a forrásszimbólumokat blokkosítjuk, s e blok!kokra alkalmazzuk a /uffman eljárást$Ezzel azonban az a gond, ogy a n forrássszimbólum van és k ossz5ság5 blokkokat al!kotunk belőle, akkor nk ilyen blokk lesz, azaz a blokkossz5sággal e

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    40/107

    nyitott intervallumba eső törtszám$** %oz, ogy ezt megteessük, egy olyan függvényre van szükségünk, amely leké&ezi aforrássszimbólumok ténylegesen előforduló szekvenciáit a :,+# intervallumra$ Egy le!etséges választás erre a leké&ezésre a forrás valószín0ségi változójánakeloszlásfüggvénye$*' Ez egy monoton növekvő függvény, amely a forrásszimbólumok i in!

    de

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    41/107

    Emlékezzünk arra is, ogy aelyett, ogy a forrássszimbólumok minden leetséges k!elem0sorozatát előállítottuk volna, csakis azokoz a k!elem0 szekvenciákoz rendelünk egy!egyegyedi jelzőszámot, amelyek ténylegesen előfordulnak a forrás által emittált sorozatban$% jelzőszámokat a számegyenes :,+# intervallumára való leké&ezéssel generáljuk$%z is kézenfekvő, ogy a mindez valamilyen ada&tív eljárással történik, akkor az eljárás kez!

    detén még csak kevés jelzőszámunk van, s ezért a :,+# intervallumot is csak kevés rész!intervallumra kell felosztanunk, majd az eljárás előrealadtával monoton növekszik a

     jelzőszámok száma s a :,+# intervallumot is egyre több "diszjunkt# rész!intervallumra kellosztani$$ =indezek megleetősen logikus következményei a már leírt elveknek$ -=indössze.megfelelő algoritmust kell ozzá találni$% jelzőszám folyamatos generálása 5gy m0ködik teát, ogy az eljárás előrealadásávalegyre finomítjuk "más szóval redukáljuk# annak az intervallumnak a méretét, amelyen belülvan a jelzőszám$%z egyszerüség kedvéért a :,+# intervallumot eg!s2g(intervallumnak nevezzük$%z eljárás 5gy kezdődik, ogy az egység!intervallumot két szub!intervallumra osztjuk 5gy,

    ogy az egyikez az F X (i-1) , a másikoz &edig az F X (i)  eloszlásfüggvány!érték tartozik,majd a felosztást folytatjuk, miközben az i inde< végigfut valamennyi iG

    &3.1% p2lda?egyen adott egy árombet0s ábécé

    A 6 \a+, a9, a*,]% következő szimbólum!valószín0ségekkel

    C"a+# 6 :,* C"a9# 6 :,I C"a*# 6 :,9%z eez tartozó valószín0ség!eloszlásfüggvény a következő

    % jelzőszám!generálásról mondottak értelmében az eloszlásfüggvény diszkrét értékei az elsőlé&ésben felosztják a teljes :,+# intervallumot a árom forrássszimbólumnakmegfeleltetető árom részre a következőké&&

    0 0,8 1

    a1 a2 a3

    0,3

     

    /a a forrás által emittált első szimbólum történetesen az a%!es, akkor a ozzárendelt jelzőszám a fenti :,+# intervallum vastagított szakaszába "6szubintervallumába# esik$

    0

    1

    0,8

    P(a1)

    P(a3)

    F  X  (i) 

    FX(3)

    FX(2)

    FX(1)

    P(a2)

    0,3

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    42/107

    @isszatérve a jelzőszám!generálás általános eljárására belátató, ogy az H 6  7 .i1

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    43/107

    amelyeket ennek a szubintervallumnak az alsó atáráoz "6:,*# ozzáadva ka&juk a :,*'I ésa :,'9 közbenső atárértékeket$ =ost azonban a szekvencia következő tagja, azaz a &éldaszerint a: jelöli ki az aktuális :,'9 :,'I:# intervallumot, amelynek a köze&e":,'9:,'I#F96:,'*I$ Ez lesz az a9a1a: szekvencia jelzőszáma$% következő oldal ábráján mindegyik szub!intervallumot kinagyítottuk, mert különben nem

    lett volna ábrázolató az egyre -finomított. aláosztás, % -kinagyítás természetesen csak azábrázolás kedvéért történt, az elvi eljárásban semmi ilyesmire nincsen szükség$Yrdemes megfigyelni, ogy valamennyi forrássszimbólum egybet0s szekvenciának felel megés valamennyi szub!szekvenciánek egyedi jelzőszáma van$/angs5lyozni kell, ogy valamennyi szub!intervallum független az összes többitől, még akkoris, a más!más lé&ésben generáltuk ezeket a szubintervallumokat$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    44/107

    0 0,8 1

    a1 a2 a3

    0,3

    0,70

    a1 a2 a3

    0,45

    0,420 0,450,345

    a1 a2 a3

    a1 a2 a3

    a1 a2 a3

    0,429 0,444

    0,4458

    a2 0,55

    a2a1 0,375

    a2a1a3

    0,3 0,80

    0,3

    0,420 0,450

    0,444 0,4500

    Az intervallum középpontja

    0,435

    a2a1a3a3 0,447

    0,4488a2a1a3a3a1 0,4449

    0.435

     

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    45/107

    3.11  /ss"efoglalás% /uffman!féle kódolási módszer bizonyítatóan o&timális szóossz5ság5 csator!

    nakódot eredményez minden ird  modellt követő forrásoz, ez a kód azonban mégsem o&!timális "mármint a kódolási arány szem&ontjából# akkor, a a forrásszimbólumok száma

    kevés és a ozzájuk tartozó valószín0ségek között nagy az eltérés "azaz dominánsvalószín0ség0 szimbólum is van#$

    @égeredményben arról van szó, ogy az  ird   diszkrét valószín0ségi modell nagyon-egyenetlen.$

    % valószín0ségek némileg kiegyenlítetők akkor, a nem "csak# az egyesforrásszimbólumokoz rendelünk kódszavakat, anem a forrásszimbólumok sorozataioz"szekvenciáioz# is$ % /uffman eljárás eme kiterjesztésével az a gond, ogy minden elvilegleetséges szekvenciával számol, olott a gyakorlatban egyáltalán nem fordul elő mindenelvileg leetséges bet0kombináció$ Erre a lingvisztikai nyelvek mássalangzó és

    magánangzó torlódásainak gyakorlati korlátját oztuk fel &éldaként$%z aritmetikai kódolás végeredményben egy ada&tív módszer, amely leetővé teszi aténylegesen el&fordl forrásszimbólum!szekvenciák kódolását, és nem rendel kódokat ,a-lamennyi   elvileg leetséges szekvenciáoz$ Ezzel kiküszöböli a /uffman!féle kódolásimódszer egy lényeges átrányát, nevezetesen azt, ogy a szekvenciák osszával kombinato!rikusan igen nagy mértékben növekvő számítási ka&acitást kelljen biztosítani$

    3.10  Kidolgo"ott pldák a fee"et anagáho"

    7. példa

    %z angol ábécé első öt bet0jének abszol5t gyakorisága egy nagyobb szövegben a

    következő

    [orrásszimbólum

    )ya!koriság

    Elsőszülő

    1 +I'*

    2 98

    3 '* '*

    % 8I 8I

    E +9H +9H

    q H:I H:I

    % legutolsó sor "  # az összes többi bet0 együttes gyakoriságát jelöli a szövegben$ Je!kintsük ezt az ábécét a   >val együtt egy atbet0s ábécének, és szerkesszünk ozzá /uffmankódot 5gy, ogy egyelőre nem s!ámol(k ki  a relatív gyakoriságokat$

    +$  (zerkesszük meg a forrásszimbólumok első gyakoriság!táblázatát "5gy, ogy a q >át isegyetlen bet0nek tekintjük#$ % táblázatnak alkalmasnak kell lennie a /uffman fa megs!

    zerkesztéséez$ Yrdemes a forrásszimbólumokat a gyakoriságok növekvő sorrendjéberendeznünk, ogy mindig a táblázat első két cellájával kezdessük a cellák összevonását$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    46/107

    9$  Zezdjük el, és folytassuk minden lé&ést feltüntetve a /uffman fa szerkesztését*I$ Aelöljükminden csomó&ontnál az abszol5t gyakoriságot$ %z algoritmus lé&éseit a )(%99 ábrákillusztrálják a következő oldalon$

    *$  % /uffman fa éleinek címkézésével szerkesszük meg a változó ossz5ság5 illesztő kódot$V

    )(%

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    47/107

    (%%. á"ra* A$ algoritmus utolsó k2t l2p2se 2s a generált kód

    % &élda tulajdonké&&en nem -ti&ikus. /uffman fát ad, mert a  szimbólum gyakoriságatöbb, mint kétszer akkora, mint az összes többié együttvéve$ Ezért nem is várató igazánkiegyenlített kód$ Dgyanezt a fát ka&nánk a (annon![ano eljárással is$

    '$  (zámítsuk ki a kód saját entró&iáját, atásfokát és redundanciájátV Eez egy olyan a!toszlo&os táblázat lesz segítségünkre, amelynek oszlo&aiban rendre a forrásszimbólumo!kat, a gyakoriságokat, a relatív gyakoriságokat, magát a kódot, a :!s jegyek gyakoriságát,

    illetve az +!es jegyek gyakoriságát tüntettük fel$

    [orrás sz$ )yakoriság Pel$gyak$ Zód : +

    % 8I 8,I ++: 8I +H:

    1 +I +,I +++:: *: 'I

    2 98 9,8 +++:+ 98 ++9

    3 '* ',* ++++ : +H9

    E +9H +9,H +: +9H +9Hq H:I H:,* : H:I :

    Wsszesen +::* +:: ;HI 49H(zázalékos megoszlás 4:,84 *;,+'

    %z utolsó sor két jobb oldali cellájából leolvasató, ogy a kódban kb$ +:4 "&ontosan;HI49H# a :!ás és +!es bitek aránya$ ?átszik, ogy a kód nem igazán jól kiegyenlített$ % :!ásés az +!es jegyek aránya elég messze esik a tökéletes kiegyenlítettséget jelentő I:!I:aránytól$*4 

    *4  Ennek az az oka, ogy a forrásszimbólumok között a  jel gyakorisága dominánsan nagyobb

    volt, mint az összes többié együttvéve$ %z ilyen valószín0ségi modell eleve messze van attól,amire a /uffman eljárás jól alkalmazató$ % /uffman eljárásnak az a kissé módosított változa!ta, amely ilyenkor a bet0&árokoz rendel egy!egy kódot "a korábban tárgyalt bigram kód# az

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    48/107

    % kód entró&iája

    2 20,6086 log 0,6086 0,3914 log 0,3914 0,9657  bit 

    c   bináris számjegy H    =   =

    % csatorna entró&ia ma

    szóossz5ságára$ Erre a jellemzőre vezettük be a kódolái arán(   fogalmát$"lásd$ az E $[üggeléket$# Ez a mennyiség a kód tömörségére jellemző érték$

    @égül vizsgálatjuk a generált kód saját entró&iáját, atásfokát és redundanciáját$ Btt avonatkoztatási ala& az az o&timális eset, amikor egy bináris számjegy átlagosan é&&en + bitinformációt ordoz$

    f# (zámítsuk ki most, a feladat végén az eredeti forrásábécé redundanciáját és mutas!suk meg, ogy a /uffmann féle illesztő kódolás mennyit javított ezen$

    Index Forrásszimbólum Gyakoriság Relatív gyak. -pi x logpi

    1 A 85 0,0847 0,0908

    2 B 15 0,01496 0,02733 C 28 0,0279 0,04344 D 43 0,0429 0,05865 E 127 0,1266 0,11366   = 705 0,7088 0,1076

    Összeg 1003 1,0059 0,4413

     A forrásentrópia:

    H(X) = 0,4413 harley/ bet0 = 1,466 bit/ forrásszimbólum Az elvi maximum Hmax = log 6 = 0,77815 Hartley/ bet0 A relatív redundancia:

    r = 100 x (1 – H(X) / Hmax ) = 43,29 %

     A Huffmann kódolás (jóllehet távolról sem kiegyenlített) mégis csaknem a 11-ed részére csökkentette a forrás redundanciáját.

    o&timumoz lényegesen közelebb eső eredményt ad$ Bgaz, ogy ekkor az adott esetben nem 4anem 496*4 kódszóval kell dolgoznunk$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    49/107

    3.7 példa

    @izsgáljunk meg most egy bonyolultabb fát eredményező &éldát, amelyben aforrásábvécének ; eleme van és az abszolut gyakoriságaik vannak megadva a következőtáblázattal

    1et0 )ya!koriság

    1et0 )ya!koriság

    % 9:: [ 8:

    1 +8: ) 4:

    2 +4: / ':

    3 +': B 9:

    E +9:

    % megoldás részletei, táblázatai

    % rendezett gyakoriság!tábla és az első két összevonás

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    50/107

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    51/107

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    52/107

    1000

    400

    600

    200

    200

    260

    340

    140

    120

    160

    180

    120

    80

    A

    C

    B

    E

    D

    0

    1

    00

    01

    000

    001

    011

    010

    10

    11

    110

    111 60

    60

    40

    20

    F

    H

    I

    1110

    1111

    11110

    11111

    G

    Ennek a fának a megszerkesztésekor

    % gyökértől ind5ltunk el és a H$ összevonási tábla ala&ján írtuk fel a gyökér két utódját$

    % /uffman fának mindíg a pfelső. ágáoz rendeltük a nagyobb s5ly5 "belső# csomó&on!tot$ %zonos s5ly5ak esetén megagytuk az eredeti aláFfölé rendelési sorrendet$

    % kódkiosztáskor a pfelső ágoz rendeltük a :!át, az alsóoz az +!et$/a netán fordítva tennénk, a kód kom&lemensét ka&nánk$

    %zonos s5ly5 belső csomó&ontok esetén azt rendeltük pfelülre., amelynek kevesebbutódja volt "vagy egy sem#$

    7em erőltettük azt a korábbi konce&ciót, ogy a fa levelei végül is monoton sorrendbelegyenek elrendezve, anem aelyett csak azt, ogy mindegyik levél kódját a gyökértől a

    ozzá vezető 5t atározta meg$ Pövidebb 5t rövidebb kódot jelentett és fordítva$(zámoljuk ki először a forrás informatikai jellemzőit

    A szerkesztés segítéséreminden bels" csomópon-

    thoz beírható az is, hogyaz mely leveleknek aszül" je, nagyszül" je, ésígy tovább. Ez pontosanmegfelel a rendezetttáblázatok csoportjainak.

    % /uffman fának &ontosan any!nyi belső csomó&ontja "ittH#van, amennyi a táblázatosösszevonások száma volt, mertminden &ár!összevonás egy!egy5j belső csomó&ontot

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    53/107

    Szimbólum Gyakoriság Pi bit hartley nat

    A 200 0.2 2.321928 0.69897 1.609438

    B 180 0.18 2.473931 0.744727 1.714798

    C 160 0.16 2.643856 0.79588 1.832581D 140 0.14 2.836501 0.853872 1.966113

    E 120 0.12 3.058894 0.920819 2.120264

    F 80 0.08 3.643856 1.09691 2.525729

    G 60 0.06 4.058894 1.221849 2.813411

    H 40 0.04 4.643856 1.39794 3.218876

    I 20 0.02 5.643856 1.69897 3.912023

    Total 1000 1Események 9 db

    H(x) 2.930561 0.882187 2.03131

    Hmax 3.169925 0.954243 2.197225

    Hatásfok: 92% 92% 92%

    Redundancia: 8% 8% 8%

    %z itt kiszámolt forrásentró&iára szükségünk lesz a kódolási arány kiszámításáoz$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    54/107

    % megszerkesztett /uffman fa kódkiosztása ala&ján a változó szóossz5ság5 /uffamankód a következő

    [orrás

    szimbólum

    /uffman kód

    % +:

    1 :::

    2 ::+

    3 :+:

    E :++

    [ ++:

    ) +++:

    / ++++:

    B +++++

    =int említettük, ennek a kódnak a kom&lemense is ugyanilyen jó$

    @izsgáljuk meg most az átlagos szóossz5ságot, a kódolási arányt és a kódolásatásfokát, a kód kiegyenlítettségét valamint azt, ogy mennyit javított az illesztő kódolás aforráskód információelméleti jellemzőin$

    Gyakoriság Pi kód Kódhossz Si0  Si1  Si0*Pi Si1*Pi Li*Pi

    A 200 0.2 10 2 1 1 0.2 0.2 0.4

    B 180 0.18 000 3 3 0 0.54 0 0.54

    C 160 0.16 001 3 2 1 0.32 0.16 0.48

    D 140 0.14 010 3 2 1 0.28 0.14 0.42

    E 120 0.12 011 3 1 2 0.12 0.24 0.36

    F 80 0.08 110 3 1 2 0.08 0.16 0.24

    G 60 0.06 1110 4 1 3 0.06 0.18 0.24

    H 40 0.04 11110 5 1 4 0.04 0.16 0.2

    I 20 0.02 11111 5 0 5 0 0.1 0.1

    9db

    1000 1 1.64 1.34 2.98

    Entrópia 2.93 bit

    Átlagos szóhossz 2.98 bit Kiegyenlítettség:

    A kódolási arány 98% 0 55.03%

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    55/107

    Redundancia: 2% 1 44.97%

    % atásfok teát ;9!ról ;8 !ra javult és így a redundancia 8!ról 9!ra csökkent$

    Egy kód!bit a forrásentró&ia egy bitjének átlagosan a ;8!át szállítja$ "Ez az A C  kódolási arány$#

    % /uffman kód kiegyenlítettsége II +!es jegy és 'I :!ás jegy$

    =egjegyzés a &éldáoz

    % fenti eredményeket egy E

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    56/107

    Legyenek most a forrásábécé elemei és a hozzájuk rendelt valószín1ségek a következ/k:A ÷ P(A) = 0,9

    B ÷ P(B) = 0,09

    C ÷ P(C) = 0,01

    A forrásentrópia ezek alapján a következ/:

    H(X) = -0,9 x lg 0,9 – 0,09 x lg 0,09 – 0,01 x lg 0,01 == 0,1553 hartley = 0,5156 bit/szimbólumA forrás maximális entrópiája:H(X)max = lg 3 = 0,4771 hartley = 1,584 bit/szimbólum lehetneA forrás relatív redundanciája:R= 100x[H(X)max – H(X)] : H(X)max = 67,45 % - bizony elég nagy

     Nem kell ahhoz Huffman fát szerkeszteni, hogy megadjuk a Huffman kódolás alapelveinekmegfelel/ változó szóhosszúságú kódokat:A ÷ 0

    B ÷ 10

    C ÷ 11

    Az átlagos kódszóhosszúság:

     L = 0,9 x 1 + (0,09+0,01) x 2 =0,9 + 0,2 = 1,1 bit forráskód-szavanként.Így a Huffman kód redundanciája:

    r H = 100x [H(X)max –  L ] : H(X)max = 30,56 %Az illeszt/ kódolás kevesebb, mint a felére csökkentette ugyan a redundanciát, de az még ígyis igen nagy.A Kraft – McMillan egyenl/tlenségb/l37 következ/ korlát miatt az optimális illeszt/ kódolásátlagos kódhosszúsága felülr /l közelíti a forrásentrópia értékét. Ez az adott példánál 0,5156

     bit/szimbólum, amihez képest egyáltalán nem látszik optimálisnak az 1,1 bit/csatornakódszó

    átlagos szóhosszúság. Ez azonban nem mond ellent annak a tételnek, hogy a Huffman féle kódolási algoritmus min-den esetben optimális kódot ad. Sokkal inkább arról van szó, amit a példa bevezet/ jében je-leztünk vagyis, hogy a hallgatólagosan feltételezett diszkrét valószín1ségi modell ebben azesetben nem jól modellezi a forrás szerkezetét.Ilyenkor is megoldást jelenthet azonban, ha nem rendelünk minden forrásszimbólumhozkülön-külön kódot, hanem csoportosítjuk a forrásszimbólumokat (pl. párosával) s mindenilyen csoporthoz rendelünk egy- egy (változó szóhosszúságú) kódszót.

    3.9 példa

    (A 3.8 példa folytatása a fentiekben interpretált eset demonstrálására.)

     Ne változtassunk a 3.7 példában bemutatott, hárombet1s ábécével jellemezhet/ forráshoz ren-delt valószín1ségi modellen, de számoljuk ki az elvileg egymástól függetlenül kibocsájtott

     bet1kett/sök valószín1ségeit és rendeljünk Huffman kódszavakat e bet1 párokhoz.

    *H  ?ásd az A függeléket$

  • 8/20/2019 InfoKod Jegyzet II-resz Beta1

    57/107

    A 3.8 példában az egyes bet1k valószín1ségei rendre a következ/k voltak:P(A) = 0,9P(B) = 0,09P(C) = 0,01

    Ez