Professional Documents
Culture Documents
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
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) = (α, β, α, β, β, ...).
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
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.
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.
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,
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:
• Zajście zdarzenia mniej prawdopodobnego dostarcza więcej informacji, niż zajście zda-
rzenia o dużym prawdopodobieństwie.
dla dowolnego s ≤ t, s, t ∈ T i z ∈ R.
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
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ą.
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.
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.
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.
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 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).
H(S) ≤ LS .
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]):
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.
6. Kroki 2 – 5 powtarzaj tak długo aż na liście wierzchołków wolnych pozostanie tylko jeden
węzeł (korzeń drzewa).
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
LS = 3 · pA + 1 · pB + 3 · pC + 3 · pD + 3 · pE = 2,
Literatura
[1] Artur Przelaskowski, Kompresja danych - Podstawy, Metody bezstratne, Kodery obrazów,
BTC, Warszawa 2005.
[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.