ZAJĘCIA NR Dzsaj omówmy o etro, redudacj, średej długośc słowa odowego o algorytme Huffmaa zajdowaa odu otymalego (od ewym względam; aby dowedzeć sę jam doczeaj do ońca). etro JeŜel źródło moŝe adawać róŝych omuatów, z rawdoodobeństwam odowedo,,,, to średa lość formacj w omuatach z tego źródła wyos H = log os azwę etro formacyjej źródła formacj. Wystęujący tu symbol ozacza, Ŝe to co o m wystęuje aleŝy sumować borąc za oleje lczby aturale od do,.: = + + + = + + 9 + = 0. Przyład: ) Źródło adaje omuaty, aŝdy z rawdoodobeństwem = ¼. Wtedy H = log +... + log = log = log =. ) SUMA H = log + log = + log +,585 = + 0,795 =,795, gdze wartość log otrzymalśmy z tablc matematyczych, osłując sę wzorem a loga c zamaę odstaw logarytmów: log b c = odstawając a=0, b=, c=. log b ( ) = + ( log + log ) = + + log a Dodatowo zauwaŝamy, Ŝe oczywśce suma wszystch wyos (ta teŝ było w orzedm rzyładze; ta jest zawsze!). ) =, = (tj. choćby były e otecjale moŝlwośc, to ta ch otecjał wyos 0, czyl e berzemy ch od uwagę). Wtedy: H = log = 0 = 0, czyl e rzeazujemy Ŝądej formacj. Przeazujemy omuat, ale e rzeazujemy formacj (atrz ZAJĘCIA I). Własośc etro: ) H 0 ; H = 0 = = (ja w rzyładze ) ) H log ; H = log = (ja w rzyładze )
Teraz dwe defcje zwązae z samym odem (jego def + długość) Kod daego omuatu azywa sę cągem albo słowem odowym tego omuatu. Lczba elemetów wystęujących w słowe jest jego długoścą. Welość L = N azywamy średą długoścą słowa odowego. Tu odowego, tórego rawdoodobeństwo wyos. N - długość słowa Przyład (wszyste ja w rzyładze owyŝej) SUMA N 5 L = N = 5 + 5 ( + + ) = + =,5 + =, 5 MoŜemy wreszce rzejść do redudacj RóŜcę L H oz = R azywamy redudacją daego sosobu odowaa. Zachodz rzy tym: R 0, bo L H (zawsze!). Przyład W rozwjaym tu rzyładze R =,5,795 =,7075 Gdy jeda weźmemy w m y zestaw wag N ta aby omuaty częste były róte, a rzade dłuŝsze (jeśl tae muszą być), a maowce rzestawmy wartośc N z N to wówczas otrzymamy: SUMA N 5 5 L = N = + ( + 5 + ) = + = +,5 =, 5, co rzy detyczym H (=,795), daje am R =,5,795 =,7075, a węc mejszą redudację. Redudacja to węc admarowość długośc omuatu oad ezbędą oeczość.
Ze względu a eoomczość języa, jesteśmy zateresowa ja ajrótszym odowaem. W tym celu rzyatrzmy sę oŝszym rozwaŝaom. Kodem zwartym azywamy od jedozaczy o mmalej redudacj. Przy tym: od jedozaczy to ta od, w tórym Ŝadem omuat e jest oczątem ego omuatu. Dobra srawa! Kod zwarty ma mmalą redudację a rzy tym moŝa odać wele omuatów jede-o-drugm, wedząc rzy tym ja wygląda ch tzw delmtacja (odzał). Dodatowo zachodz: Jeśl rawdoodobeństwa wystęowaa omuatów są otęgam ostruować od zwarty o redudacj = 0., to moŝa Jeda z metod ostruowaa odu zwartego jest metoda Huffmaa Przyład (zowu otyuacja rzyładu odaego rzy etro): SUMA od Będzemy tworzyć oszczególe ody. Metoda: łączymy oszczególe aram te, tóre mają o ajmejszych wartoścach. W te sosób owstają oglomeraty. Dalej moŝemy według tej samej zasady łączyć zarówo ja ch oglomeraty. Czymy to ta długo, aŝ e otrzymamy elemetów: ) START ) ) od ody ody ( ) + = + =
W tym momece rzechodzmy do rozaowywaa oglomeratów, za aŝdym razem jedemu z jego człoów adając wartość 0, a drugemu : 0 ( ) 0 ( ) Srawdźmy le teraz wyos R: 0 N 8 L = N = + ( + + ) = + = +, =,, co rzy detyczym H (=,795), daje am R =,,795 = 0,508, a węc zdecydowae mejszą redudację Ŝ w orzedch dwóch sytuacjach dla tego rzyłady rozładu rawdoodobeństw (R było rówe,7075,7075). Ne dość, Ŝe zmejszylśmy redudację, to jeszcze uzysalśmy od jedozaczy. Stąd: jeśl zaszemy cąg tych omuatów (dowolej długośc),.: 0000, To zawsze moŝemy go rozłoŝyć a ojedycze omuaty: ) Na 0 zaczya sę tylo 0. Odcmy to 0 zostaje am 000 ) - e ma, teŝ; jest doero 0 (a c ego e zaczya sę a 0). Odcamy węc 0 zostaje am 00 ) - e ma, teŝ; jest doero (a c ego e zaczya sę a ). Odcamy węc zostaje am 00. ) 0 jest, a a 0 c węcej sę e zaczya. Odcamy węc 0 zostaje am 0 5) - e ma, 0 jest ończy cąg. W te sosób zdeodowalśmy 0000 a 0 0 0 0. Przy tym dooalśmy tego w sosób jedozaczy. Czy redudacja jest szodlwa? Rozatrzmy astęujący rzyład: ) NaleŜy zaodować cyfry od 0 do 9 (rawdoodobeństwo wystąea aŝdej z ch wyos 0. Ile wyos R (bez z wzgl. btu arzystośc dodajemy jedyę tam, gdze w odze jest earzysta lczba jedye, by w sume była ch arzysta lczba))?
cyfra Kod rozszerzoy o bt arzystośc od bt arzystośc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 7 0 0 8 0 9 0 Bez btu arzystośc: 0 L = = 0 =, 0 0 0, H = log 0 0 =,, 0 0 stąd R = L H =, = 0,8. Z btem arzystośc: L= 5, H e ulega zmae (tj. teŝ =,), a węc R = L H = 5, =,8. Było węc mmale (ułamowe) wzrosło zaledwe o. Taa redudacja wydłuŝa węc słowo, jest węc szodlwa. Jeda dodae owego btu arzystośc umoŝlwa wyryce otecjalego rzełamaa jedego zau (bo wtedy e będze arzysta lczba jedye), a gdy jesteśmy zateresowa duŝą ezawodoścą omuatu, wówczas owo zwęszee redudacj o e jest Ŝ ta osztowe (lecz wręcz rzecwe jest orzyste). Mała redudacja e jest eorzysta. CDN