Vous êtes sur la page 1sur 9

Wstęp do teorii Informacji i kodowania

Wstęp do teorii Informacji i kodowania


Paweł Przybyłowicz

14 maja 2008

Streszczenie
W artykule przybliżamy czytelnikowi podstawowe pojęcia z dziedziny Teorii Informacji,
takie jak, subiektywne i obiektywne podejścia do informacji, model źródła informacji czy
też entropia. Ponadto, omawiamy kodowanie Huffmana, które jest jednym z najczęściej
wykorzystywanych narzędzi przy konstruowaniu algorytmów kompresji dźwięku i obrazu.

Słowa kluczowe: teoria informacji, kodowanie, entropia, kod Huffmana, twierdzenie Shan-
nona

1 Wstęp do teorii informacji


Tak jak nie ma jednej prostej definicji życia mimo, że jego istota wydaje się intuicyjnie jasna,
tak nie ma jednej definicji informacji. Przyjmuje się, że informacja jest pojęciem pierwotnym,
tak jak w aksjomatyce teoriomnogościowej pojęciem pierwotnym jest zbiór. Oznacza to, że
ścisłe jej zdefiniowanie za pomocą pojęć prostszych nie jest możliwe. Sens pojęcia informacji
wyjaśnia się na poziomie odpowiadającym naszej intuicji. Mianowicie, istnieją dwa podstawowe
punkty widzenia informacji:

• obiektywny - jest to podejście matematyczne, które opiera się na pojęciu entropii. W


tym przypadku informacja oznacza pewną własność fizyczną lub strukturalną obiektów.

• subiektywny - informacja ma charakter względny i jest tym, co umysł jest w stanie


przetworzyć i wykorzystać do własnych celów.

Rozwiniemy teraz szerzej te dwa wątki [1].

Centrum Modelowania Matematycznego Sigma 1


Wstęp do teorii Informacji i kodowania

1.1 Podejście obiektywne


Definicja obiektywna informacji polega na przyjęciu określonych modeli źródeł informacji oraz
ustaleniu obliczeniowej miary jej ilości. Na przykład, w teorii informacji Shannona, informacja
jest mierzona jako prawdopodobieństwo zajścia zdarzenia. Zdarzenia mniej prawdopodobne
dają więcej informacji. Informację można więc zdefiniować, jako poziom niepewności odbiorcy
związanej z tym, co jest przekazywane. W takim przypadku informację stanowią tylko te sym-
bole, które są nieokreślone w tym sensie, że odbiorca nie ma pewności, co dokładnie otrzyma.
Wydaje się to intuicyjnie jasne. Jeśli bowiem wiemy jaki symbol otrzymamy to znaczy, że in-
formację już posiadamy i nic nowego się nie dowiemy. Wyobraźmy sobie zatem, że oglądamy
pewien rysunek poprzez niewielkie okienko, które możemy przesuwać wzdłuż i wszerz obrazu.
W danym momencie obserwujemy jedynie niewielki jego fragment, możemy 1 jednak, w pew-
nym bardzo ograniczonym zakresie, przewidywać kolejne kolory jakie się będą pojawiać przy
powolnym przesuwaniu okienka. Zatem na podstawie danego zbioru pikseli możemy szacować
prawdopodobieństwo wystąpienia określonych sąsiadujących pikseli, których w danym momen-
cie nie widzimy. Jeśli po przesunięciu okienka okaże się, że dobrze przewidzieliśmy, wówczas
płynąca z tego informacja będzie niewielka. Natomiast jeśli będziemy zaskoczeni kolejnymi
kolorami, wówczas zysk informacyjny będzie znaczny.

Wyróżnia się informację ze zbiorem dyskretnym, tzn. ze skończoną liczbą symboli, oraz
ciągłym – nieprzeliczalnym. W praktycznych zastosowaniach wykorzystuje się głównie pojęcie
informacji ze zbiorem dyskretnym. W tym przypadku określa się tak zwany alfabet, czyli zbiór
informacji elementarnych. Zawiera on wszystkie podstawowe symbole wyrażające informację.
Na jego podstawie definiuje się ciągi informacji. Kolejność pojawiania się tych ciągów jest istotą
obiektywnego pojęcia informacji.

Przykład 1 Przykładem alfabetu może być zbiór dwuelementowy A = {α, β}, natomiast
przykładowym ciągiem informacji nad alfabetem A jest ciąg s(A) = (α, β, α, β, β, ...). 

1.1.1 Modele źródeł informacji


Matematyczny model obiektu fizycznego, który w sposób probabilistyczny generuje sukcesyw-
nie symbole, nazywamy źródłem informacji i oznaczamy przez S. Takie zdefiniowanie źródła
informacji oznacza założenie, że informacja jest realizacją pewnej zmiennej losowej (dokładniej
- szeregu czasowego)2 . Jeśli dodatkowo znane są własności statystyczne, takie jak na przy-
kład rozkład prawdopodobieństwa szeregu czasowego, opisującego informację, wówczas model
ten nazywamy modelem z pełną informacją statystyczną. W praktyce, zazwyczaj, nie znamy
dokładnie wartości prawdopodobieństw występowania określonych symboli w ciągu informa-
cji. Prawdopodobieństwa te przybliża się przyjmując za estymator liczbę wystąpień danego
1
Przy założeniu, że artysta który go stworzył nie był zbyt ekscentryczny.
2
Procesem stochastycznym nazywamy rodzinę zmiennych losowych {Xt }t∈T , gdzie T jest zbiorem indeksów,
zazwyczaj interpretowanym jako czas. Jeśli zbiór T jest nieprzeliczalny, np.: T = [0, 1] wtedy mówimy o procesie
stochastycznym z czasem ciągłym. Jeśli T jest zbiorem dyskretnym, wówczas mówimy o szeregu czasowym.

Centrum Modelowania Matematycznego Sigma 2


Wstęp do teorii Informacji i kodowania

symbolu w ogóle podzieloną przez liczbę wystąpień wszystkich symboli. Losowy model źródła
informacji odpowiada wspomnianej wyżej niepewności otrzymywania kolejnych symboli.
DMS – Discrete Memoryless Source
Dyskretne źródło bez pamięci jest najprostszą formą źródła informacji S. Brak pamięci oznacza,
że symbole emitowane przez źródło są wzajemnie statystycznie niezależne. Źródło DMS jest
całkowicie określone przez alfabet AS = {a1 , a2 , ..., an } oraz wartości prawdopodobieństw
pi = P ({ai }) wystąpienia poszczególnych elementów ze zbioru AS . Ponieważ liczby pi mają
być rozkłademP prawdopodobieństwa pewnej zmiennej losowej s o wartościach w zbiorze AS , to
pi ≥ 0 oraz ni=1 P ({ai }) = 1. Z niezależności emisji kolejnych symboli wynika na przykład,
że prawdopodobieństwo wystąpienia łańcucha informacji (a2 , a9 , a3 , a4 ) wynosi

P ({a2 , a9 , a3 , a4 }) = P ({a2 })P ({a9 })P ({a3 })P ({a4 }).

CSM – Conditional Source Model


Nietrudno się domyśleć, że założenie statystycznej niezależności emisji kolejnych symboli jest
nadmiernym uproszczeniem w stosunku do rzeczywistości i jest rzadko spełnione w praktyce.
Na przykład w obrazach sąsiednie piksele wykazują dużą wzajemną korelację chyba, że ktoś
generował je celowo w sposób całkowicie losowy.

W celu lepszego opisania rzeczywistej informacji zawartej w zbiorze danych używa się tzw.
warunkowego modelu źródła. Aby odróżnić go od modelu DMS nazywa się go także modelem
z pamięcią. Oczywiście szczególnym przypadkiem modelu CSM jest DMS oraz omówiony w
kolejnym podpunkcie model źródła Markowa.

W modelu CSM w każdej konkretnej chwili czasowej t, po wcześniejszym odebraniu ze


źródła sekwencji symboli st = (s1 , ..., st ), można na podstawie przeszłości (czyli st ) prze-
widywać postać kolejnego symbolu. Predykcja ta jest możliwa poprzez określenie rozkładu
warunkowego P (·|st ). Zatem pamięć źródła informacji ma wpływ na prawdopodobieństwo wy-
stąpienia określonego symbolu w momencie t + 1. Kontekst wystąpienia symbolu st+1 jest to
podzbiór, zazwyczaj skończony, zbioru wszystkich dostępnych z przeszłości danych st . Jak już
wspomnieliśmy wcześniej, rzadko kiedy znamy rozkład prawdopodobieństwa zmiennej losowej,
której realizacją jest informacja. W praktyce, prawdopodobieństwo warunkowe, określające
szansę wystąpienia symbolu ai w kontekście bj (który wystąpił w momencie czasowym j),
estymujemy za pomocą wzoru 3
N (ai , bj )
P ({ai }|{bj }) = , i = 1, ..., n, j = 1, ..., k,
N (bj )

gdzie N (ai , bj ) oznacza łączną liczbę wystąpień symbolu ai i kontekstu bj , natomiast N (bj )
jest liczbą wystąpień kontekstu bj . W szczególnym przypadku, gdy dla pewnego j, N (bj ) =
3
Postać tego estymatora wynika ze wzoru na prawdopodobieństwo warunkowe.

Centrum Modelowania Matematycznego Sigma 3


Wstęp do teorii Informacji i kodowania

0, co oznacza, że dany kontekst jeszcze się nie pojawił, wtedy za P ({ai }|{bj }) przyjmuje
się dowolną wartość z przedziału [0, 1]. W tym przypadku można zastosować tzw. technikę
Bayesowską, polegającą na założeniu z góry pewnego rozkładu dla źródła informacji.
MSM – Markov Source Model
Model źródła Markowa4 jest to model w którym prawdopodobieństwo wystąpienia symbolu ai
z alfabetu źródła zależy jedynie od m symboli, jakie się już bezpośrednio przed nim pojawiły,

P ({ai }|{bj }) = P ({ai }|{aj1 , ..., ajm }), i, j1 , ..., jm = 1, ..., n.

W porównaniu do modelu CSM, w modelu Markowa nie korzystamy z całej historii, na którą
składają się kolejne symbole pojawiające się w kolejnych chwilach czasowych, tylko zapominamy
jej część.
1.2 Entropia – ilościowa miara informacji
Omówiliśmy najczęściej wykorzystywane, probabilistyczne źródła informacji. Pojawia się teraz
pytanie jak ilościowo mierzyć informacje w tych modelach.

W teorii informacji wymaga się od miary ilościowej, aby spełniała trzy założenia:

• Ilość informacji zawarta w wiadomości o wystąpieniu zdarzenia A powinna zależeć jedynie


od prawdopodobieństwa zajścia tego zdarzenia. Dodatkowo zakłada się, aby ta zależność
była ciągła. Nieformalnie oznacza to, że zdarzenie o prawdopodobieństwie p niesie ilość
informacji, która niewiele różni się od ilości informacji uzyskanej przez zajście zdarzenia
o prawdopodobieństwie p + ǫ, gdzie ǫ > 0 jest dowolnie małą liczbą.

• Zajście zdarzenia mniej prawdopodobnego dostarcza więcej informacji, niż zajście zda-
rzenia o dużym prawdopodobieństwie.

• Addytywność miary ilości dostarczonej informacji – informacja związana z wystąpieniem


dwóch niezależnych zdarzeń jest równa sumie informacji zawartej w każdym z tych zda-
rzeń.

Oznaczmy przez I funkcję, która prawdopodobieństwu zajścia zdarzenia A przypisuje pewną


liczbę rzeczywistą. Wartość tej funkcji będziemy interpretować jako ilość uzyskanej informacji.
Niech spełnia ona powyższe założenia. Wówczas:

• Funkcja I : (0, 1] → R jest odwzorowaniem ciągłym.


4
Nazwa ta pochodzi od procesów Markowa. Proces Markowa jest to taki proces stochastyczny {Xt }t∈T ,
którego rozkład prawdopodobieństwa w danej chwili t nie zależy od całej historii procesu, lecz jedynie od jego
zachowania w momencie bliskim chwili t. Matematycznym wyrazem tej własności jest

P (Xt ≤ z|{Xr : 0 ≤ r ≤ s}) = P (Xt ≤ z|Xs ),

dla dowolnego s ≤ t, s, t ∈ T i z ∈ R.

Centrum Modelowania Matematycznego Sigma 4


Wstęp do teorii Informacji i kodowania

• Jeżeli pA ≤ pB oznaczają odpowiednio prawdopodobieństwa zdarzeń A i B, to I(pA ) ≥


I(pB ).

• Funkcja I spełnia warunek 5

I(pA · pB ) = I(pA ) + I(pB ), (1)

gdzie pA i pB są prawdopodobieństwami zdarzeń niezależnych A i B.

Szukamy więc funkcji rzeczywistej, ciągłej, nierosnącej, która spełnia równanie funkcyjne (1).
Z teorii równań funkcyjnych wynika, że taką funkcją jest 6 7
 
1
I(p) = log2 , p ∈ (0, 1].
p

Zauważmy, że I(1) = 0 – zajście zdarzenia o prawdopodobieństwie 1 nie daje żadnej dodatkowej


informacji, ponad to co już wiemy. Odwrotnie jest ze zdarzeniami o prawdopodobieństwie
bliskim 0. W ich przypadku
lim I(p) = +∞,
p→0

więc zajście zdarzenia o którym sądzimy, że jest bardzo mało prawdopodobne ogromnie wzbo-
gaca naszą wiedzę. W teorii informacji wielkość I({ai }) = − log2 pi , związana z prawdopodo-
bieństwem wystąpienia pojedynczego symbolu ai , nazywana jest informacją własną.

Niech dana będzie zmienna losowa X o rozkładzie dyskretnym pi = P (X = αi ), gdzie αi


mogą być liczbami rzeczywistymi lub ciągami informacji nad pewnym alfabetem, i = 1, ..., k,
k ∈ N \ {0, 1}. Zajście zdarzenia {X = αi } daje nam ilość informacji równą I(pi ) = − log2 pi .
Ponieważ każde ze zdarzeń {X = αi } zachodzi z prawdopodobieństwem pi , to średnia ilość
informacji z obserwacji zmiennej losowej X wynosi
k
X k
X
H(X) = pi I(pi ) = − pi log2 (pi ). (2)
i=1 i=1

Wielkość ta nosi nazwę entropii zmiennej X. Interpretuje się ją jako średnią ilość informacji
przypadającą na generowany symbol, którą należy dostarczyć, aby zanikła wszelka niepewność
z sekwencji tych symboli.
5
Zauważmy, że warunek (1) możemy indukcyjnie uogólnić na dowolną skończoną ilość zdarzeń niezależnych
{Ai }ki=1 o prawdopodobieństwach {pAi }ki=1 , k ∈ N \ {0, 1}. Mianowicie, jeśli funkcja I spełnia (1) to spełnia
również:
I(pA1 · pA2 · ... · pAk ) = I(pA1 ) + I(pA2 ) + ... + I(pAk ).

6
Funkcja ta jest wyznaczona przez powyższe postulaty z dokładnością do stałej.
7
Będziemy też czasem, zamiast I(p), pisać I(A), gdzie A jest zdarzeniem o prawdopodobieństwie p.

Centrum Modelowania Matematycznego Sigma 5


Wstęp do teorii Informacji i kodowania

Przykład 2 Przykładowo, w modelu źródła S bez pamięci DMS entropia wynosi:


n
X
HDM S (S) = P ({ai })I({ai }), (3)
i=1

gdzie n oznacza liczbę symboli ai alfabetu AS . 

We wzorze (2) można przyjąć inną podstawę logarytmu, która określa jednostkę uzyskanej
informacji. Podstawa równa 2 oznacza, że średnią ilość informacji wyrażamy w bitach na sym-
bol. Zauważmy, że dla zdarzenia A o prawdopodobieństwie P (A) = 12 informacja I(A) = 1.
Również dla zdarzenia przeciwnego A′ mamy P (A′ ) = 1 − P (A) = 12 oraz I(A′ ) = 1. Tak
więc jeden bit to ilość informacji jaką uzyskujemy, gdy zachodzi jedna z dwóch alternatywnych
możliwości 8 . Na przykład poznany wynik rzutu monetą niesie jeden bit informacji. Również
jeden bit informacji zyskujemy, gdy ktoś oznajmia, że w wyniku rzutu sześcienną symetryczną
kostką do gry wypadła parzysta liczba oczek.

Okazuje się, że informacja jest wielkością fizyczną. Mówi o tym Zasada Landauera.

Twierdzenie 1 (Zasada Landauera) Wymazanie jednego bitu informacji w otoczeniu o tem-


peraturze T wymaga straty energii (wydzielenia ciepła) o wartości co najmniej kT ln 2, gdzie
k - stała Boltzmanna i k = 1.38 × 10−23 J/K. 

Obiektywny punkt widzenia informacji pomija znaczenie, jakie niesie komunikat, a skupia się
jedynie na jego składni. Oznacza to, że nie prowadzi się rozważań dotyczących prawdziwości czy
znaczenia tego, co informacja ze sobą niesie. Semantyka informacji ma znaczenie w podejściu
subiektywnym do definicji informacji.
1.3 Podejście subiektywne
Z subiektywnego punktu widzenia informacją jest to wszystko, co można użyć do efektywniej-
szego wyboru działań prowadzących do określonego celu [1]. Informację można też zdefiniować
poprzez jej użyteczność dla konkretnego odbiorcy, z jego punktu widzenia. Oczywiście takie po-
dejście wiąże się z dużą niejednoznacznością i problemami w definiowaniu miar ilości informacji.
Na przykład wiadomość o wygranej w Toto-Lotku dla posiadacza szczęśliwego losu stanowi
informację wprost bezcenną, natomiast dla osoby, która w takie gry w ogóle nie gra wynik loso-
wania nie stanowi żadnej informacji. Z tych względów w kodowaniu wykorzystuje się podejście
obiektywne do informacji. Jednak nie zawsze można całkowicie pominąć aspekt znaczeniowy.
Przykładowo, semantyka obrazów medycznych, czy też zdjęć satelitarnych jest na tyle ważna,
że powinna zostać uwzględniona w procesie optymalizacji algorytmów kompresji. W takich
przypadkach podejście subiektywne stanowi pewne uzupełnienie podejścia obiektywnego.
8
W informatyce jeden bit oznacza ilość informacji potrzebną do zakodowania, które z dwóch równie praw-
dopodobnych alternatywnych zdarzeń zaszło.

Centrum Modelowania Matematycznego Sigma 6


Wstęp do teorii Informacji i kodowania

2 Kodowanie Huffmana
Przed przystąpieniem do omawiania kodowania Huffmana przytoczymy podstawowe definicje
i zasady kodowania [1].
2.1 Teoretyczne podstawy kodowania
Niech S będzie pewnym probabilistycznym źródłem informacji o alfabecie AS .

Definicja 1 Funkcją kodującą nazywamy odwzorowanie K : AnS → A∗{0,1} przekształcające


zbiór AnS , wszystkich niepustych i skończonych ciągów informacji nad alfabetem AS o n sym-
bolach, w zbiór A∗{0,1} , wszystkich niepustych i skończonych ciągów informacji nad alfabetem
A{0,1} = {0, 1}. 

Definicja 2 Algorytm kodowania jest to sposób w jaki funkcja kodująca przekształca wejściowy
ciąg informacji w wyjściową bitową sekwencję kodową, zwaną reprezentacją kodową. Koderem
nazywamy natomiast konkretną realizację algorytmu kodowania. 

Z powyższych definicji wynika, że koduje się jedynie skończone ciągi symboli. Jest to oczy-
wiście podyktowane względami praktycznymi. Należy również zaznaczyć, że w przypadku ko-
dowania wymaga się aby na podstawie reprezentacji kodowej, uzyskanej z kodera realizującego
algorytm opisany funkcją kodującą K, można było jednoznacznie odtworzyć oryginalny zbiór
symboli wejściowych. Tak więc wymaga się, w przeciwieństwie do np. metod szyfrowania, aby
reprezentacja kodowa była jednoznacznie dekodowalna. Zakładamy więc bijektywność funkcji
K. Injektywność odwzorowania K oznacza, że dla dwóch dowolnych ciągów symboli wyjścio-
wych (s11 , s12 , ..., s1t ) i (s21 , s22 , ..., s2r ), nad alfabetem AS , spełniona jest implikacja:

K(s11 , s12 , ..., s1t ) = K(s21 , s22 , ..., s2r ) =⇒ (t = r ∧ s1i = s2i , i = 1, ..., t).

Implikacja ta wyraża jednoznaczność dekodowania. Surjektywność K oznacza, że dla każdej


reprezentacji kodowej istnieje pewien wyjściowy ciąg informacji (każdy kod można odkodować).

W przypadku kodowania binarnego, sekwencji danych uzyskanego ze źródła informacji S,


chcemy aby reprezentacja binarna była możliwie jak najkrótsza i aby oczywiście zachowywała
całą informację dostarczoną przez źródło. Pytamy więc o graniczną, możliwą do uzyskania,
efektywność kodowania. Poniższe twierdzenie Shannona mówi o minimalnej wartości średniej
bitowej reprezentacji kodowej.

Twierdzenie 2 (C. E. Shannon) Średnia ilość bitów przypadająca na jeden zakodowany


symbol LS jest nie mniejsza od entropii H(S) źródła, które go wygenerowało

H(S) ≤ LS .

Centrum Modelowania Matematycznego Sigma 7


Wstęp do teorii Informacji i kodowania

Metoda bezstratnego kodowania jest więc tym lepsza im użyta przez nią średnia ilość bitów
na zakodowany symbol jest bliższa entropii źródła. Jedna z wersji twierdzenia Shannona mówi,
że każde źródło danych może być bezstratnie zakodowane przy użyciu bijektywnej funkcji
kodującej, której wymagana średnia liczba bitów na symbol źródła jest dowolnie bliska, ale nie
mniejsza niż entropia źródła S. Optymalną metodą kodującą jest metoda Huffmana.
2.2 Kod Huffmana
Niech S = {s1 , . . . , sn } będzie zbiorem symboli, których prawdopodobieństwa wystąpienia
wynoszą odpowiednio p1 , . . . , pn . Kodowanie Huffmana zbioru symboli S przebiega według
następującego algorytmu ([1]):

1. Symbole ze zbioru S wraz z prawdopodobieństwami przypisz liściom konstruowanej struk-


tury drzewa binarnego. Stanowią one początkowy zbiór wierzchołków wolnych. Wierz-
chołki te będą łączone w nowe poddrzewa z węzłem rodzica umieszczonym na wyższym
poziomie drzewa.

2. Sortuj listę wierzchołków wolnych w porządku nierosnącym ze względu na wartość praw-


dopodobieństwa.

3. Wybierz dwa wierzchołki wolne z końca listy i połącz je z tworzonym węzłem rodzica w
nowe poddrzewo. Prawdopodobieństwo nowego wierzchołka ustalamy jako sumę praw-
dopodobieństw dzieci.

4. Z listy usuwamy dwa ostatnie wierzchołki, a na ich miejsce wpisujemy nowo utworzony
węzeł rodzica.

5. Przypisz gałęziom prowadzącym od rodzica do węzłów-dzieci etykiety: 0 i 1. Przykła-


dowo, 0 dla gałęzi prowadzącej do węzła z końca listy.

6. Kroki 2 – 5 powtarzaj tak długo aż na liście wierzchołków wolnych pozostanie tylko jeden
węzeł (korzeń drzewa).

7. W ostatnim kroku odczytujemy ze struktury otrzymanego drzewa słowa kodowe kolejnych


liści. Słowa te, dla danego liścia, tworzymy odczytując binarne etykiety kolejnych gałęzi
przy przejściu od korzenia do tego liścia.

W kodzie Huffmana częściej występującym symbolom będą przypisane krótsze słowa kodowe,
natomiast rzadziej występującym dłuższe. Ponadto, dwa symbole występujące najrzadziej będą
miały słowa kodowe o tej samej długości.

Przykład 3 Dany niech będzie ciąg symboli s nad alfabetem AS = {A, B, C, D, E}. Zakła-
5
damy, że symbole tego alfabetu występują odpowiednio z prawdopodobieństwami pA = 36 ,
18 6 3 4
pB = 36 , pC = 36 , pD = 36 i pE = 36 . Postępujemy teraz zgodnie z punktami 2 – 5 opi-
sanego wyżej algorytmu. Posortowana według wartości prawdopodobieństw lista wierzchołków

Centrum Modelowania Matematycznego Sigma 8


Wstęp do teorii Informacji i kodowania

wolnych ma postać: {B, C, A, E, D}. Wierzchołki D i E łączymy z tworzonym węzłem ro-


7
dzica oznaczonym E + D. Prawdopodobieństwo nowego węzła wynosi pD + pE = pE+D = 36 .
Posortowana lista ma teraz postać: {B, E + D, C, A}. W kolejnym kroku łączymy wierzchołki
C i A z węzłem rodzica oznaczonym C + A. Jego prawdopodobieństwo wynosi pC + pA =
pC+A = 11 36 . Uaktualniona lista wierzchołków ma teraz postać {B, C + A, D + E}. Następ-
nie łączymy C + A i D + E z węzłem rodzica (C + A) + (D + E) o prawdopodobieństwie
pC+A + pD+E = p(C+A)+(D+E) = 18 36 . Lista składa się teraz już tylko z dwóch elementów
{B, (C + A) + (D + E)}. W ostatnim kroku łączymy wierzchołki B i (C + A) + (D + E)
z węzłem rodzica oznaczonym przez B + ((C + A) + (D + E)). Ponieważ lista zawiera już
tylko jeden wierzchołek (korzeń drzewa), więc możemy odczytać odpowiednie słowa kodowe
dla symboli alfabetu: A → 010, B → 1, C → 011, D → 000 oraz E → 001. Tak więc
na zakodowanie symbolu B potrzeba 1 bitu, a pozostałe symbole kodowane są na 3 bitach.
Średnia ilość bitów przypadająca na jeden zakodowany symbol wynosi:

LS = 3 · pA + 1 · pB + 3 · pC + 3 · pD + 3 · pE = 2,

tymczasem entropia źródła


     
1 1 1
H(S) = pA log2 + pB log2 + pC log2 +
pA pB pC
   
1 1
pD log2 + pE log2 = 1, 37059.
pD pE


Literatura
[1] Artur Przelaskowski, Kompresja danych - Podstawy, Metody bezstratne, Kodery obrazów,
BTC, Warszawa 2005.

[2] Grzegorz Kraszewski, Systemy multimedialne - wykłady.

[3] Jacek Jakubowski, Rafał Sztencel, Wstęp do teorii prawdopodobieństwa, Warszawa 2001,
SCRIPT.

[4] Paweł Przybyłowicz, Matematyczne podstawy kompresji JPEG, CMM Sigma, 2007.

Centrum Modelowania Matematycznego Sigma 9