RMAN ABRAMSON
TEORIA INFORMACJI I KODOWANIA
l
PRZEDMOWA
Praca nad tą książką została zapoczątkowana przez przygotowanie zbioru notatek na temat teorii informacji i kodów binarnych do cyklu wykładów wygłaszanych w Federalnych Laboratoriach ITT. Następnie notatki te były rozszerzone i wykorzystane jako materiały do jednotrymestralnego kursu dyplomowego na wydziale elektrotechniki Uniwersytetu w Stanfordzie. Przeważająca część końcowej wersji rękopisu została opracowana podczas jednosemestralnego kursu teorii informacji przeprowadzonego w Laboratoriach Badawczych 1BM0) w San Jose w Kalifornii. Celem tej książki jest przedstawienie podstawowych pojęć teorii informacji, bez wnikania — o ile tylko to jest możliwe — w szczegółowe zależności matematyczne, będące językiem najczęściej używanym dla wyrażania tych pojęć. Wprawdzie możliwe jest traktowanie teorii informacji jedynie jako matematycznych rozważań nad własnościami pewnych wielkości, na zbiorach których zdefiniowana jest miara prawdopodobieństwa, jednakże nas interesować będą związki tej teorii z praktycznymi zastosowaniami i związki pomiędzy badanymi wielkościami i szeroką klasą ważnych intuicyjnych pojęć, występujących w różnych dziedzinach. W celu wydobycia tych związków użyjemy matematyki jako języka adekwatnego do wyrażania teorii informacji. Najważniejsze twierdzenia teorii informacji będą ściśle sformułowane i udowodnione. Kompletne dowody podane będą dla wszystkich twierdzeń, a odwoływanie się do intuicji mieć będzie miejsce tylko przy interpretowaniu wyprowadzonych rezultatów. Pomimo tego podbudowa matematyczna wymagana do zrozumienia wykładanego w tej książce materiału jest całkiem skromna. Umiejętność działań na logarytmach i intuicyjne zrozumienie pojęcia prawdopodobieństwa oraz pojęcia wartości średniej stanowią to, co jest tu konieczne. Rachunek różniczkowy i cał-(') International Bussiness Machines (przyp. tłum.).
6
Przedmowa
kowy nie jest wykorzystywany w tej książce. Jednakże chcemy uprzedzić czytelnika nie mającego przygotowania matematycznego, że bez pewnego zaznajomienia się z podstawowymi metodami dowodzenia stosowanymi w matematyce, zużyje on sporo czasu dla zrozumienia pewnych fragmentów przytaczanych tu dowodów. Natomiast same twierdzenia i objaśnienia ich znaczenia nie będą wymagały podbudowy matematycznej. Taka prostota została osiągnięta za cenę ograniczenia ogólności podejścia do przedmiotu. Rozważane bowiem będą tu tylko źródła wiadomości o skończonej liczbie elementów i skończonej pamięci. Spośród kanałów informacyjnych rozważać będziemy tylko kanały o pamięci zerowej i o skończonej liczbie dopuszczalnych postaci sygnałów wejściowych i wyjściowych. Takie ograniczenia pozwolą nam przedstawić wszystkie najważniejsze problemy teorii informacji. Jednakże ceną, jaką trzeba było zapłacić za takie ograniczenia, jest elegancja matematyczna wykładu. Tym spośród czytelników, dla których jest ona istotna, wskazujemy przeto prosty sposób dokonania odpowiednich uogólnień, mianowicie: można ich dokonać przez przeniesienie przedstawionych tu dowodów do pól borelowskich. Materiał zawarty w tej książce przeszedł próby wykładów zarówno dla uniwersyteckiej jak i przemysłowej grupy słuchaczy. Materiał ten można z powodzeniem wyłożyć w ciągu jednego semestru studentom specjalizującym się w dziedzinie elektroniki, badań operacyjnych lub maszyn matematycznych. Studentom o lepszym przygotowaniu matematycznym lub specjalnie zainteresowanym przedmiotem zalecam bardziej zaawansowane problemy przedstawione w uwagach na końcu każdego rozdziału. Uwagi te są pomyślane jako sugestie szeregu interesujących tematów badawczych z dziedziny teorii informacji. Na końcu każdego rozdziału podane są również zadania. Do rozwiązania zadań oznaczonych gwiazdką wymagane jest stosowanie rachunku różniczkowego i całkowego. Norman
Abramson
WYKAZ OZNACZEŃ I POSTACI ENTROPII
W. 1. Schematy
Źródło wiadomości
Xl Xl
«i Si
X », I
Si~*-X{ = to,, Xiv . . . , xtj)
X,
Zbiór wiadomości
Ciąg kodowy
Zbiór sygnałów
Kodowanie wiadomości
01 02
Kanał informacyjny
61 ¿2
B b.
ar Zbiór elementarnych sygnałów wejściowych
Zbiór elementarnych sygnałów wyjściowych
Kanał informacyjny W. 2. Podstawowe oznaczenia S s( q S"
zbiór wiadomości wiadomość elementarna ze zbioru wiadomości S liczba wiadomości elementarnych w zbiorze S n-krotne rozszerzenie zbioru S wiadomość (elementarna) ze zbioru n-krotnie rozszerzonego S" źródło stowarzyszone ze źródłem S prawdopodobieństwo wiadomości elementarnej st
X zbiór sygnałów elementarnych, z których zbudowane są ciągi kodowe x, sygnał elementarny ze zbioru X
Wykaz oznaczeń i postaci entropii
8
r liczba sygnałów elementarnych w zbiorze X (także liczba sygnałów elementarnych pojawiających się na wejściu kanału) X\ ciąg kodowy (ciąg sygnałów elementarnych x{) odpowiadający wiadomości s{ / ( liczba sygnałów elementarnych użytych w ciągu kodowym Xt odpowiadającym wiadomości elementarnej st A, liczba sygnałów elementarnych użytych w ciągu kodowym odpowiadającym wiadomości
zbiór elementarnych sygnałów wyjściowych (na wyjściu kanału) sygnał elementarny ze zbioru B liczba sygnałów elementarnych pojawiających się na wyjściu kanału n-krotne rozszerzenie zbioru elementarnych sygnałów wyjściowych ciąg ze zbioru B"
m oznaczenie rzędu źródła ciągów Markowa Pu element macierzy opisującej kanał; prawdopodobieństwo, że odebrane zostanie bj, gdy zostało nadane o, p prawdopodobieństwo błędu w KBS (p = l— p) PE prawdopodobieństwo błędu C przepustowość kanału M ilość wiadomości R zawartość informacji D odległość Hamminga d(bj) reguła decyzyjna
W. 3. Postacie entropii /(*,)=log
1 P(»i)
/(s,|sj) = log
P(f«lij)
ilość informacji dostarczana przez wiadomość st (źródło bezpamięciowe) ilość informacji dostarczana przez wiadomość jeżeli poprzednio odebrana była wiadomość sj (źródło ciągów Markowa pierwszego rzędu)
9 Wykaz oznaczeń i postaci entropii
entropia bezpamięciowego źródła S
P(».) 1
/ / ( 5 | J J ) = ¿ P t i i W log
entropia warunkowa w przypadku źródła ciągów Markowa pierwszego rzędu
1=1
1
« ( 5 ) = £ p ( * , , * , ) log
entropia źródła ciągów Markowa pierwszego rzędu
s
H(S)
entropia mierzona w jednostkach nych
log r //(a>)=colog — + ( 1 — to)log —i—
CO
1 —w
/ / ( / ! ) = £ P(a)log
1 PW
1
£ P ( a , 6)log
H(A, I(A;
ß)=£P(a,6)log B) =
H(A,
B\C)=
H(A\B, /(A;
£
P(a,
(entropia
1
entropia łączna A i B
P (a,b) ilość informacji
H(A)-H(A\B)
/(«; 5) = £ p ( 6 | a ) l o g
wejściowego
średnia entropia warunkowa
P(fl|"«
A. B
zbioru
warunkowa entropia A (entropia a posteriori)
A
H(A\B)—
funkcja entropii (rys. 2.3) entropia a priori)
1
r-nar-
P(6|a)
warunkowa ilość informacji
P(b) b, ć) log
entropia warunkowa A i B przy ustaloP ( o , b\c)
nym
c
C)— Y P ( a , b, c)log entropia A przy ustalonych B i C A^b.C P(fl|ó,c)
B\C)=H(A\C)—H(A\B,
C)
1(A\ B; C) = I(A ; B)-1(A
; B\C)
ilość informacji, jaką A dostarcza B przy ustalonym C wzajemna informacja A, ~B i C
1. WSTĘP
1.1 Czym nie jest teoria informacji Teoria informacji jako nazwa dla oznaczenia dyscypliny naukowej jest wybitnie pociągająca; kiedy jednak odnieść tę nazwę do przedmiotu tej książki, okazuje się ona nieco myląca. Początki teorii informacji datują się od publikacji Claude E. Shannona w Bell System Technical Journal w 1948 roku (Shannon, 1948) (Ł). Shannon, zdając sobie być może sprawę z mogącego wprowadzić w błąd sensu słowa „informacja", nadał swej pracy tytuł Matematyczna teoria telekomunikacji. Używając słowa „informacja" w potocznym znaczeniu, można powiedzieć, że praca Shannona dotyczy raczej przekazywania przenoszących informację sygnałów, nie zaś informacji jako takiej. Praca ta dotyczy raczej telekomunikacji i środków telekomunikacji niż trudno uchwytnego rezultatu końcowego telekomunikacji, jakim jest informacja. Rozróżnienie, jakie chcemy tutaj wprowadzić, jest bardzo ważne. Poczynając od rozdziału 2, określimy szereg podstawowych własności, jakie powinny posiadać sygnały służące przekazywaniu informacji. Będziemy wskazywali, że sygnały muszą spełniać pewne warunki, jeżeli mają być zdolne do przenoszenia informacji; będziemy wiązać własności sygnałów z ilością informacji, jaką te sygnały mogą przenieść. Jednakże o tym, czy rozważany sygnał istotnie przenosi informację, będą na ogół decydować czynniki nie mieszczące się w zasięgu naszej teorii. Na przykład zdanie: „le soleil brille" ( 2 ) dostarczy informacji tylko niektórym spośród czytelników tej książki. Wspólny język ułatwia przekazywanie informacji. Znacznie mniej oczywiste jest oddziaływanie na informację czynników psy(') Wykaz cytowanej literatury znajduje się na końcu książki. ( 2 ) Po francusku „słońce świeci" (przyp. tłum.).
12
3.1. Wstęp 12
chologicznych. Nie jest wykluczone, że zdanie „słońce świeci" może spowodować więcej niż tylko meteorologiczne implikacje, jeżeli będzie słyszane przez psychopatę. Czynniki semantyczne mogą powodować, że ten sam zbiór słów mieć będzie różne znaczenie dla różnych słuchaczy. Shannon (1948) skomentował to następująco: „Semantyczna strona telekomunikacji jest bez znaczenia dla problemów technicznych". Weaver (1949) stwierdził jednakże, iż odwrócenie tej tezy niekoniecznie jest prawdziwe — techniczne aspekty telekomunikacji mogą się wiązać z aspektami semantycznymi, psychologicznymi i lingwinistycznymi. W paragrafie 2.8 zilustrujemy zastosowanie wykładanej w tej książce teorii do lingwistyki. Jednakże oprócz tego paragrafu i pewnych uwag na końcu każdego z rozdziałów, nie będziemy się zajmowali wysoce wyspecjalizowanymi problemami związanymi z zastosowaniami teorii informacji w innych dziedzinach. Zajmiemy się centralnymi koncepcjami teorii informacji, kładąc szczególny nacisk na pojęcie miary ilości informacji i jego interpretację. Czytelnik być może zechce przeanalizować w sposób bardziej szczegółowy możliwości zastosowań teorii informacji w wielu innych dziedzinach. Możliwości takie są niemal nieograniczone. Materiał rozważany w tej książce może być w szczególności odniesiony do informacji dostarczonej przez doświadczenia przypadkowe (Lindley, 1956; Kullback, J 959; Grettenberg, 1962). Przekonamy się tu, że koncepcja entropii będąca główną koncepcją teorii informacji, w tym sensie w jakim się ją tutaj pojmuje, jest co najmniej formalnie równoważna entropii w sensie termodynamiki (Brillouin, 1956; Jaynes, 1959). Przedmiotem badań były również zastosowania teorii informacji do psychologii (Quastler, 1956), sztuki (Pierce,. 1961 str. 250-267) i semantyki (Bar-Hillel i Carnap, 1952) a nawet teologii (Elias, 1958).
1.2. Czym jest teoria informacji Pierwszym krokiem w naszych rozważaniach nad informacją będzie zdefiniowanie miary ilości informacji i badanie własności tej miary. Własności, które określimy, nadadzą sens naszej mierze i pomogą nam powiązać teorię matematyczną z motywującym tę teorią modelem fizycznym. Należy jednakże mocno podkreślić, że uzasadnienie naszej definicji miary
1.2. Czym jest teoria informacji
13
ilości informacji nie może być uzyskane w oparciu o związki mieszczące się całkowicie w ramach tej definicji. Jest rzeczą oczywistą, że można tak ustalić granice teorii informacji, że będzie to teoria konsekwentna sama w sobie i całkowicie racjonalna. Jednakże takie granice, bez dalszego ich uzasadnienia będą określały dyscyplinę jedynie matematyczną. Uzasadnienie teorii może być dokonane tylko poprzez wykazanie związków wielkości, które mieszczą się w ramach przez nas określonych, z wielkościami leżącymi całkowicie poza tymi ramami. Tak więc najpierw wprowadzimy definicję miary ilości informacji i szereg wypływających z niej związków, które same w sobie są całkowicie racjonalne. Definicja miary ilości informacji nie będzie jednakże uzasadniona przez wewnętrzną zgodność tych związków, ale poprzez dowód, że związki te dotyczą też wielkości nie objętych ramami teorii informacji. Aby podkreślić potrzebę analizowania tego, w jakim stopniu nasz model matematyczny odpowiada pojęciom fizycznym, wykorzystamy niniejszy rozdział wstępny dla postawienia kilku ważnych problemów, które mogą być sformułowane w sposób całkowicie niezależny od dowolnej szczególnej miary ilości informacji. W rozdziałach 2, 3 i 4, zobaczmy, jak nasza definicja miary ilości informacji nadaje ilościowy i matematycznie rozsądny wyraz odpowiedziom na problemy, które w dalszym ciągu tego rozdziału postawimy.
1.3. Kodowanie wiadomości W celu wprowadzenia podstawowych pojęć teorii informacji, rozpatrzymy kilka przykładów przekazywania wiadomości. Na początku ograniczymy się do rozważania szczególnie prostego, ale ważnego typu wiadomości — wiadomości binarnych. Przykłady takich wiadomości łatwo przytoczyć. Wiadomości zarejestrowane na kartach perforowanych (w maszynach analitycznych - przyp. tłum.), wiadomości przesyłane w binarnych systemach telegraficznych, wiadomości zarejestrowane w dwustanowych elementach elektronicznych maszyn liczących — oto tylko kilka przykładów. Ograniczając nasze rozważania w tym rozdziale do wiadomości tego typu poważnie uprościmy problemy, którymi chcemy się tu zająć. Jest rzeczą godną podkreślenia, że wbrew powszechnemu mniemaniu przedstawienie wiadomości w formie binarnej nie jest bynajmniej czymś
3.1. Wstęp 14
14
nowym, lecz było znane już bardzo dawno. Istotnie, wczesnym przykładem podkreślenia wagi takiego formułowania wiadomości jest następujący cytat z Ewangelii Mateusza, rozdział 5 wiersz 37: „Mowa wasza niech będzie: tak-tak, nie-nie. A co ponadto jest, ode złego jest". Taki punkt widzenia może być nieco skrajny, dlatego w naszych rozważaniach nad teorią informacji, poczynając już od rozdziału 2, będziemy operowali zarówno wiadomościami binarnymi jak i niebinarnymi. Prosty przykład przedstawienia wiadomości niebinarnych za pomocą cyfr binarnych 0 i 1 podany jest w tablicy 1.1. TABLICA 1.1. Kodowanie binarne cyfr dziesiętnych Cyfra dziesiętna
Odpowiednia liczba binarna
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Zasada przyporządkowania cyfrom dziesiętnym ciągów cyfr binarnych zilustrowana w tablicy 1.1 jest prostym przykładem kodu, ciągi binarne podane w tej tablicy — przykładami ciągów kodowych, a dziesięć cyfr dziesiętnych, którym te ciągi są przyporządkowane — przykładami wiadomości elementarnych i 1 ). Posługując się kodem przedstawionym w tablicy 1.1 (') Ciągami kodowymi nazywamy sygnały przyporządkowane wiadomościom, mające strukturę ciągów zbudowanych z sygnałów elementarnych, które mogą przyjmować niewielką ilość postaci. Zbiór takich ciągów oraz zasadę przyporządkowania ich wiadomościom nazywamy kodem, operację takiego przyporządkowania — kodowaniem, system telekomunikacyjny, w którym stosowane jest kodowanie wiadomości, nazywamy systemem kodowym. Wiadomości przesyłane w systemach kodowych mają na ogół postać ciągów zbudowanych z wiadomości przyjmujących niewielką ilość postaci, nazywanych wiadomościami elementarnymi. Pojęcia, o których tu mowa, będą szczegółowo omówione w dalszych rozdziałach (przyp. tłum.).
1.3. Kodowanie wiadomości
15
możemy oczywiście zakodować za pomocą cyfr binarnych dowolną wiadom®ść będącą ciągiem cyfr dziesiętnych (tzn. dowolny ciąg wiadomości elementarnych). Na odwrót: od ciągu cyfr binarnych tworzących ciąg kodowy takiego kodu możemy jednoznacznie powrócić do ciągu cyfr dziesiętnych tworzących wiadomość. Przejście od ciągu binarnych ciągów kodowych do odpowiadających im wiadomości elementarnych nie zawsze jest bezpośrednie. Na przykład: rozważmy kod, opisany w tablicy 1.2. TABLICA 1.2. Przykład kodu binarnego Wiadomości elementarne
Ciągi kodowe
0 01 001 111
ii Sz
s3 St
Na podstawie ciągu ciągów kodowych utworzonego według tego kodu możemy nie być w stanie jednoznacznie odtworzyć ciągu wiadomości elementarnych. Na przykład ciąg.
(1.1)
111001
możemy odtworzyć jako (1.2)
s4s3
lub jako (1.3)
s4sxs2.
W tym miejscu czytelnik może zauważyć, że użycie myślnika lub przecinka, czy zastosowanie odstępu jest wystarczającym środkiem dla pokonania tej trudności. Tak jest istotnie; użycie przecinka lub odstępu pozostaje jednakże w sprzeczności z naszymi założeniami o kodzie binarnym. Zastosowanie przecinka dla rozdzielenia ciągów kodowych jest równoważne ze stosowaniem ciągów kodowych zbudowanych z trzech sygnałów elementarnych: zera, jedynki i przecinka. Łatwo znaleźć kod, którego stosowanie nie pociąga takich trudności ak w przypadku kodu opisanego w tablicy 1.2. Jeżeli dany jest ciąg ciągów
3.1. Wstęp 16
16
kodowych utworzonych wedhig kodu opisanego w tablicy 1.3, możemy na jego podstawie określić w sposób jednoznaczny ciąg odpowiadających mu wiadomości elementarnych. W rozdziale tym zajmować się będziemy tylko takimi kodami. TABLICA 1.3. Przykład kodu binarnego Wiadomości elementarne
Ciągi kodowe
0 10 110 1110
ii
Sl s3 J*
1.4. Problem przesyłania wiadomości Dla zilustrowania podstawowych zasad kodowania i ich powiązania z pojęciem ilości informacji, rozważmy następujący problem. Istnieje potrzeba skonstruowania systemu telekomunikacyjnego łączącego San Francisco i Nowy Jork. System ten ma służyć do przekazywania stanu pogody w San Francisco w określonych momentach czasu. Wymaga się, aby w systemie tym były stosowane tylko urządzenia dwustanowe (binarne). Dla uproszczenia zadania określenie stanu pogody w San Francisco sprowadza się do stwierdzenia jednego z czterech możliwych stanów: słonecznie, chmurnie, deszczowo lub mglisto. Te cztery możliwe stany traktować będziemy jako cztery różne wiadomości, tak jak to jest pokazane w tablicy 1.4. W tablicy tej określone są także prawdopodobieństwa wystąpienia tych stanów; przyjmujemy, że są one równoprawdopodobne. Jedną z możliTABLICA
1.4.
Charakterystyka stanu w San Francisco
Wiadomości Słonecznie Chmurnie Deszczowo Mglisto
pogody
Prawdopodobieństwa
i i i i
1.4. Problem przesyłania wiadomości
17
wych metod kodowania tych wiadomości w ciągi sygnałów binarnych jest zastosowanie następującej zasady przyporządkowania ich wiadomościom zasady, którą nazywać będziemy kodem si. kod sś słonecznie
00
chmurnie
01
deszczowo
10
mglisto
11
Tak więc zakodowany za pomocą kodu sć ciąg wiadomości „słonecznie, mglisto, mglisto, chmurnie" będzie miał postać ciągu binarnego „00111101". Jest rzeczą oczywistą, że kod s/ jest kodem możliwym do przyjęcia, a to dlatego, że na podstawie danego ciągu ciągów kodowych możemy jednoznacznie odtworzyć ciąg wiadomości, któremu odpowiada ten szczególny ciąg ciągów kodowych. Jest również oczywiste, że stosowanie kodu sś wymaga dwóch symboli binarnych (binitów) (') dla przesłania pojedynczej wiadomości. Zresztą czytelnik może się łatwo przekonać, że nie da się zbudować kodu, za pomocą którego można by przekazać każdą z wymienionych wiadomości przy użyciu mniej niż dwóch symboli. Rozważmy teraz problem konstruowania podobnego binarnego systemu telekomunikacyjnego do przekazywania stanu pogody z Los Angeles do Nowego Jorku. Ze względu na istotne meteorologiczne różnice pomiędzy pogodą w San Francisco i Los Angeles, w miejsce rozważanych dotychczas czterech stanów pogody, dla określenia stanu pogody w Los Angeles wprowadzimy następujące stany: słonecznie, chmurnie, deszczowo lub zadymienie. I chociaż różnica pomiędzy zadymieniem przemysłowym O Począwszy od tego miejsca będziemy używali skrótu „binit" (skrót słów angielskich binarny digit — przyp. tłum.) dla określenia elementarnego sygnału binarnego. Jest rzeczą ważną rozróżnienie określeń binit i bit (jednostka ilości informacji, którą zdefiniujemy w rozdz. 2). Jak pokażemy, binit może dostarczać jeden bit informacji. Nazywanie sygnału binarnego bitem — jak to czynią niektórzy autorzy — jest błędem, który prowadzi do poważnych nieporozumień (przyp. tłum.). 2 Teoria informacji
3.1. Wstęp 18
18
i mgłą nie jest bez znaczenia dla mieszkańców każdego z tych miast, nie stanowi ona istotnego czynnika przy projektowaniu systemu telekomunikacyjnego. Odkąd cztery stany pogody zostały zakodowane pod postacią ciągów binarnych, sens lub znaczenie określonego ciągu staje się nieistotne z telekomunikacyjnego punktu widzenia. Jednakże może tu wystąpić inna różnica meteorologiczna, która nie jest bez znaczenia dla projektanta systemu telekomunikacyjnego. Biorąc pod uwagę klimat Los Angeles, musimy uwzględnić różne prawdopodobieństwa czterech występujących tam stanów pogody. Ilustruje to tablica 1.5. TABLICA 1.5. Charakterystyka stanu pogody w Los Angeles Wiadomości
Prawdopodobieństwa
Słonecznie Chmurnie Deszczowo Zadymienie
i ł ł i
Jeżeli do przekazywania wiadomości z Los Angeles użyjemy kodu będzie to rozwiązanie równie dobre, ale nie lepsze, niż w przypadku systemu telekomunikacyjnego transmitującego wiadomości z San Francisco. To znaczy, jeżeli użyjemy kodu będziemy wykorzystywali 2 binity dla przekazania pojedynczej wiadomości, niezależnie od stanu pogody, który ona określa. Rozważmy jednak możliwość zastosowania do przekazywania wiadomości następującego kodu, nazywanego dalej kodem 38. kod 38
(1.5)
słonecznie
10
chmurnie
110
deszczowo
1110
zadymienie
0
Stosując kod 38 do przekazania wiadomości „słonecznie, zadymienie, zadymienie, chmurnie" przesłalibyśmy poprzez system telekomunikacyjny
„1000110".
1.4. Problem przesyłania wiadomości
19
I znowu, każdy ciąg binarny zbudowany według opisanego kodu może być jednoznacznie dekodowany (') w odpowiadający mu ciąg wiadomości. Dzieje się tak dlatego, że każdy ciąg binarny odpowiadający elementarnej wiadomości kończy się sygnałem elementarnym 0; tak więc 0 może być tutaj traktowane jako sygnał kończący ciągi kodowe. Średnią długość ciągu kodowego (w binitach), przy stosowaniu kodu Si, możemy obliczyć w sposób następujący ( 2 ): L = 2 P (słonecznie)+3P (chmurnie)+4P (deszczowo)+ 1P (zadymienie) =
-2-ł+3-ł+4-ł+l-i-
= l-sbinita na wiadomość elementarną.
Tak więc dla systemu telekomunikacyjnego łączącego Los Angeles z Nowym Yorkiem znaleźliśmy metodę przekazywania wiadomości o stanie pogody, która wymaga średnio tylko binita na wiadomość, zamiast — — jak poprzednio — 2 binity na wiadomość. Czytelnik łatwo może sprawdzić, że jeżeli użylibyśmy kodu 89 dla przekazywania stanu pogody w San Francisco (tablica 1.4), pociągnęłoby to konieczność użycia L-2\ binita na wiadomość. Pokazaliśmy więc, że można przekazywać tego samego typu wiadomości z Los Angeles przy użyciu średnio o około 6 procent mniejszej liczby binitów na wiadomość. Takie zmniejszenie liczby użytych dla przekazania wiadomości sygnałów binarnych jest z praktycznego punktu widzenia poważnym zyskiem. Ponadto dodać należy, że zysk ten może być osiągnięty po prostu przez użycie stosownych oznaczeń dla nadawanych wiadomości.
1.5. Sformułowanie niektórych problemów Przykład podany w poprzednim paragrafie uzmysławia nam szereg problemów o podstawowym znaczeniu. Przede wszystkim osiągnięcie tak prostymi środkami 6-procentowego zysku zachęca do dalszych badań. Powstaje pytanie: Czy można osiągnąć dodatkową poprawę tego rodzaju przez oznaczenie wiadomości w sposób bardziej racjonalny? Jeżeli dalsza poprawa jest możliwa (w tym szczególnym przykładzie to zachodzi), jak (') Dekodowaniem nazywa się operację przyporządkowywania ciągom kodowym odpowiadających im wiadomości (przyp. tłum.)* ( 2 ) Symbol P oznacza prawdopodobieństwo (przyp. tłum.).
20
3.1. Wstęp 20
daleko sięgają nasze możliwości? Inaczej mówiąc, jaka jest minimalna liczba binitów na wiadomość, którą trzeba użyć dla przekazania tej wiadomości o stanie pogody? Skoro już określimy minimalną wartość L, aktualny się stanie' problem konstrukcji kodu, który pozwala osiągnąć tę minimilną wartość. Jakie są praktyczne metody syntezy takich kodów? Ostatnim z pytań, które nasuwa nam ten prosty przykład, jest pytanie „dlaczego?". Jakie są różnice w opisanej sytuacji w Los Angeles i San Francisco — dopuszczające stosowanie mniejszej liczby binitów dla przekazania stanu pogody w Los Angeles? Ostatnie pytanie jest z pewnością najbardziej fundamentalne. Innymi słowy pytanie to można wyrazić następująco: „Co jest istotą informacji?". Fakt, że potrzebujemy mniejszej liczby binitów dla opisania stanu pogody w Los Angeles, w pewnym sensie implikuje, że informator dostarczający danych o stanie pogody w Los Angeles dostarcza mniej informacji niż informator z San Francisco. Jak się przekonamy, pojawiające się tu ważne pojęcie jakim jest ilość informacji może być sprecyzowane poprzez wprowadzenie odpowiedniej definicji miary ilości informicji dostarczanej przez wiadomość. Z przykładu podanego w paragrafie 1.4 wynika w sposób oczywisty, że definicja takiej miary może być związana z prawdopodobieństwem pojawienia się różnych wiadomości. W następnych trzech rozdziałach uzyskamy odpowiedź na te pytania, definiując miarę ilości informacji dostarczonej przez wiadomość w oparciu 0 prawdopodobieństwo wiadomości. W szczególności: 1) określimy minimalną wartość średniej liczby binitów na wiadomość, którą musimy użyć do jej przekazania; 2) określimy metody konstrukcji kodów, które pozwolą nam osiągnąć to minimum i wreszcie 3) przedyskutujemy istotę samej informacji.
UWAGI
1. Przystępne matematyczne ujęcie teorii informacji czytelnik może znaleźć w artykule przeglądowym McMillana (1953). McMillan przytacza również zabawny opis matematycznego punktu widzenia inżynierów specjalistów w dziedzinie telekomunikacji na teorię informacji. 1 2. Pewien pogląd na kolosalny zakres teorii informacji (w szerokim sensie) można uzyskać na podstawie liczącej około czterech tysięcy pozycji bibliografii teorii informacji, sporządzonej przez Stumpersa (1953, 1955, 1957, 1960).
Zadanie
21
ZADANIE
1.1. W paragrafie 1.4 określiliśmy dwa kody, kod s i i kod 2S, które mogą być stosowane do przekazywania stanu pogody w Los Angeles. Średnia długość ciągu kodowego w kodzie si wynosiła 2 binity na wiadomość, a w kodzie 36 była równa binita na wiadomość. W rozdziale 4 pokażemy, że najmniejsza możliwa średnia długość ciągu kodowego dla problemu przedstawionego w tablicy 1.5 wynosi l ł binita na wiadomość. Ponadto pokażemy metodę tworzenia takiego kodu. Bez zaglądania do rozdziału 4 spróbować własnymi siłami znaleźć kod, który osiąga tę minimalną wartość średnią. Należy pamiętać, że ciąg ciągów kodowych w tym kodzie winien być jednoznacznie przyporządkowany wiadomościom.
2. OCENA ILOŚCI INFORMACJI DOSTARCZANEJ PRZEZ WIADOMOŚCI. ŹRÓDŁA WIADOMOŚCI
2.1. Definicja miary ilości informacji dostarczanej przez wiadomość W rozdziale 1 sformułowaliśmy szereg podstawowych problemów dotyczących istoty informacji. Aby odpowiedzieć na pytania, jakie tam zostały postawione, zdefiniujemy teraz miarę ilości informacji dostarczanej przez wiadomość i pokażemy, że wprowadzona przez nas miara ma własności, jakich należy oczekiwać od każdej sensownej miary ilości informacji. Podkreślić należy jednakże, że ta okoliczność, iż jesteśmy w stanie pokazać, że nasza definicja jest sensowna i wewnętrznie zgodna, nie stanowi jej uzasadnienia. Uzasadnimy naszą definicję, odpowiadając na pytania postawione w rozdziale 1, tzn. na pytania, które sformułowaliśmy abstrahując od jakiejkolwiek definicji ilości informacji — w szczególności od naszej definicji. DEFINICJA. Niech E będzie pewnym zdarzeniem, które zachodzi z prawdopodobieństwem P(£). Jeżeli zaobserwowaliśmy zdarzenie E, wtedy mówimy, że odebraliśmy
(2.1)7 jednostek
J (v £ ) = l o g — ' P(£) informacji.
Wybór podstawy logarytmu w powyższej definicji stanowi o wyborze jednostki ilości informacji, ponieważ (2.2)
logax=—i—log„x. log;, a
Jeżeli stosujemy logarytm o podstawie 2, wynikająca stąd jednostka ilości
2.1. Definicja miary ilości informacji dostarczanej przez wiadomość
23
informacji nazywana jest bitem (skrót angielskich słów binary unit): (2.3)
J(E)=log
*
bitów.
Przy zastosowaniu logarytmu naturalnego jednostką ilości informacji jest nat (natural unit): (2.3')
/(£) = l n — n a t ó w .
W przypadku gdy podstawą logarytmu jest 10, jednostka miary informacji nazywa się hartley. Nazwa ta pochodzi od nazwiska R. V. Hartleya, który jako pierwszy zaproponował wprowadzenie logarytmicznej miary informacji (Hartley, 1928): (2.3")
J(E) = l o g 1 0 - i -
P(£)
hartleyów.
Ogólnie, jeżeli podstawą logarytmu jest liczba r, mamy (2.3"')
/ ( £ ) = l o g P p ^ jednostek r-narnych.
Ze wzoru (2.2) wynika, że (2.4) 1 hartley = 3,32 bita, (2.4')
1 nat = 1,44 bita.
Zauważmy, że jeżeli P ( £ ) = J, to / ( £ ) = 1 bit. Tak więc 1 bit jest ilością informacji, jaką otrzymujemy, gdy zachodzi jedna z dwóch równoprawdopodobnych alternatyw. Podobna sytuacja ma miejsce, gdy obserwuje się wynik rzutu monetą, bądź sygnał na wyjściu binarnego sytemu telekomunikacyjnego. Aby zdać sobie sprawę z ilości informacji przesyłanej w nowoczesnych systemach telekomunikacyjnych, rozważmy jako przykład transmisję obrazu telewizyjnego. Obraz taki może być przedstawiony jako układ czarnych, białych i szarych kropek, złożony w przybliżeniu z 500 wierszy i 600 kolumn. Przyjmiemy, że każda z tych 500 x 600 = 300000 kropek może zajmować 300000 jeden spośród 10 rozróżniał nych poziomów jasności, t a k ż e istnieje io różnych możliwych obrazów telewizyjnych. Jeżeli każdy z takich obrazów jest jednakowo prawdopodobny, to prawdopodobieństwo przesłania danego obrazu wynosi l/lO 3 0 0 0 0 0 , a ilość informacji zawarta w obrazie tego typu
'
24
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
wynosi / ( £ ) = 300000 log 1 0 » 106 bitów. Możemy także porównać obliczoną powyżej ilość informacji zawartej w obrazie telewizyjnym z ilością informacji zawartej w 1000 słów spikera radiowego. Przyjmijmy, że spiker dysponuje słownikiem o objętości 10000 słów i że wybiera w zupełnie przypadkowy sposób 1000 słów z tego słownika (można znaleźć spikerów radiowych, o których wolno czynić takie założenia). Wówczas prawdopodobieństwo któregokolwiek ciągu 1000 słów wynosi l/lOOOO1000, a dostarczona w tym ciągu ilość informacji jest równa J ( £ ) = 1000 log 10000« 1,3-10 4 bitów. Zatem obraz (telewizyjny) jest — jak się okazuje — wart 1000 słów (radiowych).
2.2. Bezpamięciowe źródło wiadomości W dalszych rozważaniach potrzebny będzie matematyczny opis mechanizmu wytwarzania wiadomości. W tym punkcie określimy więc model źródła wiadomości dyskretnej; źródło takie przedstawia schemat 2.1. Źródło
-«¡, «j.
2.1. Źródło wiadomości
Źródło wiadomości będziemy tu traktowali jako obiekt, który z wiadomości elementarnych, tworzących ustalony i skończony zbiór S= {sj, s2, ...,s q }, wytwarza ciąg wiadomości elementarnych. Kolejne wiadomości elementarne w tym ciągu wybierane są zgodnie z pewnym ustalonym rozkładem prawdopodobieństwa. Niekiedy będziemy oznaczali symbolem S samo źródło wiadomości, jednak nie powinno to prowadzić do niejasności. (') W dalszym ciągu logarytm o podstawie 2 z liczby * będziemy oznaczali symbolem log x pomijając dwójkową podstawę logarytmu. Logarytm naturalny z liczby x będziemy oznaczali symbolem ln x. Wszystkie inne logarytmy będą miały zaznaczoną podstawę (np. l o g i 0 x).
2.2. Bezpamięciowe źródło wiadomości
25
Jako najprostszy rodzaj źródła wiadomości traktować będziemy źródło, w przypadku którego kolejno wybierane wiadomości elementarne są statystycznie niezależne. Takie źródło wiadomości nazywać będziemy źródłem bezpamięciowym. Jest ono w pełni opisane przez zbiór wiadomości elementarnych i prawdopodobieństwa pojawiania się tych wiadomości P(Sl),P(s2),...,P(s4). Średnią ilość informacji dostarczaną przez źródło bezpamięciowe obliczamy następująco: jeżeli pojawia się wiadomość sit to otrzymujemy ilość informacji równą / ( s , ) = l o g — - bitów. P(Sf) Prawdopodobieństwo takiego zdarzenia wynosi P(J,), tak więc średnia ilość informacji przypadająca na wiadomość elementarną wytwarzaną przez to źródło wynosi £ P ( S i ) / ( s , ) bitów, s gdzie Yj oznacza sumowanie po q wiadomościach elementarnych jakie s może wytworzyć źródło S. Wartość średniej ilości informacji przypadającej na wiadomości elementarną wytworzoną przez źródło nazywana jest entropią H(S) źródła bezpamięciowego ( 1 ) def
(2.5)
i
H (S) = ę P (s() log —
bitów.
PRZYKŁAD 2.1. Rozważmy źródło S= {II, s2, ¿3}, dla którego P(JI) = I oraz P(i 2 ) = P(j 3 ) = i . Wówczas: tf(S)=łlog2+ilog4+łlog4=f
bita.
Jeżeli /(i,) jest wyrażone w jednostkach r-narnych, również H(S) jest wyrażone w jednostkach r-narnych. Mamy wówczas: (2.5')
Hr(S) = £ P (s,) log r —— jednostek r-narnych. S
P(SJ)
( 1 ) Związek pomiędzy entropią w teorii informacji i entropią w statystycznej termodynamice jest dyskutowany w książce Brillouina (1956). Pochodzenie słowa entropia wyjaśnione zostanie w uwagach na końcu rozdziału
26
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
Z równania (2.2) wynika, że (2.5") Zauważmy, że na podstawie definicji danej wzorem (2.1) wielkość /(J,) możemy interpretować jako ilość informacji niezbędną na to, by mieć pewność, czy pojawiła się wiadomość Wielkość H(S) może być natomiast interpretowana jako średnia ilość informacji przypadajaca na wiadomość elementarną wytwarzaną przez źródło lub jako średnia niepewność obserwatora zanim zaobserwuje on wyjście źródła. Obie te interpretacje będziemy wykorzystywali w dalszej części książki. Najpierw jednak przedstawimy niektóre podstawowe własności entropii źródła. 2.3. Niektóre własności entropii Aby określić niektóre własności entropii musimy się posłużyć własnościami funkcji logarytmicznej. Przebieg funkcji ln x przedstawiony jest na rysunku 2.2. Na rysunku tym pokazana jest także linia prosta, której równaniem jest y=x— 1. Vu 3 -
-3 2.2. Wykresy funkcji In* oraz x—1
2. 3. Niektóre własności entropii
27
Łatwo stwierdzimy, że linia 1 leży zawsze powyżej krzywej Stąd wynika słaba nierówności 1 ) (2.6)
lnx^x
—1
przechodząca w równość wtedy i tylko wtedy, gdy JC*=1. Mnożąc relację (2.6) przez —1 otrzymujemy następującą słabą nierówność (2.7)
ln—>l-x, x
która równością staje się wtedy i tylko wtedy, gdy x=l. Nierówność (2.6) posłuży nam do wyprowadzenia następującej dalej zależności. Niech x i t x 2 , . . . , x ą i y i , y 2 , •••»J, będą dwoma dowolnymi zbiorami prawdopodobieństw. Z tego założenia wynikają następujące zależności: y^0
dla wszystkich i oraz j
oraz
9 Z
¡=1
1 Xl-
Z
1
yj=1.
Na tej podstawie, korzystając ze wzoru (2.2), możemy napisać równość 1
v£ * , 1l o g y'- « — vZ x , l1n y'— ¡=i xt lnZi=i Xj a po zastosowaniu nierówności (2.6) do każdego ze składników sumy po prawej stronie znaku równości otrzymujemy (2.8)
t 1-1
xi
t x/— ln2 ¡=1 \Xt ln/
Z
¡=i
y,-
) Z
¡=1
x()<0
lub (2.8')
£ x , l o g — < Z *|log — , Xi ¡=1 yf
¡=1
przy czym równość zachodzi wtedy i tylko wtedy, gdy x t = y / dla każdego /. (') Słabą nierównością
nazywamy relację < (przyp. tłum.).
28
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
Jak już wyżej podkreślaliśmy, jedna z możliwych interpretacji entropii źródła polega na tym, że traktujemy tę wielkość jako średnią ilość informacji przypadającą na pojedynczą wiadomość wytwarzaną przez to źródło. Dlatego naturalnym się wydaje, aby zbadać zależność entropii od prawdopodobieństw różnych wiadomości wytwarzanych przez źródło. W szczególności chcielibyśmy poznać, jaką ilość informacji może nam dostarczyć źródło bezpamięciowe. Niech źródło bezpamięciowe, którego wyjście przyjmuje jedną z q możliwych postaci, będzie opisane przez zbiór wiadomości S = {i(}, / = = 1 , 2 , . . . , q . Prawdopodobieństwa tych wiadomości oznaczymy odpowiednio przez P(st)=Pt, / = 1, 2, ..., ą. Entropia H(S) dana jest wtedy wzorem (2.9)
H(S)=
f P.log^-. ¡=1 P,
Rozważmy wielkość (2.10)
l o g q - H ( S ) = t Pilogq¡=1 = £
i=l
£ P,log^ = >=1 f;
PilogqP^loge.t
i=l
P^nqP,.
Ostatnią równość we wzorze (2.10) otrzymuje się wykorzystując zależność (2.2). Jeżeli teraz podstawimy nierówność daną wzorem (2.7) do wzoru (2.10), otrzymamy (2.11)
logq-H(S)>loge >\ogel
£ /
i £ P, V ¡=1
q P\ I ~!b0. q i= 1 PJ
1
Entropia H(S) jest więc zawsze mniejsza lub równa log q. Należy przy tym podkreślić, że — jak wynika ze wzoru (2.7) — słaba nierówność, którą tutaj wyprowadziliśmy, staje się ścisłą równością wtedy i tylko wtedy, gdy P f = l/<7 dla wszystkich i. Tak więc wykazaliśmy, że w przypadku bezpamięciowego źródła wiadomości o zbiorze zawierającym q elementów maksymalna wartość entropii jest równa log q, przy czym maksimum entropii występuje wtedy i tylko wtedy, gdy wszystkie wiadomości wytwarzane przez źródło są równoprawdopodobne.
2. 3. Niektóre własności entropii
29
Szczególnie ważnym przykładem źródła bezpamięciowego jest bezpamięciowe źródło binarne. Zbiór elementów takiego źródła S ma postać {0, 1}. Przyjmijmy, że prawdopodobieństwo wiadomości 0 jest równe co, wówczas prawdopodobieństwo wiadomości 1 jest równe 1 — tu. Oznaczmy ¿3 = 1— co. Korzystając ze wzoru (2.5) znajdujemy, że entropia takiego źródła wynosi (2.12) V
H(S)=co\og
'i]
_
r !
l
— + colog— [bitów]. OJ
(y
Funkcja zmiennej co dana we wzorze (2.12) pojawia się często w problemach teorii informacji. Dlatego też wygodnie jest oznaczyć ją specjalnym symbolem: def 1 _ 1 (2.13) H(co) = o)log— + w l o g — . Pi l<° Określoną w ten sposób funkcję zmiennej co nazywać będziemy funkcją entropii. Zwróćmy uwagę na różnicę pomiędzy wzorami (2.12) i (2.13). H{S) określa entropię konkretnego źródła S, a H(co) jest funkcją zmiennej co określoną na <0, 1>. Sens symbolu H{-) zależy więc od jego argumentu. Podkreślić należy również, że zachodzi równość lim co log co = 0 , co-»o dlatego też definiujemy 01og0 = 0 . Przebieg funkcji H(co) dla co zawartych w przedziale <0, 1) pokazany jest na rysunku 2.3. Zauważmy, że jeżeli wyjście źródła binarnego jest określone (co=0, albo co= 1), wtedy źródło to nie dostarcza żadnej informacji. Maksymalna ilośe wiadomości dostarczana przez każdą z wiadomości wytwarzanych przez źródło binarne wynosi log 2 lub, inaczej mówiąc, 1 bit; ma to miejsce wtedy i tylko wtedy, gdy wiadomości 0 i 1 są równoprawdopodobne. Wyjścia źródła binarnego są cyframi binarnymi lub - jak je poprzednio nazywaliśmy — binitami. Widzimy więc, że ciąg binitów wytwarzanych przez bezpamięciowe źródło binarne o równoprawdopodobnych wyjściach 1 i 0 będzie dostarczał 1 bit informacji na binit. Jeżeli wyjścia 1 i 0 nie są równoprawdopodobne, wtedy ilość informacji dostarczana
30
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
2.3. Funkcja entropii H(co)
przez dany binit będzie mniejsza lub większa od jednego bita, zależnie od tego, jakie są prawdopodobieństwa tych wyjść (por. wzór (2.1)). Jednakże średnia ilość informacji dostarczana z takiego źródła binarnego przez dany binit będzie zawsze mniejsza lub równa 1 bit na binit (rys. 2.3). Należy także podkreślić, że maksymalna ilość informacji dostarczanej przez bezpamięciowe źródło informacji o q różnych wyjściach rośnie wolno wraz ze wzrostem q. Wynika to stąd, że maksymalna ilość informacji dostarczana przez takie źródło rośnie tylko jak logarytm liczby różnych jego wyjść i dlatego aby podwoić maksymalną ilość informacji przypadającą na pojedynczą wiadomość wytwarzaną przez źródło, w stosunku do źródła o q różnych wyjściach, należy użyć źródła o q2 różnych wyjściach.
2.4. Rozszerzenie źródła bezpamięciowego
31
2.4. Rozszerzenie źródła bezpamięciowego Przy rozważaniu własności źródeł wiadomości i kanałów informacyjnych, jakie prowadzić będziemy w następnych rozdziałach, przekonamy się wielokrotnie, że wygodniej jest zajmować się ciągami wiadomości niż elementarnymi wiadomościami wytwarzanymi przez źródło. Na przykład w przypadku rozważanego poprzednio źródła binarnego jako elementarne wyjścia źródła możemy traktować ciągi, z których każdy złożony jest z dwóch binitów. Źródło binarne traktowane w ten sposób jest oczywiście równoważne źródłu z czterema możliwymi wyjściami: 00, 01, 10 i 11. Myśl tę można rozwijać. Jeżeli potraktujemy oryginalne źródło binarne jako źródło wytwarzające ciągi binitów, po trzy binity w każdym ciągu, źródłu takiemu odpowiadać będzie 8 możliwych wyjściowych trzyelementowych ciągów binarnych; binarne źródło wiadomości, traktowane w ten sposób, staje się więc równoważne źródłu o zbiorze ośmioelementowym. Ogólnie rzecz biorąc, jeżeli dane jest źródło, którego zbiór elementów 5 ma postać { j u s2, ..., i,}, jako wyjście źródła S możemy traktować ciąg n wyjść elementarnych wziętych łącznie. Mamy wówczas qn takich ciągów wyjściowych. Sformalizujemy to postępowanie w następującej definicji. Niech S będzie bezpamięciowym źródłem wiadomości o zbiorze { J i , s 2 , oraz niech prawdopodobieństwo wiadomości st będzie równe i5,-. n-krotnym rozszerzeniem S" O źródła S nazywać będziemy bezpamięciowe źródło wiadomości o zbiorze zawierającym q" elementów {
Ponieważ pojedyncza wiadomość ze źródła S" odpowiada n wiadomościom elementarnym ze źródła S, należy oczekiwać ( 2 ), że entropia przypadająca na pojedynczą wiadomość ze zbioru S" będzie n razy większa niż entropia przypadająca na pojedynczą wiadomość, ze zbioru S. Nie(') Dla źródła 5™ używa się też nazwy źródło n-krotnie rozszerzone (przyp. tłum.). ( 2 ) Zauważmy, że według naszej definicji źródłem Sl jest samo źródło S.
32
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
trudno to udowodnić. Niech at będzie wiadomością ze zbioru S" odpowiadającą ciągowi (st ,st , ..., SjJ ze zbioru S. Wtedy mamy: (2.14)
H(S")=
EP^log--i-
S"
r(
gdzie suma jest rozciągnięta na wszystkie qn wiadomości ze zbioru S". W dalszym ciągu w przypadkach, w których zajmować się będziemy źródłem wiadomości i odpowiadającym mu źródłem wiadomości-ciągów, będziemy używać symbolu £ dla podkreślenia, że operacja sumowania jest rozciągnięS" ta na wszystkie elementy zbioru S". Taka suma rozciągnięta na q" wiadomości ze zbioru S" jest równoważna n sumom, z których każda rozciągnięta jest na q wiadomości ze zbioru S, a to dlatego, że
S"
= i
i
-
i
i
Pi,-
i, = l ¡2=1
= i
p
¡1 = 1
h
¡2=1
PuP,t-Pu-
¡„=1
i
¡n=l
Pt„=1.
Równanie (2.14) może być przedstawione w postaci (2.16) H(S")=
1
£ P(
=
Ph Pil — Pin
S"
= Z P(^)log S" Pil
I P(
Weźmy pod uwagę pierwszy spośród składników sumy danej we wzorze (2.16). Mamy: (2.17) I P(
1
=
£ P h p h . . . p i n log 1 = S" rit
= I
¡1 = 1
^ l o g ^ - E 2 p i 2 . . . Ż= 1 p i n = I= PI L ' 2 =
= ZP/llog^-=ii(S). s fi.
<»
'>
1
pfliog^-= MI
2.4. Rozszerzenie źródła bezpamięciowego
Łatwo zauważyć, że wartość pozostałych n-1 Na tej podstawie otrzymujemy (2.18)
33
składników jest identyczna.
H (S") = nH (S).
PRZYKŁAD 2.2. Weźmy dwukrotne rozszerzenie źródła 5 z przykładu 2.1. Przypominamy, że zbiór elementów tego źródła miał postać 5 = { i l t s2, s3}, przy czym odpowiednie prawdopodobieństwa były równe P(si) = i , P ( i 2 ) = P ( i 3 ) = i - Wobec tego zbiór S2 ma dziewięć następujących elementów: Elementy zbioru S2
"1
S1S3 i 2 i l
Odpowiednie ciągi elementów zbioru S
Jiii
SiS2
Prawdopodobieństwo P(
i 4
8
1
1 8
8
ff6
s2s2
S2S3
1 16
1 16
O?
O»
(Tg
¡3 S2 S3S3
1 8
1
16
1 16
=ilog4+4-łlog8+4-^logl6 = = 3 bity na wiadomość.
2.5. Źródło ciągów Markowa Założenie, które dotychczas czyniliśmy, że źródło jest bezpamięciowe, jest w niektórych przypadkach zbyt daleko idącym ograniczeniem. Ogólniejszym źródłem wytwarzającym q różnych wiadomości jest źródło, w przypadku którego pojawienie się danej wiadomości może zależeć od skończonej liczby m wiadomości, jakie pojawiły się poprzednio. Własności takiego źródła (nazywanego źródłem ciągów Markowa m-tego rzędu) są w pełni opisane, jeżeli dany jest zbiór jego elementów S i zbiór prawdopodobieństw warunkowych (') (2.19)
P^il
P(s,\sh,sj2
s j
dla 1 - 1 , 2 , ...,q,
jr=l,2,
...,q
(') Zakładamy, że sygnały występujące w prawdopodobieństwie warunkowym s j1>Sj2> •••> SJ,J ułożone kolejno w czasie tworzą ciąg sjl,sj2, ...,sJm,st.
3 Teoria informacji
34
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
W przypadku źródła ciągów Markowa m-tego rzędu prawdopodobieństwo wytworzenia danej wiadomości jest więc określone, jeżeli znamy m poprzednich wiadomości. Zatem, dla dowolnego momentu czasu, m poprzedzających wiadomości będziemy traktowali jako stan źródła ciągów Markowa m-tego rzędu w tym momencie. Ponieważ źródło może wytworzyć q różnych wiadomości, może ono zatem przyjmować qm różnych stanów. Stan takiego źródła ulega więc zmianom wraz z wytwarzaniem kolejnych wiadomości. Własności źródła Markowa wygodnie jest ilustrować za pomocą wykresu stanów. Na wykresie takim przedstawiamy każdy z qm możliwych stanów za pomocą oddzielnych punktów, a przejścia ze stanu do stanu — za pomocą strzałek. PRZYKŁAD 2.3. Rozważmy źródło ciągów Markowa drugiego rzędu, którego zbiór elementów ma postać S= { 0 , 1 } . Przyjmijmy, że prawdopodobieństwa warunkowe są równe: P (0|00) = P (1111) = 0 , 8 , P(1|00)=P(0|11)=0,1, P(0|01) = P ( 0 | 1 0 ) = P ( 1 | 0 1 ) = P ( 1 | 1 0 ) = 0 , 5 . Ponieważ q jest równe 2 i ponieważ rozpatrywane źródło jest źródłem ciągów Markowa drugiego rzędu, możliwe są cztery stany źródła: 00, 01, 10, 11. Wykres stanów dla takiego źródła pokazany jest na rysunku 2.4. Możliwe stany naszego źródła są oznaczone czterema kropkami. Możliwe zmiany stanów są oznaczone strzałkami wiodącymi od stanu do stanu, przy czym liczby towarzyszące tym strzałkom oznaczają prawdopodobieństwa odpowiednich zmian stanu. Na przykład: jeżeli jesteśmy w stanie 00, możemy przejść do stanu 01 lub pozostać w tym stanie, natomiast przejście do stanu 10 lub 11 jest niemożliwe. Jak pokazano, prawdopodobieństwo pozostania w stanie 00 wynosi 0,8, a prawdopodobieństwo przejścia do stanu 01 wynosi 0,2.
W dalszych rozważaniach nad źródłami ciągów Markowa m-tego rzędu ograniczymy się do źródeł nazywanych ergodycznymi. W języku matematyka i statystyka własność ergodyczna i warunki, przy których źródło jest ergodyczne, są nieco zawiłe. Z naszego jednakże punktu widzenia, koncepcja źródła ergodycznego sama w sobie wydaje się prosta. Źródło ergodyczne jest bowiem po prostu źródłem, które — jeśli je obserwować przez czas dłuższy — będzie wytwarzać z prawdopodobieństwem 1 „typowy" ciąg wiadomości. Koncepcja źródła posiadającego własność ergodyczną jest istotnie tak prosta, że niektórzy spośród czytel-
2.5. Źródło ciągów Markowa
2.4. Wykres stanów źródła ciągów Markowa drugiego rzędu
35
2.5. Wykres stanów nieergodycznego źródła ciągów Markowa drugiego rzędu
ników mogą mieć trudności z wyobrażeniem sobie źródła informacji, które nie jest ergodyczne. Dlatego też podamy tu przykład nieergodycznego źródła wiadomości. PRZYKŁAD 2.4. Rozważmy źródło ciągów Markowa drugiego rzędu, którego zbiór elementów ma postać 5 = { 0 , 1 } . Przyjmijmy, że prawdopodobieństwa warunkowe są równe: P(0|'00) = P ( 1 | 1 1 ) = 1 , 0 , P(1|00)=P(0|11)=0, P(0|01)=P(0|10) = P(1|01)=P(1|10)=0,5. Tak jak w poprzednim przykładzie mamy tutaj cztery możliwe stany: 00, 01, 10, 11. Wykres tych stanów pokazany jest na rysunku 2.5. Zauważmy, że jeżeli w przypadku rozważanego źródła kiedykolwiek znajdziemy się w jednym ze stanów 00 lub 11, pozostaniemy już w tym stanie. Wybierzmy zatem w dowolny sposób jeden z czterech możliwych stanów (oznacza to, że każdy spośród stanów może być wybrany z prawdopodobieństwem równym i ) . Jeżeli następnie wystartujemy z wybranego stanu, będziemy się mogli spodziewać, że po dostatecznie dużej liczbie zmian stanów znajdziemy się z prawdopodobieństwem równym 0,5 w stanie 00. Oznacza to, że po wytworzeniu dużej liczby wiadomości źródło wytworzy wiadomość 0 z prawdopodobieństwem 0,5 i analogicznie — wiadomość 1 z prawdopodobieństwem 0,5. Niemniej jeżeli obserwacje przeprowadzać będziemy przez czas dłuższy, to w dowolnie wybranym ciągu zaobserwujemy prawie na pewno albo same zera, albo same jedynki. Innymi słowy nie zaobserwujemy (z prawdopodobieństwem 1) typowego ciągu wytwarzanego przez źródło; nie jest to więc źródło ergodyczne. 3*
36
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
Dyskusja przeprowadzona powyżej wskazuje trudności, jakie z naszego punktu widzenia nastręczają źródła nieergodyczne. Jeżeli wybierzemy początkowy stan źródła ciągów Markowa (zgodnie z pewnym zbiorem początkowych prawdopodobieństw stanów) i odczekamy dużą liczbę zmian stanów, to będziemy wiedzieli, że z ustalonym prawdopodobieństwem pojawi się przy tym każdy ze stanów. Ponadto, jak to sugerowaliśmy powyżej używając słowa typowy, w przypadku źródła ergodycznego stany, które aktualnie się pojawiły, będą (z prawdopodobieństwam równym 1) w bardzo długim ciągu występować ze wspomnianymi wyżej prawdopodobieństwami (ściślej: częstościami — przyp. tłum.). Dalszą godną uwagi własnością ergodycznego źródła ciągów Markowa jest, że rozkład prawdopodobieństwa na zbiorze stanów, który ustala się p o wielu zmianach stanów (lub — co temu jest równoważne — rozkład stanów w typowym ciągu wyjściowym) nie zależy od początkowego rozkładu stanów (Feller, 1966). Istnieje więc pewien specyficzny rozkład prawdopodobieństwa na zbiorze stanów ergodycznego źródła ciągów Markowa ( J ), według którego (z prawdopodobieństwem równym 1) będą pojawiały się poszczególne stany w długim ciągu wiadomości wytwarzanych przez to źródło. Ten specyficzny rozkład nazywamy stacjonarnym rozkładem prawdopodobieństwa ergodycznego procesu Markowa ( 2 ). Rozkład stacjonarny nie zależy od rozkładu początkowego, z którym wybierane są stany w pierwszym kroku, a do obliczenia tego rozkładu wystarcza znajomość prawdopodobieństw warunkowych wiadomości. Na przykład można wykazać, że w przypadku źródła ciągów Markowa, którego własności zilustrowane są na rysunku 2.4, rozkładem stacjonarnym jest rozkład (2.20)
P ( 0 0 ) = P ( l l ) = .5i,
P(01) = P(10) =
,
2 i i.
Gdy określamy warunkowe prawdopodobieństwa wiadomości P(i,|iy , S j , (') Autor ma. tu na myśli bądź to sytuację, gdy nastąpiło bardzo wiele zmian stanów i bieżący rozkład stanów stał się stacjonarny, bądź sytuację, gdy rozkład w pierwszym kroku jest identyczny z rozkładem stacjonarnym; w tej drugiej sytuacji wszystkie rozkłady bieżące są identyczne i identyczne z rozkładem stacjonarnym (przyp. tłum.). ( J ) Określenia proces Markowa i ciąg Markowa autor traktuje jako jednoznaczne (przyp. tłum.).
2.5. Źródło ciągów Markowa
37
• • > s j „ ) ergodycznego procesu Markowa m-tego rzędu, tym samym pośrednio określamy także qm stacjonarnych prawdopodobieństw stanów P ( s ^ , , . . . , S j J odpowiadających rozkładowi stacjonarnemu. Na podstawie tych p r a w d o p o d o b i e ń s t w o możemy obliczyć prawdopodobieństwo zdarzenia łącznego „źródło jest w stanie, który możemy przedstawić w postaci ciągu (Sj , S j , ..., sjm) i jako kolejna wiadomość pojawia się w i a d o m o ś c i , " . Prawdopodobieństwo takiego zdarzenia wynosi (2.21)
P ( s J i , sj2, ..., sJm, s^ = P(s i \s J i ,sj2,
..., sJm) P ( s J t , sj2, ...,
sjm).
Należy zwrócić uwagę, że dotychczas nie rozważaliśmy problemu efektywnego obliczania odpowiadających rozkładowi stacjonarnemu prawdopodobieństw stanów ergodycznego źródła ciągów Markowa, opisanego przez zadane prawdopodobieństwa warunkowe. Jest to na ogół dość trudny problem; czytelnika odsyłamy w związku z tym do pracy Fellera (1966) lub Bharucha-Reida (1960). Tu ograniczymy się jedynie do stwierdzenia, że stacjonarne prawdopodobieństwa stanu mogą być obliczone na podstawie znanych prawdopodobieństw warunkowych wiadomości. Średnią ilość informacji dostarczaną przez źródło ciągów Markowa »¡-tego rzędu( ł ) możemy obliczyć następująco. Jeżeli znajdujemy się w stanie określonym jako (sj , s J i t ...,s j m ), tzn. m wiadomościami wytworzonymi przez to źródło w przeszłości były wiadomości (sj , Sj^, ..., sJm), wówczas warunkowe prawdopodobieństwo wytworzenia jako kolejnej wiadomości — wiadomości i f jest określone jako P ( j , | i j , Sj^, ..., sjm). Na podstawie wzoru (2.1) ilość informacji, jaką otrzymamy, jeżeli w stanie (sj\>sj2' •••>sj„i) źródło dostarczy wiadomości sit wynosi (2.22)
I(Si\Sji,
Sj2, ..., s , J = l o g
• " > S j
2
— , ••••> SjJ
Zatem średnia ilość informacji dostarczana przez wiadomość wytwarzaną przez źródło znajdujące się w stanie (_sji, S j , ..., sJm) dana jest następującym wzorem: (2.23)
H(S|sy,,sj2,...,
sJm) = = 1 p ( s <| s y. >sń> ••• • SjJHSilS;,
>sj2,-,
¡¡jj.
(') Na przyszłość będziemy pomijali słowo ergodyczne, mówiąc o źródłach tego typu.
38
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
Jeżeli z kolei dokonamy uśrednienia (*) tej wielkości na qm możliwych stanów, to otrzymamy średnią ilość informacji lub entropię źródła S ciągów Markowa m-tego rzędu (2.24')
H(S)=
£ P ( s „ , sh, ..., Sjm)H(S\sJi, sm
sj2, . . . , s j .
We wzorze (2.24') wykorzystaliśmy tę okolicznośc, iż określenie stanu poprzez ciąg (sj , Sj , ..., sJnt) jest równoważne określeniu go poprzez wiadomość ze zbioru S""(2). Podstawiając (2.23) do wzoru (2.24') otrzymujemy (2.24")
J / ( S ) = £m ?(sh, S
s , 2 , . . . , sJm) X P(s,|s y i , sj2,..., s
1
X log =
E
p
S-n + l
¡_, = Z
-
P(si\sh,sj2,
( * / , . S h . • • •' s j J p ( s i | s y i > s h xlog
, -J2
7
sJm) x
s
...,SjJ JJ X 1
P(si\sji,sj2,...,sjm)
-w—o u, ,
1 „
V
przy czym w ostatnim kroku korzystaliśmy ze wzoru (2.21). Jeżeli S nie jest źródłem ciągów Markowa lecz źródłem bezpamięciowym, mamy: P(s<\'j„'h
S
; J = P ( S /)
i wzór (2.24") redukuje się do postaci (2.5') PRZAKŁAD 2.5. Rozważmy źródło ciągów Markowa pokazane na rysunku 2.4. Opisujący to źródło rozkład stacjonarny dany jest wzorem (2.20). Odpowiednie prawdo(') Uśrednienia tego dokonujemy przy założeniu, że rozkład stanów jest stacjonarny — porównaj notka na str. 36. ( 2 ) Ściśle biorąc nie zdefiniowaliśmy jeszcze źródła 5™, tzn. wi-krotnego rozszerzenia źródła ciągów Markowa. Jednakże zastosowanie we wzorach (2.24) symbolu 5™ nie powinno budzić wątpliwości. Wyczerpująca definicja rozszerzenia źródła ciągów Markowa podana będzie w paragrafie 2.7.
2.5. Źródło ciągów Markowa
39
TABLICA 2.1. Rozkłady prawdopodobieństwa opisujące źródło ciągów pokazane na rys. 2.4. P(ii|iy, sk)
S j , Sil, st
000
0,8
001
0,2
010
0,5
011
0,5
100
0,5
101
0,5
110
0,2
P
P
(Sj,St,St)
s
4
i* 5
14 1
14 2
14 1
14 2
14
14 2
14 1
14 2
Ti
1
i 14
14 5
1
14
0,8
111
(Sj,Sk)
Markowa
5
14 4
14
14
podobieństwa zestawiono w tablicy 2.1. Entropia, którą obliczamy korzystając ze wzoru (2.24"), wynosi zatem tf(S)=Y
Tj
P(ij,i*,i,)log—= P(i,|ij,i»)
=2 •
l0
8 o75+ 2 • A
l0
8O +
4 -
A l 0 « oTs =
= 0 , 8 1 bit/binit.
2.6. Źródła stowarzyszone Dla danego źródła ciągów Markowa m-tego rzędu możemy w zasadzie obliczyć rozkład stacjonarny, to znaczy rozkład stanów źródła ciągów Markowa( l ). W przypadku źródła ciągów Markowa pierwszego rzędu zbiór stanów jest identyczny ze zbiorem wiadomości wytwarzanych przez źródło, a rozkład stacjonarny daje nam bezpośrednio rozkład prawdopodobieństwa pierwszego rzędu( 2 ) (bezwarunkowy). W przypadku źródła i 1 ) Patrz notka na stronie 36. ( 2 ) W przypadku gdy mowa jest o ciągu wiadomości elementarnych Si, s2,..., sK rozkładem prawdopodobieństwa pierwszego rzędu nazywamy rozkład prawdopodobieństwa pojedynczej wiadomości elementarnej. Rozkładem rzędu K nazywamy rozkład prawdopodobieństwa łącznego tych wiadomości. Wchodzą w grę zarówno warunkowe jak i bezwarunkowe rozkłady prawdopodobieństwa Ji-tego rzędu. Autor, mówiąc o prawdopodobieństwie pierwszego rzędu, ma na myśli bezwarunkowe prawdopodobieństwo pojedynczej wiadomości elementarnej (przyp. tłum.).
40
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
ciągów Markowa wyższego rzędu, obliczenie rozkładu prawdopodobieństwa pierwszego rzędu na podstawie rozkładu stacjonarnego również nie przedstawia trudności^). Na przykład można pokazać, że źródło ciągów Markowa, którego rozkład stacjonarny dany jest wzorem (2.20), ma następujący rozkład pierwszego rzędu: P(0) = P(1) = ^. Znając rozkład prawdopodobieństwa pierwszego rzędu dla źródła ciągów Markowa, możemy zdefiniować inne źródło. DEFINICJA. Niech S={si, s2, •••, sq} będzie zbiorem wiadomości elementarnych wytwarzanych przez źródło ciągów Markowa m-tego rzędu oraz niech Pl, P2, ..., Pą będą prawdopodobieństwami pierwszego rzędu tych wiadomości( 2 ). Źródłem stowarzyszonym ze źródłem S, które oznaczać będziemy symbolem 5, jest bezpamięciowe źródło wiadomości, o identycznym jak zbiór S zbiorze wiadomości elementarnych, których prawdopodobieństwa są odpowiednio równe prawdopodobieństwom pierwszego rzędu wiadomości elementarnych generowanych ze źródła S.
Na przykład z symetrii wykresu stanów pokazanego na rysunku 2.4 wynika, że 0 i 1 są równoprawdopodobne. Tak więc źródłem stowarzyszonym ze źródłem, którego własności zilustrowane zostały na rysunku 2.4, jest źródło binarne bezpamięciowe, wytwarzające wiadomości binarne z jednakowym prawdopodobieństwem; entropia tego źródła H(S)=\. Zauważmy, że źródłem stowarzyszonym z bezpamięciowym źródłem S jest samo źródło S. W dalszym ciągu wykażemy, że entropia źródła stowarzyszonego 5 nie jest nigdy mniejsza niż entropia źródła S. Interpretacja tego ma doniosłe znaczenie. Obydwa źródła S i S mają identyczne rozkłady prawdopodobieństwa pierwszego rzędu, natomiast różnią się one tym, że na źródło S narzucone są dodatkowe ograniczenia wyrażone za pomocą warunkowych rozkładów prawdopodobieństwa, którym podlegają wytwarzane przez to źródło ciągi wyjściowe. Właśnie te ograniczenia pociągają zmniejszenie średniej ilości informacji dostarczanej prżeż to źródło. Aby nie komplikować oznaczeń, pokażemy teraz na możliwie najprostszym przykładzie, a mianowicie na przykładzie źródła ciągów Mar(') Wystarczy wykorzystać wzór na prawdopodobieństwo brzegowe. ( 2 ) Autor ma tu na myśli sytuację, o której mowa w notce na str. 36 (przyp. tłum.).
2.6. Źródła stowarzyszone
41
kowa pierwszego rzędu, że entropia H(S) jest większa lub równa entropii H(S)- Odpowiedni dowód dla źródła ciągów Markowa m-tego rzędu otrzymuje się poprzez proste uogólnienie. Niech S będzie źródłem ciągów Markowa pierwszego rzędu, a , s2, . . . , s q niech będą wiadomościami elementarnymi wytwarzanymi przez to źródło, których prawdopodobieństwa warunkowe wynoszą odpowiednio P(ijlSj-), / , y ' = l , 2 , ...,q. Niech PlyP2, Pq będą prawdopodobieństwami pierwszego rzędu( J ) wiadomości elementarnych ze zbioru 5 oraz niech S będzie źródłem stowarzyszonym z 5. Jeżeli zdefiniujemy P ( s j , s t ) jako prawdopodobieństwo łączne zdarzenia polegającego na tym, że źródło S jest w stanie określonym przez Sj oraz na jego wyjściu pojawia się sit to zachodzi równość (zgodnie ze wzorem (2.21)): (2.25)
P(sj,sl)=P(si\sj)Pj.
Rozważmy teraz podwójną sumę (2.26)
Z P ^ l o g ^ L s?
p (Sj,St)
Ze wzoru (2.8) wynika, że wartość tej sumy jest mniejsza lub równa zero, przy czym równość zachodzi wtedy i tylko wtedy, gdy (2.27)
P ( s ; , s f ) = P j P,
dla wszystkich i oraz j .
Jeżeli zapiszemy tę nierówność korzystając ze wzorów (2.25) i (2.26), to otrzymamy X2 P ( s „ S ( ) l o g - A - < 0 s P(s,|sj) lub (2.28)
£2 P ( S j , s,)log—^-r-, < I 2 P(s,-, s j l o g ' < s s 'i ip(Sj,s,)\og~ i-lj=l
fi
.
Operacja sumowania p o j w podwójnej sumie po prawej stronie wzoru (') Tu jak i w innych miejscach autor rozpatruje sytuację, kiedy rozkład prawdopodobieństw stanów jest stacjonarny, por. notka na str. 36 (przyp. tłum.).
42
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
(2.28) może być przeprowadzona w sposób bardzo prosty, jeśli zauważymy, że występujący we wzorze logarytm jest niezależny od j oraz że i
J' 1
P(SJ,SI) = P ł ,
na podstawie czego otrzymujemy S2
P(Si\Sj)
S
Pi
lub (2.29)
H(S)^H(S).
Warunkiem, by we wzorze (2.29) zachodziła równość (wypowiedzianym już we wzorze (2.27)) jest po prostu, aby wiadomości j, i Sj były niezależne statystycznie, tzn., aby źródło S było rzeczywiście źródłem bezpamięciowym. Ilustrowaliśmy już poprzednio na przykładzie relację wyrażoną wzorem (2.29). Przypominamy tutaj, że dla źródła pokazanego na rysunku 2.4 entropia //(S) = 0,81 bitów, podczas gdy entropia H(S) = 1 bit.
2.7. Rozszerzenie źródła ciągów Markowa W paragrafie 2.4 rozważając własności bezpamięciowego źródła wiadomości wprowadziliśmy pojęcie rozszerzenia źródła, określając w ten sposób źródło wiadomości wytwarzające wiadomości-ciągi. Były to ciągi wiadomości elementarnych pierwotnych wytwarzanych przez źródło pierwotne (bezpamięciowe). W podobny sposób możemy wprowadzić pojęcie rozszerzenia źródła w przypadku, gdy źródło pierwotne jest źródłem ciągów Markowa: «-elementowe ciągi wiadomości elementarnych pierwotnych, tzn. wiadomości generowanych przez pierwotne źródło ciągów Markowa, traktuje się łącznie jako wtórne wiadomości elementarne
2.7. Rozszerzenie źródła ciągów Markowa
43
o{ odpowiada określonemu ciągowi zbudowanemu z « wiadomości elementarnych pierwotnych st. Warunkowe prawdopodobieństwa wiadomości a, oznaczymy odpowiednio przez P(
P(cri\sJt,sh,...,sJJ,
gdzie
P(ff||ah,ah,
Na przykład, gdy S jest źródłem ciągów Markowa piątego rzędu, którego zbiór zawiera q wiadomości elementarnych, źródłem S3 będzie źródło ciągów Markowa drugiego rzędu o zbiorze zawierającym q3 wiadomości elementarnych. Zauważmy, że jeśli S jest źródłem ciągów Markowa m-tego rzędu, to utworzone dla niego źródło Sm będzie źródłem ciągów Markowa pierwszego rzędu. Wreszcie przedstawiamy prawdopodobieństwo P(
P(a i \a J i ,aj2,...,
ffjJ
= P(s, v sh = p (Si.|
sin\sJt ,sj2,...,
sJm)=
s
ji>sj2>->sjJx
xP(si2\Sj2,Sh,...,Sjm,Sh)...X X P ( S in| S i„- m 'S/ B - m + , «(.-,)• W powyższym zapisie zakładamy, że dla ostatniego z czynników w iloczynie zachodzi « > m. Jeżeli n < m, wówczas ostatnim z czynników jest
44
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
Pokazaliśmy poprzednio, że gdy źródło pierwotne S jest bezpamięciowe, to entropia źródła rozszerzonego S" jest n razy większa od entropii źródła pierwotnego. Łatwo pokazać, że tę własność wykazują także źródła ciągów Markowa. Udowodnimy to na przykładzie źródła ciągów Markowa pierwszego rzędu. Niech S będzie źródłem ciągów Markowa pierwszego rzędu, o zbiorze wiadomości elementarnych postaci {sj, s2, ..., sq}, z prawdopodobieństwami przejścia P(s,|j;) i rozkładem stacjonarnym P j , P2, ..., Pq. Niech S" będzie źródłem wiadomości-ciągów o długości n, zbudowanych z wiadomości elementarnych tworzących zbiór S, a elementarnymi wiadomościami wytwarzanymi przez to źródło niech będą crf, / = 1, 2, ..., q". S" jest więc źródłem ciągów Markowa pierwszego rzędu (na zasadzie podanego poprzednio określenia n). Mamy wówczas /i(S")=EZP(^,ai)log—1r-.
(2.33')
S" S"
r({T,|
Prawa strona równania (2.33'), jeśli rozpatruje się ją w aspekcie źródła S", jest podwójną sumą, której obydwa wskaźniki i i j przebiegają wartości od 1 do q". W sposób alternatywny możemy potraktować tę sumę w aspekcie źródła S2" utworzonego ze źródła pierwotnego S. W takim przypadku mamy: H (S") = Z P(*j, ff,)log ¿7- 1 ,— .
(2.33")
s2"
^(oąoj)
Podstawiając we wzorze (2.32) m = 1 otrzymujemy (2.34)
P(
a na tej podstawie prawą stronę równania (2.33") możemy przedstawić w postaci n sum (2.35)
tf(S")=
£ P
log—L-+...+ Z P ^ . ^ l o g ^ r - i
V
Każdą z tych sum można zredukować. Na przykład, wykonując 2n — 2 wskazanych sumowań w pierwszym składniku, otrzymujemy (2.36)
1 lP(«ry,ff|)log --=lP(s7,s(l)log =H{S). s*» P(sh\sj) s* PiSł^Sy)
2.7. Rozszerzenie źródła ciągów Markowa
45
Stąd wynika, że (2.37)
H(S")=nH
(S).
Dalsze interesujące własności entropii źródła ciągów Markowa można określić wprowadzając źródło S" stowarzyszone ze źródłem «-krotnie rozszerzonym S". Niech Pio-j), P(er2), ..., P(o>) będą prawdopodobieństwami (') pierwszego rzędu wiadomości elementarnych wytwarzanych przez źródło S", w przypadku gdy źródło pierwotne S jest źródłem ciągów Markowa pierwszego rzędu, jakie rozważaliśmy wyżej. Ponieważ <7; odpowiada ciągowi (j,-, , s h ..., i,„), więc P(
tf(S")=X S"
_
P(ffi)log-i- = P (
= L S" P ( h . «/a ' • • • '
S
J
1 s p7„ "K ii> stI2> •••> sTiJ\ •
Źródło S jest jednakże źródłem ciągów Markowa pierwszego rzędu, dlatego zachodzi równość: (2.39)
P(s,,, si2,...,
s J = P(s f l ) P(s i 2 |s ( l )... P(s i n |s i n .,).
Podstawiając wzór (2.39) do (2.38) otrzymujemy: <2.40,
H C T - Z P(»„,S„
„ . ( [ l o g ^ + l o g ^+
...+
lub (2.41)
H (Sn) = nH (S) + [H (S) - H ( S ) ] .
Zwróćmy uwagę na to, że człon w nawiasie kwadratowym p o prawej stronie znaku równości we wzorze (2.41) jest stałą nieujemną niezależną od «. Jeżeli S jest źródłem ciągów Markowa m-tego rzędu (zamiast jak poprzednio tylko pierwszego rzędu), wtedy (2.41) należy zastąpić wzorem (2.42)
H (Sn) = nH (S) + e m ,
(') Stacjonarnymi (przyp. tłum.).
46
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
gdzie em jest stałą dodatnią, która (tak długo jak n>m) zależy tylko od statystyki źródła S (zob. zadanie 2.1). Dzieląc obydwie strony równania (2.42) przez « otrzymujemy H(S") em ——=H(S)+~. n n
(2.43)
Poprzednio udowodniliśmy nierówność (2.44)
H(Ś")^H(Sn)
=
nH(S).
Równanie (2.43) powiada nam jednakże, że gdy n rośnie, to wielkości po obydwu stronach tej nierówności zbliżają się coraz to bardziej do siebie. Ścieślej: ze wzoru (2.43) wynika, że (2.45)
lim
n-* oo
«
Inaczej mówiąc, w przypadku dużych « charakterystyczne dla źródeł ciągów Markowa wzajemne uzależnienie wiadomości elementarnych wytwarzanych przez źródło S" staje się coraz to mniej istotne. Należy tutaj zwrócić uwagę, że źródło stowarzyszone ze źródłem S" bynajmniej nie jest równoważne «-krotnemu rozszerzeniu źródła stowarzyszonego ze źródłem S. Konsekwencją tego jest to, że H(S")jtH(Sn).
(2.46)
Istotnie, ponieważ ¡5 jest źródłem bezpamięciowym, zachodzi równość (2.47)
H (S") = nH (S),
którą możemy przeciwstawić zależności (2.44). PRZYKŁAD 2.6. Obecnie możemy zebrać niektóre rezultaty uzyskane w poprzednich przykładach, dotyczące źródła przedstawionego na rysunku 2.4, aby zilustrować wyprowadzone wyżej zależności. Otrzymaliśmy poprzednio: / / ( S ) = 0 , 8 1 bita,
H(S)=1,00
bita.
Z równania (2.37) wynika, że H(S2)=2H(S)=1,62
bita.
2.7. Rozszerzenie źródła ciągów Markowa
47
W dalszym ciągu obliczamy: i / ( S y ) = Y P C f y . i O l o g — i — = 1 , 8 6 bita, si P(«j,i») a po odpowiednio bardziej złożonych obliczeniach otrzymujemy H(S*)=2,66
bita,
/ / ( 5 ^ = 3 , 4 7 bita.
Zwróćmy uwagę, jak ciąg H(S)=1,00
bita,
^ = 0 , 9 3
bita,
2
—-—-=0,89 bita, 3 H{S*) 4
= 0 , 8 7 bita
dąży do wartości H(S) (por. wyżej).
2.8. Struktura języka W poprzednich paragrafach tego rozdziału wprowadziliśmy model źródła wiadomości i określiliśmy niektóre proste własności tego modelu. Interesujące jest zbadanie, jak dokładnie taki model odwzorowuje fizyczny proces wytwarzania wiadomości. Szczególnie ważnym przypadkiem wytwarzania wiadomości jest wytwarzanie wiadomości tworzących sensowne w danym języku słowa. W tym paragrafie na przykładzie języka angielskiego pokażemy, jak wytwarzanie takich wiadomości może być odwzorowane za pomocą ciągów coraz to bardziej skomplikowanych źródeł wiadomości. Ograniczymy się do zbioru 27 symboli: 26 liter stosowanych w języku angielskim i przerwyC1). Najprostszym możliwym źródłem wykorzystującym taki zbiór jest źródło bezpamięciowe, w przypadku którego każdy spośród 27 elementów zbioru ma jednakowe prawdopodobieństwo. Łatwo obliczyć entropię takiego źródła: (2.48)
H ( S ) = l o g 2 7 = 4 , 7 5 bita.
( l ) W dalszym ciągu przerwę będziemy traktować jako oddzielną literę (przyp. tłum.).
48
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
Oto typowy ciąg liter dostarczanych z podobnego źródła: Ciąg ten będziemy traktowali jako zerowe przybliżenie ciągu słów języka angielskiego. ZEWRTZYNSADXESYJRQY
WGECIJJ
YMBUAWVLBTQCNIKFMP
KMVUUGBSAXHLHSIE
OBVKRBQPOZB M
Zwróćmy uwagę, że w ciągu tym nie ma żadnej dającej się zauważyć struktury i nie można go traktować jako ciąg pochodzący z jakiegokolwiek języka operującego tym samym zbiorem liter. Lepsze przybliżenie języka angielskiego może być uzyskane poprzez wykorzystanie rzeczywistych TABLICA 2.2. Prawdopodobieństwa poszczególnych liter w języku angielskim (Reza, 1961) Litera
Prawdopodobieństwo
Litera
Prawdopodobieństwo
Przerwa A B C D E F G H I J K L M
0,1859 0,0642 0,0127 0,0218 0,0317 0,1031 0,0208 0,0152 0,0467 0,0575 0,0008 0,0049 0,0321 0,0198
N O P
0,0574 0,0632 0,0152 0,0008 0,0484 0,0514 0,0796 0,0228 0,0083 0,0175 0,0013 0,0164 0,0005
Q R S T U V w X Y Z
prawdopodobieństw występujących w tym języku liter (tablica 2.2). Entropia bezpamięciowego źródła liter z prawdopodobieństwami liter danymi w tablicy 2.2 jest równa (2.49)
i i ( S ) = X P i l o g - = 4,03 bita na literę. s
Pi
Typowy ciąg liter wytwarzany przez takie źródło, czyli pierwsze przybliżenie języka angielskiego, wygląda następująco: AL—NGAE 0 0
POER
ITF—NNR
ASAEV
SETRYGAIETRWCO
T—NSREM—DIY
EESE
OIE
BAINTHA
HYR
EHDUARU__EU_C_F
F _ 0 _ S R I S _ R
UNNASHOR
r 2.8. Struktura języka
49
Chociaż pokazany tu ciąg nie może być zakwalifikowany j a k o dobra angielszczyzna, wykazuje on jednak pewne cechy charakteru tego języka (porównajmy go z przybliżeniem zerowym). „Stówa" w tym przybliżeniu mają w przeważającej części rozsądną długość, a proporcje spółgłosek do samogłosek zdają się bardziej realne. Źródło wytwarzające pierwsze przybliżenie możemy dalej udoskonalić nadając mu własności źródła ciągów Markowa pierwszego rzędu z odpowiednimi warunkowymi prawdopodobieństwami liter. Prawdopodobieństwa te określone zostały przez Pratta (1942). Otrzymujemy wówczas (2.50) Wprawdzie wytwarzanie typowego ciągu liter ze źródła ciągów Markowa pierwszego rzędu, z prawdopodobieństwami określonymi przez Pratta, jest możliwe, jednakże Shannon pokazał znacznie ciekawszą metodę. Otóż okazuje się, że prawdopodobieństwa, których szukamy, zawarte są w zwykłym angielskim tekście. Otwórzmy zatem książkę i wybierzmy losowo jakąś literę, powiedzmy U. Następnie opuszczamy kilka linii, czytamy dalszy tekst aż napotkamy pierwsze U, wybieramy pierwszą literę następującą p o U; niech to na przykład będzie R. Znowu opuszczamy kilka linii, czytamy aż do napotkania R i wybieramy — analogicznie jak poprzednio — następną literę. Stosując tę procedurę konstruujemy drugie przybliżenie języka angielskiego: URTESHETHING__AD E AT FOULE ITHALIORT W ACT—D STE MINTSAN OLINS TWID OULY TE T HIGHE CO YS TII HR UPAVIDE .PAD CTAVED Zauważmy, jak charakter języka angielskiego odnajduje się w drugim przybliżeniu. Z pewnością mielibyśmy mniej wątpliwości w identyfikowaniu tego ciągu jako przybliżenia tekstu angielskiego niż powiedzmy tekstu francuskiego. Metodę Shannona możemy zastosować d o konstruowania przybliżeń tekstu angielskiego wyższych rzędów. Wybierając litery z książki zgodnie z dwoma poprzedzającymi literami, możemy skonstruować trzecie przybliżenie, czyli typowy ciąg odpowiadający przybliżeniu języka angielskiego poprzez źródło ciągów Markowa drugiego rzędu: 4
Teoria informacji
50
2. O c e n a i l o ś c i i n f o r m a c j i d o s t a r c z a n e j p r z e z w i a d o m o ś c i — Ź r ó d ł a w i a d o m o ś c i
IANKS
CAN
HOR
OF
OU
TO
ANG
RLER
THATTED
HAVEMEM__A
WHISSITAI3LY
I
THERVEREER
MAND
OF AND
.EIGHTS
TO
S
BUT
TAKILLIS
TA
Shannon (1951) obliczył, iż entropia źródła, któremu odpowiada taki ciąg jest równa 3,1 bita na pojedynczą literę. Stosując inne metody wykazał, że entropia języka angielskiego — jeżeli wziąć pod uwagę cały tekst poprzedzający — waha się w granicach 0,6 i 1,3 bita na literę. Wprawdzie procedurę wykorzystywaną poprzednio można zastosować do wytwarzania typowych ciągów, za pomocą źródeł ciągów Markowa rzędu m-tego (m ^ 3), o prawdopodobieństwach odpowiadających prawdopodobieństwom języka angielskiego, jednakże w przypadku m większych od 2 metoda taka staje się niepraktyczna. Wobec takich trudności Shannon zajął się analizą bezpamięciowego źródła wiadomości, traktując jako pojedyncze wiadomości — zamiast liter — słowa angielskie. Przyjmując prawdopodobieństwa pojawienia się poszczególnych słów w przybliżeniu takie same, jak w angielskim tekście, otrzymał (Shannon, 1948) czwarte przybliżenie tekstu angielskiego: REPRESENTING OR
COME
THE
A
GRAY SAGE
AND
CAN
IN
CAME
COME
TO
HAD
SPEEDILY
DIFFERENT
BE
THE
IS
AN
NATURAL
TO
OF
FURNISHES
TO
THE
GOOD
APT
HERE
HE
EXPERT LINE
MES-
THESE
Bardziej złożone przybliżenie tekstu angielskiego możemy skonstruować analogicznie, uzależniając prawdopodobieństwo wyboru danego słowa od słowa poprzedzającego. Źródło odpowiadające takiemu przybliżeniu jest źródłem ciągów Markowa pierwszego rzędu, którego elementami są słowa angielskie. Shannon (1948) skonstruował także typowy ciąg dla takiego źródła: THE
HEAD
ENGLISH THIS FOR EVER
AND
POINT THE
IN
WRITER IS THE
THE
THEREFORE
LETTERS
TOLD
FRONTAL
THAT THAT
PROBLEM
ATTACK
ON
CHARACTER ANOTHER
THE FOR
TIME AN
AN OF
METHOD OF
WHO
UNEX-
PECTED
Warto zauważyć, że taki ciąg jest rozsądnym przybliżeniem krótkiego wystąpienia, jakiego można się spodziewać od bardzo podekscytowanego i całkiem niekonsekwentnego mówcy. Ta okoliczność, że za pomocą pros-
2.8. Struktura języka
51
tych modeli, jakimi są źródła bezpamięciowe i źródła ciągów Markowa, możemy aproksymować (przynajmniej do pewnego stopnia) tak skomplikowane źródło wiadomości, jakim jest osoba mówiąca językiem angielskim, wydaje się bardzo zachęcająca. Wiele spośród źródeł informacji, jakie znajdujemy w praktycznych problemach telekomunikacji ma znacznie prostszą naturę, możemy zatem oczekiwać, że nasze modele umożliwią lepsze przybliżenie rzeczywistości w takich przypadkach. Uderzającą ilustrację różnic pomiędzy poszczególnymi językami zachodnimi otrzymano konstruując ciągi typowe w oparciu o statystyki tych języków. Dokonano tego dla trzech języków, otrzymując następujące ciągi: Ciąg przybliżeń języka francuskiego Pierwsze przybliżenie
R EPTTFVSIEOISETE TTLGNSSSNLN U N S T FSNST F E IONIOILECMPADINMEC TCEREPTTFLLUMGLR ADBIUVDCMSFUAISRPMLGAVEAI MILLUO Drugie przybliżenie
TTEPONT J E N E IESEMANT. PAVEZ L BO S E LQU SUIN DOTI CIS NC M O U R O U N E N T T—JE DABREZ D A U I E T O U N T LAGAUVRSOUT
PAS FUI MY
Trzecie przybliżenie
JOU MOUPLAS. D E MONNERNAISSAINS—DEME—U S VREH BRE TU D E TOUCHEUR DIMMERE—LL ES MAR ELAME RE A VER—IL—DOUVENTS—SO Ciąg przybliżeń języka niemieckiego Pierwsze przybliżenie
N N B N N D O E T T N I I I A D TSI ISLEENS. L R I _ L D R R B N F REMTDEEIKE U _ H B F _ E V S N BRGANWN IENEEHM E N R H N L H D SRG EITAW EESRNNGLGR Drugie przybliżenie
AFERORERGERAUSCHTER D E H A B A R ADENDERG E E U B R N D A N A G R E T U ZUBERKLIN DIMASO N DEU UNGER EIEIEMMLILCHER_WELT WIERK Trzecie przybliżenie
BET—JEREINER SOMMEIT SINACH G A N T U R H A T T E R _ A U M WIE BEST ALLIENDER TAUSSICHELLE — L A U F U R C H T ER BLEINDESEIT—UBER—KONN— 4«
52
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości Ciąg przybliżeń języka hiszpańskiego Pierwsze przybliżenie
UOALNAO N E L D N I S E T R T E G A T U E O E C S D U ZELNNTSSCASOSED T I R EIS TAMMO U O E D E O U E I EOSEELA NMSLAANTEC
ASU Tli
Drugie przybliżenie
C I N D E U N E C O — P E _ _ C A L P R O S E LAS L A B I T E J A S TE—ONTOMECITRODRESIO P A Y E N SPUSEL LA — S — U T A J A R E T E S O L O N D A M I V E ESA S CLUS Trzecie przybliżenie
R A M A D E LLA E L GUIA IMO SUS C O N D I A S S U E UNCONDADADO DEA M A R E _ T O BUERBALI A N U E Y H E R A R S I N D E SE SUS SUPAROCEDA
Jak poprzednio, pierwsze przybliżenie odpowiada ciągowi wytwarzanemu przez źródło bezpamięciowe, drugie — przybliżeniu za pomocą źródła ciągów Markowa rzędu pierwszego, a trzecie — za pomocą źródła ciągów Markowa rzędu drugiego. Jako ostatni przykład z tej serii przedstawiamy ciąg przybliżeń innego jeszcze języka zachodniego, przy czym pozostawiamy czytelnikowi odgadnięcie, jaki to język: Pierwsze przybliżenie
SETIOSTT N I N N TUEEHHIUTIAUE N IREAISRI M I N R N E M O S E P I N M A I P S A C SES LN ANEIISUNTINU AR T M U M O E C N U R I R E I A L AEFIITP Drugie przybliżenie
C T QU V E N I N L U M U A QUREO A B I T SAT F I U M A G E ICAM M E S T A M M Q U M C U T A T P A M NOND Q U M O M F I T N I S E R I S T E L ONO IHOSEROCO Trzecie przybliżenie
E T LIGERCUM SITECI LIBEMUS ACERELEN TE VICAESCERUM PE NON SUM MINUS UTERNE U T I N A R I O N — P O P O M I N SE I N Q U E N E Q U E IRA
Uwagi
53
UWAGI 1. Słowo entropia zostało utworzone przez Clausiusa w 1876 roku ze słów greckich i rpmeiv. Razem wzięte słowa te oznaczają zwrot do środka. Clausius użył słowa entropia dla określenia tej części energii systemu, która nie może być przetworzona na pracę mechaniczną bez przekazywania ciepła innemu ciału lub bez zmiany wartości. Boltzmann w roku 1896 pokazał po raz pierwszy, że entropia dowolnego układu może być wyrażona jako wartość średnia logarytmu z prawdopodobieństw stanów tego układu. D o teorii informacji wprowadził to słowo po raz pierwszy Shannon (1948). Pojęcie entropii jest z pewnością najważniejszym ale nie jedynym punktem, w którym stykają się teoria informacji i mechanika statystyczna. Jaynes (1959) rozważał bowiem możliwość wykorzystania w teorii informacji funkcji partycji stosowanej w mechanice. £v
2. W całej tej książce przyjmujemy, że prawdopodobieństwa poszczególnych elementów rozważanych zbiorów wiadomości są znane. Gdy prawdopodbieństwa te nie są znane (a być może nawet liczba elementów w zbiorze danego źródła jest nieznana), możemy estymować entropię źródła bezpamięciowego na podstawie obserwacji k wyjść tego źródła. Miller i Madow (1954) znaleźli optymalny w sensie największego prawdopodobieństwa estymator entropii oparty na podobnych obserwacjach. Basharin (1959) użył prawdopodobieństw empirycznych pt, nasuwający się w sposób oczywisty estymator H(S)=
aby wprowadzić
r 1 l Y p , log— .
s
Pu
Pokazał on, że H (S) jest obciążonym, zgodnym, asymptotycznie normalnym estymatorem H(S), przy czym E [H(S)]=H(S)~^
loge+O
,
gdzie q jest liczbą elementów zbioru źródła, & N — liczbą dokonanych obserwacji wyjścia źródła, na podstawie których dokonuje się estymacji. Blyth (1958) badał niektóre inne estymatory H(S); między innymi wykazał on, że istnieje nieobciążony estymator H{S). 3. W paragrafie 2.2 zdefiniowaliśmy entropię zmiennej losowej, która może przyjmować jedną ze skończonej liczby wartości. (Dystrybuanta takiej zmiennej losowej ma skończoną liczbę skoków). Aby opisać własności zmiennej losowej, mogącej zmieniać się w sposób ciągły (dystrybuanta takiej zmiennej jest funkcją absolutnie ciągłą), możemy wziąć pod uwagę ciąg dystrybuant o skończonej liczbie skoków aproksymujących dystrybuantę absolutnie ciągłą. Niech [i] oznacza całkowitą część liczby i. Wprowadzimy nową zmienną losową s.— — [nj] n
54
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
oraz niech
Oznaczmy przez Sn źródło odpowiadające zmiennej s„. W miarę jak n rośnie, zmienna losowa s„ przybliża się coraz to bardziej do zmiennej s. Niestety II(Sn) nie pozostaje skończone. Renyi (1959) zdefiniował wymiar zmiennej losowej i jako H(Sn) d (s) = lim — , «-.w l o g « a d-wymiarową
entropię s jako H i ( S ) = lim [ # ( £ „ ) - ¿ l o g « ] ,
gdy granice te istnieją. Gdy dystrybuanta ma skończoną ilość skoków, wymiar jest oczywiście równy zero, a H0(S) sprowadza się do H(S). Renyi (1959) wykazał również, że gdy dystrybuanta jest funkcją absolutnie ciągłą, a entropia H(S,) jest skończona, to d(s) = l i, jeżeli przez p(s) oznaczymy gęstość prawdopodobieństwa zmiennej s, entropia H ^ S ) równa jest 00
^ ( 5 ) = i/>(i)iog4-rfi, J
— <0
p(s)
o ile całka ta istnieje. Csiszar (1961) otrzymał rezultaty częściowo podobne do rezultatów
Renyi.
4. Oprócz rozważanego przez nas w punkcie 2.8 wytwarzania słów za pomocą sztucznych źródeł, możliwe jest również wytwarzanie elementów melodycznych. Pinkerton (1956) użył tej metody do komponowania muzyki. Pierce (1961) poświęcił w swej książce wiele miejsca takiemu tworzeniu muzyki; pierwszej chyba próby zbliżenia teorii informacji i sztuki dokonał Pierce (1957, str. 260), przytaczając w szeregu urywkach Suitę Illiaca dla kwartetu StringaC) 5. Jak podkreślaliśmy poprzednio, użycie entropii jako miary ilości informacji dostarczanej przez źródło wiadomości znajdzie uzasadnienie w pierwszym twierdzeniu Shannona (rozdział 4). Uzasadnieniem takim może być również i ta okoliczność, że jedynie entropia jest funkcją prawdopodobieństw wiadomości dostarczanych przez źródła, czyniącą zadość określonym warunkom (Feinstein, 1958). Określmy trzy bez(') Autor myśli tutaj o kodzie „skomponowanej" przez Hillera i Isaacona za pomocą maszyny cyfrowej. Wykazali oni, że za pomocą takiej maszyny można wytwarzać kombinacje rytmiczne i dynamiczne według muzycznego ciągu Markowa, w którym wybór kolejnej nuty zależy od prawdopodobieństw obliczanych z tablic sporządzonych na podstawie badań nad harmonią i składowymi harmonicznymi. „Kompozycja" ta została opublikowana jako Illiac Suite for String Quartet w czasopiśmie „ N e w Musie" w 1957 roku (przyp. tłum.).
Uwagi
55
pamięciowe źródła wiadomości oraz prawdopodobieństwa te źródła wiadomości następująco (a = l —a):
Sl s2
s.
p1 p2
Si
p1
st
a
S2
Pl
s2
a
p,-l
Sq- 1
Pą
i.
pt-1 a Pą
s«+l
aPq
wytwarzanych
przez
Entropia jest jednoznaczną (z dokładnością do stałego mnożnika) funkcją prawdopodobieństw wyjść źródła spełniającą warunki: a) H(Sl) = H(S)+PqmS2), b) H(S2) jest funkcją ciągłą zmiennej a, c) H(S) jest funkcją symetryczną zmiennych Plt
P2
Pt.
ZADANIA 2.1. Udowodnić równość 2.42. 2.2. Wykres stanu źródła ciągów Markowa pierwszego rzędu o zbiorze 5 = = {0, 1, 2} jest pokazany na rysunku Z.2.2. Oznaczamy p-\—p. Z zasady symetrii wynika, że rozkład P(0) = P(1) = P(2) = J jest stacjonarny.
p Z.2.2.
56
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości a) b) *c) d) e) f)
Obliczyć H(S). Obliczyć H(S). Czy odpowiedź sprawdza się w przypadku p = 0, Dla jakiej wartości p entropia H(S) osiąga maksimum? Zbadać zachowanie się H(S) dla p=e, gdzie « « 0 . Zbadać zachowanie się H(S) dla p = 1 — <5, gdzie ¿ « 0 . Narysować wykres stanu dla S 2 .
p=l?
g) Obliczyć i / ( S 2 ) i H(Ś*). 2.3. Dwa bezpamięciowe źródła Si i S 2 mają zbiory zawierające odpowiednio
n , a = 1-a ,
Z
CO
_
V » " > na = ( l - i V
2.6. Wykres stanu binarnego źródła ciągów Markowa pierwszego rzędu jest pokazany na rysunku Z.2.6. Prawdopodobieństwa stacjonarne są dla tego źródła
P
P
<7
<7
O
Z.2.6. równe P ( 0 ) = q l ( p + q ) , P(1 )=pl(p+q) wiązania zadania).
(dowód tego można traktować jako etap roz-
Zadania a) Obliczyć
57
H(S).
b) Obliczyć H(S). c) Niech ą-p. Znaleźć i wykreślić / / ( S ) jako funkcję p. d) Obliczyć H(S) w przypadku ą—p. 2.7. a) Niech dla źródła, jak w zadaniu 2.6, q = 1 (założenie to nie oznacza, iż q=p). Obliczyć i wykreślić H(S) jako funkcję p. b) Zachowując ą = 1, znaleźć //(5[0) i //(.S|l), tzn. informację przypadającą na pojedynczą wiadomość wytwarzaną przez źródło, gdy źródło jest odpowiednio w stanie 0 lub 1. 2.8. a) Rozważmy binarne źródło ciągów Markowa trzeciego rzędu, dla którego prawdopodobieństwo wytworzenia 0 lub 1 nie zależy od poprzednich dwóch wyjść, zależy natomiast od trzeciego, licząc wstecz, wyjścia. Prawdopodobieństwo, iż aktualne wyjście będzie identyczne z tym wyjściem z przeszłości, wynosi 0,9; prawdopodobieństwo, że wyjścia te będą się różniły — 0,1. Narysować wykres stanu dla takiego źródła. b) Znaleźć entropię tego źródła (bezpośrednia metoda obliczania prawdopodobieństw stacjonarnych itd. nie jest tutaj metodą najłatwiejszą). 2.9. Niech S0 będzie źródłem wiadomości-ciągów trzyelementowych zbudowanych z wiadomości pierwotnych wytwarzanych przez bezpamięciowe źródło wiadomości binarnych, dla którego prawdopodobieństwo wiadomości 0 jest równe p. Inne źródło S jest związane ze źródłem S0 w ten sposób, że wytwarza ono jedną z wiadomości 0, 1, 2 lub 3 w zależności od tego, czy wyjście S0 zawiera 0, 1, 2 czy 3 zera. a) Obliczyć ff(S0). b) Obliczyć ff(S). c) Obliczyć H(S0)—H(S). Uzasadnić tę różnicę entropii i podać jej interpretację. 2.10. Uogólnić problem, będący przedmiotem punktu c) w zadaniu 2.9 na przypadek, w którym S0 jest źródłem wytwarzającym wiadomości-ciągi «-elementowe zbudowane z wiadomości pochodzących ze źródła binarnego, a S wytwarza 0, 1 , 2 , ..., lub n. Przy okazji: Jak wiele informacji średnio traci się w przypadku, gdy wiadomość odbieramy ze źródła S zamiast ze źródła S01 2.11. Rozważmy bezpamięciowe źródło wiadomości 5 0 , w którym prawdopodobieństwo 0 wynosi px 1. Ponieważ prawdopodobieństwo wytwarzania 0 jest tak duże, sensowne jest rozważenie długich ciągów następujących po sobie zer. Można by zatem wprowadzić nowe źródło S o elementach i i , s2, s3, ..., w którym na przykład ciąg s}, S2, f«, »i, ss odpowiadałby pierwotnemu ciągowi binarnemu 001
01
0001
1
00000001
S3
S2
Są
SI
Sa
a) Korzystając z równania
znaleźć entropię źródła S. Nie pozostawiać odpowiedzi w formie sumy nieskończonej.
58
2. Ocena ilości informacji dostarczanej przez wiadomości — Źródła wiadomości
b) Obliczyć H(S)/H(S0). c) Obliczyć średnią liczbę binitów wytwarzanych przez źródło pierwotne przypadającą na pojedynczą wiadomość ze źródła S. 2.12. Źródło S dyskutowane w zadaniu 2.11 musiałoby dysponować nieskończoną liczbą możliwych wiadomości s{. Jako przybliżenie S możemy rozważać źródło Sm, mające n +1 wyjść: ii
1
i2
01
i3
001
s„
0000
i„ + 1
0000 . . . 0 0
...01
n binitów
a) Obliczyć H(Sn). b) Niech p = 0,9; wykreślić H(S„) jako funkcję n. 2.13. Wykres stanu źródła ciągów Markowa pierwszego rzędu, posiadającego zbiór elementów 5 = { 0 , 1 , 2}, pokazany jest na rysunku Z.2.13. N a zasadzie symetrii rozkład stacjonarny ma postać: P(0) = P(1) = P(2) =
p Z.2.13. a) Obliczyć H(~S). b) Obliczyć H(S). Sprawdzić odpowiedź dla p = 0, p= 1, c) Obliczyć H(S2).
Zadania
59
2.14. Niech S będzie źródłem bezpamięciowym o zbiorze elementów S = { s ( } , / = 1 , 2 , ..-,?> których prawdopodobieństwa wynoszą odpowiednio Plt P2, ..., P,, Skonstruować nowe źródło bezpamięciowe S' zawierające dwa razy więcej elementów, 5 ' = { j i } , i = l , 2 , . . . , 2 q . Niech prawdopodobieństwa Pt opisujące to nowe źródło, będą następujące: f(l-£)P, dla i = l , 2 , . . . , q,
dla i=q+l, Wyrazić H{S') jako funkcję
H(S).
q+2
2q.
3. NIEKTÓRE WŁASNOŚCI KODÓW
3.1. Wstęp Zanim przystąpimy do badania związków pomiędzy kodowaniem i miarą ilości informacji zdefiniowaną w rozdziale 2, zajmiemy się określeniem pewnych klas kodów. Z pojęciem kodu i związanymi z nim pojęciami zbioru wiadomości elementarnych i zbioru sygnałów elementarnych zaznajomiliśmy się już poprzednio (w paragrafie 1.3). DEFINICJA. Niech S = { J 1 , S 2 » •••>•?„} oznacza dany zbiór elementów. Kodem nazywamy wówczas odwzorowanie zbioru wszystkich możliwych ciągów utworzonych z elementów zbioru S w pewien zbiór ciągów utworzonych z elementów innego zbioru X= , x2, ..., xr}. Zbiór S nazywać będziemy zbiorem wiadomości elementarnych, a zbiór X — zbiorem sygnałów elementarnych. Podana wyżej definicja jest zbyt ogólna na to, aby można było posłużyć się nią przy syntezie kodu. Dlatego też ograniczymy krąg naszych zainteresowań do kodów mających pewne dodatkowe własności. Pierwszą z takich własności, której będziemy domagali się od kodu, jest, aby był to kod blokowy. DEFINICJA. Kodem blokowym
nazywamy kod I 1 ) , który każdą z wiadomości elementarnych wchodzących w skład zbioru S odwzorowuje w ustalony ciąg sygnałów elementarnych ze zbioru X. Takie ciągi sygnałów elementarnych nazywamy ciągami kodowymi (w oryginale słowami kodowymi — (') Niektórzy autorzy (np. Peterson, 1961, Seidler, 1965) określają kody blokowe jako takie kody, w których wszystkie ciągi kodowe zawierają tę samą liczbę sygnałów elementarnych.
61
3.1. Wstęp
przyp. tłum.). Ciąg kodowy odpowiadający wiadomości st oznaczać będziemy przez Xi. Tak więc symbol Xt oznacza ciąg złożony z elementów typu Xj. PRZYKŁAD 3.1. Przykład binarnego kodu blokowego dany jest w tablicy 3.1. TABLICA 3.1 Binarny kod blokowy Wiadomości elementarne
Ciągi kodowe
ii
0 11 00 11
Sl s*
l
Na pierwszy rzut oka wymaganie, abyśmy każdą wiadomość elementarną kodowali w ustalony ciąg sygnałów elementarnych, wydaje się wygórowane. Zauważmy jednakże, że jeżeli dany kod odwzorowuje wszystkie ciągi wiadomości elementarnych o długości « w ustalone ciągi sygnałów elementarnych, to kod taki odwzorowuje każdą wiadomość ze źródła «-krotnie rozszerzonego w pewien ustalony ciąg sygnałów elementarnych. To ostatnie odwzorowanie stanowi właśnie kod blokowy dla źródła «-krotnie rozszerzonego. Zespół zasad określający transformację zbioru wiadomości w zbiór sygnałów elementarnych może czynić zadość naszej definicji kodu blokowego wtedy tylko, kiedy rozważamy wiadomości ze źródła «-krotnie rozszerzonego, zbudowane z « wiadomości elementarnych pierwotnych. W dalszym ciągu rozdziału zajmować się będziemy w głównej mierze kodami blokowymi.
3.2. Kody jednoznacznie dekodowalne Z przykładu podanego wyżej w sposób oczywisty wynika, że musimy nałożyć dalsze ograniczenia na kody blokowe, jeśli kody takie mają być użyteczne; naturalnym ograniczeniem, jakie można nałożyć na kod, wydaje się założenie, aby każdy z ciągów kodowych Xt różnił się od pozostałych. (') Tzn. każdą wiadomość-ciąg o długości n.
62
3. Niektóre własności kodów
Zauważmy, że ciągi kodowe X2 i XA kodu pokazanego w tablicy 3.1 nie różnią się. DEFINICJA. Mówimy, że kod blokowy jest nieosobliwy, jeżeli wszystkie jego ciągi kodowe różnią się nawzajem. PRZYKŁAD 3.2. Przykład nieosobliwego kodu blokowego podany jest w tablicy 3.2. TABLICA 3.2 Nieosobliwy kod blokowy Wiadomości elementarne '
Ciągi kodowe
ii s2
0
Si
01
11 00
Chociaż w podanym tu przykładzie nieosobliwego kodu blokowego wszystkie ciągi kodowe są różne, to jednak wciąż jest możliwe pojawienie się ciągu sygnałów elementarnych, który nie będzie mógł być jednoznacznie odwzorowany w ciąg wiadomości. N a przykład ciąg 0011 mógłby odpowiadać bądź ciągowi wiadomości s3s2, bądź ciągowi wiadomości J j J , ^ . Oznacza to, że kod w tablicy 3.2, chociaż jest nieosobliwy w sensie szczególnym, jest kodem osobliwym w sensie ogólnym. Przykład ten pokazuje więc, że musimy wprowadzić mocniejszy warunek niż nieosobliwość, jeśli kod ma być użyteczny. Niech dany kod blokowy odwzorowuje wiadomości ze zbioru S na ustalone ciągi sygnałów elementarnych ze zbioru X. (Źródło S może być rozszerzeniem pewnego źródła pierwotnego, tzn. może wytwarzać wiadomości będące ciągami wiadomości elementarnych pierwotnych). Ponieważ ograniczamy się do kodów blokowych, mamy naturalną elementarną jednostkę kodową, a mianowicie wiadomość elementarną ze zbioru S i odpowiadający jej ciąg sygnałów elementarnych pochodzących ze zbioru sygnałów elementarnych, z których budujemy ciągi kodowe. Możemy obecnie połączyć ze sobą tak zbudowane bloki, podobnie jak łączyliśmy następujące po sobie wiadomości elementarne, tworząc rozszerzone źródło wiadomości. DEFINICJA, n-krotnym rozszerzeniem kodu blokowego, przyporządkowującego wiadomościom s t ciągi kodowe A";, jest kod blokowy, który ciągom
3.2. Kody jednoznacznie dekodowalne
63
wiadomości elementarnych O (sh, si2, ..., sin) przyporządkowuje ciągi ciągów kodowych {Xh, Xh, ..., Xin) Z powyższej definicji wynika, że «-krotne rozszerzenie kodu blokowego jest także kodem blokowym. PRZYKŁAD 3.3. Dwukrotne rozszerzenie kodu blokowego podanego w tablicy 3.2 jest pokazane w tablicy 3.3. TABLICA 3.3 Kod blokowy dla wiadomości-ciągów dwuelementowych Wiadomości elementarne
Ciągi kodowe
ii ii Sl s2 Si s3 Sl Si S2 i i
00 011 000 001 110 1111 1100 1101
S2 S2 S2
s3
S2 Są.
Wiadomości elementarne
Ciągi kodowe
S3 Si
000 0011 0000 0001 010 0111 0100 0101
Sl s2 s3 s3 S3
Są
Są
S1
S4 S2 Są
S3
SĄ
SĄ
DEFINICJA. Kod blokowy nazywamy jednoznacznie dekodowalnym wtedy i tylko wtedy, gdy «-krotne rozszerzenie tego kodu jest kodem nieosobliwym dla dowolnego skończonego «. Definicja ta zapewnia nas, że dowolnym dwóm wytwarzanym przez źródło ciągom wiadomości, tej samej długości, odpowiadają różne ciągi kodowe. Oczywiście powinniśmy także wymagać, aby dwa ciągi wiadomości, nawet jeżeli nie są one tej samej długości, prowadziły do różnych ciągów kodowych. Ta własność wynika również z naszej definicji. Przypuśćmy, że tak nie jest, to znaczy załóżmy, że istnieją dwa ciągi wiadomości i S2, którym odpowiada ten sam ciąg kodowy X0. Zauważmy, że Ol , 1 Xq reprezentują tutaj ciągi symboli, a nie jedynie pojedyncze symbole. Ponadto 51 i S2 mogą być ciągami wiadomości o różnej długości. Utwórzmy teraz (') W definicji tej zakłada się, że każdy z ciągów XLM zostaje przyporządkowany wiadomości s,m w sposób niezależny od pozostałych wiadomości s,t według kodu pierwotnego nierozszerzonego.
64
3. Niektóre własności kodów
dwa nowe ciągi wiadomości S[ i S'2. Niech S[ będzie określony jako ciąg wiadomości, w którym po ciągu S2 następuje SL. Ciąg S'2 jest odpowiednio ciągiem zawierającym ciąg Sl3 po którym następuje S2. Widzimy, że zarówno S[, jak i S2 prowadzą do ciągu sygnałów, w którym po prostu po ciągu X0 następuje X0. Obydwa ciągi S\ i S2 mają tę samą długość. Tak więc, kod taki nie spełnia warunku jednoznacznego dekodowania sformułowanego wyżej. Sardinas i Patterson (1953) znaleźli warunki konieczne i dostateczne jednoznacznego dekodowania. Ponieważ w dalszym ciągu ograniczymy się w naszych rozważaniach do klasy kodów jednoznacznie dekodowalnych, nie będziemy potrzebowali przytaczać tutaj ich rezultatów.
3.3. Kody dekodowalne bez opóźnienia Dwa przykłady kodów jednoznacznie dekodowalnych podane są w tablicy 3.4( Ł ). TABLICA 3.4. Dwa kody jednoznacznie dekodowalne Wiadomości elementarne ii
Sl Si S4.
K o d •aC
00 01 10 11
Kod
a
0 10 110 1110
Przedstawiony wyżej kod s / wskazuje, jaka jest niewątpliwie najprostsza metoda konstruowania jednoznacznie dekodowalnego kodu. Wszystkie ciągi kodowe kodu s / są tej samej długości, a na dodatek kod st jest oczywiście nieosobliwy. Można wykazać, że te dwie własności są warunkami dostatecznymi na to, aby kod był kodem jednoznacznie dekodowalnym. Natomiast dany w tablicy 3.4 kod 38 jest kodem jednoznacznie dekodowalnym, ponieważ jest to kod nieosobliwy, a na dodatek jest to kod, który można nazwać kodem z przecinkiem. Oznacza to, że w kodzie 38 sygnał (') W dalszym ciągu będziemy używali liter pisanych dla oznaczenia kodów.
r
3.3. Kody dekodowalne bez opóźnienia
65
elementarny 0 pełni funkcję przecinka rozdzielającego jeden ciąg kodowy od drugiego. Gdy śledzimy ciąg sygnałów elementarnych, możemy posłużyć się tym przecinkiem dla określenia miejsca, w którym kończy się jeden ciąg kodowy, a zaczyna się ciąg następny. Możliwość określenia, w jakim miejscu w obrębie skończonego ciągu sygnałów elementarnych kończy się pewien ciąg kodowy, wydaje się mieć podstawowe znaczenie przy konstruowaniu obydwu rozważanych wyżej kodów. Istotnie, własność ta jest bowiem bardzo bliska koncepcji jednoznacznego dekodowania. Rozważmy jeszcze jeden kod jednoznacznie dekodowalny (tabl. 3.5). Oznaczymy go symbolem ( €. Kod różni się od kodów $ ł i 28 z tablicy 3.4 TABLICA 3.5. Kod jednoznacznie dekodowalny Wiadomości elementarne •Sl
Sl Sz s4
Kod
w istotny sposób. Jeżeli bowiem dany jest ciąg binarny złożony z ciągów kodowych kodu c€, to nie jesteśmy w stanie zdekodować go dekodując z osobna jeden ciąg kodowy po drugim. Jeżeli na przykład odbieramy ciąg 01, nie możemy stwierdzić, że ciąg ten odpowiada wiadmości s2, tak długo, jak długo nie odbierzemy następnego sygnału elementarnego. Jeżeli następnym jest sygnał elementarny 0, wiemy wówczas, że odebrany przez nas ciąg odpowiada wiadomości s2, natomiast jeżeli następnym sygnałem byłoby 1, wtedy musielibyśmy czekać na jeszcze jeden kolejny sygnał elementarny, aby móc ustalić, czy odebraliśmy s3 (011) czy też (0111). Tak więc wprowadzenie opóźnienia jest niezbędnym warunkiem dekodowania kodu (ś, podczas gdy kody s/ i mogliśmy dekodować na bieżąco — ciąg kodowy po ciągu kodowym. DEFINICJA. Jednoznacznie dekodowalny kod nazywać będziemy kodem
dekodowalnym bez opóźnienia, jeżeli każdy z ciągów kodowych tego kodu można dekodować bez czekania aż pojawią się sygnały elementarne od5
Teoria
i n f o r m a c j i
66
3. Niektóre własności kodów
powiadające dalszym ciągom kodowym (następującym po ciągu kodowym aktualnie dekodowanym). Kody s i i SS dane wyżej są kodami dekodowalnymi bez opóźnienia. Kod m jest natomiast przykładem kodu dekodowalnego jednoznacznie jedynie z opóźnieniem. W rozważanych przypadkach trzech kodów łatwo sprawdzić, czy kod jest kodem dekodowalnym bez opóźnienia. Użyteczne będzie jednak znalezienie ogólnego testu pozwalającego określić, przy jakich warunkach dany kod jest kodem dekodowalnym bez opóźnienia; obecnie przedstawimy taki test. DEFINICJA. Niech X't—(xt , xt , ..., xim) będzie ciągiem kodowym pewnego kodu. Ciąg sygnałów elementarnych (xt , x>^, ..., xij), gdzie / nazywamy przedrostkiem ciągu kodowego Xt. PRZYKŁAD 3.4. Ciąg kodowy 0111 ma cztery przedrostki: 0111, 011, 01 i 0.
Test, którego szukamy, może być obecnie sformułowany następująco: Warunkiem koniecznym i dostatecznym na to, aby dany kod by! kodem dekodowalnym bez opóźnienia, jest, aby żaden pełny ciąg kodowy tego kodu nie był użyty jako przedrostek innego ciągu kodowego tegoż kodu. Dostateczność spełnienia powyższego testu wynika bezpośrednio z poprzedniej definicji kodu dekodowalnego bez opóźnienia. Jeżeli bowiem żaden z ciągów kodowych nie jest przedrostkiem innego ciągu, to możemy w prosty sposób dekodować dowolny ciąg sygnałów będący ciągiem ciągów kodowych. Badamy po prostu kolejno odebrane sygnały elementarne tak długo, aż dojdziemy do ciągu będącego pewnym ciągiem kodowym. Musi to być przy tym faktycznie nadany ciąg kodowy, ponieważ przyjęliśmy, że żaden ciąg kodowy nie może być przedrostkiem innego ciągu kodowego. W ten sposób, nie wprowadzając opóźnienia, przeprowadzamy proces dekodowania ciągu za ciągiem. Konieczność spełnienia powyższego testu można wykazać przyjmując sytuację przeciwną i dochodząc do sprzeczności. Przyjmijmy zatem, że istnieje pewien ciąg w naszym kodzie, na przykład niech będzie to ciąg Xt, który jest zarazem przedrostkiem innego ciągu kodowego Xj. Jeżeli więc teraz będziemy przeszukiwali ciąg elementarnych sygnałów odebranych i dojdziemy do ciągu Xit będzie to bądź kompletny ciąg kodowy, bądź tylko pierwsza część ciągu Xj. Nie jesteśmy w stanie powiedzieć, która z tych alternatyw jest prawdziwa, tak długo, dokąd nie zbadamy dalszych
3.3. K o d y d e k o d o w a l n e bez o p ó ź n i e n i a
67
sygnałów elementarnych podstawowego ciągu; tak więc kod ten nie jest kodem dekodowalnym bez opóźnienia. Nieblokowe Osobliwe
Kody Blokowe
Nieosobliwe
Niejednoznacznie dekodowane Z opóźnieniem Jednoznacznie dekodowane Bez opóźnienia
3.1. Klasy
kodów
W tym miejscu warto zestawić różne klasy kodów, z którymi dotychczas mieliśmy do czynienia. Schemat 3.1 ilustruje drogę wiodącą nas poprzez „gąszcze" klas kodów do klasy kodów dekodowalnych bez opóźnienia.
3.4. Konstruowanie kodów dekodowalnych bez opóźnienia Istota ograniczeń nakładanych na kod, od którego wymagamy, by był kodem dekodowalnym bez opóźnienia, może być właściwie zrozumiana przy pewnych prymitywnych usiłowaniach syntezy kodu. Dokonajmy próby syntezy binarnego kodu dekodowalnego bez opóźnienia dla źródła wiadomości o zbiorze pięcioelementowym. Konstruowanie takiego kodu moglibyśmy zacząć przyporządkowując wiadomości elementarnej i ! sygnał elementarny 0
Gdybyśmy tak postąpili, wtedy przyporządkowując sygnały wszystkim pozostałym wiadomościom musielibyśmy odpowiadające im ciągi kodowe rozpoczynać sygnałem elementarnym 1. Jeżelibyśmy tego nie zrobili, znaleźlibyśmy się w sprzeczności z regułą (3.1). Nie możemy również dopuścić, aby wiadomości s2 odpowiadał ciąg kodowy złożony z pojedynczego sygnału 1; w takiej sytuacji bowiem żaden sygnał nie pozostałby nam dla skonstruowania pozostałych trzech ciągów kodowych. Moglibyśmy zastosować przyporządkowanie s 2 -+10. 5»
68
3. Niektóre własności kodów
To z kolei wymagałoby od nas, abyśmy pozostałe ciągi kodowe zaczynali sygnałami 11. Jeżeli Sj-llO,
wtedy jedynym niezastosowanym jeszcze 3-elementowym przedrostkiem byłby ciąg 111 i moglibyśmy kodować: s4-1110, s5->llll.
Zauważmy w jaki sposób w takim kodzie, poczynając od przyporządkowania wiadomości i ! odpowiadającego jej sygnału elementarnego 0, ograniczamy liczbę wchodzących w rachubę ciągów kodowych. Odkąd dokonaliśmy takiego pierwszego kroku, musimy się ograniczyć do ciągów kodowych zaczynających się od 1. Dlatego możemy oczekiwać, że jeżelibyśmy dwuelementowy ciąg kodowy przyporządkowali wiadomości slt mielibyśmy więcej swobody przy następnych ciągach kodowych i nie zaistniałaby konieczność uciekania się do stosowania takich długich ciągów kodowych, jak ostatnie dwa ciągi w skonstruowanym tu kodzie. Aby sprawdzić to przypuszczenie przeprowadzimy obecnie, dla tego samego źródła wiadomości, inną syntezę kodu binarnego. Zaczniemy od przyporządkowania Si-» 0 0 .
Teraz możemy przyporządkować s2->01,
po czym mieć będziemy dwa przedrostki o długości 2, które dotąd nie były stosowane. Możemy je zastosować tak, jak to pokazano niżej: s3->10, s4->-110, s5->lll.
Nasuwa się pytanie: Który z kodów przez nas skonstruowanych jest lepszy? Nie może ono jednak uzyskać odpowiedzi przy posiadanych przez nas dotychczas informacjach. Dwa przykłady kodowania, jakie tu przeprowadziliśmy, pokazują, że przy konstruowaniu kodów bez opóźnienia,
3.4. Konstruowanie kodów dekodowalnych bez opóźnienia
69
jeżeli krótkimi uczynimy pierwsze kilka ciągów kodowych, będziemy musieli później zastosować dłuższe ciągi. Poprzez użycie 0 jako ciągu w pierwszym z kodów, ograniczyliśmy zasób pozostałych ciągów do ciągów zaczynających się sygnałem 1. W drugim kodzie użyliśmy ciągu 00 jako pierwszego z ciągów kodowych. W tym przypadku mogliśmy uformować pozostałe ciągi zaczynając je od 1, a dodatkowo mogliśmy użyć ciągów zaczynających się od 01.
3.5. Nierówność Krafta — sformułowanie i dyskusja W paragrafie 3.4 dyskutowaliśmy w sposób jakościowy pewne warunki, jakie spełnia długość ciągów kodowych kodu dekodowalnego bez opóźnienia. Warunki takie można też wyrazić w sposób ilościowy. Pozostała część tego rozdziału będzie dotyczyła warunków, jakie spełniać muszą długości ciągów kodowych kodu dekodowalnego bez opóźnienia. Rozważmy kod dekodowalny bez opóźnienia, przyporządkowujący elementom zbioru wiadomości S = { s i , s 2 , ..., ciągi kodowe zbudowane z sygnałów elementarnych, których zbiór ma postać A r ={x 1 , x2, x r }. Niech Xly X2, ..., Xq będą ciągami kodowymi. Długość ciągu kodowego Xt (tzn. liczbę sygnałów elementarnych, z których ciąg taki jest zbudowany) oznaczymy przez /¡. W praktyce wymaga się często, aby długość ciągu kodowego była możliwie najmniejsza. Warunki konieczne i dostateczne istnienia kodu dekodowalnego bez opóźnienia z ciągami kodowymi o długościach 12, ..., lq są określone nierównością Krafta (1949). Warunkiem koniecznym i dostatecznym istnienia kodu dekodowalnego bez opóźnienia z ciągami kodowymi o długościach / 1 ; l 2 , ..., lq jest, aby spełniona była nierówność: (3.2)
|>-"<1,
i— 1
gdzie r jest liczbą różnych sygnałów elementarnych, z których zbudowane są ciągi kodowe.
70
3. Niektóre własności kodów
W szczególnym przypadku kodu binarnego, z nierówności Krafta wynika, że /f musi spełniać warunek (3.3)
E2"'<<1, i= 1
gdzie sumowanie rozciągnięte jest na wszystkie ciągi kodowe kodu blokowego. Zanim udowodnimy tę nierówność, pouczającym będzie, jeśli pokażemy, jak można z niej korzystać celem określenia, czy dana długość ciągu /; jest możliwa do przyjęcia jako długość ciągu kodowego kodu dekodowalnego bez opóźnienia. Weźmy źródło wiadomości o zbiorze zawierającym elementy st, s2, s3 i s4. W tablicy 3.6 wymienionych jest pięć możliwych kodów b narnych, którymi się można posłużyć przy kodowaniu wiadomości pochodzących z tego źródła. TABLICA 3.6. Pięć kodów binarnych Wiadomości elementarne Ji
Sl Sl Są
Kod
s/
00 01 10 11
Kod
a
Kod
<ś
Kod
•
0
0 100 110 111
0 100 110 11
10 110 111
Obliczymy teraz wartość sumy £ 2
a
Kod
g
0 10 110 11
dla każdego z tych kodów. Jak widać,
¡=i
dla kodu si mamy 4
Z2_'' = 2
i= 1
- 2
+2
- 2
+ 2~2+2
- 2
= l,
stąd wynika, że długości ciągów kodowych kodu s / mogą być przyjęte jako długości ciągów kodowych kodu dekodowalnego bez opóźnienia. Zauważmy jednak, że nierówność Krafta nie mówi nam, że kod s4 jest kodem dekodowalnym bez opóźnienia. Nierówność ta stanowi warunek narzucony jedynie na długość ciągów kodowych, nie zaś na same te ciągi. W szczególności, w rozważanym przypadku, z nierówności tej wynika, że istnieje kod dekodowalny bez opóźnienia, zawierający cztery ciągi kodowe każdy o długości 2. Jest jednak oczywiste, że w tym przypadku nie tylko długości ciągów kodowych kodu sś spełniają nierówność Krafta, lecz także, że i same te ciągi tworzą kod bez opóźnienia.
3.5. Nierówność Krafta — sformułowanie i dyskusja
71
W przypadku kodu 38 otrzymujemy odpowiednio 4
X2"', = 2"1 + 2"3 + 2"3 + 2 " 3 = ¡=I
Widzimy tu znowu, że długości ciągów kodowych mogą być przyjmowane jako długości ciągów kodowych kodu dekodowalnego bez opóźnienia. Natomiast z analizy samych ciągów kodowych tego kodu wynika, że kod 38 spełnia warunek (3.1), a zatem istotnie jest kodem dekodowalnym bez opóźnienia. Kod <
£2-'' = 2 ¡=1
_ 1
+2~
2
+ 2~3 + 2~3 = l ,
co oznacza, że długości ciągów kodowych znowu spełniają nierówność Krafta. Analogicznie jak poprzednio przekonujemy się, że kod jest kodem dekodowalnym bez opóźnienia. Również kod 2> powstaje z kodu 38 przez opuszczenie jednego binitu (tym razem dotyczy to czwartego ciągu). Stwierdzamy również, że ciągi kodowe kodu spełniają nierówność Krafta. Jak poprzednio wspomnieliśmy, nie gwarantuje to jednak, że kod 2 jest dekodowalny bez opóźnienia; istotnie — widzimy, że czwarty ciąg kodowy jest przedrostkiem trzeciego ciągu. Warunek (3.1) nie jest zatem spełniony i kod 2 nie jest kodem dekodowalnym bez opóźnienia. Wreszcie w przypadku kodu 8, danego również w tablicy 3.6, otrzymujemy 4
£2i= 1
i i
= 2~1 + 2 _ 2 + 2 - 3 + 2 - 2 = l i .
W tym przypadku dalsze badania nie są konieczne. Ciągi kodowe tego kodu nie spełniają nierówności Krafta, zatem kod 8 nie może być kodem blokowym dekodowalnym bez opóźnienia. Rozważmy jeszcze jeden przykład, zanim przystąpimy do dowodzenia nierówności Krafta. Załóżmy, że chcemy zakodować wyjście źródła o zbiorze 10-elementowym S={0, 1, 2, ..., 9} w kodzie binarnym dekodowalnym bez opóźnienia. Załóżmy dalej, że z pewnych względów należy wiadomościom 0 i 1 pochodzącym z takiego źródła przyporządkować stosunkowo krótkie ciągi kodowe. Rozsądne jest postawienie takiego wymagania,
72
3. Niektóre własności kodów
gdy źródło wytwarza znacznie więcej zer i jedynek niż dwójek, trójek itd. Jeżeli kodowalibyśmy zera i jedynki w sposób następujący ( ł ): (3.4, 1->10,
wtedy moglibyśmy być zainteresowani w znalezieniu odpowiedzi na pytanie: Jak uczynić pozostałe ciągi kodowe możliwie najkrótszymi? Jeżeli żądamy przy tym, aby wszystkie ciągi kodowe miały tę samą długość, powiedzmy /, wtedy nierówność Rrafta daje nam prostą odpowiedź na to pytanie. Z nierówności tej bowiem w rozważanym przypadku wynika następujący warunek : (3.5)
¿2-'<
Przyjęliśmy / 0 = 1, /i = 2 i /2 = / 3 = ... = / 9 = /. Podstawiając te wartości do wzoru (3.5) otrzymujemy
i+ł+8(2-')
lub (3.6)
Z>5. TABLICA 3.7. Kod binarny dla cyfr dziesiętnych Cyfry dziesiętne
Kod binarny
0 1 2 3 4 5 6 7 8 9
0 10 11000 11001 11010 11011 11100 11101 11110 11111
(') Nie możemy oczywiście stosować przyporządkowania 0->0 i 1-+1, ponieważ wyczerpałoby to wszystkie możliwe jednobinitowe przedrostki zanim zakodowalibyśmy pozostałe osiem elementów zbioru; na skutek tego nie bylibyśmy w stanie skonstruować kodu dekodowalnego bez opóźnienia.
3.5. Nierówność Krafta — sformułowanie i dyskusja
73
Znalezienie kodu dokodowalnego bez opóźnienia, przy założeniu / < 5, nie jest więc możliwe. Z nierówności Krafta wynika, że taki kod istnieje dla / równego 5, lecz nierówność ta nie mówi, jak skonstruować taki kod. Nietrudno go jednak znaleźć; jest on przedstawiony w tablicy 3.7.
3.6. Nierówność Krafta — dowód W poprzednim paragrafie przedstawiliśmy nierówność Krafta oraz podaliśmy przykłady, których zadaniem było pomóc czytelnikowi w zrozumieniu istoty ograniczeń nakładanych przez tę nierówność. Obecnie — uwzględniając wnioski płynące z poprzednich rozważań — przystąpimy do dowodu tej nierówności. Najpierw wykazaliśmy, że spełnienie nierówności Krafta jest warunkiem dostatecznym istnienia kodu dekodowalnego bez opóźnienia; dokonaliśmy tego, konstruując kod dekodowalny bez opóźnienia spełniający nierówność (3.7)
tr-'«
¡=i
Załóżmy, że dane są długości ciągów kodowych h , l 2 , •••, lq spełniające nierówność (3.7) oraz że chcemy skonstruować kod dekodowalny bez opóźnienia, zawierający takie ciągi. Założone długości ciągów mogą, ale nie muszą, być różne. Jak się przekonamy, wygodnie będzie jednocześnie rozważać wszystkie ciągi kodowe o danej długości. Oznaczmy zatem przez n 1 liczbę ciągów kodowych o długości 1, przez «2 — liczbę ciągów o długości 2, itd. Jeżeli największą spośród długości jest /, mamy (3.8)
£ > , =
¡=i
Możemy obecnie przepisać wzór (3.7) stosując w nim zmienne «¡. Suma we wzorze (3.7) zawiera w, składników postaci r _ 1 , n2 składników postaci r~2 itd. Wzór (3.7) przyjmuje zatem postać następującą: (3.9)
¿n(r-'< 1
74
3. Niektóre własności kodów
lub, po pomnożeniu obydwu stron przez rl, (3.10)
¿«¡r^r'. ¡=1
Rozwijając sumę po lewej stronie znaku nierówności i przenosząc na prawą stronę wszystkie jej składniki z wyjątkiem ostatniego otrzymujemy (3.11) ul^rl-nl rl~1-n2rl~1-...-nl-.lr. Ze wzoru (3.11) możemy w prosty sposób otrzymać następujący interesujący ciąg nierówności: (3.11')
nI_1
(3.11") (3.11"')
n2^r2-nir,
(3.11 IV )
n^r.
Ciąg tych nierówności jest kluczem do konstrukcji kodu, jakiego szukamy. Chcemy utworzyć n t ciągów o długości 1. Stosując kod, którego ciągi kodowe zbudowane są z r sygnałów elementarnych, ciągi, o które nam chodzi, możemy utworzyć na r możliwych sposobów. Ponieważ ni możemy wybrać te n l sygnałów elementarnych w sposób dowolny. Uczynimy więc tak; pozostanie nam wówczas r—nY możliwych przedrostków, tych mianowicie, które nie zostały użyte jako ciągi kodowe. Dodając po jednym sygnale elementarnym do każdego z tych przedrostków możemy utworzyć (3.12)
( r - n x ) r = r2 - n , r
ciągów kodowych o długości 2. Tymczasem relacja (3.11"') informuje nas, że ciągów kodowych o długości 2 nie potrzeba więcej, niż wynosi ich liczba określona równaniem (3.12). Wybierzmy dowolnie — tak jak czyniliśmy poprzednio — n2 ciągów kodowych spośród będących do dyspozycji r2—ntr ciągów; pozostanie nam wówczas (r2-n1 r)—n2 niewykorzystanych przedrostków o długości 2, z których możemy utworzyć (3.13)
O 2 — n1r — n2)r = r3 — nt r2 — n2r
3.6. Nierówność Krafta — dowód
75
dopuszczalnych przedrostków o długości 3. I znowu z relacji (3.11") wiadomo, że nie potrzeba ich więcej niż wynosi liczba dana wzorem (3.13); wybieramy zatem potrzebną ilość ciągów o długości 3 dowolnie spośród pozostających do dyspozycji. Procedurę taką możemy kontynuować aż do utworzenia wszystkich ciągów naszego kodu. Relacje (3.11) - (3.11") zapewniają nas, że na każdym etapie pozostaje dostateczna ilość przedrostków. Skoro wykazaliśmy, że spełnienie zależności (3.7) (iub, co temu jest równoważne, (3.9)) jest dostatecznym warunkiem skonstruowania kodu dekodowalnego bez opóźnienia, zawierającego ciągi kodowe o długościach h , ¡i> •••> lą> t o J u ż stosunkowo łatwo można wykazać, że ta nierówność jest także warunkiem koniecznym. W tym celu należy tylko odwrócić argumenty, którymi się już posługiwaliśmy. Zamiast szczegółowego przeprowadzania tej procedury, udowodnimy znacznie silniejszą zależność.
3.7. Nierówność McMillana W poprzednim punkcie wykazaliśmy, że nierówność (3.14)
i>-''
¡=i
jest dostatecznym warunkiem, jaki spełniać mają długości ciągów kodowych kodu dekodowalnego bez opóźnienia; dokonaliśmy tego pokazując, jak skonstruować taki kod, jeżeli długości ciągów kodowych są dane. Ponieważ kody dekodowalne bez opóźnienia stanowią podklasę kodów jednoznacznie dekodowalnych, warunki dostateczności stosują się także do kodów jednoznacznie dekodowalnych, tzn. możemy skonstruować kod jednoznacznie dekodowalny o długościach ciągów kodowych , 1 2 , ..., I q , jeżeli te długości spełniają nierówność (3.14). Natomiast z dowodu tego, że nierówność Krafta jest warunkiem koniecznym dla kodu dekodowalnego bez opóźnienia, nie wynika, że jest ona warunkiem koniecznym dla kodów jednoznacznie dekodowalnych. Dowód tego, iż relacja (3.14) jest warunkiem koniecznym istnienia kodów jednoznacznie dekodowalnych, jak również kodów dekodowalnych bez opóźnienia, przeprowadził po raz pierwszy McMillan (1956). Dowód podany przez McMillana był następnie uproszczony przez Karusha (1961).
3. Niektóre własności kodów
76
Rozważmy sumę (3.15)
( £ r "'')"= (r"' 1 + r - ' 2 + . . . + r " ' ' ) n . i=l
Gdy to wyrażenie rozwiniemy, będzie ono zawierać q" wyrazów postaci (3.16)
r
-^-lh---''n
= r
-
k
i
gdzie (3.17)
l h + /¡2 + ... + /,„ = fc.
Tak jak w poprzednim paragrafie, oznaczymy przez / maksymalną spośród długości ciągów kodowych. Wówczas A; będzie mogło przyjmować wartości od n do nl. Oznaczmy przez Nk liczbę wyrazów postaci r~k we wzorze (3.15). Wtedy: (3.18)
(i>-'<)"= T,Nkr~k. ¡=1 k=n
Ale ze wzoru (3.17) wynika, że Nk określa liczbę ciągów kodowych zawierających po n ciągów kodowych, przy czym każdy ciąg ciągów kodowych jest tak uformowany, że zawiera dokładnie k sygnałów elementarnych. Jeżeli dany kod jest jednoznacznie dekodowalny, Nk nie może być większe od rk, tzn. od liczby różnych r-narnych ciągów o długości k. Tak więc mamy: (3.19)
(Z>-'<)"< Y S r - ^ n l - n + l ^ n l . i= 1 k=n
Równanie (3.19) stanowi dowód, którego poszukiwaliśmy, bowiem jeżeli .v> 1, to x">nl, dla n dostatecznie dużych. Równanie (3.19) obowiązuje dla dowolnego całkowitego n, zatem musi być spełniona nierówność (3.20)
i=l
3.8. Przykłady Rozdział poświęcony omówieniu niektórych własności kodu zakończymy dwoma dalszymi ilustracjami nierówności Krafta i przykładem konstruowania kodu bez opóźnienia.
3.7. Nierówność McMillana
77
Pierwszy z przykładów jest następujący: Załóżmy, że chcemy zakodować wyjście źródła o zbiorze liczącym 10 elementów w binarnym kodzie dekodowalnym bez opóźnienia, zawierającym ciągi kodowe o długościach 1, 2, 2, 2, 2, 2, 3, 3, 3, 3. Używając jako testu nierówności Krafta, znajdujemy 10 Ł ,
J
¡=1
3
T
J
9
27
2 7 ^
x
•
Znalezienie kodu dekodował nego bez opóźnienia o takich długościach słów kodowych nie jest więc możliwe. A oto drugi przykład: Załóżmy, że chcemy zakodować wyjścia dziewięcioelementowego źródła wiadomości w binarnym kodzie dekodowalnym bez opóźnienia, z ciągami kodowymi o długościach 1, 2, 2, 2, 2, 2, 3, 3, 3. Obecnie stosując nasz test otrzymujemy
1= 1
Zatem znalezienie takiego kodu jest możliwe. Jest to kod następujący: Si-+0, s 2 ->10, 53^11,
s 4 -> 12, s 5 ->20, S 6 -»21, s 7 -+ 220, S 8 ->221 , s 9 ->222. Zauważmy, że konstrukcja powyższego kodu ilustruje metodę kodowania zastosowaną przy dowodzeniu nierówności Krafta. Zastosowaliśmy jeden przedrostek o długości 1 (przedrostek 0) i w ten sposób w przypadkach pozostałych ciągów kodowych ograniczyliśmy się do dwóch przedrostków o długości 1. Daje to nam sześć dozwolonych ciągów kodowych o długości 2. Z tego wykorzystano pięć możliwych ciągów, zachowując szósty ciąg 22 jako przedrostek dla trzech ostatnich ciągów kodowych.
3. Niektóre własnośti kodów
78 UWAGI
1. Metodę konstruowania kodu nieblokowego, który jest kodem jednoznacznie dekodowalnym w sensie potocznym (ale nie w sensie określonym w paragrafie 3.2) zawdzięczamy Eliasowi. Dla zilustrowania jego metody rozważmy bezpamięciowe źródło wiadomości binarnych A i B, wytwarzające te wiadomości z prawdopodobieństwami wynoszącymi odpowiednio 0,7 i 0,3. Dowolny nieskończony ciąg wiadomości pochodzących z takiego źródła możemy przedstawić jako punkt na osi liczbowej, mieszczący się w przedziale <0, 1), tak jak to pokazano na rysunku niżej. (Ciągi
BAB A AB • • • I
6.
0
S
__J
j
0.7
I
5
J
1.0
, AB ! BA ,BBI
AA
0
0,49
0,70
0 , 9 1 1,0
rozpoczynające się od A są zaliczane do przedziału <0, 0 , 7 ) , ciągi rozpoczynające się od AB — do przedziału < 0 , 4 9 , 0 , 7 0 ) itd.). Aby zakodować dany ciąg wytworzony przez to źródło wystarczy tylko każdemu z punktów w przedziale <0, 1> przyporządkować wiadomość-ciąg, dodając odpowiednio symbol binarny, tak jak to niżej pokazano. l
0
0
1 O
,
1
j
0,5
oo
.oi 0,25
i 0,50
1,0
io
• 0 75
n 1.0
Zauważmy, że nie jest konieczne, by ciąg binarny był w całości odebrany, zanim zaczniemy dekodowanie. Na przykład, jeżeli ciąg binarny rozpoczyna się od 011 . . . , wiemy, że reprezentujący go punkt musi leżeć pomiędzy 0,375 i 0,50, wynika stąd, że pierwszą z wiadomości wytworzonych przez źródło musiałaby być A. Jeżeli ciąg binarny zaczyna się od 0110, reprezentujący go punkt musi leżeć pomiędzy 0,375 i 0,4375; stąd pierwszymi trzema wiadomościami musiały być AAB. Koncepcja ta jest podstawą modyfikacji dowodu pierwszego twierdzenia Shannona (paragraf 4.3, rozdział 4, uwaga 1) przeprowadzonej przez Biilingsley'a (1961). Przedstawił on ciąg wytworzony przez źródło wiadomości jako punkt na odcinku jednostkowym i zastosował rezultaty wynikające z teorii wymiarów Hausdorffa aby wykazać, że naturalny zapis o podstawie r jest najbardziej efektywnym opisem tego punktu. 2. Jedno z najbardziej interesujących zastosowań koncepcji dyskutowanych w rozdziale 3 dotyczy kodowania genetycznego (Golomb 1961, 1962). Stwierdzono, że ogromna ilość informacji konieczna dla określenia struktury biologicznej dowolnego organizmu żywego jest zawarta w chromosomach rodziców. Mówiąc dokładniej: nośnikiem informacji genetycznej jest kwas deoxyribonukleinowy ( D N A ) zawarty
Uwagi
79
w chromosomach. W roku 1953 Crick i Watson pokazali, że D N A występuje w postaci podwójnych spiral. Spirale te można traktować jako rezultat połączenia ciągu czterech nukleotydów, które zawierają wiadomości genetyczne. Nukleotydy te zwykle oznaczone symbolami A, C, G i T (skróty nazw adenina, cytosina, guanina, thynina) odpowiadają dyskutowanym w rozdziale 3 sygnałom elementarnym, z których zbudowane są ciągi kodowe. Doświadczenie pokazuje nam zatem, że natura operuje kodami o czterech sygnałach elementarnych. Za pomocą tego rodzaju sygnałów zakodowanych zostaje około dwudziestu aminokwasów, które muszą być wyprodukowane przez nowe systemy biologiczne. Określenie sposobu, według którego nukleotydy (A, C, G ,T) są układane, aby zakodować różne aminokwasy, jest zasadniczym problemem kodowania genetycznego.
ZADANIA 3.1 Kod dekodowalny bez opóźnienia ma ciągi kodowe l 2 , . . . , / „ , które spełniają nierówność
o długościach
/,,
Y r - ' < < 1. Zbiór sygnałów elementarnych, z których zbudowane są te ciągi, ma postać X= — {*i> Xi, ..., xr). Wykazać, że w tym przypadku istnieją ciągi sygnałów elementarnych XI , XI , XI, . . . , które nie mogą być dekodowane jako ciągi kodowe. 3.2. Źródło wiadomości ma sześć możliwych wyjść, których prawdopodobieństwa są dane w tablicy Z.3.2. Rozważa się użycie jednego z kodów s/, £H, V, 9, S i & , które są dane również w tej tablicy. a) Które z tych kodów są jednoznacznie dekodowalne? b) Które są kodami dekodowalnymi bez opóźnienia? c) Znaleźć średnią długość L dla wszystkich kodów jednoznacznie dekodowalnych. TABLICA Z . 3 . 2 Wyjście źródła Sl SI
S3 s4 SS
S6
%
P(i<) 1 2 1 4 1 16 i 7« i 16 t 16
1
9
000
0
0
0
0
0
001
01
10
10
10
100
010
011
110
110
1100
101
011
0111
1110
1110
1101
110
100
01111
11110
1011
1110
111
101
011111
111110
1101
1111
001
80
3. Niektóre własnośti kodów
3.3. a) Które ze zbioru długości ciągów kodowych pokazanych w tablicy Z.3.3 wchodzą w rachubę w przypadku kodu jednoznacznie dekodowalnego, gdy zbiór sygnałów elementarnych kodu ma postać X = { 0 , 1 , 2 } ? b) Skonstruować kod dekodowalny bez opóźnienia dla każdego zbioru możliwych do przyjęcia długości z tej tablicy. TABELA Z . 3 . 3
Długości ciągów kodowych /,
Liczba ciągów kodowych o długości lt w każdym z kodów: Kod sł Kod 3S Kod if Kod 2
1
2
3
4
5
2 2 1 2
1 2 4 2
2 2 6 2
4 3 0 2
1 1 0 3
3.4. Źródło bezpamięciowe ma zbiór elementów S= {a, b, c), których średnie prawdopodobieństwa wynoszą 0,6, 0,3 i 0,1. Wyjścia tego źródła są kodowane w kodzie binarnym nieblokowym przy użyciu metody opisanej wyżej w uwadze 1. Znaleźć tyle, ile tylko jest możliwe, początkowych binitów ciągu kodowego odpowiadającego ciągowi: acbcaab ...
4. KODOWANIE WIADOMOŚCI
4.1. Średnia długość ciągu kodowego W rozdziale 3 pokazaliśmy, jak należy konstruować kody dekodowalne bez opóźnienia, przyporządkowujące wyjściom źródła wiadomości ciągi kodowe zbudowane jako ciągi sygnałów elementarnych. Jednakże dla danego źródła wiadomości i danego zbioru sygnałów elementarnych możemy skonstruować wiele kodów bez opóźnienia lub kodów jednoznacznie dekodowalnych. Ta obfitość możliwych do przyjęcia kodów zmusza nas do znalezienia kryterium wyboru kodu optymalnego w takim zbiorze kodów. Wydaje się, że naturalnym, aczkolwiek nie jedynym możliwym, kryterium takiego wyboru jest długość ciągu kodowego. Istotnie, kryterium takiego używaliśmy już explicite w przykładach w rozdziale 1 i implicite w różnych naszych późniejszych dyskusjach dotyczących kodowania. Jeżeli nawet nie wchodzą w rachubę inne względy, to choćby z punktu widzenia zwykłej ekonomii wypowiedzi i ogólnej ekonomii urządzeń telekomunikacyjnych wolimy kod z wieloma krótkimi ciągami od kodu z wieloma długimi ciągami. Zdefiniujemy zatem średnią długość kodu (ciągu kodowego — przyp. tłum.). Niech kod blokowy odwzorowuje wiadomości J , , s2, •••, sq w ciągi kodowe Xlt X2, ..., Xą. Niech prawdopodobieństwa tych wiadomości będą równe Pl3 P2 Pq oraz niech długości odpowiednich ciągów kodowych będą równe llyl2, ...,/,. Wówczas średnią długość ciągu kodowego L definiujemy wzorem DEFINICJA.
(4-1) 6 Teoria Informacji
L=lP(/i.
4. Kodowanie wiadomości
82
W dalszym ciągu zajmiemy się znalezieniem kodu o możliwie najmniejszej średniej długości ciągu kodowego. Rozważmy kod jednoznacznie dekodowalny, przyporządkowujący elementom źródła wiadomości S ciągi kodowe zbudowane z sygnałów elementarnych, których zbiór zawiera r elementów. Kod taki będziemy nazywali kodem zwięzłym (dla źródła 5), jeżeli jego średnia długość jest mniejsza lub równa średniej długości wszystkich innych jednoznacznie dekodowalnych kodów dla tego samego źródła wiadomości i tego samego zbioru sygnałów elementarnych. DEFINICJA.
W oparciu o te dwie definicje podstawowy problem kodowania wiadomości możemy sformułować jako problem znajdywania kodów zwięzłych. Zauważmy, że obydwie przedstawione tu definicje odnoszą się tylko do długości ciągów kodowych, a nie do samych ciągów. Dlatego też, możemy ograniczyć się w naszych poszukiwaniach kodów zwięzłych do klasy kodów dekodowalnych bez opóźnienia (paragraf 3.7). Nierówność McMillana upewnia nas o tym, że dowolny zbiór długości ciągów kodowych uzyskany w przypadku kodu jednoznacznie dekodowalnego uzyskiwany jest także w przypadku kodu dekodowalnego bez opóźnienia. Zatem pierwszym krokiem naszych poszukiwań będzie znalezienie minimalnej wartości L możliwej do uzyskania w przypadku kodu dekodowalnego bez opóźnienia. Wprowadzona przez nas definicja L dotyczy zarówno źródeł bezpamięciowych, jak i źródeł Markowa. Jednak, aby uprościć rozważania, ograniczymy się chwilowo do źródeł bezpamięciowych. W paragrafie 4.4 usuniemy to ograniczenie. Rozważmy bezpamięciowe źródło wiadomości o zbiorze zawierającym elementy Sj, s2, ..., sq, których prawdopodobieństwa wynoszą P^, P2, ..., Pq. Niech kod blokowy przyporządkowuje wyjściom tego źródła ciągi kodowe zbudowane z sygnałów elementarnych, których zbiór zawiera r elementów, i niech długości ciągów kodowych odpowiadających wyjściom st będą równe ¡¡. Entropia takiego źródła bezpamięciowego wynosi (4.2) Niech Qą, Q2,...,
H(S)= — £ Pt log Pi. ¡=i
Qq stanowią zbiór pewnych q liczb takich, że
0 dla
4.1. Średnia długość ciągu kodowego
83
4 wszystkich i oraz £ Q i = l. Wówczas — na mocy nierówności (2.8) mamy ¡=i
(4.3)
ZiVog|
1=1
przy czym równość zachodzi tu wtedy i tylko wtedy, gdy P; = kich i. Stąd (4.4)
dla wszyst-
i / ( S X - £ p , log&, i=l
przy czym równość zachodzi wtedy i tylko wtedy, gdy Pt = Qi dla wszystkich i. Równanie (4.4) jest spełnione dla dowolnego zbioru nieujemnych liczb Qt, których suma równa się jedności. Możemy zatem przyjąć r-u (4.5) ft —5 i=l
po czym otrzymujemy: (4.6)
H(S)<-
Z Pi(logr"'0+
¡=i
< l o g r X Ptlt+log(
t
¡=i
4
«SLlogr + log X
J=i
E P,(log
¡=i ;=i
£
r"'0<
r-1'.
Jeżeli uwzględnimy założenie, że nasz kod ma być kodem dekodowalnym bez opóźnienia, wówczas z nierówności Krafta wynika, że argument drugiego z logarytmów po prawej stronie wzoru (4.6) musi być mniejszy lub równy jedności. Wartość logarytmu, o którym mowa, jest zatem mniejsza lub równa zero, a wobec tego (4.7')
H(S)śLlogr
lub (4.7")
log r
Wielkość H(S) występująca we wzorze (4.7') mierzona jest w bitach. 6*
4. Kodowanie wiadomości
84
Przypomnijmy, że L jest średnią liczbą sygnałów r-narnych( 1 ) używanych do kodowania elementów zbioru S. Jeżeli entropię będziemy mierzyli także w jednostkach r-narnych, tak jak we wzorze (2.5"), wtedy wzór (4.7") będziemy mogli przepisać następująco: (4.7"')
Hr(S)^L.
4.2. Metoda kodowania w przypadku źródeł specjalnych Nietrudno zauważyć, że zależność dana wzorem (4.7) stanowi kamień milowy w naszych studiach nad teorią informacji. Równanie to jest pierwszym przykładem ilustrującym związek pomiędzy naszą definicją miary ilości informacji i wielkością (w tym przypadku L), która jest niezależna od tej definicji. Od wzoru (4.7) zaczynamy obecnie proces weryfikacji naszej miary ilości informacji. Na pozór zależność (4.7) stanowi jedynie pewne ograniczenie nałożone na L — średnią długość ciągu kodowego w kodzie bez opóźnienia. W pewnych przypadkach jednak, dyskutując to równanie, można wykazać znacznie więcej. Zbadajmy zatem uważnie warunki, przy których we wzorze (4.7) zachodzi równość. Nierówność (4.7) była wyprowadzona w dwóch punktach: najpierw we wzorze (4.4) oraz po raz drugi, gdy we wzorze (4.6) opuściliśmy drugi człon. Ze wzoru (4.6) wynika, że warunkiem koniecznym zachodzenia równości we wzorze (4.7) jest, aby suma (4.8)
t
r~l' = 1.
Zatem powracając do wzoru (4.4) stwierdzamy, że koniecznym i dostatecznym warunkiem na to, aby zależność ta stała się równością, jest, aby r-u (4.9) pi = Qi = — = r u dla wszystkich i lub (4.9')
J
'1
log r — = / j dla wszystkich i.
(') r-narnym nazywamy sygnał mogący przyjmować r różnych postaci (przyp. 4łum.).
4.2. Metoda kodowania w przypadku źródeł specjalnych
85
Reasumując poprzednie rozważania możemy stwierdzić, że dla kodu dekodowalnego bez opóźnienia i źródła bez pamięci, L musi być większe lub równe Hr(S). Zatem L może osiągnąć tę dolną granicę wtedy i tylko wtedy, gdy długości ciągów możemy uczynić równymi log/l/P,) dla każdego i. Aby więc zachodziła równość, log P (l/P,) musi być liczbą całkowitą dla każdego i. Skądinąd widzimy, że aby zachodziła ta równość, prawdopodobieństwa wiadomości muszą mieć postać (1 ¡r)", gdzie a, jest całkowite. Zauważmy jako pewną dodatkową gratkę, że jeżeli warunki te są jednocześnie spełnione, to otrzymujemy od razu długości ciągów kodowych kodu zwięzłego. Przyjmujemy wówczas po prostu /f równe ot;. Gdy już określiliśmy długości tych ciągów, dalszą konstrukcję kodu zwięzłego przeprowadzamy zgodnie z procedurą przedstawioną w punkcie 3.8. PRZYKŁAD 4.1. Obecnie możemy już odpowiedzieć na niektóre z pytań dotyczących kodowania postawionych w rozdziale 1. W tablicy 4.1 przytaczamy jeszcze raz własności źródła bezpamięciowego przedstawionego po raz pierwszy w tablicy1.4.
TABLICA 4.1. Źródło wiadomości Prawdopodobieństwo wiadomości elementarnej P,
Wiadomości elementarne s(
Sl Si S3 SĄ
i i i ' i
Obliczmy entropię tego źródła 4
H—Y
M
1 Pt l o g — = 2 bity na wiadomość.
Pt
Ze wzoru (4.7"') wynika, że zakodowanie wiadomości pochodzących z tego źródła w kodzie binarnym, jednoznacznie dekodowalnym, o średniej długości L mniejszej NIŻ 2 binity na pojedynczą wiadomość, jest niemożliwe. Każda wiadomość wytwarzana przez to źródło ma prawdopodobieństwo i = 0ł) 2 ,a zatem wobec (4.9') kod zwięzły musi zawierać cztery ciągi kodowe o długości 2. Kod taki był przedstawiony w rozdziale 1. A oto ten kod: 5,-» 00, j2-ł01,
4. Kodowanie wiadomości
86
i3-»10, s4-»ll. Średnia długość ciągu kodowego w takim kodzie wynosi 2 binity na wiadomość; nie istnieje jednoznacznie dekodowalny kod odpowiadający rozważanemu źródłu wiadomości, o mniejszej średniej długości ciągu kodowego. W tablicy 1.5 opisaliśmy inne źródło bezpamięciowe, jego własności ilustruje tablica 4.2. TABLICA 4.2. Źródło wiadomości Prawdopodobieństwo wiadomości elementarnej Pt
Wiadomości elementarne st
ł i ł i
Sl
J3 SĄ
Entropia tego źródła wynosi * i y Pi log — 1=1 n
log 2
log 4 l o g 8
log 8 =
= l j bita na wiadomość. Zatem najmniejsza możliwa średnia długość ciągu kodowego, jaką jesteśmy w stanie uzyskać stosując kod binarny dekodowalny bez opóźnienia, wynosi dla takiego źródła binita na wiadomość. Najlepszym rezultatem, jaki mogliśmy osiągnąć w rozdziale 1, była średnia długość wynosząca 11 binita na wiadomość. Jednakże w przypadku rozważanego źródła prawdopodobieństwa wszystkich jego elementów są wielkościami postaci (i)*', gdzie a, jest całkowite, zatem jest możliwe osiągnięcie dolnej granicy wynoszącej 1J binita na wiadomość. Ze wzoru (4.9') widać, że zachodzić to będzie w przypadku, w którym uczynimy długości słów równe odpowiednio 1,2,3,3. Szukany kod przedstawia się zatem następująco:
s2-+10,
i3-»110, j4->lll.
•
Dla kontroli znajdujemy bezpośrednio L 4 ¿ = Y p ( / I = 1J binita na wiadomość. i= i PRZYKŁAD 4.2. Jako ostatnią ilustrację kodowania, w którym można osiągnąć dolną granicę daną równaniem (4.7), rozważmy źródło bezpamięciowe o zbiorze siedmioelementowym, którego własności opisane są w tablicy 4.3.
4.2. Metoda kodowania w przypadku źródeł specjalnych
87
TABLICA 4.3. Źródło wiadomości Prawdopodobieństwo wiadomości elementarnej P,
Wiadomości elementarne st
i
T
Sl
i
T i
s3
~9 1
S4
~9
is
27 1
1
S6
27 1
«7
27
Załóżmy, że chcemy skonstruować dla tego źródła trinarnyO kod dekodowalny bez opóźnienia. Najpierw obliczymy entropię rozważanego źródła (używąjąc — dla uproszczenia obliczeń — jednostek trinarnych( 2 )). Mamy: 7
1
13
H z = ^ P i l o g 3 — j e d n o s t e k trinarnych na wiadomość, i-i Pt co oznacza, że w przypadku takiego źródła nie można skonstruować trinarnego kodu bez opóźnienia, który zużywałby średnio mniej niż " sygnałów trinarnych na wiadomość. Możemy jednakże skonstruować kod, którego średnia długość i tę wartość osiąga, a to dlatego, że prawdopodobieństwa P, są wielkościami postaci (J)"', gdzie a, jest całkowite. Obliczając potrzebne długości ciągów kodowych ze wzoru (4.9'), otrzymujemy kod następujący: si~>0, ¿3-20, i s-»220, S6-+221
,
i 7 -222. Dla sprawdzenia obliczamy L: 7 L=Y_, Pt
symboli trinarnych na wiadomość.
(') tzn. kod, którego ciągi kodowe zbudowane są z sygnałów mogących przyjmować jedną z trzech możliwych postaci (przyp. tłum.). ( 2 ) tzn. logarytmów o podstawie 3 (przyp. tłum.).
88
4. Kodowanie wiadomości
4.3. Pierwsze twierdzenie Shannona Problem kodowania w przypadku źródeł bezpamięciowych z prawdopodobieństwami poszczególnych wiadomości postaci (l/r)" został więc rozwiązany. Zwrócimy teraz uwagę na źródła bezpamięciowe z dowolnymi prawdopodobieństwami wiadomości. Z równania (4.9') wynika, że jeżeli log r (l¡Pi) jest liczbą całkowitą, powinniśmy wybierać długość ciągu /, równą tej liczbie. Jeżeli log P (ł/P() nie jest liczbą całkowitą, to może się wydać rozsądnym postępowanie polegające na tym, aby przy konstruowaniu kodu dekodowalnego bez opóźnienia wybierać wartość /; równą najmniejszej liczbie całkowitej, większej niż lo&O//»,)• Przypuszczenie to w rzeczywistości nie jest uzasadnione, chociaż stwierdzimy dalej, że taka zasada wyboru wartości /; może prowadzić do pewnych doniosłych rezultatów. Wybierzmy zatem /,• jako liczbę całkowitą określoną jednoznacznie przez nierówność: (4.10) Przede wszystkim możemy się przekonać, że długości ciągów wybrane w ten sposób spełniają nierówność Krafta, a zatem mogą być one długościami ciągów kodowych kodu dekodowalnego bez opóźnienia. Lewą stronę nierówności (4.10) możemy przedstawić w postaci
lub (4.11)
-u Pt>r~".
Sumując po i wielkości dane wzorem (4.11) otrzymujemy l> Z
r-\
Równanie (4.10) określa zatem zbiór wartości /¡, jakie mogą być przyjęte dla kodu dekodowalnego bez opóźnienia. Jeżeli pomnożymy równanie (4.10) przez P ( i dokonamy obustronnie
4.3. Pierwsze twierdzenie Shannona
89
operacji sumowania rozciągniętej na wszystkie i, otrzymamy (4.12)
H,(S)
Zanim postąpimy dalej, chcielibyśmy podkreślić ważną różnicę pomiędzy zależnością (4.12) i zależnością (4.7), z której wynika dolny kres L. Wzór (4.7) określa kres dolny średniej długości ęiągu kodowego L niezależnie od tego, jaki konkretnie system kodowania zostanie zastosowany. Aby nierówność ta była spełniona, wystarczy, by nasz kod był kodem dekodowalnym bez opóźnienia. Natomiast równanie (4.12) wyprowadziliśmy przyjmując metodę kodowania opartą na wzorze (4.10); określa ono zarówno dolny jak i górny kres dla wielkości L przy zastosowaniu kodowania określonego wzorem (4.10). Ponieważ zależność (4.12) obowiązuje dla dowolnego źródła bezpamięciowego S, możemy zastosować ją również do źródła S", tzn. «-krotnego rozszerzenia bezpamięciowego źródła pierwotnego S. Mamy wówczas (4.13)
Hr(Sn)^Ln
+1,
gdzie Ln reprezentuje średnią długość ciągów kodowych odpowiadających wiadomościom elementarnym ze źródła S". To znaczy, że jeżeli jest długością ciągu kodowego odpowiadającego wiadomości <7; oraz P(c,) jest prawdopodobieństwem crf, wtedy (4.14)
L„= £ P ( a M i=X
Iloraz LJn jest( 1 ) zatem średnią liczbą sygnałów elementarnych użytych dla odwzorowania pojedynczej wiadomości ze zbioru S. Ze wzoru (2.16) wynikało, że entropia źródła Sn jest « razy większa od entropii źródła S. Na tej podstawie wzór (4.13) możemy przepisać w postaci (4.15)
Hr(S)<-
(') Nie należy mieszać symboli LJn i L. Wprawdzie obydwa one odnoszą się do średniej liczby sygnałów elementarnych, z których zbudowany jest ciąg kodowy odpowiadający pojedynczej wiadomości wytwarzanej przez źródło pierwotne, wielkość LJn pokazuje jednak, że, aby tę średnią otrzymać, wiadomości pierwotne s, kodowaliśmy w blokach zawierających po n wiadomości elementarnych, nie zaś pojedynczo.
90
4. Kodowanie wiadomości
a ponieważ przez kodowanie wiadomości ze źródła Sn zamiast ze źródła pierwotnego S możemy uczynić wielkość LJn dowolnie bliską Hr{S), mamy (4.15')
lim — = / / r ( S ) .
«-•00 W
Równanie (4.15) znane jest jako pierwsze twierdzenie Shannona lub twierdzenie o kodowaniu dla kanałów bezszumowych. Jest to jedno z dwóch głównych twierdzeń teorii informacji. Równanie to powiada, że średnią liczbą r-narnych sygnałów elementarnych przypadających na pojedynczą wiadomość możemy zmniejszać aż do wartości równej entropii źródła mierzonej w jednostkach r-narnych, jednak nie możemy już uczynić jej mniejszej. Ceną, jaką płacimy za zmniejszenie wartości LJn, jest zwiększenie złożoności kodu w rezultacie powiększenia liczby różnych wyjść źródła q", które musimy zakodować. 4.4. Pierwsze twierdzenie Shannona dla źródeł ciągów Markowa Rezultaty otrzymane w trzech poprzednich punktach można uogólnić na przypadek źródeł ciągów Markowa. Niezbędne dowody przeprowadzimy tutaj przenosząc ograniczenia jakim podlega średnia długość ciągów kodowych, na odpowiednie źródło stowarzyszone — źródło bezpamięciowe. Wystarczy wówczas tylko wykorzystać własności źródeł stowarzyszonych określone w punktach (2.6) i (2.7), aby otrzymać pełne dowody. Zdefiniowaliśmy źródło ciągów Markowa pierwszego rzędu S podając zbiór jego elementów slt s2, ..., sq i prawdopodobieństwa warunkowe P(i ( |ij). Zdefiniowaliśmy także źródło Sn, jako n-krotnie rozszerzone źródło S, z elementami cr1, cr2,
i prawdopodobieństwami warunkowymi P(<7|Jffj). Elementom źródeł S i Sn przypisaliśmy odpowiednio prawdopodobieństwa pierwszego rzędu (bezwarunkowe) P, i P(o-f). Proces kodowania wiadomości slf s2, ..., st w kodzie blokowym dekodowalnym bez opóźnienia jest w przypadkach źródła S i stowarzyszonego z nim źródła S identyczny. Jeżeli ciąg kodowy odpowiadający wiadomości st ma długość /(, to średnia długość kodu wynosi (zgodnie ze wzorem (4.1)) (4.16)
L=
i
P^.
4.4. Pierwsze twierdzenie Shannona dla źródeł ciągów Markowa
91
Zatem średnia długość jest w przypadku źródeł S i S identyczna, bowiem prawdopodobieństwa pierwszego rzędu P, elementów st są u obydwu źródeł identyczne. Źródło S jest jednakże źródłem bezpamięciowym, zatem stosując (4.7"') otrzymujemy: (4.17)
Hr(S)^L.
Nierówność tę można uogólnić tak (por. wzór (2.29)), że przyjmie ona postać: (4.18)
HASHH,(S)ŚL.
Analogiczną nierówność możemy napisać dla źródeł S" i S" (4.19)
Hr(S") < Hr(Sn) < L„.
Ln jest tutaj średnią długością ciągu kodowego odpowiadającego wiadomości elementarnej
Jir(Ś)
lub, w przypadku źródła wiadomości-ciągów, (4.21)
Hr(sn)
+1.
Jeżeli skorzystamy ze wzoru (2.41) i otrzymaną nierówność podzielimy przez H, otrzymamy ostatecznie: (4.22)
Hr(S)+Hr(S) Hr(S) + — — n
Ln n
H,(S) +
\Hr(S)-Hr(S)-] + l —— , n
a zatem znowu możemy uczynić LJn dowolnie bliskim Hr(S), czyniąc n dostatecznie dużym, tzn. stosując kodowanie długich bloków. Taka jest właśnie treść pierwszego twierdzenia Shannona dla źródeł Markowa pierwszego rzędu. Odpowiedni dowód dla źródeł Markowa m-tego rzędu nie różni się znacznie. (Zadanie 4.1).
92
4. Kodowanie wiadomości
4.5. Kodowanie bezpośrednie Nasze dowody pierwszego twierdzenia Shannona (zarówno w przypadku źródła bezpamięciowego jak i źródła Markowa) okazały się konstruktywne. To znaczy, wzór (4.10) dostarcza nam metody wyboru /,• długości ciągów kodowych. Jeżeli zastosujemy tę metodę do wyboru długości ciągów kodowych kodu blokowego, służącego do kodowania wiadomości ze źródła «-krotnie rozszerzonego S" i weźmiemy n dostatecznie duże, to iloraz LJn możemy uczynić dowolnie bliskim entropii Hr(S). Zastanówmy się jednak co się będzie działo, jeżeli nie będziemy chcieli, aby « było odpowiednio dużą liczbą. W przypadku gdy « jest ustalone, wszystkie poprzednie twierdzenia powiadają nam, że jeżeli wybierzemy długości ciągów w naszym kodzie zgodnie ze wzorem (4.10), to średnia ich długość będzie nie większa niż wielkość po prawej stronie wzoru (4.15) lub (4.22). Z twierdzeń tych nie wynika jaką wartość L (lub LJn) uzyskamy. Co ważniejsze: nie mamy nawet gwarancji, że wybór długości ciągów zgodnie ze wzorem (4.10) zapewni nam najmniejszą, możliwą do uzyskania dla takiego «, wartość L (lub LJn). Prosty przykład, jaki teraz rozważymy, będzie dobrą ilustracją tego, że stosowanie wzoru (4.10) istotnie nie stanowi najlepszej drogi wyboru długości ciągów kodowych. Użyjemy więc wzoru (4.10) jako podstawy w konstruowaniu binarnego kodu dekodowalnego bez opóźnienia dla bezpamięciowego źródła wiadomości określonego w tablicy 4.4. Przyjmijmy, TABLICA 4.4. Przykład kodowania Wiadomości elementarne ii
s2 i3
Pi 2
T
2 9
1 T
logi
h
Kod
Kod
s/
3»
0,58
1
0
2,17
3
100
3,17
4
1010
0 •
10 11
że wymaga się bezpośredniego kodowania wiadomości pochodzących z tego źródła bez uciekania się do kodowania wiadomości-ciągów, o długości dwa lub większej. Jaka jest najmniejsza średnia długość osiągalna przy kodowaniu bezpośrednim? Aby można było zastosować wzór (4.10), obliczamy najpierw wartości
4.5. Kodowanie bezpośrednie
93
log (1 //*,•); wartości te zestawiono w trzeciej kolumnie tablicy 4.4. Długość ciągu kodowego, odpowiadającego wiadomości sit wybieramy następnie w ten sposób, aby spełniona była nierówność l o g i
H(S)= ^
i=> i
1
Pi l o g — = 1 , 2 2 bita na wiadomość. Pt
Zauważmy, że wielkość Lr/ jest ograniczona w myśl nierówności (4.23)
H(S)^Ls,
+1.
Jest to jednak tylko mała pociecha dla kiepskiego kodu, jakim jest kod s4. Łatwo znaleźć dla takiego źródła kod dekodowalny bez opóźnienia, lepszy niż kod sś. Taki kod (kod SS) podany jest w ostatniej kolumnie tablicy 4.4. Obliczmy średnią długość ciągu kodowego w takim kodzie. Mamy L a = | - l + | - 2 + | - 2 = l , 3 3 binita na wiadomość. Wartość ta wykazuje niemałą przewagę nad średnią długością kodu s4. Podkreślić należy, że w rozważanym przypadku niewiele zyskalibyśmy stosując w miejsce kodowania bezpośredniego kodowanie wiadomości-ciągów. W najlepszym razie moglibyśmy otrzymać średnią długość 1,22 binita na wiadomość, tymczasem już stosując kod Si uzyskaliśmy 1,33 binita na wiadomość. 4.6. Znajdowanie binarnych kodów zwięzłych — kody Huffmana Jeżeli dla danego źródła chcemy skonstruować kod bez opóźnienia, wiemy, że średnia długość takiego kodu musi być większa lub równa entropii tego źródła. Jednakże z przykładu podanego w tablicy 4.4 wynika, że ogólna metoda kodowania, którą rozwijaliśmy dotychczas, prowadzi
94
4. Kodowanie wiadomości
do kodów zwięzłych tylko w granicy, gdy n, tzn. długość wytwarzanych wiadomości-ciągów lub, inaczej — krotność rozszerzenia, rośnie. Jak więc należy skonstruować kod zwięzły dla danego źródła? Otóż zauważmy, że kwestia granicznej wartości LJn nie pozostaje w związku z definicją zwięzłości; kodem zwięzłym dla źródła S jest bowiem kod, który ma najmniejszą średnią długość, gdy wiadomości wytwarzane przez źródło kodujemy pojedynczo. W paragrafie tym pokażemy metodę konstruowania takich kodów, gdy zbiór sygnałów elementarnych jest zbiorem binarnym. Bardziej ogólny problem konstruowania kodów zwięzłych w przypadku r-narnego zbioru sygnałów elementarnych będzie rozważany w paragrafie 4.8. Obydwa te problemy były rozwiązane przez Huffmana (1952). Rozważmy źródło wiadomości o zbiorze S, którego elementami są wiadomości j j , s2, •••, sq, a ich prawdopodobieństwa wynoszą Px, P2, ..., Pq. Niech wiadomości te będą uporządkowane według malejących prawdopodobieństw, tzn. P ^ P ^ T r a k t u j ą c ostatnie dwie wiadomości elementarne jako jedną wiadomość wtórną, otrzymujemy w miejsce źródła pierwotnego S nowe źródło (*) o zbiorze wiadomości zawierającym tylko q— 1 elementów. Źródło tak określone nazywać będziemy źródłem zredukowanym S. Elementy zbioru takiego źródła mogą być na nowo uporządkowane i znowu możemy połączyć w jedną wiadomość wtórną dwie ostatnie najmniej prawdopodobne wiadomości tak, aby zredukować poprzednio zredukowane źródło S. Stosując tego rodzaju procedurę rekurencyjną, otrzymamy ciąg źródeł o zbiorach, z których każdy zawiera o jeden element mniej niż poprzedni, ostatnie ze źródeł w tym ciągu zawierać będzie tylko dwa elementy. PRZYKŁAD 4.3. Schemat 4.1 zilustruje procedurę rekurencyjną wiodącą od źródła o zbiorze sześcioelementowym do źródła o zbiorze dwuelementowym.
Konstruowanie ciągu źródeł zredukowanych tak, jak to zilustrowano, jest pierwszym etapem przy konstruowaniu dla źródła S zwięzłego kodu dekodowalnego bez opóźnienia. Następny etap sprowadza się jedynie do (') Ze względu na wygodę rozważań chcielibyśmy, aby to źródło było źródłem bezpamięciowym. Ponieważ jednak dopuszczamy kodowanie wiadomości tylko pojedynczo, przeto nie ma różnicy, czy źródło jest źródłem bezpamięciowym, czy też źródłem ciągów Markowa.
4.6. Znajdowanie binarnych kodów zwięzłych — kody Huffmana
Źródło zredukowane
Źródło pierwotne Wiadomości elementarne
Prawdopo dobieństwa
„
1
St
SI
0,4
0,4
s2
0,3 0,1 0,1 0,06
0,3 0,3 00 , 1 R-»-0,2-, 0.1-ij 0,1 0 , 1 -J
st se
95
0,4
St 0,4
5« P-^0,6
(0 , 3 - i j 0 3 ,r-*» " - 0 .' 3 - 1
0,4
0,04
4.1. Źródło pierwotne i źródła zredukowane
stwierdzenia, że binarny zwięzły kod dekodowalny bez opóźnienia dla ostatniego ze źródeł zredukowanych (źródła o zbiorze zawierającym tyiko dwa elementy) jest trywialnym kodem z dwoma ciągami 0 i 1. Wreszcie etapem końcowym będzie wykazanie, że jeżeli określony jest zwięzły kod dekodowalny bez opóźnienia dla jednego ze źródeł w ciągu źródeł zredukowanych, to istnieje prosty sposób skonstruowania zwięzłego kodu dekodowalnego bez opóźnienia dla źródła bezpośredniego poprzedzającego to źródło zredukowane. Wykorzystując tę okoliczność, wystartujemy od ostatniego ze źródeł zredukowanych i odpowiadającego mu trywialnego zwięzłego kodu dekodowalnego bez opóźnienia, a następnie cofając się wzdłuż ciągu źródeł dojdziemy do zwięzłego kodu dekodowalnego bez opóźnienia dla źródła pierwotnego. Przyjmijmy, że znaleźliśmy zwięzły kod dekodowlany bez opóźnienia dla Sj, jednego ze źródeł w ciągu źródeł zredukowanych. Jeden z elementów zbioru źródła Sj, niech to na przykład będzie sx, został utworzony z dwóch elementów zbioru poprzedzającego źródło 5 j _ t . Oznaczmy te dwa elementy symbolami sa0 i sal. Każdy z pozostałych elementów Sj odpowiada jednemu z pozostałych elementów Kod zwięzły dekodowalny bez opóźnienia dla konstruujemy na podstawie kodu dla Sj jak następuje:
(4.24)
Każdemu z elementów Sj-1 (z wyjątkiem sa0 i s a l ) przyporządkowujemy ciągi kodowe odpowiadające elementom Sj. Ciągi kodowe dla elementów 5 a0 i ¿«i tworzymy dodając odpowiednio 0 i 1 do ciągu kodowego odpowiadającego elementowi sa.
4. Kodowanie wiadomości
96
Łatwo zauważyć, że kod w ten sposób skonstruowany jest kodem dekodowalnym bez opóźnienia (warunek (3.1)). Dowód na to, że jest to także kod zwięzły, nie jest tak natychmiastowy i zanim go przedstawimy, zilustrujemy najpierw sposób konstruowania kodu zwięzłego. PRZYKŁAD 4.4. Zilustrujemy tutaj sposób konstruowania binarnego kodu zwięzłego dla źródła opisanego w schemacie 4.1.
Źródła pierwotne
.
Źródła zredukowane
Wiado- Prawdomości -podoelemen- . . . . Kod tarne bienstwo
Si
Si
S,
«1
0,4
1
0,4
1
0,4
1
0,4
1
SJ
0,3
00
0,3
00
0,3
00
0,3
0 0 - J
0,1 0,1
011
0,1 0,1
011
«4 Si
0,06
St
0,04
01010 - P M U 01011
«»
0100
0100-J 0 1 0 1 -J
|»-0,2 0,1
0 1 0 —J_J*-0,3
[-0,6
0
0,4
1
01-J
011
4.2. Konstruowanie kodu zwięzłego
Kod zwięzły pokazany w kolumnie po lewej stronie konstruujemy przechodząc trzy poprzednio wymienione etapy. Najpierw wychodząc ze źródła pierwotnego S, tworzymy ciąg źródeł zredukowanych. (Zobacz także schemat 4.1). Następnie przyporządkowujemy ciągi kodowe 0 i 1 ostatniemu ze źródeł w takim ciągu źródeł (w tym przypadku jest to źródło Ą ) . Wreszcie na zakończenie przechodzimy z powrotem drogę poprzez źródła zredukowane od do S. Przechodząc od źródła do źródła dokonujemy „dekompozycji" jednego z ciągów kodowych, tworząc w ten sposób każdorazowo dwa nowe ciągi kodowe. Procedura ta ilustruje różne własności kodów zwięzłych. Specjalnie ważna jest ich różnorodność. Zauważmy, że metoda tworzenia z jednego ciągu dwóch ciągów kodowych, jaką zastosowaliśmy przechodząc poprzez kolejne źródła zredukowane, polega jedynie na dodawaniu binitu na końcu ciągu podlegającego dekompozycji. Nie stanowi przy tym różnicy, który z dwóch tworzonych ciągów zostanie przyporządkowany danej wiadomości. To zaś oznacza, że przydzielenie jednego z dwóch sygnałów
4.6. Znajdowanie binarnych kodów zwięzłych — kody Huffmana
97
elementarnych 0 lub 1 różnym ciągom kodowym kodu zwięzłego, jaki konstruujemy, odbywa się arbitralnie. Możemy dopełnić (*) j-ty element każdego z ciągów kodowych tego kodu, otrzymujemy wtedy inny kod zwięzły. Dla przykładu: Jeżeli dopełnimy pierwsze i ostatnie elementy ciągów kodowych kodu ze schematu 4.2, otrzymamy następujący „nowy" kod zwięzły: 0
10 111 1100
11011 11010 Różnice pomiędzy utworzonymi w ten sposób dwoma kodami są jednakże tylko trywialne. Nowy kod otrzymany jest bowiem ze starego kodu po prostu przez zmianę etykiet. Dla danego źródła istnieje jednakże możliwość skonstruowania dwóch fundamentalnie różniących się kodów zwięzłych. PRZYKŁAD 4.5. Aby się o tym przekonać, dokonamy teraz dla tego samego źródła co w przykładzie 4.4 konstrukcji kodu całkowicie odmiennego od kodu pokazanego w schemacie 4.2. Metodę konstruowania takiego kodu ilustrujemy schematem 4.3.
Źródło pierwotne
Źródło zredukowane
Wiado- PrawdoniOŚCi r*nrłn elemen- J p o a o Kod tarne bienstwo si s2 s, s< s6 Ss
0,4 0,3 0,1 0,1 0,00 0,04
S,
S2
1 00 0100 0101 0110 0111 4.3. Konstruowanie kodu zwięzłego
(') Dopełnieniem 0 jest 1; dopełnieniem 1 jest 0. ? Teoria informacji
S3
S, 0 1
98
4. Kodowanie wiadomości
Zauważmy, że metody konstrukcji przedstawione na schematach 4.2 i 4.3 są tak długo identyczne, jak długo nie przechodzimy od kodu dla S, do kodu dla źródła pierwotnego S. W tym punkcie możemy dokonać dekompozycji dowolnego z trzech wymienionych niżej ciągów kodowych: 011
0100
0101 Jeżeli wybierzemy pierwszy z tych ciągów, otrzymamy kod o następujących długościach ciągów: 1.2.4.4.4.4. Jeżeli wybierzemy drugi lub trzeci z tych ciągów, otrzymamy następujące długości: 1.2.3.4.5.5. Średnie długości kodów są w obydwu przypadkach identyczne: L = 1-0,4+2-0,3+4-0,1+ 4-0,1+4-0,06+4-0,04 = =2,2 binita na wiadomość, L = 1 - 0 , 4 + 2 - 0 , 3 + 3 - 0 , 1 + 4 - 0 , 1 + 5-0,06 + 5-0,04 = =2,2 binita na wiadomość i dla takiego źródła nie jesteśmy w stanie skonstruować kodu dekodowalnego bez opóźnienia o mniejszej długości średniej. Inną osobliwością, jaka się tutaj ujawniła, jest to, że czasami nie jest konieczne tworzenie całego ciągu źródeł zredukowanych aż do źródła o zbiorze zawierającym tylko dwa elementy włącznie. Ma to miejsce dlatego, że źródła zredukowane powinniśmy tworzyć tylko dotąd, dokąd nie znajdziemy źródła, dla którego już mamy kod zwięzły. Jeżeli już uzyskamy kod zwięzły, możemy odwrócić kierunek naszego działania tak, jak to opisuje reguła (4.24). Przypadek ten jest zilustrowany schematem 4.4. Widzimy tutaj, że wszystkie elementy zbioru źródła zredukowanego jednokrotnie mają prawdopodobieństwa postaci (i)", gdzie a ( jest liczbą całkowitą. Aby dla takiego źródła utworzyć kod zwięzły, możemy zasto-
4.6. Znajdowanie binarnych kodów zwięzłych — kody Huffmana
Źródło zredukowane
Źródło pierwotne Wiadomości elementarne
Prawdopodobieństwo 0,5 0,25 0,125 0,100 0,025
Si
Si S3 ST
Si
99
^ ^
Si
0 0,5 10 0,25 110 0,125 1110-1^0,125 1111-f - ^
0 10 110 111
4.4. Konstruowanie kodu zwięzłego
sować metodę podaną w paragrafie 4.2. Postępując w kierunku odwrotnym, znajdziemy kod zwięzły dla źródła pierwotnego tak, jak to czyniliśmy poprzednio. 4.7. Uzupełnienie dowodu W poprzednim paragrafie pokazaliśmy, jak konstruować kod zwięzły dla dowolnego źródła wiadomości. Przedstawiony dowód optymalności tej procedury byłby kompletny, gdybyśmy wykazali, że kod skonstruowany według formuły (4.24) jest kodem zwięzłym. Wykażemy to teraz, uzupełniając w ten sposób poprzedni dowód. Załóżmy, że znaleźliśmy dla pewnego źródła zredukowanego S j (./-krotnie zredukowanego źródła pierwotnego S) kod zwięzły ^ ¡ . Niech średnia długość ciągu kodowego w takim kodzie będzie równa Lj. Jeden z elementów Sj, powiedzmy sx, utworzony zostaje z dwóch najmniej prawdopodobnych elementów poprzedniego źródła zredukowanego S j - N i e c h tymi dwoma elementami będą s a 0 i oraz niech ich prawdopodobieństwa wynoszą odpowiednio P a o i P a i - Prawdopodobieństwo sa wynosi więc Pa=Pa0+Pal. Oznaczmy przez tfj-i kod dla utworzony zgodnie z regułą (4.24); niech będzie średnią długością ciągu kodowego w takim kodzie. t jest w prosty sposób związane z Lj, ponieważ ciągi kodowe kodu Wj i kodu Wj-i są identyczne z wyjątkiem tego, że (dwa) ciągi odpowiadające sx0 i są o jeden binit dłuższe niż (jeden) ciąg odpowiadający sa. Stąd wynika, że (4.25) T
Lj-^Lj+Pa+P*.
100
4. Kodowanie wiadomości
Chcemy teraz pokazać, że jeżeli } jest kodem zwięzłym, wtedy ^ musi być także kodem zwięzłym. Innymi słowy: Jeżeli L j jest najmniejszą możliwą dla Sj średnią długością kodu bez opóźnienia, wtedy (tak jak tę wielkość określa równanie (4.25)) jest najmniejszą możliwą średnią długością ciągu kodowego w kodzie dekodowalnym bez opóźnienia dla S j - 1 . Analogicznie jak poprzednio, dowód przeprowadzimy wykazując, że w przypadku dopuszczenia sytuacji przeciwstawnej dochodzimy do sprzeczności. Załóżmy więc, że znaleźliśmy dla kod zwięzły, którego średnia długość Z 7 _ t < _ i . Oznaczmy przez , 2> ••• > ciągi kodowe tego kodu, przez h > h , •••>hi zaś oznaczmy odpowiednio ich długości. Przyjmijmy tu, że wskaźniki są uporządkowane zgodnie z malejącymi prawdopodobieństwami wiadomości tak, że zachodzi:
Jeden z ciągów kodowych tego kodu (oznaczmy go przez musi być identyczny z £ a l z wyjątkiem ostatniego elementu. Jeżeli nie byłoby to prawdziwe, moglibyśmy opuścić w ostatni element i zmniejszyć średnią długość kodu, nie pozbawiając przy tym tego kodu własności kodu dckodowalnego bez opóźnienia. Konstruujemy wreszcie kod dla S}\ dokonujemy tego łącząc X x l i i opuszczając ich ostatni binit, podczas gdy wszystkie inne ciągi kodowe pozostawiamy bez zmiany. W ten sposób otrzymujemy dla Sj kod dekodowalny bez opóźnienia o średniej długości Lj, związanej z równaniem (4.26)
L J . ^ L j + P . O + P.
Porównajmy to równanie z równaniem (4.25). Z obydwu równań wynika, że przyjęte przez nas założenie Z J _ 1 < L ; _ 1 implikuje, że możemy skonstruować kod o średniej długości L j < L } . Jest to właśnie sprzeczność, której oczekiwaliśmy, bowiem kod o średniej długości L} jest kodem zwięzłym. Tak więc nasz dowód, że wzór (4.24) prowadzi od jednego kodu zwięzłego do drugiego, stał się kompletny. Zanim rozważymy bardziej ogólny przypadek kodowania, przy zastosowaniu zbioru sygnałów elementarnych liczącego r elementów, właściwe będzie pokazanie dwóch cech kodów zwięzłych, które ujawniliśmy już poprzednio. Pierwszą z tych cech jest
4.7. Uzupełnienie dowodu
101
po prostu to, że jeżeli prawdopodobieństwa wiadomości wytwarzanych ze źródła są uporządkowane tak, że P , ••• >P 4 > t o długości ciągów kodowych przyporządkowanych tym wiadomościom mogą być uporządkowane tak: / j ^ / a ^ . . . ^ / , . Nie jest to niespodzianką. Wyraża to jedynie ten fakt, że przyporządkowujemy najbardziej prawdopodobnym wiadomościom najkrótsze ciągi kodowe naszego kodu. Druga z cech jest być może nieco mniej oczywista. Pokazaliśmy, że długości dwóch ostatnich (w zgodzie z ciągiem uporządkowanych prawdopodobieństw) ciągów kodowych kodu zwięzłego są identyczne: (4.27)
l9 = l t - i .
Jeżeli w zbiorze wiadomości elementarnych mości mają to samo prawdopodobieństwo Pq, określić, że ciągi kodowe przyporządkowane zbioru wiadomości będą się różniły tylko co do tarnych.
danego źródła różne wiadoich wskaźniki możemy tak dwom ostatnim elementom ostatnich sygnałów elemen-
4.8. r-narne kody zwięzłe W paragrafie 4.6 podkreślaliśmy, że konstruowanie binarnych kodów zwięzłych przebiega w trzech etapach. Po pierwsze, wychodząc ze źródła pierwotnego konstruujemy ciąg źródeł zredukowanych. Następnie znajdujemy kod zwięzły dla jednego ze źródeł w tym ciągu. Wreszcie wracając poprzez ten ciąg, konstruujemy z kodów już otrzymanych nowe kody zwięzłe tak, aż dochodzimy w końcu do kodu zwięzłego dla źródła pierwotnego S. W tym paragrafie zobaczymy, że także w przypadku, gdy zbiór sygnałów elementarnych, z których zbudowany jest kod, jest zbiorem; r-narnym, konstruowanie kodu zwięzłego zawiera analogiczne trzy etapy. Ostatnie dwa etapy będą się przy tym nieistotnie różniły od przypadku kodu binarnego. Tworzenie źródeł zredukowanych, będące etapem przygotowawczym do> konstruowania kodu binarnego zwięzłego, przebiegało w myśl zasady:: łączymy ze sobą dwie najmniej prawdopodobne wiadomości, tworząc w ten sposób pojedynczą wiadomość ze zbioru źródła zredukowanego. W tym przypadku gdy zamierzamy skonstruować r-narny kod zwięzły,
102
4. Kodowanie wiadomości
stosując analogiczną zasadę, będziemy łączyli ze sobą r wiadomości, aby utworzyć pojedynczą wiadomość ze zbioru źródła zredukowanego. Jednakże przypadek kodu r-narnego nastręcza tu pewną wątpliwość, która nie miała miejsca w przypadku kodu binarnego. Otóż w tym ostatnim przypadku, każde ze źródeł w ciągu źródeł zredukowanych zawiera w swym zbiorze o jeden element mniej niż źródło bezpośrednio go poprzedzające. W przypadku kodu r-narnego łączymy r elementów w jeden, zatem każde ze źródeł w ciągu źródeł zredukowanych ma o r — l mniej elementów od źródła poprzedzającego. Chcielibyśmy, aby ostatnie ze źródeł w ciągu miało zbiór zawierający dokładnie r elementów. (Pozwoli nam to bowiem na skonstruowanie dla takiego źródła trywialnego kodu zwięzłego). Ostatnie ze źródeł będzie jednak zawierało w swym zbiorze r elementów wtedy i tylko wtedy gdy źródło pierwotne zawiera tych elementów r+a(r—1), gdzie a jest całkowite. Jeżeli zatem zbiór źródła pierwotnego nie zawiera r + a ( r — 1) elementów, dodawać będziemy elementy „symulujące", aż osiągniemy tę żądaną liczbę elementów. Przyjmiemy, że elementy symulujące mają prawdopodobieństwa równe zero, zatem gdy już kod zostanie skonstruowany, można będzie nie brać ich pod uwagę. PRZYKŁAD 4.6. Rozważmy źródło S o zbiorze 11-elementowym pokazane na schemacie 4.5. Wychodząc z tego źródła chcemy utworzyć ciąg źródeł zredukowanych, zanim ich wyjścia zakodujemy w kodzie zbudowanym z czterech sygnałów elementarnych. Jeżeli ostatnie ze źródeł w takim ciągu ma mieć zbiór, zawierający cztery elementy, zbiór S musi zawierać 4 + 3 a elementów, gdzie a jest liczbą całkowitą. Ponieważ 11 nie jest liczbą postaci 4 + 3 a , dodajemy dwa elementy symulujące, aby uzupełnić liczbę elementów zbioru S do 13. Następnie redukując po cztery elementy źródła dochodzimy do źródła o zbiorze zawierającym dokładnie cztery elementy.
Utworzywszy źródła zredukowane tak, jak to pokazano w schemacie 4.5, przechodzimy do konstruowania kodu zwięzłego sposobem opisanym w paragrafie 4.6. Wybieramy r ciągów kodowych, każdy o długości 1, aby dla ostatniego ze źródeł zredukowanych utworzyć kod zwięzły. Kod ten następnie rozwijamy tak, jak to miało miejsce w przypadku kodu binarnego, aby utworzyć kod zwięzły dla poprzedniego ze źródeł zredukowanych. Każdorazowo przechodząc od danego źródła zredukowanego do źródła go poprzedzającego, z jednego elementu tworzymy r elementów
103
4.8. r-narne kody zwięzłe
Ź r ó d ł o zredukowane
Ź r ó d ł o pierwotne Wiadomości elementarne
Prawdopodobieństwo
81
0,22
0,22
«2
0,15
0,15
0,12 0,10 0,10 0,08
«7
0,12 0,10 0,10 0,0S 0,00
S3 St St Se Ss S9 s to «11 Elementy f s u symulującej^,-
S,
St
"0,07
0,05
0,06
0,05
0,05
0,04-,
0,05
-0,23 0,22 0,15 0,12 0,10
0,10 0,08
i
-0,40 0,23
0,22 0,15
J
0,03
0,00 0,00 ->
4.5. Źródło pierwotne i źródła zredukowane
Źródło pierwotne Wiadomości elementarne
Sl Sl
Źródło zredukowane
P r a w d o p o d o - Ciągi bieństwo kodowe
S2
Si
S,
0,22
2
0,22
2
[»-0,23
1
r*-0,40
0,15
3
0,15
3
0,22
2
0,23
1
Sj
0,12
00
0,12
00
0,15
3
0,22
2
s< S5
0,10
01
0,10
01
0,12
0 0 -
0,15
3
0,10
0 2
0,10
0 2
0,10
01
««
0,08
03
0,08
03
0,10
0 2
0,06
11
0,07
10-1
0,08
03
0,05
12
0,06
11
«7 «8 8, 810
0,05
13
0,05
12
0,04
100-1
0,05
13
Sil
0,03
101
Sl2
0,00
102
Sl3
0,00
103
J
J
J
4.6. Kod zwięzły zbudowany przy użyciu czterech sygnałów elementarnych
0
4. Kodowanie wiadomości
104
tak, aby w ten sposób zyskać r—l elementów. Dowód tego, że jeżeli wyjdziemy od kodu zwięzłego, to stosując tę metodę dojdziemy do kodu zwięzłego i 1 ), jest całkowicie analogiczny do dowodu przedstawionego w paragrafie 4.7. (zadanie 4.2). PRZYKŁAD 4.7. Dla zilustrowania opisanej wyżej metody, znajdziemy tu dla źródła przedstawionego w schemacie 4.5 kod zwięzły zbudowany z czterech sygnałów elementarnych (schemat 4.6, str. 103).
4.9. Sprawność i rozwlekłość kodu Pierwsze twierdzenie Shannona pokazuje, że istnieje wspólna miara, którą można stosować do dowolnego źródła wiadomości. Wartość wiadomości wytwarzanych przez źródło wiadomości S może być mierzona za pomocą równoważnej liczby cyfr binarnych potrzebnych dla przedstawienia pojedynczej wiadomości z takiego źródła. Twierdzenie Shannona powiada, że średnia wartość wiadomości ze źródła S wynosi H(S). Ogólniej rzecz biorąc: Średnia wartość wiadomości ze źródła S w przeliczeniu na cyfry r-narne wynosi Hr(S). Niech średnia długość ciągu kodowego jednoznacznie dekodowałnego kodu r-narnego będzie dla źródła S równa L. L nie może być mniejsze niż Hr(S). Wobec tego sprawność kodu, którą oznaczymy przez t], zdefiniujemy następująco: H
( A
(4.28)
'
{
S
)
n=——.
Zdefiniujemy tu także rozwlekłość kodu: (4.29) rozwlekłość = 1 —>7 = -—Hr(S) PRZYKŁAD 4.8. Rozważmy źródło bezpamięciowe o zbiorze 5 = { j l t i 2 ) z prawdopodobieństwami P ( i i ) = i i P ( i 2 ) = i . W przypadku takiego źródła mamy //(5)=ilog4+ilogj=0,811 (') Dla źródła pierwotnego (przyp. tłum.).
bita.
4.9. Sprawność i rozwlekłość kodu
105
Kod zwięzły przedstawia się dla tego źródła następująco: Kod zwięzły
P(i.)
SI
^
SI
0 1
i
i
S2
Średnia długość ciągu kodowego wynosi w tym kodzie 1 binit, a zatem sprawność kodu wynosi: tli = 0 , 8 1 1 . Aby powiększyć sprawność, rozważmy kod dla źródła S2, tzn. dwukrotnie rozszerzonego źródła 5:
Ol
P(ffi)
ii ii
16 3 16
Kod zwięzły
9
S1S2 S2S1 S2S2
0 10
3
110
16 1 16
111
Średnia długość ciągu kodowego w tym kodzie wynosi ^ binita. Entropia źródła S 2 wynosi 2H(S);
tak więc i}2 =
2-0,811-16 27
=0,961.
Jeżeli stosować będziemy kodowanie wiadomości ze źródeł S3 i S*, otrzymamy odpowiednio: >73=0,985
oraz
74=0,991.
W miarę jak będziemy kodowali wiadomości-ciągi wytwarzane przez źródła coraz to więcej razy rozszerzone(') sprawność kodu dążyła będzie do 1. W rozważanym przykładzie ta zbieżność jest stosunkowo szybka i tylko niewielką poprawę zyskamy kodując źródła rozszerzone więcej niż dwukrotnie (tzn. wiadomości-ciągi o długości większej niż dwa). Tego rodzaju własność jest typowa dla metody kodowania podanej przez Huffmana.
Przykład, który rozważaliśmy, ilustruje wzrost sprawności kodu osiągany poprzez kodowanie coraz to więcej razy rozszerzonego źródła. (') Tzn. wiadomości-ciągi o coraz to większej długości (przyp. tłum.).
4. Kodowanie wiadomości
106
Będzie to pouczające przy badaniu, jak przebiega zależność sprawności kodu od r-liczby sygnałów elementarnych, z których zbudowane są ciągi kodowe. PRZYKŁAD 4.9. Weźmy bezpamięciowe źródło S o zbiorze 13-elementowym i prawdopodobieństwach, które dane są w tablicy 4.5. W tej samej tablicy podano kody zwięzłe (HufFmana) zbudowane na zbiorach sygnałów elementarnych zawierających od 2 do 13 elementów. TABLICA 4.5. Kody zwięzłe zbudowane przy użyciu różnych zbiorów sygnałów elementarnych Kody zwięzłe dla r = p (»,) 1 1
Ą
1 16
1 16 1 16 1 16 1 16 1 16 1 16 1
st
13
12
11
10
9
Sl
0
0
0
0
0
S2
1
1
1
1
1
S2
2
2
»
2
i4
3
3
3
Ss
4
4
4
s6
5
5
5
Sl
6
6
Sa
7
s9
8
8
7
6
5
4
3
2
0
0
0
0
0
0
00
1
1
1
1
1
1
01
2
2
2
2
2
20
200
1000
3
3
3
3
3
30
21
201
1001
4
4
4
4
4
31
22
202
1010
5
5
5
5
50
32
23
210
1011
6
6
6
6
60
51
33
30
211
1100
7
7
7
7
70
61
52
34
31
212
1101
8
8
8
80
71
62
53
40
32
220
1110
41
s 10
9
9
9
90
81
72
63
54
330 221
111100
64
«11
A
A
AO
91
82
73
64
550 42
331 2220
111101
64
«12
B
BO
Al
92
83
74
65
551 43
332 2221
111110
64
«13
C
BI
A2
93
84
75
66
552 44
333 2222
111111
1
33
67
17
9
19
5
87
23
23
131
25
32
64
16
"8"
16
"4
64
16
16
64
T
64 1
1
1
Średnie długości ciągu kodowego L
Entropia źródła z tablicy 4.35 wynosi 3,125 bita na pojedynczą wiadomość. Wykorzystując tę informację oraz korzystając ze wzoru (4.28) możemy wykreślić przebieg sprawności jako funkcji r.
4.9. Sprawność i rozwlekłość kodu
107
1,00 0,980,96 pu
0,94
"U O
O
0,92
0,90
0,88 NJ 0,85 O. c
(/)
0,84 0,82 0,80 4
6
8
10
12
14
Liczba sygnałów elementarnych r
4.7. Sprawność kodu jako funkcja liczby sygnałów elementarnych, z których zbudowany jest kod Z wykresu 4.7 wynika, że sprawność kodu zmierza do maksimum, gdy r maleje. Wzrost ten jednakże nie jest monofoniczny. Zwróćmy uwagę na sprawność kodu dla r=2 i r=4. Prawdopodobieństwa wszystkich wiadomości są wówczas postaci 1/2* lub l / 4 a , gdzie a jest całkowite. Jak wiemy (paragraf 4.2) w takich przypadkach można znaleźć kod zwięzły o długości średniej równej wartości entropii. UWAGI 1. W rozdziale tym udowodniliśmy pierwsze twierdzenie Shannona tylko dla ergodycznych źródeł ciągów Markowa, których zbiory mają skończoną liczbę elementów (tzn. stanów). Bardziej elegancki dowód tego twierdzenia w przypadku dowolnego stacjonarnego źródła ergodycznego przeprowadzony został przez McMillana (1953), który nadał mu nieco inną postać, nazywaną własnością asymptotycznej ekwipartycji (WAE). Niech dla dowolnego źródła S 1 / ( i , , 5 2 , ... , , . ) = l 0 g — — — . , ¿2 s„) Wówczas powiadamy, że źródło S ma WAE, jeżeli I(si, s2 sn)/n zmierza z prawdopodobieństwem 1 do H(S). Znaczenie W A E polega na tym, że długie ciągi wytwarzane przez źródło mające tę własność można podzielić na dwie klasy: 1) klasę ciągów, z których każdy ma prawdopodobieństwo w przybliżeniu równe 2 - n H(S).
2) klasę złożoną z ciągów, które nie pojawiają się prawie nigdy. Prosty dowód kombinatoryczny W A E został przeprowadzony przez Thoma-
4. Kodowanie wiadomości
108
siana (1960). Uogólnienie na przypadki źródeł bardziej skomplikowanych podał Perez (1959). 2. W paragrafie 4.6 rozważaliśmy pewien przykład, który pokazywał, że dwa różne (co do długości ich ciągów kodowych) kody binarne mogą być kodami zwięzłymi dla danego źródła. Golomb zbadał warunki, przy których to zjawisko ma miejsce, i liczbę różnych możliwych do skonstruowania dla danego źródła nietrywialnych kodów zwięzłych. Sposób konstruowania kodu możemy opisać za pomocą drzewa kodowego (Fano, 1961). Dla pizykładu rozważmy kod binarny i odpowiadające mu drzewo kodowe: 00 01 10
110
1110
1111
1110
1111
Poprzednio sformułowane pytanie dotyczące tego, ile różnych kodów można skonstruować dla źródła o zbiorze zawierającym q elementów, może znaleźć odpowiedź, jeżeli je rozważymy w kategoriach drzew kodowych. Dla q=2 istnieje tylko jedno drzewo kodowe, odpowiadające następującym długościom ciągów kodowych:
Dla q = 3 istnieje znowu tylko jedno możliwe drzewo kodowe odpowiadające długościom ciągów kodowych:
/i=l h = 2
h=2
Dla q = 4 istnieją dwa takie drzewa:
h=l
12 = 2 h = 3 U= 3
h—2
h=2 h=2 U= 2
Uwagi
109
Dla q = 5 liczba możliwych drzew rośnie do trzech:
Ji = l ¡2 = 2 h=3 U=4
h=4
Dla q = 6 i 7 istnieje odpowiednio pięć i dziewięć różnych drzew. Golomb znalazł także warunki, jakie spełniać muszą prawdopodobieństwa poszczególnych wiadomości, aby istniał więcej niż jeden kod zwięzły. Dla przykładu, jeżeli q=4, to warunkiem takim jest oczywiście, aby P1 = Pi+Pi. Dalsza analiza pokazuje, że jeżeli dwa różne kody zwięzłe mają istnieć, powinna zachodzić nierówność 5 < J \ < f . 3. Rozważaliśmy problem kodowania wiadomości przy założeniu, że czas trwania (lub nieco inaczej — kryterium kosztu) jest identyczny dla wszystkich sygnałów elementarnych, z których zbudowany jest kod. Jeżeli warunek ten nie jest spełniony, rezultaty uzyskane w rozdziale 4 wymagają modyfikacji. Niech zbiór sygnałów, o których mowa, ma postać X= {xi, Xi, ..., xr} i niech czas trwania sygnału x, będzie równy /,. Jeżeli N(T) jest liczbą ciągów o czasie trwania dokładnie równym T, wtedy zachodzi N(T) = N(T-tl)
+ N(T-t2)
+ ... +
N(T-tr).
Gdy rozwiążemy to równanie różnicowe, to okaże się, że Af(T)dla dużych T rośnie jak AR%, gdzie A jest pewną stalą, R0 zaś jest największym spośród pierwiastków rzeczywistych równania charakterystycznego z~'l+z~'2 +...+ z~'r — . Asymptotyczna ilość równoważnych binitów przypadających na jednostkę czasu jest więc równa ,. log N( T) hm ——=Ko• T->oo T Otrzymany wynik możemy zastosować w celu modyfikacji dotychczasowej postaci
4. Kodowanie wiadomości
110
pierwszego twierdzenia Shannona. Problem ograniczonego czasu kodowania dla takiego zbioru sygnałów elementarnych (równoważny problemowi kodowania Huffmana) był rozważany przez Karpa (1961).
ZADANIA 4.1. Wyprowadzić równanie (4.22) dla źródeł ciągów Markowa m-tego rzędu. 4.2. Wykazać, że jeżeli przechodząc od źródła do źródła zredukowanego (jak to opisaliśmy w punkcie 4.8), zaczniemy od r-narnego kodu zwięzłego, to otrzymamy w ostateczności kod będący również r-narnym kodem zwięzłym. 4.3. Ciąg wiadomości ze źródła S" jest kodowany według metody Huffmana przy zastosowaniu zbioru sygnałów elementarnych X={xi, x2 , ...,xr). Rezultat takiego kodowania może być rozpatrywany jako zespół wyjść nowego źródła wiadomości o zbiorze X. Pokazać, że ze wzrostem n prawdopodobieństwo każdego z elementów Xi tego nowego źródła dąży do wartości l / r . 4.4. W bezpamięciowym źródle binarnym P(0) = 0,1 i P(l) = 0,9. a) Obliczyć H(S). b) Obliczyć L — średnią długość ciągu kodowego kodu zwięzłego dla 5, gdy X— {0,1}. c) Obliczyć LJn dla « = 2,3,4 i n-* oo, gdy S„ jest kodowane w kodzie zwięzłym, przy czym jak poprzednio X= {0,1} . d) Obliczyć sprawność czterech otrzymanych kodów. 4.5. W zadaniu 4.4 kodowaliśmy źródła S, S2, S3 i S* posługując się zbiorem sygnałów elementarnych o postaci X. Metody tam zastosowane dawały w rezultacie ciągi zer i jedynek. Ciągi te można rozpatrywać jako ciągi wytwarzane przez źródło wtórne S0 tak, jak to pokazano na schemacie Z. 4 . 5 . Znaleźć H(S0), gdy « = 1 , 2 , 3 , 4 . !
1
Źródło binarne S,
Z.4.5. 4.6. Dana jest następująca tablica: s P(s,) a) Znaleźć H(S)
i
HZ(S).
*
¿2
S^
i3
i4
is
•
1
1
1
1
i
i
3
3
9
9
27
27
27
SE
Zadania
111
b) Znaleźć zwięzły kod dla S w przypadkach, gdy X={0,
1} i X= {0, 1 , 2 } .
c) Obliczyć L dla obydwu tych kodów. 4.7. Dana jest następująca tablica: s
Sl
«2
Sz
si
Pfe)
0,4
0,2
0,1
0,1
s. 0,05
s6
Sl
«8
0,05
0,05
0,05 j
a) Znaleźć kod zwięzły dla takiego źródła w przypadku gdy X={0, 1,2}. b) W rozważanym przypadku można skonstruować więcej niż jeden różnych nietrywialnych kodów zwięzłych (tzn. różnych zbiorów długości ciągów kodowych) operujących tym samym zbiorem sygnałów elementarnych. Należy znaleźć listę zbiorów długości ciągów kodowych dla wszystkich takich kodów. 4.8. W zadaniu 2.14 przyjmijmy Znaleźliśmy poprzednio dla źródła 5 kod binarny, w którym L = H(S). Znaleźć L' — średnią długość kodu zwięzłego dla źródła S'. 4.9. Źródło S ma zbiór liczący dziewięć elementów, z których każdy pojawia się na wyjściu źródła z prawdopodobieństwem a) Skonstruować dla źródła S kod zwięzły posługując się zbiorem sygnałów elementarnych X— {0, 1}. b) Skonstruować dla źródła S kod zwięzły posługując się zbiorem sygnałów elementarnych X— {0, 1, 2}. c) Skonstruować dla źródła S kod zwięzły posługując się zbiorem sygnałów elementarnych X— {0, 1, 2, 3}. 4.10. Źródło S ma zbiór liczący sześć elementów, których prawdopodobieństwa wynoszą odpowiednio Plt ...,P6. Załóżmy, że uporządkowaliśmy wartości P, tak, że Pi>P2>...>P(,. Chcemy dla takiego źródła znaleźć kod zwięzły, posługując się przy tym zbiorem sygnałów elementarnych X= {0, 1, 2, 3}. Określić zbiór długości ciągów kodowach takiego kodu zwięzłego, jeżeli = 4.11. Znaleźć wszystkie możliwe różne zwięzłe kody binarne dla źródła opisanego w następującej tablicy: . S P(i,)
Si
0,20
j s2 i
\
s3
0,18 J 0,12
j4
Ss
s6
s7
Ss
Sg
S10
0,10
0,10
0,08
0,06
0,06
0,06
0,04
Jako „różne" kody potraktować tylko kody różniące się długościami ciągów kodowych /,. 4.12. a) Dla q = 6 znaleźć pięć różnych drzew kodowych, o których była mowa w uwadze 2. b) Znaleźć dziewięć różnych drzew kodowych dla q — 7. 4.13. To zadanie dotyczy uogólnienia uwagi 2. Dla źródeł o q = 3, 4, 5, 6, 7, 8, 9 znaleźć wszystkie możliwe różne drzewa kodowe odpowiadające kodowi zwięzłemu, zbudowanemu na trzyelementowym zbiorze sygnałów elementarnych.
5. KANAŁY I ILOŚĆ INFORMACJI
5.1. Wprowadzenie W pierwszych czterech rozdziałach rozważaliśmy własności źródeł wiadomości oraz sposoby przyporządkowywania ciągów kodowych ciągom wiadomości elementarnych. Ustaliliśmy związek pomiędzy miarą ilości informacji a własnościami źródeł wiadomości. W szczególności pokazaliśmy, że entropia źródła (wyrażona w odpowiednich jednostkach) określa dolną granicę średniej ilości elementarnych sygnałów kodowych potrzebnych do zakodowania wiadomości elementarnej. Posłużyliśmy się tą granicą w paragrafie 4.9 do określenia sprawności i rozwlekłości kodu. Istotnie, patrząc wstecz zauważamy, że duża część pierwszej połowy tej książki była poświęcona stworzeniu podstaw umożliwiających wprowadzenie definicji sprawności i rozwlekłości oraz syntezie kodów o możliwie najmniejszej rozwlekłości. Biorąc pod uwagę to, czym dotychczas zajmowaliśmy się, czytelnik może być zaskoczony tym, że rozdziały 5 i 6 będą dotyczyły głównie metod wprowadzania z powrotem rozwlekłości do ciągów kodowych. Zobaczymy, że nie zawsze jest pożądane stosowanie ciągów kodowych z małą rozwlekłością, względnie bez rozwlekłości. W tym rozdziale naszą uwagę przesuniemy ze ź r ó d ł a w i a d o m o ś c i na k a n a ł , tj. z wytwarzania informacji na jej przekazywanie. Koncepcja kanału informacyjnego, którą wprowadzimy, prowadzi do tego, że możliwe jest powstawanie błędów w procesie przekazywania informacji. Zbadamy wpływ tych błędów na możliwości przekazywania informacji. To z kolei doprowadzi do koncepcji kodowania, tak aby zmniejszyć efekt błędów wprowadzanych przez kanał. Czytelnik nie będzie za-
5.1. Wprowadzenie
113
pewne zaskoczony tym, że nasza miara ilości informacji może być zastosowana równie dobrze do analizy tego typu kodowania, jak i kodowania omawianego wcześniej. Istotnie, pomimo dość szerokiego zakresu dotychczasowych rozważań, nie został dotychczas przedstawiony ani podstawowy rezultat teorii informacji, ani większość ważnych jej zastosowań. Ten rezultat — niezwykle ważne drugie twierdzenie Shannona — wykorzystuje koncepcję entropii do opisu możliwości stosowania „zawodnego" kanału informacyjnego do „niezawodnego" przekazywania informacji. 5.2. Kanały informacyjne Zasadniczym tematem omawianym w pozostałej części książki będzie kanał informacyjny. Kanał informacyjny ( l ) opisany jest przez: zbiór sygnałów wejściowych A={at}, i— 1, 2, ..., r, zbiór sygnałów wyjściowych B={bj}, j= 1, 2, ..., s, oraz przez zbiór prawdopodobieństw warunkowych P(bj\at) dla wszystkich i oraz j. V(bj\aj) oznacza przy tym prawdopodobieństwo, że zostanie odebrany sygnał wyjściowy b}, jeżeli został nadany sygnał wejściowy at. DEFINICJA.
5.1. Kanał informacyjny
5.2. Kanał binarny KBS
symetryczny
Zarówno w teorii, jak i w praktyce ważnym typem kanału jest tzw. binarny kanał symetryczny (KBS). Graficzna reprezentacja prawdopodobieństw warunkowych charakteryzujących kanał KBS jest podana na rysunku 5.2. (') Kanał wyżej zdefiniowany jest czasami nazywany kanałem bezpamięciowym. Jest możliwa bardziej ogólna definicja, gdy prawdopodobieństwo danego sygnału wyjściowego yj zależy od kilku poprzedzających sygnałów wejściowych, a nawet od sygnałów wyjściowych. 8
Teoria
i n f o r m a c j i
5. Kanały i ilość informacji
114
Oznaczmy jak zwykle p=l-p. Na wejściu naszego kanału mogą pojawiać się dwa sygnały (aj = 0 , ¿72 = 1) i na wyjściu także dwa sygnały (b 1 = 0, ft2 = l)- Kanał ten nazywamy symetrycznym, ponieważ prawdopodobieństwo odebrania 1, jeżeli nadano 0, jest równe prawdopodobieństwu odebrania 0, jeśli nadano 1. To prawdopodobieństwo będące prawdopodobieństwem wystąpienia błędu wynosi p. Wygodnym sposobem opisu kanału informacyjnego jest ułożenie warunkowych prawdopodobieństw sygnałów wyjściowych w formie tablicy takiej jak 5.3. Wyjścia b\
6j
. . .
ft.
Wejścia a 2
P(6,/a,) P(6i/o,)
P(b,/a0 P(b,/a,)
• •
• •
P(b./a,) P(6./oj)
a.
P(6i/a,)
P(bi/a,)
•
•
P(b./ar)
Ol
5.3. Opis kanału informacyjnego
Zauważmy, że każdy wiersz tablicy odpowiada ustalonemu sygnałowi wejściowemu, elementy wiersza zaś są prawdopodobieństwami odebrania różnych bj przy ustalonym sygnale wejściowym. Ponieważ taka forma opisu kanału będzie często występować, wprowadzimy pewne uproszczenia zapisu. Zdefiniujemy przeto (5.1)
Pij=P(bj\ai).
Wówczas tablica 5.3 może być interpretowana jako tzw. macierz Macierz kanału oznaczymy symbolem P:
(5.2)
kanału.
P12 • • Pu P22 • • P2s P 21 P = Ai
Pr 2
• Prs
Kanał informacyjny jest w pełni określony przez swoją macierz. Będziemy używać symbolu P równocześnie do określenia kanału i macierzy kanału. Każdy wiersz macierzy odpowiada jednemu wejściu naszego kanału, każda kolumna zaś odpowiada jednemu wyjściu. Fundamentalna własność
5.2. Kanały informacyjne
115
macierzy kanału polega na tym, że suma wyrazów każdego wiersza jest równa 1 O - Własność ta wynika stąd, że jeżeli zostanie nadany sygnał wejściowy at, na wyjściu musi pojawić się któryś z sygnałów wyjściowych. Zapiszemy tę własność w następującej postaci: (5.3)
t
1,
j=i
i—1,2
r.
Kanał KBS ma następującą macierz: (5.4)
r*
Lp
n .
PJ
Podobnie jak to uczyniliśmy w przypadku źródeł informacji, możemy rozpatrywać nie pojedyncze sygnały wejściowe i wyjściowe, ale bloki złożone z « takich sygnałów. Zdefiniujemy teraz kanał rozszerzony «-tego rzędu. DEFINICJA. Rozważmy kanał informacyjny określony przez zbiór elementarnych sygnałów wejściowych A={at}, / = 1, 2, ..., r, zbiór elementarnych sygnałów wyjściowych B—{bj},j= 1 , 2 , . . . , s , oraz macierz "Pil P=
P12 • • Pl 5 ~
P21 P22 • • Pis _p,*l
P,2
• • Prs_
Kanał rozszerzony «-tego rzędu definiują: zbiór sygnałów wejściowych A={
n=
O nymi. 8«
n2l
n22
_nrn!
nrn 2
. ..
nls„
..
n2s„
•
. • nrnsn
_
Takie macierze są nazywane macierzami Markowa lub macierzami
stochastycz-
116
5. Kanały i ilość informacji
Każdy z sygnałów wejściowych af składa się z ciągu n elementarnych sygnałów wejściowych ( a n , ai2, ..., a/B), a każdy sygnał wyjściowy jest ciągiem n elementarnych sygnałów wyjściowych {bn, bJ2, ..., bJn). Prawdopodobieństwa 77ii = P()?y|ai) są równe iloczynowi odpowiednich prawdopodobieństw, dotyczących poszczególnych sygnałów elementarnych ( ł ). Podobnie jak w przypadku, gdy definiowaliśmy rozszerzone źródło informacji, rozszerzony kanał informacyjny nie jest istotnie nową koncepcją, ale nowym spojrzeniem na starą koncepcję. Po prostu grupując sygnały jakiegoś kanału w bloki o długości «, otrzymujemy kanał rozszerzony «-tego rzędu. PRZYKŁAD 5.1. Symetryczny bezpamięciowy kanał rozszerzony 2-rzędu jest kanałem, na którego wejściu i wyjściu mogą się pojawić cztery różne bloki. Macierz 5,4 jest macierzą takiego kanału. 'p' pp pp
PP p2 p*
VP p1 p'
Ps" VP pp
.p'
pp
pp
p2 -
5.4. Macierz kanału (KBS) 2
Zauważmy, że macierz symetrycznego, bezpamięciowego kanału drugiego rzędu (KBS) 2 może być napisana jako macierz macierzy. Niech P, podobnie jak poprzednio, będzie macierzą kanału KBS; wówczas macierz kanału (KBS) 2 może być zapisana następująco:
n=
pp pp
Pp pp
Powyższa macierz jest znana jako kwadrat Kroneckera (Bellman, 1960) lub tensorowy kwadrat macierzy P. W bardziej ogólnym przypadku macierz kanału rozszerzonego «-tego rzędu jest «-tą potęgą Kroneckera macierzy pierwotnego kanału. W pierwszej części książki użyliśmy pewnej miary do mierzenia średniej ilości informacji wysyłanej przez źródło. Jednakże zadaniem kanału informacyjnego jest nie wysyłanie informacji, ale przekazywanie informacji (') Jest to słuszne jedynie przy założeniu, że kanał jest stacjonarny i bezpamięciowy (przyp. tłum.).
5.2. Kanały informacyjne
117
wejścia do wyjścia. Spodziewamy się przeto, że możliwe będzie zastosowanie naszej miary do mierzenia zdolności kanału do przekazywania informacji. Przejdziemy teraz do zbadania ilości informacji, która może być przekazywana przez kanał. z
5.3. Probabilistyczne związki w kanale Rozważmy kanał informacyjny, na którego wejściu może się pojawiać jeden spośród r sygnałów wejściowych, na wyjściu zaś jeden spośród s sygnałów wyjściowych. Kanał jest określony przez macierz P: P u P12 • •Pu (5.5)
P = P21P22 • •P2s _Prl Pr2 •
Założymy, że przekazywane przez ten kanał sygnały wejściowe wybierane są zgodnie z prawdopodobieństwami 0 ) P(ai), P(i?2), ••• > P(tfr)- Sygnały wyjściowe będą pojawiać się wówczas zgodnie z innymi prawdopodobieństwami P(&i), P(b2), ..., P(6S). Łatwo można wyprowadzić związki pomiędzy prawdopodobieństwami sygnałów wejściowych i prawdopodobieństwami sygnałów wyjściowych. Dla przykładu, sygnał wyjściowy może być odebrany w r różnych sytuacjach. Jeżeli zostanie nadane a x , wówczas bx zostanie odebrane z prawdopodobieństwem P u ; jeżeli zostanie nadane a2, ¿i zostanie odebrane z prawdopodobieństwem P2i itd. Możemy zatem napisać: P(al)Pll+P(a2)P2i (
+
...+P(ar)Prl=P(b1),
P (a,) Pi 2 + P («2) P22 + -+P P ( f l l ) Pls + P(a2) P2s+...
(«,) Pr 2 = P (62) •
+ P(ar) P r s = P(b s ).
(') Założenie, które czyni autor, jest równoważne temu, że na wejście kanału' dołączono źródło informacji opisane przez prawdopodobieństwa P ( a , ) P(a,)» (przyp. tłum.).
118
5. Kanały i ilość informacji
Równania (5.6) dają nam prawdopodobieństwa różnych sygnałów wyjściowych, jeżeli są dane prawdopodobieństwa a priori P(a,) sygnałów wejściowych oraz macierz kanału, tj. macierz prawdopodobieństw warunkowych P(fy|a,). W dalszej części tego rozdziału przyjmiemy, że są dane P(a ; ) oraz Tak więc P ( b j ) mogą być obliczone ze związków (5.6). Zauważmy jednakże, że jeżeli mamy dane prawdopodobieństwa P(6j) oraz P(6y|a(), rozwiązanie układu równań liniowych (5.6) ze względu na P(a f ) może nie być możliwe. Na przykład jeżeli w kanale KBS p=\, to dla dowolnego zbioru prawdopodobieństw sygnałów wejściowych otrzymuje się jednakowo prawdopodobne sygnały wyjściowe. W ogólności może istnieć wiele rozkładów wejściowych, które prowadzą do tego samego rozkładu wyjść. Natomiast, na odwrót, jeżeli dany jest rozkład wejść, możemy wyznaczyć rozkład wyjściowy za pomocą związków (5.6). Oprócz P {bj) istnieją dodatkowo dwa zbiory prawdopodobieństw charakteryzujących kanał informacyjny, które mogą być wyznaczone na podstawie P(a f ) oraz P(^|c ( ). Zgodnie z prawem Bayesa prawdopodobieństwo warunkowe sygnału wejściowego a,, gdy dany jest sygnał odebrany bj, jest równe „7) lub — po wykorzystaniu (5.6) — <5.7')
. ¡=1
W celu odróżnienia od prawdopodobieństw P(bj\a,), prawdopodobieństwa P( a i\bj) są czasami określane jako prawdopodobieństwa wsteczne. Liczniki prawych stron (5.7) i (5.7') są prawdopodobieństwami łącznymi pary sygnałów (a,, bj): <5-8)
P(ai,bj)
=
P(bj\ai)P(at),
które może również być przedstawione nieco inaczej: <5.8')
P(.ai,bJ) =
P(ai\bJ)P(bJ).
5.3. Probabilistyczne związki w kanale
119
PRZYKŁAD 5.2. Zilustrujemy obliczanie różnych prawdopodobieństw związanych z kanałem informacyjnym. Weźmy kanał binarny, wówczas A = { 0 , 1 } oraz B= { 0 , 1 } . Założymy, że V(bj\a,) tworzą macierz:
'-[i
I]-
Lio ioJ Jak poprzednio, wiersze i kolumny powyższej macierzy odpowiadają poszczególnym sygnałom wejściowym i wyjściowym. Tak więc P { ¿ > = 0 | a = 0 } = i ; P {¿> = l | a = 0 } = } itd.
2
5.5. Kanał informacyjny z szumem Założymy ponadto, że P {a = 0} = J oraz P {a = 1} = i . Powyższe dane są zwięźle przedstawione na schemacie 5.5. Prawdopodobieństwa sygnałów wyjściowych wyznaczamy na podstawie (5.6): (5.9)
P { 6 = 0 } - 4 - T + T'ro=i5>
(5.9')
+
Zauważmy, że P { 6 = 0 } + P { 6 = 1} = 1. Prawdopodobieństwa warunkowe wejściowych wyznaczamy na podstawie (5.7): 3 2 (5.10)
P { A
=0|6=0} =
sygnałów
^ I = ^ , 40 1
(5.10')
P
=
9
= 40
Pozostałe dwa prawdopodobieństwa wsteczne możemy wyznaczyć podobnie. Prościej jednakże można je wyznaczyć wykorzystując to, że P { a = 0 | 6 = 0 } + P { a = 116 = 0} = = 1 oraz P { a = 0 | 6 = l } + P {a= 1 \b = 1 } = 1. Tak więc: (5.10")
P {a = l | i > = 0 } = ^ j ,
(5.10"')
P {a=0|6 = l } = ^ .
Prawdopodobieństwa łączne wyznaczamy na podstawie (5.8). Obliczamy jedno z nich: (5.11)
P { o
=0,6=0} = P{a=0|6=0}P{6=0}=^-^ = | .
120
5. Kanały i ilość informacji
5.4. Entropia a priori i entropia a posteriori Sygnały wyjściowe naszego kanału występują zgodnie z prawdopodobieństwami P ( b j ) . Zauważmy, że jeżeli nie znamy aktualnie nadanego sygnału wejściowego, to prawdopodobieństwo danego sygnału wyjściowego bj jest P ( b j ) . Wiemy jednakże, że jeżeli znamy sygnał wejściowy at, wówczas prawdopodobieństwo sygnału wyjściowego bj zmienia się z P ( ^ ) na V(bj\aj). Przypomnijmy sobie, że wejściowe sygnały a{ pojawiają się z prawdopodobieństwami P(a,). Jeżeli dalej obserwujemy sygnał wyjściowy bj, prawdopodobieństwo, że at jest sygnałem wejściowym, oznaczymy P(tf,|6 ; ) (wzór (5.7)). Zwróćmy naszą uwagę na zmianę prawdopodobieństw poszczególnych sygnałów wejściowych, jeżeli znamy sygnał wyjściowy bj. Prawdopodobieństwa P(a,) są prawdopodobieństwami a priori sygnałów wejściowych, tj. prawdopodobieństwami at, gdy nieznany jest sygnał wyjściowy (przed odebraniem sygnału wyjściowego kanału). (P(A,|Z>J) będziemy nazywali prawdopodobieństwami a posteriori sygnałów wejściowych, tj. prawdopodobieństwami, gdy znany nam jest odpowiedni sygnał bj (po odebraniu sygnału na wyjściu kanału). Z paragrafu 2.2. wiemy, że można obliczyć entropię zbioru sygnałów wejściowych dla prawdopodobieństw obydwu typów. Entropia a priori zbioru A jest równa (') (5.12)
H(A) =
^P(a)\og^
a entropię a posteriori zbioru A (tj. gdy znamy bj) określamy następująco: (5.13)
H (A | bj) = Z P H bj) log — ^ .
Interpretacja tych dwóch wielkości wynika bezpośrednio z pierwszego twierdzenia Shannona. H(A) jest średnią liczbą niezbędnych binitów przyporządkowanych wiadomości elementarnej ze źródła, gdy prawdopodobieństwa a priori są P(o,), /'= 1, 2, ..., r, a H(A\bj) jest średnią liczbą (') Dla wygody w pozostałej części książki będziemy opuszczać indeksy przy a, oraz bj, jeżeli sumujemy po wszystkich elementach zbiorów A i B.
5.4. Entropia a priori i entropia a posteriori
121
niezbędnych binitów przyporządkowanych wiadomości elementarnej ze źródła opisanego prawdopodobieństwami a posteriori P(ai\bj),i= 1 , 2 , . . . ,r. PRZYKŁAD 5.3. Powtórzmy dla wygody rysunek 5.6 wzięty z przykładu 5.2. Entro-
5.6. Kanał informacyjny z szumem pia a priori zbioru sygnałów wejściowych wynosi (5.14)
#04)=flogy+-^log4=0,811
bita.
Jeżeli odbierzemy sygnał 0 na wyjściu kanału, prawdopodobieństwa a posteriori są dane wzorami (5.10) i (5.10'). Entropia a posteriori wynosi (5.15)
i/04|0)=^log^+^log21=0,276
bita.
Jeżeli odbierzemy sygnał 1, entropia a posteriori wynosi (5.16)
//M|l)=^logy+^log^=0,998
bita.
Tak więc, jeżeli odbierzemy 0, entropia — tj. nieoznaczoność nadanego sygnału wejściowego — zmniejsza się, jeżeli jednak odbierzemy 1, to nieoznaczoność wzrasta.
5.5. Uogólnienie pierwszego twierdzenia Shannona Według pierwszego twierdzenia Shannona, entropia zbioru może być interpretowana jako średnia liczba potrzebnych binitów przyporządkowaKanal
5.7. Kanał informacyjny
nych elementowi zbioru. Rozważmy tę interpretację w odniesieniu do entropii a priori i a posteriori (schemat 5.7). Przed odebraniem sygnału wyjściowego z kanału, przyjmujemy dla
122
5. Kanały i ilość informacji
wejściowego zbioru A prawdopodobieństwa P(at). Średnia ilość niezbędnych binitów przyporządkowanych elementowi tego zbioru wynosi H(A). Jeżeli odbierzemy dany sygnał, powiedzmy bj, przyjmiemy dla zbioru sygnałów wejściowych prawdopodobieństwa P(a,1&y). Średnia ilość niezbędnych binitów przyporządkowanych elementom zbioru z takimi (a posteriori) prawdopodobieństwami wynosi H(A\bj). Ponieważ sygnały wyjściowe pojawiają się z prawdopodobieństwami P { b j ) , możemy oczekiwać, że średnia ilość niezbędnych binitów (uśredniając również po bj) przyporządkowanych sygnałowi wejściowemu a i (jeśli jest dany sygnał wyjściowy) jest średnią entropią a posteriori: (5.17)
Zp(b)H(A\b). B
Ten ważny wynik jest w samej rzeczy prawdziwy. Nie wynika to jednak z pierwszego twierdzenia Shannona. Twierdzenie to dotyczy bowiem jedynie kodowania dla źródła z ustalonym zbiorem statystyk, nie dotyczy zaś kodowania dla źródła o zmieniających się statystykach po każdym sygnale wyjściowym. W dalszym ciągu uogólnimy pierwsze twierdzenie Shannona tak, aby obejmowało i taki przypadek. Pytanie, które musimy zadać ażeby otrzymać to uogólnienie, nie jest takie samo jak pytanie, które zadaliśmy aby otrzymać pierwsze twierdzenie Shannona, a mianowicie: Jaka metoda kodowania jest najbardziej sprawna? (W tym przypadku źródłem jest A). Teraz jednakże statystyki źródła, które chcemy kodować, zmieniają się od sygnału do sygnału. Wskazówki o tym, jaka jest statystyka źródła, dostarcza nam sygnał b} na wyjściu kanału. Zauważmy, że kod zwięzły dla jednego zbioru statystyk źródła nie będzie na ogół kodem zwięzłym dla innego zbioru statystyk źródła. Wykorzystamy znajomość bj do konstrukcji s kodów binarnych ( Ł ) — jeden dla każdego z możliwych sygnałów odbieranych bj. Gdy na wyjściu naszego kanału odbierzemy bj, posłużymy się j-tym kodem binarnym do zakodowania przekazywanego sygnału at. Przyjmiemy, że długości ciągów kodowych są takie jak w tablicy 5.1. Jeśli założyć, że kody są dekodowalne bez opóźnienia, to dla każdego kodu z osobna możemy zastosować pierwsze twierdzenie Shannona. Pro(') Założenie binarności nie jest konieczne. Uczyniliśmy je dla uproszczenia dalszych rozważań.
5.5. Uogólnienie pierwszego twierdzenia Shannona
123
TABLICA 5.1 Długość ciągów dla s kodów Element wejściowy
Kod 1
fi
hi hi
¡12 122
Irl
In
Ol a
r
Kod 2
Kod i
...
h. h, Ir,
wadzi to do nierówności (5.18)
A gdzie L j oznacza średnią dhigość ciągu dla y-tego kodu. Bierzemy tutaj warunkowe prawdopodobieństwa P(a,|£/) zamiast prawdopodobieństw brzegowych P(a,), ponieważ y'-ty kod jest stosowany tylko wtedy, gdy został odebrany sygnał bj. Średnią ilość binitów użytą do zakodowania w ten sposób poszczególnych elementów zbioru A otrzymamy przeprowadzając uśrednienie po odbieranych sygnałach by Mnożąc (5.18) przez P ( b j ) i sumując po wszystkich elementach zbioru B otrzymujemy (5.19)
£tf04|b,)P(b,)< £ ? ( « „ bj)l,fil; B A, B Ljest średnią ilością binitów przypadających na element zbioru A, uśrednioną zarówno ze względu na sygnały wejściowe, jak i wyjściowe. Zwróćmy uwagę na podobieństwo (5.19) i (4.7). Aby wykazać, że wynikający z nierówności (5.19) kres może być osiągnięty, opiszemy teraz pewną specjalną procedurę kodowania. Przyjmijmy, że na wyjściu naszego kanału pojawia się bj. Wówczas jako ltJ (długość ciągu kodowego odpowiadającego wejściu a f ) wybierzemy liczbę całkowitą spełniającą nierówność
Długości ciągów określone w ten sposób spełniają nierówność Krafta (\) (') To może być wykazane w taki sam sposób, jaki stosowaliśmy przy dowodzeniu pierwszego twierdzenia Shannona (patrz § 4.3).
124
5. Kanały i ilość informacji
dla każdego j ; l t j określają zatem s zbiorów długości ciągów odpowiadających s kodom. Pomnóżmy teraz (5.20) przez P(a,-, ¿ J ) = P(a,|6y) P(6/): (5.21)
P ( b j ) P ( a t \ b j ) l o g p ^ j ^ < h j P ( « i , *>;)< < P (bj) P (at\bj) log
+ P ( f l (,
i zsumujmy po wszystkich elementach zbiorów A i B: (5.22)
£P(i)tf04|b)) + l . B
B
Wzór (5.22) jest słuszny dla wszystkich kanałów rozważanego przez nas typu, w szczególności słuszny jest dla kanału rozszerzonego «-tego rzędu: (5.23)
X P (fi) H (A"\fi) < Ln < £ P (j5) H B"
(An\^)+1,
B"
gdzie L„ jest średnią długością ciągu odpowiadającego elementowi ze zbioru A", lub inaczej, średnią długością ciągu odpowiadającego « elementom ze zbioru A. Każda entropia a posteriori H(A"\fi) występująca w (5.23) może być zapisana jako suma n wyrażeń postaci H(A\b) tak, iż (5.23) przechodzi w związek (5.24)
^P(b)H(A\b)^<'ZP(b)H(A\b) + ^ .
Wzór (5.24) jest poszukiwanym uogólnieniem pierwszego twierdzenia Shannona. Zwróćmy uwagę na podobieństwo (5.24) oraz (4.15). Zwiększając «, możemy uczynić Ljn dowolnie bliskie sumie (5.25)
Y,P(b)H{A\b). B
Ljn jest średnią liczbą binitów konieczną do zakodowania wejściowego sygnału elementarnego ze zbioru A, jeżeli znamy odpowiadający mu sygnał należący do zbioru wyjściowego B. L„ występujące w związku (5.24) jest mierzone w binitach, a H(A\bj) — w bitach. Jest rzeczą trywialną uogólnić to wyrażenie tak, aby Z„ było mierzone w r-narnych symbolach, H(A\bj) zaś w r-narnych jednostkach informacji.
125
5.5. Uogólnienie pierwszego twierdzenia Shannona
Dotychczas nie uprościliśmy wyrażenia £ P(b) H(A\b) tylko dlatego, B
aby podkreślić fakt, że jest to średnia entropia a posteriori. Przeprowadźmy proste przekształcenia: (5.26)
H(^|5)=EP(fc)H(^|fc)=ZP(ft)lP(«|fc)log-ii- = B B A
H(A\B) jest nazywane miarą nieoznaczoności (A ze względu na fi) lub czasami miarą nieoznaczności kanału. Posługując się miarą nieoznaczoności możemy wzór (5.24) zapisać w postaci (5.27)
]im—=H(A\B). n~* oo n
•
Zadaliśmy sobie tyle trudu, aby podkreślić podobieństwo pomiędzy dowodem nierówności (5.24) oraz dowodem pierwszego twierdzenia Shannona, że czytelnik mógł nie zauważyć jednej zasadniczej różnicy. Kolejne sygnały wejściowe at (lub bloki sygnałów wejściowych) są kodowane za pomocą różnych kodów odpowiadających różnym pojawiającym się sygnałom wyjściowym bj (lub blokom sygnałów wyjściowych). Chociaż każdy z użytych kodów jest jednoznacznie dekodowalny, nie jest na ogół prawdziwe, iż ciąg ciągów kodowych kodów jednoznacznie dekodowalnych jest jednoznacznie dekodowalny. Nie wystarcza zatem wybrać zbiór kodów jednoznacznie dekodowalnych, których długości ciągów spełniają warunek (5.20); wszystkie kody muszą być kodami dekodowalnymi bez opóźnienia. Podsumowując zauważamy, że wzór (5.24) odnosi się do zespołu kodów, podczas gdy pierwsze twierdzenie Shannona odnosi się do wszystkich kodów jednoznacznie dekodowalnych, kodów dekodowalnych bez opóźnienia i z opóźnieniem.
5.6. Dość informacji Powróćmy do rozważań dotyczących kanału informacyjnego, na którego wejściu może się pojawić jeden spośród r sygnałów, na wyjściu zaś jeden spośród s sygnałów (schemat 5.8). Jeżeli sygnały wejściowe są wybierane
126
5.
Kodowanei
i ilość informacji
Ol a2
¿2 P(bj\ai)
b. 5.8. Kanał informacyjny
zgodnie z prawdopodobieństwami P(ą), i= 1, 2, ..., r, to entropia zbioru wejściowego wynosi (5.28)
fl(/t)=XP(
Jeżeli mamy prawdopodobieństwa wejściowe oraz prawdopodobieństwa warunkowe P(67|a,), to możemy obliczyć (paragraf 5.3) prawdopodobieństwa warunkowe P(a t \bj), prawdopodobieństwa łączne P(aj, bj), a dalej miarę nieoznaczoności (5.29)
H(A\B)=
]>] P (a, b)log A, B
1
'p(a|
BY
Według pierwszego twierdzenia Shannona, każdemu sygnałowi wejściowemu a, musi odpowiadać średnio H{A) binitów. Dzięk uogólnieniu opisanemu w paragrafie 5.5, każdemu sygnałowi wyjściowemu musi odpowiadać średnio tylko H(A\B) binitów, jeżeli dopuszczamy możliwość obserwacji sygnału wyjściowego odpowiadającego danemu sygnałowi wejściowemu. Jest więc naturalnym mówić, że obserwacja pojedynczego sygnału wyjściowego dostarcza nam średnio H(A) — H(A \B) binitów informacji. Występująca różnica jest nazywana ilością informacji (A i B) (') lub ilością informacji przekazywaną przez kanał. Można ją zapisać następująco: (5.30)
I(A;B)
=
H(A)-H(A\B).
Podamy teraz kilka równoważnych sposobów przedstawiania ilości informacji: (') Nazwę tę traktujemy równoważnie z nazwą wzajemna tłum.).
informacja
(przyp.
5.6. Ilość informacji
(5.31)
127
1(A ; B) = H(A) — H(A\B) = = X P ( f l ) l o g - i - - EP(a,Z>)log, 1 A P(A) A, B 'P (a\b)
Ponieważ P(a,, ¿ J ) = P(a,|6J) P(^), więc: (5.31')
/(A ; B)= S P ( a ,
P(tf)P(f>)
Ilość informacji dla kanału wykorzystanego n razy może być obliczona według (5.31). Jeżeli elementy zbioru są wybierane zgodnie z prawdopodobieństwami P(aj) = P(a a ) P(o i2 ) ••• P(«¡n), ilość informacji jest wówczas «-krotną ilością informacji kanału podstawowego (zadanie 5.4): (5.32)
I(An-B")
=
nI(A;B).
5.7. Własności ilości informacji Wykazaliśmy, że ilość informacji jest równa różnicy pomiędzy średnią ilością niezbędnych binitów, gdy nie znany jest sygnał wyjściowy, i średnią ilością niezbędnych binitów, gdy znamy sygnał wyjściowy, tzn. (5.33)
I(A
\B)=H(A)-H(A\B).
Bezpośrednim pytaniem wynikającym z powyższej interpretacji ilości informacji jest pytanie dotyczące jej znaku. Wiemy (paragraf 5.4), że H(A) — — H(A\bj) może być ujemne; można bowiem niekiedy znaleźć takie sygnały wyjściowe bj, że po odebraniu ich entropia zbioru wejściowego może wzrosnąć. Jednakże, ilość informacji jest średnią (po zbiorze wyjściowym) różnicy H(A)-H(A\bj). Czy średnia ta może być ujemna? Aby odpowiedzieć, przepiszmy (5.31'): I(A ; B)= Y P ( a , b)log
? ( a , & )
.
128
5.
Kodowanei
i ilość informacji
Bezpośrednio korzystając z nierówności (2.8) mamy (5.34)
I(A;B)>0,
przy czym równość zachodzi wtedy i tylko wtedy, gdy (5.35)
P(at, bJ^FiaJPibj)
dla wszystkich i,y'.
Jest to uspokajający wynik. Mówi on, że średnia informacja przekazywana przez kanał jest zawsze nieujemna. Średnio biorąc, nie możemy tracić informacji, dzięki obserwacji wyjścia kanału. Co więcej, warunek przy którym średnia informacja jest równa zeru, odpowiada statystycznej niezależności sygnałów wejściowych i wyjściowych kanału (wzór (5.35)). Inna ważna własność ilości informacji może być określona na podstawie wzoru (5.31'). To równanie, które możemy potraktować jako definicję I (A; B), jest symetryczne ze względu na obydwie zmienne losowe a ; oraz bj. Zamieniając miejscami sygnały wejściowe i wyjściowe nie zmieniamy I(A; B). Możemy zatem napisać (5.36)
I(A ; B ) = J ( B ; A) .|
Jest to równanie, które podkreśla symetrię ilości informacji. Wobec powyższego możemy (5.33) przepisać inaczej: (5.37)
I(A-,B) =
H(B)-H(B\A),
gdzie (5.38) oraz (5.39) Ostatnia wielkość jest nazywana nieoznaczonością B ze względu na A. Oprócz entropii H(A) i H(B) można zdefiniować łączną entropię, która mierzy nieoznaczoność łącznego zdarzenia (c f , bj). Prawdopodobieństwo takiego zdarzenia jest P(a^bj), a entropia łączna określona jest następująco: (5.40)
H(A,B)=
£P(a, A, B
fc)log— P (a,b)
5.7. Własności ilości informacji
129
Łatwo można wyprowadzić związek pomiędzy H(A, B) oraz H(A) i H(B): (5.41)
H(,
) B
)=ZP(
a > f c
)lo
g
P
-(^VlP(
<4,fl — / ( A s I O +
f l
,
b
)lo
g p
^
r
"W
I i W l o g ^ + l P W l o g ^ -
Łączna entropia /I i / / ( / i , B) jest oczywiście symetryczna ze względu na A i B. Łatwa metoda zapamiętania różnych wyprowadzonych relacji jest przedstawiona na schemacie 5.9. Entropia A jest reprezentowana przez H(A, B)
5.9. Związki pomiędzy niektórymi wielkościami opisującymi kanał
lewe koło, entropia B zaś przez koło prawe. Część wspólna obydwu kół odpowiada ilości informacji. Tak więc pozostałe części H{A) i H(B) odpowiadają nieoznaczonościom warunkowym: (5.42)
H (A\B) = H(A) — I(A ; B),
(5.43)
H(B\A) = H(B) — I(A;
B).
Abstrahując od faktu, że część wspólna jest włączona dwa razy, entropia łączna H(A, B) jest sumą H(A) i H(B). Tak więc (5.44) 9
Teoria
H(A,B) i n f o r m a c j i
= H(A) +
H(B)-I(A;B).
130
5.
Kodowanei
i ilość informacji
Zauważmy także, że (5.45)
H(A,B)
(5.45')
H(A,
=
H(A)+H(B\A), B)=H(B)+H(A\B).
Równania te wynikają bezpośrednio z rysunku 5.9 lub związków (5.42), (5.43) i (5.44). Możemy interpretować te równania jako stwierdzenie, że całkowita nieoznaczoność pary A i B jest sumą nieoznaczoności A i nieoznaczoności B przy danym A, lub odwrotnie. Podsumowując stwierdzamy, że chociaż podstawowym obiektem naszego zainteresowania jest kanał informacyjny, argumentacja użyta w tym paragrafie nie zależy od tego, że A jest zbiorem sygnałów wejściowych B zaś — zbiorem sygnałów wyjściowych kanału informacyjnego. Możemy zdefiniować informacyjne miary, pokazane na schemacie 5.9 dla każdych dwóch zmiennych losowych. Jeżeli dwie zmienne losowe nie są statycznie niezależne, ilość informacji będzie dodatnia. PRZYKŁAD 5.4. Obliczmy ilość informacji dla KBS. Macierz opisująca KBS jest następująca:
[V] Lp pi
gdzie p—l— p. Załóżmy, że prawdopodobieństwa przekazywania 0 i 1 są równe odpowiednio co i co. Wypiszmy ilość informacji w postaci (5.46)
I{A\B)^H(B)-H(B\A)=H(B)-YJ'PM^(ba)\og—^r = a B P(o|a) =H(B)-Yp
A
(a) (p l o g ~ + j i l o g - i ) — H(B) — (p log — +p log ~ ) .
\
P
P!
Jak łatwo obliczyć, prawdopodobieństwa, że bj—0
\
P
p'
i bj= 1, są odpowiednio równe
cap +cbp i cop+cbp. Stąd (5.47)
I(A ; B)= [(cop+cbp) log _ 1 _ + (cop+cbp) log —_] L cop+cop cop+cops - (plog— + ^ l o g — ) .
\
P
P!
Możemy wyrazić I(A; B) przez entropię (rys. 2.3):
(5.48)
I(A ; B) — H(cop+cbp) —H(p).
Równanie (5.48) ma prostą interpretację geometryczną. Ponieważ cop + ćbp musi zawsze leżeć pomiędzy p i p, H(a>p+cbp)>H(p) i rysunek 5.10 jest geometrycznym
5.7. Własności ilości informacji
dowodem nieujemności również być odczytane z i badać zachowanie się i wartość maksymalna równa zeru.
131
ilości informacji. Interesujące nas warunki graniczne mogą rysunku 5.10; np. dla ustalonej wartości p możemy zmieniać co I(A; B). Widzimy, że I(A; B) osiąga maksimum, gdy a > = } , wynosi 1 —H(p). Dla c o = 0 lub co = 1 ilość informacji jest
5.8. Kanały bezszumowe i deterministyczne W paragrafie tym zdefiniujemy dwa szczególne rodzaje kanałów i określimy uproszczone wyrażenia dla ilości informacji, odpowiadającej tym •Ó1
•h •b3
•bs 1
, ,t
5.11. Kanał bezszumowy 9*
132
5.
Kodowanei
i ilość informacji
kanałom. W dalszych rozważaniach przyjmiemy, że w każdej kolumnie macierzy kanału jest przynajmniej jeden element różny od zera. Sygnał wyjściowy, któremu przyporządkowana jest kolumna samych zer, ma prawdopodobieństwo pojawienia równe zeru. Sytuację taką tutaj pomijamy. DEFINICJA. Kanał opisany przez macierz z jednym i tylko jednym elementem niezerowym w każdej kolumnie będziemy nazywali kanałem bezszumowym. PRZYKŁAD 5.5. Weźmy pod uwagę następującą macierz kanału bezszumowego:
P =
i
I
0
0
0 4
0
0
0
0
o
ro
ro
o
0
0
0 1
Ilustracja graficzna własności takiego kanału jest pokazana na rysunku 5.11.
KBS z prawdopodobieństwem błędu p równym zeru jest kanałem bezszumowym. Zauważmy jednakże, że KBS z prawdopodobieństwem błędu równym 1 jest także kanałem bezszumowym. Jest to wyrażeniem faktu, że kanał, który konsekwentnie wprowadza błąd, jest równie użyteczny jak kanał nie wprowadzający żadnych błędów. DEFINICJA. Kanał opisany przez macierz z jednym i tylko jednym elementem różnym od zera w każdym wierszu będzie nazywany kanałem deterministycznym. PRZYKŁAD 5.6. Przykładem macierzy kanału deterministycznego może być następująca macierz: 1 0 0" 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 Ilustracja graficzna własności tego kanału jest pokazana na rysunku 5.12.
Ponieważ występuje tylko jeden element niezerowy w każdym wierszu macierzy kanału deterministycznego, z drugiej zaś strony suma elementów każdego wiersza musi być równa 1, elementy macierzy kanału deterministycznego, są wszystkie albo zerami, albo jedynkami.
5.8. Kanały bezszumowe i deterministyczne
133
-b,
1
5.12. Kanal deterministyczny
Ilość informacji dla kanałów omawianych wyżej daje się łatwo obliczyć. Weźmy pod uwagę najpierw kanał bezszumowy. Jeżeli w kanale bezszumowym obserwujemy sygnał wyjściowy bj, wiemy z prawdopodobieństwem 1, jakie at jest przekazywane; tak więc prawdopodobieństwa warunkowe P(ai\bj) są wszystkie albo 1, albo 0. Napiszemy teraz entropię H{A\B): (5.49)
H(A\B)=Y,p
B
(bj)Z
p
A
(ai\bj)
lo
s —1
Zauważmy, że wszystkie wyrażenia sumy wewnętrznej (mające postać 1 - log 1 lub 0-log !) są zerami. Stąd wynika, że dla kanału bezszumowego (5.50)
tf(/l|B)=0.
Konkluzja ta jest również widoczna ze względu na uogólnione pierwsze twierdzenie Shannona (paragraf 5.5). Znając sygnały wyjściowe kanału bezszumowego możemy jednoznacznie określać sygnały wejściowe kanału. Stąd wynika, że średnia niezbędna ilość binitów odpowiadająca wejściom, gdy znamy wyjścia, jest równa zeru. Na podstawie wzoru (5.30) widzimy, że dla kanału bezszumowego mamy: (5.51)
I(A;B)
= H(A).
Ilość informacji przekazywanej przez taki kanał jest równa całkowitej niejednoznaczności wejściowego zbioru. Analogiczne rezultaty możemy wyprowadzić dla kanałów deterministycznych. W kanale deterministycznym sygnał w e j ś c i o w y at wystarcza do wyznaczenia w y j ś c i o w e g o
134
5.
Kodowanei
i ilość informacji
sygnału bj z prawdopodobieństwem 1. Stąd wszystkie prawdopodobieństwa P(fry|a,) są albo 0, albo 1, więc (5.52) A
B
F{bj\a,)
Korzystając z (5.37) dla kanału deterministycznego, mamy: (5.53)
I(A ; B)=H
(B).
5.9. Kanały połączone szeregowo Niektóre interesujące własności entropii i ilości informacji stają się widoczne przy rozważaniu dwu szeregowo połączonych kanałów (schemat 5.13). (Szczegółowe badanie kanałów binarnych połączonych szeregowo przeprowadził Silverman (1955)). A
Kanal
1
Kanał
2
C
5.13. Kaskada dwu kanałów
Przyjmujemy, że kanał z r sygnałami zbioru wejściowego A oraz s sygnałami zbioru wyjściowego B jest połączony z drugim kanałem jak pokazano wyżej. Zbiór wejściowy drugiego kanału jest identyczny z B, a jego zbiór wyjściowy C zawiera t sygnałów. Z faktu, że kanały są połączone szeregowo (jak pokazano na rys. 5.13) wynikają pewne związki pomiędzy prawdopodobieństwami sygnałów. Jeżeli jest przekazywany sygnał at ze zbioru A, na wyjściu pierwszego kanału wystąpi sygnał z B, powiedzmy bj. Dalej bj powoduje, że na wyjściu drugiego kanału pojawi się jakieś ck. Sygnał ck zależy od pierwszego sygnału Oj tylko poprzez bj. Istotnie, jeżeli znamy pośredni sygnał bj, prawdopodobieństwo wystąpienia końcowego sygnału ck zależy od bj, a nie zależy od początkowego sygnału ah który spowodował wystąpienie bj. Ta własność kanałów połączonych szeregowo może być zapisana następująco: (5.54)
a i ) = P(c t |b J )
dla wszystkich i, j , k.
5.9. Kanały połączone szeregov,o
135
Wzór (5.54) może być traktowany jako definicja tego, co my rozumiemy pod pojęciem połączenia szeregowego dwóch kanałów. Na podstawie (5.54) oraz twierdzenia Bayesa otrzymujemy podobną relację dla prawdopodobieństw warunkowych: (5.55)
P ( a i | b ; , c , ) = P(a i |b ; ).
Należy podkreślić, że (5.54) i (5.55) obejmują tylko specjalny przypadek, gdy A, B i C są zbiorami odpowiadającymi kanałom połączonym szeregowo przedstawionym na rysunku 5.13. Można przypuszczać, że w czasie transmisji przez kanały połączone szeregowo od A przez B do C, entropia powinna wzrastać, tj. H(A \ C) powinna być większa od H(A\B). Zbadajmy ten problem.
Wykorzystajmy (5.55) do przekształcenia (5.56):
Wykorzystując nierówność (2.8) możemy wykazać, że sumowanie po zbiorze A w (5.57) daje wartość nieujemną, stąd (5.58)
H(A\C)-H(A\B)>0
lub (5.59)
H(A\C)^H(A\B).
Bezpośrednią konsekwencją (5.59) jest (5.60)
1(A;B)>I(A;C).
136
5.
Kodowanei
i ilość informacji
Nierówności te pierwszy udowodni! Woodward (1955). Pokazują one, że kanały informacyjne wprowadzają „wyciekanie" informacji. Informacja, która ostatecznie przedostaje się przez kaskadę kanałów, nie może być większa niż informacja wypływająca z jakiegoś wewnętrznego punktu kaskady (o ile punkt taki możemy mieć w ogóle dostępny). Warunek, przy którym we wzorach (5.59) i (5.60) zachodzą równości, jest niezwykle interesujący. Wracając do dowodu związku (5.59), widzimy, że równość będzie zachodziła wtedy i tylko wtedy, gdy (5.61)
P ( a | 6 , c ) = P(fl|c)
dla wszystkich a oraz b i c takich, że P(b, c)^0. Równoważny zapis tego warunku jest następujący: (5.61')
P( f l |6) = P( fl |c)
dla wszystkich a oraz b i c, dla których P ( 6 , c ) ^ 0 . Warunek równości wymaga pewnego komentarza. Na pierwszy rzut oka może się wydawać, że równość będzie zachodziła wtedy i tylko wtedy, gdy drugi kanał w kaskadzie na rysunku 5.13 będzie bezszumowy. Jeżeli kanał jest istotnie bezszumowy, to nietrudno sprawdzić, że nasz warunek (5.61') będzie spełniony. Jednakże, jak to wynika z następnego przykładu, warunek ten może być spełniony również w innych sytuacjach. P r z y k ł a d 5.7. Weźmy połączenie szeregowe kanału
z kanałem "1 0
0"
0 i
i
.0 i
i.
.
Szeregowy układ powyższych dwóch kanałów można przedstawić graficznie tak jak na schemacie 5.14. Mimo że obydwa kanały nie są bezszumowe, można zobaczyć, że jest spełniona relacja (6.61'). Zatem
I(A ; B)=I(A ; C). W przykładzie tym równość (5.61') jest spełniona niezależnie od własności statystycz-
5.9. Kanały połączone szeregov,o
137
5.14. Kanały szeregowe nych zbioru wejściowego A. Można łatwo znaleźć przypadki, gdzie (5.61') jest spełnione tylko dla niektórych specjalnych rozkładów. Wrócimy do tego problemu w następnym paragrafie.
Możemy zilustrować stratę informacji jaka wynika z przepływu jej przez kaskadę kanałów odwołując się do przykładu, w którym ludzi potraktujemy jako kanały informacyjne. Wiadomość w oryginale napisana po angielsku jest tłumaczona na inny język, a następnie z powrotem na angielski przez innego tłumacza, który nie zna oryginalnego tekstu wiadomości. Wynik takiej operacji będzie zniekształconą wersją oryginalnego tekstu i może być traktowany jako wynik przekazania wiadomości przez kanał z szumem. Aby symulować kaskadę kanałów, powtarzamy poprzednią operację, biorąc jednakże teraz jako wejście zniekształconą wersję wiadomości. Opisany eksperyment był przeprowadzany przy użyciu prostego czterowierszowego poematu Żółw Ogdena Nasha. Poemat był tłumaczony z języka angielskiego na inne języki w następującej kolejności: angielski-francuski-angielski-niemiecki-hiszpański-angielski. Przy tłumaczeniu zrezygnowano z zachowania rytmu i miary wierszowej oryginalnego fragmentu. The turtle lives 'twixt plated decks Which practically conceal its sex. I think it clever of the turtle In such a fix to be so fertile.
Wyjście kanału: angielski-francuski-angielski było następujące: The turtle lives in a scaled carapace which in fact hides its sex. I find that it is clever for the turtle to be so fertile in such a tricky situation.
138
5.
Kodowanei
i ilość informacji
Na wyjściu kanału: angielski-niemiecki-angielski był tekst: The turtle lives in an enclosed shell under which, in reality, it hides its sex. I find that the turtle must be very clever, indeed, to be so fertile in such a tight situation.
Ostatnie wyjście kanału: angielski-hiszpański-angielski było następujące: The turtle lives inside a closed shell, under which, really, it hides its sex. I feel the turtle had to be certainly clever to be so fertile in a so tight situation.
Już dawniej zwracano uwagę na występowanie „szumów" w kanale komunikacyjnym pomiędzy ludźmi oraz wynikające stąd straty informacji. Thucydides w I tomie Wojny Peloponeskiej pisze: O wypadkach wojennych nie odważałem się mówić nic na podstawie przypadkowych informacji ani na podstawie własnego poglądu (tj. prawdopodobieństwa a priori); nie napisałem nic poza tym, co widziałem sam albo dowiedziałem się od innych, których uważałem za najbardziej ostrożnych i dociekliwych (tj. własność wprowadzania szumów w kanale). Zadanie było pracochłonne, ponieważ naoczni świadkowie jakiegoś zdarzenia relacjonowali je w zależności od tego, jak je pamiętali lub jak byli zaangażowani w działaniach jednej lub drugiej strony (tj. szum kanałów).
Jako ostatni (bardziej ilościowy) przykład straty informacji w kanałach połączonych szeregowo, rozpatrzymy przypadek kaskady dwu identycznych KBS. PRZYKŁAD 5.8. Dwa kanały KBS o macierzach (jednakowych)
M L P
P\
są połączone następująco: A *
KBS
K
KBS
Dwie możliwe postacie sygnału wejściowego 1-go kanału są wybierane z jednakowym prawdopodobieństwem. Stąd na podstawie (5.48) mamy
(5.62)
I(A;B) = 1-H(p).
Można łatwo pokazać, że kaskada tych KBS jest równoważna pojedynczemu KBS z prawdopodobieństwem błędu 2pp. Tak więc
(5.63)
I(A ; C) =
\-H(2pp).
Jeżeli dodamy jeszcze jeden identyczny KBS (ze zbiorem wyjściowym D) otrzymamy
(5.64)
I(A ;D) =
l-H(3p2p+p3).
Odpowiednie krzywe są przedstawione graficznie na rysunku 5.15.
139
5.9. Kanały połączone szeregov,o 1
0,8
0,6 0,4
0,2
0,2
0,4
Prawdopodobieństwo
0,6' błędu
0,8 p w
1
0
kanale
5.15. Wzajemna informacja kaskady n kanałów KBS przy założeniu jednakowych prawdopodobieństw sygnałów wejściowych
5.10. Kanały zredukowane i redukcje wystarczające W wielu typach kanałów informacyjnych spotykanych w praktyce, zbiór sygnałów wyjściowych kanału jest znacznie liczniejszy niż to życzyłby sobie użytkownik. Na przykład dane naukowe przekazywane z satelity przez binarny kanał telemetryczny często zawierają informację nie mającą związku z zasadniczymi badanymi zjawiskami. Antena na ziemi może w takim systemie odbierać ciągi impulsów o różnych amplitudach. Odbiornik analizowałby wówczas każdy impuls i jeżeli jego amplituda byłaby większa od pewnego progu, interpretowałby impuls jako 1; jeżeli amplituda byłaby mniejsza od progu, odbiornik interpretowałby impuls jako 0. W opisanej sytuacji możemy rozważyć dwa typy kanałów. Pierwszy jest kanałem z binarnymi sygnałami wejściowymi (wysyłanymi z satelity) i dużą ilością sygnałów wyjściowych (odpowiadającą liczbie rozróżnialnych amplitud impulsu). Drugi jest kanałem z binarnymi sygnałami wejściowymi i binarnymi sygnałami wyjściowymi (odpowiadającymi wyjściom naszego odbiornika). Drugi kanał stanowi oczywiście uproszczenie kanału pierwszego; drugi kanał będziemy więc nazywali redukcją kanału pierwszego. DEFINICJA. Rozważmy kanał z r sygnałami wejściowymi i s sygnałami wyjściowymi opisany przez macierz
140
5.
Kodowanei
i ilość informacji
11 P12 •• p= Pil P 22 ••
Pu
~p
frl
Pr2
P l,i+l •
Pu Pz.i+i
• Pri Pr,i+1
•
•
Pu
• ••
Pl,
•
Prs_
•
Zdefiniujmy nowy kanał z r wejściami i i—1 wyjściami, sumując dwie dowolne kolumny macierzy P. Macierz nowego kanału oznaczmy symbolem P': >11
P12 • • Pll + ^l.l+l
••
Pu
P = P 21 P2 2 • • P2i "1" P2, i+ 1 • P 2s Pn
Pr2 • • Pri + Pr, i+1
• Pfs _
Nowy kanał P' jest nazywany redukcją elementarną kanału P. Możemy powtórzyć ten proces pewną ilość razy, konstruując redukcję elementarną kanału P' itd. Końcowy rezultat więcej niż jednej redukcji elementarnej będzie nazywany po prostu redukcją pierwotnego kanału P. PRZYKŁAD 5.9. W przykładzie 5.1 skonstruowaliśmy macierz kanału (KBS) 2 : P2
PP PP P2
PP P2 P2
PP
PP P2 P2
PP
P2
P2
P =
PP PP
Elementarną redukcję kanału P konstruujemy przez dodanie pierwszej i drugiej kolumny: 2
P
P PP P 2 P P PP = -2 P P PP P PP P2
Redukcję kanału P konstruujemy dodając drugą i trzecią kolumnę P': P P P
=
P P P P P P
5.10. Kanały zredukowane i redukcje wystarczające
141
Dogodny sposób interpretowania kanału zredukowanego pokazany jest na schemacie 5.16. Kanał deterministyczny zamienia zbiór B w zbiór C o mniejszej ilości elementów. Stąd kanał ze zbiorem wejściowym A i zbio-
A
V1
C
Kanał deterministyczny
•
Kanał zredukowany
5.16 Kanał zredukowany
rem wyjściowym C, zaznaczony linią przerywaną na rysunku 5.16, jest redukcją kanału P. Przedstawiona metoda konstrukcji kanału zredukowanego pozwala nam wykorzystać rezultaty poprzedniego paragrafu. W szczególności mamy (odwołując się do rys. 5.16) (5.65)
H(A\C)>H(A\B)
oraz (5.66)
I(A;C)^I(A;B).
Redukcja kanału zmniejsza (lub w najlepszym razie nie zmienia) ilości informacji, związanej ze zbiorami sygnałów wejściowych i wyjściowych. Jest to cena, jaką płacimy za uproszczenie kanału. Najważniejszym pytaniem, wynikającym z powyższych uwag, jest pytanie: kiedy możemy uprościć kanał bez płacenia kary w postaci zmniejszenia ilości informacji, tj. kiedy ilość informacji, przepływająca przez kanał zredukowany, jest równa ilości informacji związanej z kanałem pierwotnym? Aby odpowiedzieć na to pytanie, wystarczy rozważyć przypadek redukcji elementarnych. Odpowiedź na pytanie dotyczące przypadku ogólnej redukcji może być uzyskane przez indukcję. Utwórzmy redukcję elementarną kanału: rPn
(5.67)
P 12
ls'
P = P 21 P 22 Pri
Prl
...
P,
142
5.
Kodowanei
i ilość informacji
Nie tracąc na ogólności, możemy przyjąć, że redukcję elementarną przeprowadzamy dodając dwie pierwsze kolumny macierzy P., Sytuacja taka jest przedstawiona na schemacie 5.17.
5.17. Redukcja kanału za pomocą kaskady
W paragrafie 5.9 znaleźliśmy warunki konieczne oraz dostateczne, aby łączenie szeregowe kanałów nie wprowadzało straty informacji. Były one następujące (5.61'): (5.68)
P(a|6) = P(a|c)
dla wszystkich a, b i c takich, że P(b, ć)=£ 0. Ponieważ zajmujemy się redukcją elementarną, warunek ten jest oczywiście spełniony dla wszystkich elementów B, z wyjątkiem dwu elementów by i b2, które połączyliśmy ze sobą. Niech c1 będzie elementem zbioru C, odpowiadającym połączonym bl'\b2. Stosując wzór 5.68 dla by\b2, znajdujemy warunki konieczne i dostateczne na to, by nie występowała strata informacji: (5.69)
P(a|b ł ) = P(a|c 1 ) = P(a|6 2 )
dla wszystkich a .
Powyższe warunki są równoważnej) warunkom następującym: (5.70)
P(a|ft 1 ) = P(a|6 2 )
dla wszystkich a.
Innymi słowami, dwa sygnały wyjściowe
bl
i b2 mogą być traktowane jako
(') Warunek nałożony na P(o|c,) wynika automatycznie z (5.70).
5.10. Kanały zredukowane i redukcje wystarczające
143
jeden bez straty informacji wtedy i tylko wtedy, gdy prawdopodobieństwa warunkowe P(a|i>i) i P(a\b2) są jednakowe dla wszystkich a. Jest to ważny wynik zarówno ze względu na właściwe zrozumienie pojęcia ilości informacji, jak i z praktycznego punktu widzenia. Prowadzi on do ustalenia warunków, przy których kanał może być uproszczony bez płacenia kary. Zauważmy, że prawdopodobieństwa warunkowe zależą od prawdopodobieństw a priori P(o,), tj. zależą one od tego, jak wykorzystujemy nasz kanał. Jest rzeczą interesującą ustalić, kiedy możemy przeprowadzić redukcję dla dowolnych prawdopodobieństw a priori. Odpowiedź na to możemy uzyskać wykorzystując wzór Bayesa do przepisania (5.70) w następującej formie: (5.71);
P(Mfl)P(fl) P(b2\a)P(a) = i-: == n —, £ P ( 6 l f l ) P ( a ) £P(i> 2 |a)P(a)
A
dla wszystkich a
A
A
Jeżeli (5.72) jest spełnione dla wszystkich możliwych prawdopodobieństw P(a), musi zachodzić: (5.73) P(f>j|a)=const• P(b 2 \a) dla wszystkich a. Równanie (5.73) jest poszukiwanym warunkiem. Jeżeli mamy macierz kanału spełniającą (5.73), to możemy dodać dwie kolumny macierzy i nowa macierz kanału będzie tak samo dobra jak macierz pierwotna. Wyrażając się bardziej dokładnie, dla dowolnego zbioru prawdopodobieństw określonych na zbiorze wejściowym, ilości informacji dla kanału pierwotnego i kanału zredukowanego będą identyczne. Zredukowany kanał posiadający tę własność będzie nazywany redukcją dostateczną (wystarczającą). P r z y k ł a d 5.10. Kanał
[liii] L.12
może być zredukowany do
6
*
2J
144
5.
Kodowanei
i ilość informacji
i ostatecznie do kanału
Kanał ostatni jest redukcją dostateczną kanału pierwotnego.
5.11. Addytywność ilości informacji Ważną własnością ilości informacji jest jej addytywność. W paragrafie tym zbadamy addytywność rozważając średnią ilość informacji o zbiorze sygnałów wejściowych dostarczanej przez ciąg sygnałów wyjściowych. Rozważmy przypadek, gdy możemy zyskiwać informację o wejściu na podstawie kilku obserwacji. Przykładem jest sytuacja, gdy sygnały wejściowe kanału szumowego nie są przekazywane jeden raz, a są powtarzane pewną ilość razy. Taka procedura może być stosowana dla poprawienia wierności przekazywania informacji przez zawodne (wprowadzające zakłócenia) kanały. Innym przykładem jest kanał informacyjny, w którym odpowiedzią na pojedynczy sygnał wejściowy jest nie pojedynczy sygnał wyjściowy, ale ciąg sygnałów wyjściowych. Zbadamy własność addytywności ilości informacji w szczególnym przypadku, gdy sygnał wyjściowy odpowiadający pojedynczemu sygnałowi wejściowemu składa się z dwu sygnałów elementarnych. Bardziej ogólny przypadek, gdy sygnał wyjściowy składa się z n sygnałów elementarnych, może być zbadany przez indukcję. Zmodyfikujmy nasz model kanału informacyjnego tak, że zamiast pojedynczego sygnału wyjściowego dla każdego sygnału wejściowego odbieramy dwa sygnały, powiedzmy b j i ck. Sygnały bj i ck są elementami zbiorów wyjściowych B={bj},
j=l,2,
...,s
i
C={ck),
k=l,
2, ..., t.
Bez straty ogólności możemy przyjąć, że dwa sygnały wyjściowe są odbierane w kolejności bj, ck. Wówczas, po odebraniu pierwszego sygnału wyjściowego, prawdopodobieństwa a priori sygnałów wejściowych P(o,) zmieniają się w prawdopodobieństwa a posteriori P(a(|6j); po odebraniu drugiego sygnału wyjściowego zmieniają się one w prawdopodobieństwo „bardziej a posteriori" P(a,|Z>;, ck).
5.11. Addytywność ilości informacji
145
Jeżeli są odebrane dwa sygnały b} \ ck, to średnia niejednoznaczność czyli entropia zbioru sygnałów wejściowych, zmienia się z (5.74)
H(A)=Y,V(a)
log—^—P (A)
A
w entropię a posteriori (5.74')
H(A\bj)=ZP(a\bj)log?-^
i dalej w entropię „bardziej a posteriori" (5.74")
H(A\bj,
ck)=Y.P(a\bj,
ck)
W paragrafie 5.5 uśredniliśmy H(A\bj) po bj, aby znaleźć średnią entropię a posteriori, czyli niejednoznaczność A ze względu na B: (5.75)
ZP(b)H(A\b)=H(A\B). B
W ten sam sposób możemy uśrednić H(A\bj, ck) po wszystkich bj i ck ażeby znaleźć niejednoznaczność A względem B i C: (5.75')
X
P(b,c)H(A\b,c)=H(A\B,C).
B,C
Wynik uogólnienia pierwszego twierdzenia Shannona (paragraf 5.5) stosuje się bezpośrednio do H(A\B, C), przy czym H(A\B, C) jest średnią ilością binitów niezbędnych do zakodowania elementu zbioru A, gdy znane są odpowiednie elementy ze zbioru B i C. Równania (5.75) oraz (5.75') sugerują dwa różne sposoby mierzenia ilości informacji, jakiej o A dostarcza para B i C. W pierwszym sposobie możemy zdefiniować ilość informacji o A w parze (B, C) tak samo, jak to czyniliśmy gdy na wyjściu kanału był pojedynczy sygnał, tj. (5.76)
I(A;B,C)
=
H(A)-H(A\B,C).
W drugim możemy rozważyć ilość informacji dostarczaną o A jedynie przez B, następnie ilość informacji o A dostarczaną przez C dodatkowo, gdy poznaliśmy już wcześniej B. Są to następujące wielkości: (5.77) 10
Teoria
H(A)-H(A\B) i n f o r m a c j i
146
5. Kodowanie i ilość informacji
oraz (5.77')
H(A\B) — H(A\B,
C).
Pierwsza z nich została wcześniej zdefiniowana jako I(A; B): (5.78)
I(A;B)=H(A)-H(A\B).
Jest rzeczą naturalną wprowadzić dla różnicy (5.77') oznaczenie (5.78')
I(A;C\B)
=
H(A\B)-H(A\B,Q
i nazwać je ilością informacji o A w C przy ustalonym B. Dodając (5.78) i (5.78') otrzymujemy (5.79)
I(A ; B)+I(A
; C\B)=H(A)-H(A\B,
C)=I(A
; B, C).
Równanie (5.79) wyraża własność addytywności ilości informacji. Mówi ono o tym, że średnia ilość informacji dostarczana przez obserwację nie zależy od tego czy traktujemy obserwację jako całość, czy dzielimy ją na części składowe. Równanie (5.79) może być bezpośrednio uogólnione: (5.80)
I{A ; B, C,...,
D) = I(A ; B) + I(A ; C\B)+... + I(A ; D\B,
C,...),
gdzie wyrażenie po lewej stronie jest średnią ilością informacji dostarczanej o A na podstawie obserwacji ze zbiorów B, C, ..., D. Pierwsze wyrażenie po prawej stronie jest średnią ilością informacji o A dostarczaną przez obserwację ze zbioru B. Drugie wyrażenie po prawej stronie jest średnią ilością informacji o A dostarczaną przez obserwację ze zbioru C, po dokonaniu obserwacji ze zbioru B, itd. W szczególności kolejność, w jakiej odbieramy informację, jest bez znaczenia. Na przykład możemy napisać (odpowiednio do 5.79) (5.81)
I(A ; B, C) = I(A; C) + I(A ; B\C).
Wielkości informacyjne dyskutowane powyżej możemy napisać w kilku różnych postaciach. Z (5.76) mamy: (5.82)
I(A;B,C)
= H(A)-H(A\B,Q
=
= £ P ( a ) l o g - i - - X P(a,b,c)log A P(A) A.B.c
1
P(a\b,c)
=
5.11. Addytywność ilości informacji
= £ P(<3, b, c ) l o g — — A/B, c P(a)
A.B.C
147
£ P ( a , b, c)log B, C P(a|b,c)
P(A)
Inną użyteczną postać otrzymamy mnożąc licznik i mianownik pod logarytmem przez P(¿>, c): (5.82')
n A - , B , C . Y ? ( . , b ,
Czytelnik powinien zauważyć podobieństwo pomiędzy wzorami (5.82) i (5.82') i wzorami (5.31) i (5.31'). Możemy mianowicie otrzymać (5.82) i (5.82') podstawiając po prostu w (5.31) i (5.31') b, c zamiast b. Nasze rozważania sugerują definicję (5.83)
H(B,C\A)=
£
A.B.C
P(a,
fr,c)log
1
R{T>,C\a)
Łatwo sprawdzić, że: 5.84)
I(A;B,C)^U(B,C)~H(B,C\A).
PRZYKŁAD 5.11. Dla ilustracji addytywności ilości informacji zbadamy KBS
M . L p pi gdzie p = l — p . Założymy teraz, że sygnał wejściowy (0 lub 1) jest powtarzany tak, że na wyjściu kanału mamy dwa binarne sygnały bj, ck dla każdego sygnału wejściowego a,. Dla prostoty przyjmiemy ponadto, że obydwa sygnały wejściowe są wybierane z jednakowymi prawdopodobieństwami. Podstawiając zatem co = ł w (5.48) mamy (5.85)
I(A ; £) = 1 —H(p).
Aby znaleźć I(A; B, C) wykorzystamy (5.82'). Niezbędne prawdopodobieństwa podane są w tabeli 5.2. Podstawiając te prawdopodobieństwa do (5.820 mamy (5.86)
lZn2S lf2p 2 • r / p2 \ 1 /(^;B,C)=p2log^—,+Zlog-j—2=(/+/) 1-if K — j • P +p p +Pj L \p +p / J
Interpretacja wyrażenia (5.86) jest prosta. Jeżeli obserwujemy 10 lub 01 na wyjściu takiego kanału, mamy wówczas całkowitą dwuznaczność; dwa możliwe sygnały wejściowe będą w dalszym ciągu jednakowo prawdopodobne i nie uzyskujemy informacji 10«
148
5. Kodowanie i ilość informacji TABLICA 5.2 Prawdopodobieństwa opisujące kanał KBS z powtórzeniami dl
bj
Cu
P(«l)
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
i i i i i i i i
P ( f i , bj, ck) ip2 iPP hPP iP2 iP2 iPP iPP i P2
P (bJtck) i(p2+P2) PP PP HP2+p2) i(j>2+P2) pp pp HP2+P2)
na podstawie naszej obserwacji. Jeżeli jednakże zaobserwujemy 00 lub 11, to zyskujemy informację o wejściu, która jest równoważna informacji zyskanej na podstawie pojedynczego sygnału wyjściowego kanału KBS, w którym prawdopodobieństwo błędu jest równe P2+P2' Z (5.85) wynika, że informacja z takiej obserwacji wynosi (5.87)
J ) .
00 lub 11 obserwujemy z prawdopodobieństwem p2+p2, stąd wynika (5.86). Argumenty przytoczone wyżej można łatwo uogólnić na przypadek KBS użytego kilkakrotnie. Dla przykładu, jeżeli każde wejście wywołuje trzy binarne sygnały wyjściowe, mamy: (5.88)
I(A ; B, C, D)=(p3+p*) [ l - H (-Tf^)] +3PP [1 -H(/>)].
Równania (5.85), (5.86) i (5.88) są zilustrowane na rysunku 5.18.
5.12. Ilość informacji w przypadku kilku zbiorów W naszych badaniach addytywności ilości informacji (paragraf 5.11) napotykaliśmy ciąg wielkości entropii .(5.89)
H(A),
H(A\B), H(A\B,C), ...
Każdy element tego ciągu jest nie większy niż poprzedzający. Widzimy,
5.12. Ilość informacji w przypadku kilku zbiorów
149
że różnica pomiędzy dwoma kolejnymi elementami może być interpretowana jako średnia informacja o A dostarczana przez nową obserwację: (5.90) (5.90')
I(A-,B)=H(A)-H(A\B), I(A;
C\B)=H(A\B)-H(A\B,Q,
I(A; B) jest wzajemną informacjąO A i fi; I(A\ C\B) jest wzajemną informacją A i C przy danym fi. Obydwie te wielkości jednakże dotyczą wza-
5.18. Wzajemna informacja przy n powtórzeniach w kanale KBS
jemnych informacji jedynie dwu zbiorów. Jest możliwe zdefiniowanie wzajemnej informacji dla więcej niż dwu zbiorów (McGill, 1954). Zdefiniujemy następująco wzajemną informację zbiorów A, B i C'. (5.91)
I(A ; B ; C) = J(/1; B)—I(A
; fi|C).
Nasza definicja wzajemnej informacji A, fi i C sugeruje, że I(A;B;C) jest symetryczna względem A, fi i C. Jeżeli tak jest istotnie, (5.91) może (') Ze względu na symetrie I(A; B) = I(B; A) pojęcie ilości informacji będziemy używali równorzędnie z pojęciem informacja wzajemna (przyp. tłum.).
150
5. Kodowanie i ilość informacji
być zapisane również następująco: (5.91')
I(A;B;C)
=
I(B;C)-I(B;C\A)
lub (5.91")
I (A; B ; C)=I(C
; A)-I(C
; A\B).
Aby udowodnić symetrię I(A; B; C) przekształćmy (5.91): (5.92) I (A ; B ; C) = L\i
A?B -
Z
A.B.C V
¿,B,C
v
P(fl)P(&)
o/
u
A.B.C
'
p
\|
'
(«>%)
P(a|c)P(b|c)
P(a,fc,c)logP(a'b)P(fllC)P(f)= P(a)P(b)P(a,
D,
K M
b\c)
P(«,fi)P(«.E)P(6.C)
P ( a ) P ( 6 ) P ( c ) P ( A , I>, c)
= / f ( A ) + H ( B ) + H ( C ) - H ( X , B ) - f l ( ^ , C ) - J i ( B , C ) + i i ( , 4 , B , C). Wykazując symetrię zauważmy dodatkowo, że wzór (5.92) przypomina wyrażenie na wzajemną informację w przypadku dwóch zbiorów: (5.93)
I(A;B)=H(A)+H(B)-H(A,B).
Wzory (5.92) i (5.93) można łatwo uogólnić dla więcej niż trzech zbiorów. Na przykład, wzajemna informacja A, B, C i D ma postać (5.94)
I(A ; B ; C ; D)=I(A]B;
C ;)-I(A
; B ; C\D) =
= [H(A)+H(B)+H(C)
+ H (£>)] -
~[H(A,B)+H(A,Q+H(A,D)+ + H(B,
C)+H(B,
+ [H(A,B,C) + H(A,
D) + H(C, D)] +
+ H(A,B,D)
C, D) + H(B,
+
C, D)]-H(A,B,
C, D).
Blachman (1961) zasugerował uzupełnienie rysunku (5.9), pomocne przy interpretacji powyższych wyrażeń. Dla trzech zbiorów mamy związki
151
5.12. Ilość informacji w przypadku kilku zbiorów
pokazane na schemacie 5.19. Chociaż rysunek 5.19 stanowi pomoc w zrozumieniu związków między wyżej zdefiniowanymi wielkościami, może on jednak czasami wprowadzać w błąd. Jak pokazano, wzajemna H(A, B, /
*
o
\
r
H(A, B, *
o
\
5.19. Niektóre związki informacyjne
informacja I(A; B) jest nieujemna; wzajemna informacja I(A; B\ C) jednakże może być ujemna. Oznaczałoby to, że przecięcie trzech kół na rysunku 5.19a może być ujemne. Podamy przykład pokazujący, że jest to możliwe.
152
5. Kodowanie i ilość informacji
PRZYKŁAD 5.12. Rozważmy trzy zbiory binarne A, B, C. Niech a, oraz bj przyjmują wartości 0 i 1, każdą z prawdopodobieństwem i i niezależnie od siebie. Przyjmiemy dalej, że ck jest 0, jeżeli a, jest równe bj, lub 1, jeżeli a, jest różne od bj. Niektóre z prawdopodobieństw dla tych trzech zmiennych losowych zebrane są w tablicy 5.3. TABLICA 5.3 Prawdopodobieństwa w przypadku trzech zmiennych losowych a,bjck 000 001 010 011 100 101 110 111
?(a,,bj,ck)P(<*<|bj, ck) p i 0 0 i 0 i i 0
1 0 0 1 0 1 1 0
bj\ck)
P(*i ,bj)
i 0 0 ł 0 i i 0
P M
i
ł
i i i i i i i
ł i ł i i ł
Wykorzystując tę tablicę, możemy obliczyć: I(A ; fi)=0 bitów, I(A; B\C)—1 bit, I(A; B; C)=I(A ; B)—I(A ; B | C ) = —1 bit. Jest jasne, dlaczego otrzymaliśmy takie rezultaty. Ponieważ A i B są statystycznie niezależne, I(A; B) = 0 i element zbioru B nie dostarcza żadnej informacji o elementach zbioru A. Jedakże jeśli wcześniej znamy element zbioru C, poznanie elementu ze zbioru B pozwala określić, który element ze zbioru A był wybrany; dostarcza nam zatem jeden bit informacji.
5.13. Przepustowość kanału Rozważmy kanał informacyjny określony przez zbiór wejściowy A, zbiór wyjściowy B i prawdopodobieństwa warunkowe P(6;|i7(). Aby obliczyć ilość informacji (5.95)
P< a b) I(A ; B)= Y P (a, fe)log ^ ' 5 A.B P(a)P(b)'
trzeba znać prawdopodobieństwa sygnałów wejściowych P(tfj). Informacja wzajemna zależy zatem nie tylko od kanału, ale również od sposobu wy-
5.13. Przepustowość kanału
153
korzystania kanału, tj. od prawdopodobieństw, z którymi wybierane są sygnały wejściowe kanału. Jest interesujące zbadanie zmienności I(A; B) w zależności od prawdopodobieństw wejściowych. PRZYKŁAD 5.13. Dla KBS z prawdopodobieństwem błędu p mamy (patrz (5.48)): (5.96)
I(A ; B)=H(cop+mp)-H(p),
gdzie co jest prawdopodobieństwem zera na wejściu oraz ¿3 = 1—co, p = 1 —p. Możemy potraktować (5.96) jako funkcję co dla ustalonego p (patrz rys. 5.20).
n a w e j ś c i u , ci
5.20. Wzajemna informacja w kanale KBS Ilość informacji przepływająca przez KBS zmienia się od 0 do 1— H(p). Minimalną wartość równą zeru osiąga, gdy co=0 lub 1. W tych przypadkach na wyjściu znamy wejście z prawdopodobieństwem 1 i to przed odebraniem sygnału wyjściowego. Maksimum równe 1 — H(p) ilość informacji osiąga dla co—i, tj. gdy obydwa sygnały wejściowe są jednakowo prawdopodobne.
Dla ogólnego kanału informacyjnego widzimy, że ilość informacji można zawsze sprowadzić do zera, wybierając jeden z sygnałów wejściowych z prawdopodobieństwem 1. Ponieważ ilość informacji jest nieujemna, łatwo odpowiedzieć na pytanie, kiedy I(A; B) osiąga minimum. Znacznie trudniej odpowiedzieć na pytanie dotyczące wartości maksymalnej. Maksymalna wartość I{A; B) ze względu na prawdopodobieństwa sygnałów wejściowych jest oznaczana przez C i nazywana przepustowością kanału: (5.97)
C = max I(A ; B). P(»i)
154
5. Kodowanie i ilość informacji
Zauważmy, że przepustowość kanału informacyjnego jest funkcją jedynie prawdopodobieństw warunkowych określających kanał. Przepustowość nie zależy od wejściowych prawdopodobieństw, związanych ze sposobem wykorzystania kanału. Z rysunku 5.20 widzimy, że przepustowość kanału KBS z prawdopodobieństwem błędu binarnego p wynosi \~H(j>). Obliczanie przepustowości kanału informacyjnego jest w ogólności skomplikowane (Muroga, 1953, Shannon, 1957 b, Fano, 1961). W pewnych przypadkach jednakże obliczenia mogą być uproszczone. Najważniejszą klasą kanałów, dla których obliczenia upraszczają się, jest klasa tzw. kanałów jednolitych.
5.21. Przepustowość kanału KBS DEFINICJA.
Rozpatrzmy kanał określony przez macierz Pil
Pil
•
•
Pu
Pil
P 22 •
•
P2s
•••
P Prs
-P. Pfl
PP f 2-
Jak poprzednio, PiJ = P(bJ\ai). Kanał taki jest nazywany kanałem jednolitym, jeżeli elementy każdego wiersza i kolumny są permutacjami elementów pierwszego wiersza.
155
5.13. Przepustowość kanału
P r z y k ł a d 5.14. Mieliśmy już do czynienia z jednym przykładem jednolitego kanału informacyjnego, a mianowicie z KBS. Naturalne uogólnienie KBS, r-narny kanał symetryczny (KrS) jest jednolitym kanałem z r sygnałami wejściowymi i r wyjściowymi. Kanał KrS jest określony przez macierz 5.22. Jak zwykle, p= 1 —p. Całkowite prawdopodobieństwo błędu dla takiego kanału jest p, jednakże teraz każdy sygnał wejściowy może być odebrany niepoprawnie na r — l różnych sposobów.
p
P r - 1
V r - 1
P
P Lr - 1
V r - 1
V r - 1
V r —1 V r —1
P r - 1
P
r - 1
V
5.22. Macierz kanału KrS
Obliczymy teraz przepustowość w przypadku ogólnym kanału jednolitego. Przepustowość jest wartością maksymalną 7(A; B) ze względu na rozkłady wejściowe: (5.98)
I(A;B)=H(B)-H(B\A)
=
=//(B)-£P(a)lP(f>|a)log]
1 P(40
Sumowanie po B w ostatnim składniku (5.98) jest dla każdego at sumowaniem elementów zawartych w / tym wierszu macierzy kanału. Dla kanału jednolitego sumowanie to nie zależy jednakże od i. Stąd (5.99)
J04; B)=H(B)—
£ P(b|a)log ^ ^
,
przy czym drugi składnik w (5.99) nie zależy od rozkładu sygnałów wejściowych. Aby wyznaczyć maksimum prawej strony (5.99) należy znaleźć jedynie maksimum H(B). Ponieważ zbiór wyjściowy obejmuje r sygnałów, wiemy, że H(B) nie może przekraczać logr bitów. H(B) będzie równe log r wtedy i tylko wtedy, gdy wszystkie sygnały wyjściowe będą równoprawdopodobne. W ogólności jednak nie jest prawdziwe stwierdzenie, że istnieje rozkład wejściowych sygnałów taki, że sygnały wyjściowe są równoprawdopodobne. Dla jednolitego kanału jednakże można łatwo sprawdzić, że jeśli założyć równoprawdopodobne sygnały wejściowe, to sygnały wyjścio-
156
5. Kodowanie i ilość informacji
we są również równoprawdopodobne. Tak więc maksymalna wartość wyrażenia (5.99), czyli przepustowość, wynosi: (5.100)
C=logr-ęP(h|a)log]^i_ = = logr+XP(fc|a)logP(i>|a). B
PRZYKŁAD 5.15. Korzystając z (5.100) obliczamy przepustowość kanału KrS: (5.101)
C = l o g r+p l o g p + p log
~— = log r-p
log
r— 1
(r-\)-H(j>).
5.14. Warunkowa ilość informacji Przepustowość kanału jest maksymalną wartością wyrażenia I(A-,B)=lP(a,b)\og?^-,
(5.102) A.B
R
(B)
będącego średnią wyrażenia log [P(6]a)/P(6)] ze względu na zbiór wejściowy A, jak i zbiór wyjściowy B. Ilość informacji może być również przepisana w formie (5.103)
I(A ; B) = £ P( f l ) £ P(fc|a)log A
B
= £ P ( a ) i ( a ; B), R (O)
A
gdzie (5.104)
/(asiO-lPiil«)10«^^-;
I(a; B) jest nazywane warunkową ilością informacji (warunek ze względu na a). Warunkowa ilość informacji jest średnią wyrażenia log [P(6|a)/P(6)] ze względu na warunkowe prawdopodobieństwo P(6|o). W ogólności, I(a; B) zależy od sygnału wejściowego a. Jednakże gdy sygnały wejściowe są wybierane zgodnie z prawdopodobieństwami, dla których ilość informacji jest równa przepustowości kanału, to jak zobaczymy, I(a; B) nie zależy od a dla wszystkich sygnałów wejściowych, dla których P(a)^0. Gdy prawdopodobieństwa wejściowe są takie jak prawdopodobieństwa, dla których ilość informacji jest równa przepustowości, to (5.105) dla wszystkich
/ (a ; B) = C a takich, źe P(a)^0.
5.14. Warunkowa ilość informacji
157
Stwierdzenie to stanowi podstawę przy obliczaniu przepustowości kanałów bardziej ogólnych od kanałów jednolitych, badanych w poprzednim paragrafie (Fano, 1961). Wykorzystamy je też w paragrafie 6.10 przy dowodzeniu drugiego twierdzenia Shannona. Udowodnimy wzór (5.105) przez zaprzeczenie. Załóżmy, że mamy zbiór prawdopodobieństw wejściowych(') P(aj), P(a 2 ), ..., P(ar), które odpowiadają przepustowości kanału, ale które nie spełniają (5.105) i wszystkie I(a; B) nie są równe przepustowości. Ponieważ średnia I(a; B) jest równa przepustowości, musi być przynajmniej jedno I(a; B) większe od C, i przynajmniej jedno I(a; B) mniejsze od C. Bez straty ogólności przyjmijmy (5.106)
I(al-,B)>C,
(5.106')
I(a2;B)
Zmieniamy prawdopodobieństwa (5.107)
P ( f l l ) , P(a 2 ), P( f l 3 ), ..., P(a r )
na prawdopodobieństwa (5.107')
P ( a 1 ) + ^ > P ( a 2 ) - A , P(a 3 )
P(a r ),
gdzie A jest pewną małą liczbą mniejszą od P(a2)- Pokażemy dalej, że wielkość wzajemnej informacji wówczas wzrasta. Ponieważ przyjęliśmy, że pierwotne prawdopodobieństwa (5.107) odpowiadały przepustowości, mamy sprzeczność; stąd nasze założenie, że wszystkie I(a; B) nie są stałe, jest fałszywe. Zajmiemy się teraz dowodem wspomnianej tezy. Oznaczmy prawdopodobieństwa (5.107') przez Pifai), Pi(a 2 ), • ••> Pi(ar)- Odpowiednie prawdopodobieństwa wyjściowe oznaczmy Pi(6j.)> Pi(^ 2 ), Pi(6 s ). Prawdopodobieństwo Pj (b) wynosi (5.108)
P1(ft)=£P1(a)P(b|a) = A
=
?(b)+A[P(b\a1)-P(b\a2)].
Niech Ii(A; B) będzie wielkością wzajemnej informacji obliczoną dla prawdopodobieństw Px(a). Zgodnie z założeniem, wielkość wzajemnej ( l ) Przyjmiemy, że wszystkie P(a,) są różne od zera. Jeżeli P(a,) = 0, możemy rozważać nowy kanał różniący się od starego usunięciem sygnału wejściowego a,.
158
5. Kodowanie i ilość informacji
informacji dla pierwotnych prawdopodobieństw P(a) jest równa C, czyli jest równa przepustowości kanału. Obliczmy różnicę: (5.109)
I1(A',B)-C= =
A
Z P
1
( « ) Z P ( t | a ) l o g ^ - l P ( a ) Z P ( H a ) l o g - ® = B m(0) A B
=zf [ £ P ( i > h ) log P ( % ) - X p (fc|a2) + l o g P ( % ) ] + B
B
Po dodaniu i odjęciu (5.110)
4 ę
P ( b | f l l ) 1
°
g
^ ) " ę
P ( h l f l 2 ) l 0 8
p k ]
po obydwu stronach (5.109), otrzymujemy (5.111)
it(A;
B)—C=
=^[/(0i
;B)-I(a2
+
B
ZPi(*)log
RX(O)
Aby doprowadzić do sprzeczności, chcemy teraz pokazać, że prawa strona wzoru (5.111) jest dodatnia. Dzięki (5.106) pierwsze wyrażenie po prawej stronie (5.111) jest dodatnie. Drugie wyrażenie, na podstawie często używanej nierówności (2.8), musi być jednakże ujemne. Na pozór wydaje się więc, że nie możemy wyciągnąć żadnych wniosków o znaku prawej strony (5.111). Jak pokażemy badając dokładniej ostatnie wyrażenie (5.111), pesymizm ten nie jest uzasadniony. Mamy
-Ę{P(t)+J[P(j.|a,)-P(i.|g,)]}lo8
^ ^ p g p g i . 1 +
P(i»
159
5.14. Warunkowa ilość informacji
Dla dostatecznie małego x możemy aproksymować log [1/(1 + * ) ] przez funkcję —x/ln 2. Wykorzystując to w (5.112) widzimy, że dla A wystarczająco małego (5.113)
ZP1(fc)log-^«1^E{P(fe)+^[P(i)|a1)-P(bM}x B "iW ln/B AjPib\ai)-?(b\a2)-] X
*
&
P (¿0
in z b [P(b|fll)-P(fc|q2)]2^ B
P (b)
~ In 2 V
P (b)
ponieważ ^ P ( f c | a 1 ) = ^ P ( i ) | a 2 ) : = l - Tak więc, drugie wyrażenie (5.111) B B (ujemne) zachowuje się jak A2 dla dostatecznie małych A, podczas gdy pierwsze wyrażenie (dodatnie) zachowuje się jak A; biorąc dostatecznie małe A, prawa strona staje się dodatnia i mamy pożądaną sprzeczność. Założenie, że nie wszystkie warunkowe ilości informacji są równe przepustowości, jest więc błędne i równość (5.105) została udowodniona.
UWAGI 1. Możemy zdefiniować bardziej ogólny kanał bezpamięciowy niż kanał ze skończoną ilością sygnałów wejściowych i wyjściowych, opisany w paragrafie 5.1. Kanał bezpamięciowy opisany jest przez przestrzeń wejść A, przestrzeń wyjść B i miarę prawdopodobieństwa p(-\a), określoną w przestrzeni B dla każdego aeA. Kanały informacyjne są matematycznie równoważne „eksperymentom statystycznym" (Kempthorne, 1952). „Hipotezy" eksperymentu odpowiadają sygnałom wejściowym kanału, a „wyniki" eksperymentu odpowiadają sygnałom wyjściowym kanału. Struktura eksperymentu (tak jak dla kanału) jest wówczas opisana przez zbiór warunkowych miar prawdopodobieństwa określony na przestrzeni „wynikowej". Liczne problemy, istotne z punktu widzenia ogólnej teorii eksperymentów statystycznych, nie są ważne w przypadku kanałów informacyjnych i vice versa. Obszarem wspólnego zainteresowania jest porównywanie eksperymentów lub porównywanie kanałów informacyjnych
160
5. Kodowanie i ilość informacji
(Blackwell, 1953, Lindley, 1956, Shannon, 1958). Jak czytelnik mógł wcześniej wywnioskować, przepustowość nie jest jedyną metodą oceny przydatności kanału informacyjnego. Gdy liczba hipotez (sygnałów wejściowych) wynosi 2, można skorzystać z wielu konkretnych wyników zawartych w literaturze dotyczącej statystyki (Kullback, 1959, Grettenberg 1962, Birnbaum, 1961). W pewnych przypadkach tradycyjne metody statystyczne zastosowane do kanałów informacyjnych prowadzą do wyników diametralnie przeciwnych w stosunku do wyników uzyskanych z teorii informacji (Abramson, 1960). 2. Przepustowość istoty ludzkiej grającej rolę kanału informacyjnego była badana przez Pierce'a i Karlina (1957). Mierzyli oni ludzką przepustowość informacyjną za pomocą eksperymentów z czytaniem. Stwierdzili oni, że rozbieżność pomiędzy mierzoną w ten sposób przepustowością kanału ludzkiego (40 - 55 bitów na sekundę) oraz przepustowością kanału telefonicznego i telewizyjnego (odpowiednio około 50000 bitów na sekundę i 50000000 bitów na sekundę) jest wyzywająca. Trzeba podkreślić, że Pierce i Karlin badali informację odbieraną przez wewnętrzne punkty ludzkiego systemu przetwarzania informacji. Kelly (1962) też zmierzył przepustowość informacyjną pojedynczej ludzkiej siatkówki oka i otrzymał liczbę 109 bitów na sekundę. 3. Przy testowaniu hipotez statystycznych podstawową rolę gra stosunek prawdopodobieństw (lub często logarytm stosunku prawdopodobieństw). Jeżeli x oraz 1 —x są odpowiednio prawdopodobieństwami hipotez 1 i 2, mamy następujący logarytm stosunku prawdopodobieństw: 108
rb•
Golomb (1961) wykorzystał fakt, że y ("log ~du
J
l—u
= H(y)~H(x)
x
(gdzie //(•) jest funkcją entropii), do utożsamienia logarytmu stosunku prawdopodobieństw z gęstością ilości informacji. Jeżeli prawdopodobieństwa a priori dwu hipotez wynoszą x i 1 —x oraz prawdopodobieństwa a posteriori, po obserwacji rezultatu /-tego eksperymentu (lub po sygnale wyjściowym), są y i 1 —y, wówczas
n f log
J
1 -u
du= //(>>,) -H(x).
X
Używając oznaczeń paragrafu 5.4 wielkość powyższą można zapisać w postaci H(A\b))—H(A). Różnica ta może być uśredniona ze względu na wszystkie możliwe rezultaty eksperymentu tak, aby otrzymać wielkość odpowiadającą różnicy pomiędzy wartościami ilości wzajemniej informcji eksperymentu a hipotezy. Golomb uogólnił tę ideę na przypadek więcej niż dwu hipotez.
Uwagi
161
4. Shannon (1956) wykazał, że można skonstruować algebrę kanałów. Suma dwu kanałów odpowiada przypadkowi, gdy wykorzystywany jest zawsze tylko jeden z kanałów (nie obydwa jednocześnie). Wejściowy i wyjściowy zbiór nowego kanału powstaje przez odpowiednie połączenie wejściowych i wyjściowych zbiorów kanałów pierwotnych (patrz zadanie 5.15). Iloczyn dwu kanałów odpowiada przypadkowi, gdy obydwa kanały są wykorzystywane jednocześnie. Zarówno operacja dodawania jak i mnożenia mają cechę łączności i przemienności, iloczyn zaś jest rozdzielny wzlędem sumy. 5. Kelly (1956) zbadał alternatywną interpretację przepustowości kanału, która jest przydatna do niektórych problemów ekonomicznych (Murphy, 1962). Rozważmy gracza obserwującego wejście KBS z prawdopodobieństwami błędu p < \ i wykorzystującego obserwacje do stawiania zakładów na przekazywane wiadomości. Jeżeli hazardzista dąży do maksymalizacji oczekiwanego kapitału po n grach, zakłada cały swój kapitał po każdej obserwacji. Niefortunnie jednak, dla dużych n gracz używający takiej strategii zbankrutuje z prawdopodobieństwem 1. Jeżeli po każdej obserwacji gracz stawia ustaloną (mniejszą niż 1) część swego kapitału, kapitał jego będzie rosnąć wykładniczo z liczbą zakładów. Kelly zasugerował strategię zapewniającą maksymalizację tempa wzrostu kapitału (tj. optymalne tempo) i pokazał, że maksymalna wielkość tempa wzrostu wynosi C — przepustowość kanału; w artykule Kelly'ego są również rozwinięte niektóre uogólnienia tego problemu. 6. Wzajemna informacja dwu zmiennych losowych I(A; B) jest zdefiniowana nie tylko dla przypadku, gdy A i B są odpowiednio wejściowym i wyjściowym zbiorem kanału. Jak wzmiankowano w tym rozdziale, a, oraz bj mogą być dwoma dowolnymi zmiennymi losowymi i I(A\ B) pozostaje miaią ilości informacji dostarczanej o jednej zmiennej przez drugą. Pinsker (1954), Powers (1956) oraz Gelfand i Jagłom (1957) zdefiniowali ilość informacji o procesie stochastycznym, zawartą w innym procesie stochastycznym — jest to naturalne uogólnienie wzajemnej informacji zdefiniowanej w tym rozdziale. Niech p ab będzie miarą prawdopodobieństwa zmiennej losowej (a, b) oraz niech i Mb będą odpowiednimi miarami dla a i b. Jeżeli pab jest absolutnie ciągłe względem MaMt, definicja Gelfanda i Jagłoma jest równoważna następującej definicji:
gdzie d/iablduadHb jest pochodną Radona-Nikodyma z p cb względem Ma Mb- Jeżeli zmienne losowe a i b przyjmują skończoną ilość wartości, definicja powyższa upraszcza się do definicji podanej w tym rozdziale. Jeżeli a i b mają łączną i brzegowe gęstości prawdopodobieństw p(a, b), p(a) i p(b), wówczas
Gdy a i b są wielowymiarowymi zmiennymi gaussowskimi, z powyższego wynika, że
11
Teoria
I n f o r m a c j i
162
5. Kodowanie i ilość informacji
gdzie |JST,»|, \Ka\ i |iTi,| są odpowiednio wyznacznikami macierzy kowariancji (a, b), a oraz b. Jeżeli a reprezentuje realizację procesu gaussowskiego, zdefiniowanego w pewnym (może być również nieskończonym) przedziale, b zaś jest pewną zmienną losową, wówczas I(A ; B ) = - i l o g < 7 * , gdzie al jest znormalizowanym błędem średnio-kwadratowym estymacji b na podstawie obserwacji a. Wreszcie, gdy a i b są realizacjami procesów gaussowskich określonych w przedziale nieskończonym, średnia szybkość, z którą jeden z tych procesów dostarcza informacji o drugim, wynosi (')
•CA m i f , log ———•—— S*(f)S>(f) i(A; B)—i
J
sa(f)s„(f)-\sM)
.. -r 2 df,
I
gdzie S„(f) i Sb(f) są gęstościami widmowymi procesów stochastycznych a i b, S„b(f) zaś jest skośną gęstością widmową.
ZADANIA 5.1. Macierz binarnego kanału informacyjnego jest następująca: ¿i b2 a i ["0,8 0,21 a 2 [o,3 0,7j Dla wygody podano wyżej symbole odpowiadające poszczególnym wierszom i kolumnom tej macierzy. Niech P(a 1 ) = P 1 , V(a2) = P2, P ( M = Gi i P(6 2 )= Q2a) Wypisać równania (5.6) dla tego kanału, wyrażając Qi przez Pt. b) Rozwiązać te równania ze względu na P,, wyrażając je przez Q,. c) Znaleźć P(a,\bj) oraz Qj dla tego kanału, gdy P1=P2 = 0,5. d) Wyrazić Pt przez Qj używając P(a,\bj) obliczonego w punkcie c). Porównaj odpowiedzi z punktów b) i d). 5.2. Sygnał wejściowy jest przekazywany przez kanał 1, a następnie powtórnie jest przekazywany przez kanał 2 (patrz schemat Z. 5.2), wyjście może być więc traktowane jako para symboli (bj, ck). Przyjmiemy dalej, że powtórzenie nie zależy od rezultatów pierwotnej transmisji, tzn. (ck\at, bj)=-p(ck\at). (') Pojęcie szybkość przekazywania informacji jest opisane dokładnie w monografii J. Seidlera Teoria kodów, Warszawa 1965 (przyp. tłum.).
163
Zadania Podkreślamy, że nie oznacza to, iż ck i bj są statystycznie niezależne: P(c,|A,)#P(c»). a) Pokazać, że I(A ; B, C)—I(A ; B)+I(A ; C)-I(B\C) i podać interpretację. b) Uogólnić punkt a) na przypadek n kanałów. A
A
,
Kanał
1
Kanał
2
B
C
Z. 5.2. 5.3. Wykorzystać wyniki zadania 5.2a) dla sprawdzenia równości (5.86). 5.4. Udowodnić równość (5.32): 1(A"; B")=n I(A ; B) 5.5. Rozważmy kanał informacyjny pokazany na schemacie Z.5.5. Dla dowolnych dwu zbiorów prawdopodobieństw wejściowych P„ i— 1, 2, ..., r, oraz Qt, »= bl
) 62
loj
B b.
\a r Z. 5.5. = 1, 2
dla dowolnego X należącego do przedziału <0, 1>, zbiór liczb R,=XP,+
+XQ, może być również potraktowany jako zbiór prawdopodobieństw wejściowych. r
Wynika to stąd, że Rt>0
dla wszystkich i oraz
«, = 1. Niech IP(A; B), IQ(A\ B)
1=1
oraz JK(A; B) będą ilościami informacji, gdy prawdopodobieństwa wejściowe wynoszą odpowiednio P ( , Qt oraz R,. a) Udowodnić „wypukłość" ilości informacji, tj. wykazać, że Ir(A ; B)>XIP{A ; B)+X1Q(A ; B). b) Wykazać, że zachodzi związek Ir(A ; B)
ii'
164
5. Kodowanie i ilość informacji
5.7. Rozważmy dwa kanały informacyjne ze zbiorami wejściowymi At i A2 oraz odpowiednio zbiorami wyjściowymi B, i B2 (schemat Z.5.7). Prawdopodobieństwa określające kanał wynoszą Pi(b\a) dla kanału 1 i P2(b\a) dla kanału 2. Niech Pi(a) i P 2 (a) będą rozkładami wejściowymi określonymi na Ai i A2.
Z. 5.7. a) Zdefiniujemy nowy kanał, którego zbiór wejściowy A jest sumą zbiorów wejściowych Ai i A2. Niech dalej zbiór wyjściowy B będzie sumą zbiorów B1 i B2. Sygnał wejściowy nowego kanału jest wybierany jak gdyby w dwu etapach: najpierw wybiera się zbiór At (z prawdopodobieństwem X) lub A2 (z prawdopodobieństwem 1 —X — ).), następnie wybierany jest sygnał ze zbioru z prawdopodobieństwem odpowiednio Pi(a) lub P 2 (a). Przedstawić H(A) za pomocą H(Ai), H(A2) oraz X. b) Prawdopodobieństwa opisujące nowy kanał P(£|a) są równe P ^ a ) , jeżeli a i b należą odpowiednio do A1 i B,, oraz P 2 (6|a), jeżeli a i b należą odpowiednio do A2 02, są zaś równe zeru, jeżeli a należy do Alt natomiast b do B2 lub gdy a należy do A2, natomiast b do Bt. Przedstawić H{A\B) za pomocą HiAĄBi), H(A2\B2) oraz A. c) Przedstawić I(A; B) za pomocą I(A,; Bi), I(A2; B2) oraz A. 5.8. Uogólnić zadanie 5.7 na przypadek n informacyjnych kanałów (/i>2). 5.9. Binarny kanał multyplikatywny, przedstawiony na rysunku Z.5.9, ma dwa binarne wejścia i jedno binarne wyjście b=ac. Kanał ten może być opisany tak samo
Z. 5.9. jak zwykły kanał bezpamięciowy, jeżeli cztery możliwe kombinacje wejściowe potraktujemy jako nowy zbiór wejściowy A': 00 10 U a) Napisać macierz kanału ze zbiorem wejściowym A' oraz wyjściowym B.
165
Zadania
b) Sygnały wejściowe a i c są wybierane niezależnie i P { a = 0 } = ® 1 ( P {c=0} — co2. Oznaczmy 1— co1 = coi oraz 1— co2 = co2. Wyznaczyć I(A'; B). Podać interpretację odpowiedzi. c) Znaleźć maksimum 1(A'\ B) ze względu na &>i i co2. Podać wszystkie możliwe kombinacje a>i i co2 odpowiadające tej wielkości maksymalnej. 5.10. Niech P będzie macierzą kanału z r sygnałami elementarnymi na wejściu i s na wyjściu. Niech dalej a będzie ilością kolumn zerowych macierzy. A
P
B
P
C
Z. 5.10. a) Znaleźć przepustowość przy założeniu, że kanał jest deterministyczny. b) Znaleźć przepustowość przy założeniu (zamiast założenia z punktu a), że kanał jest bezszumowy. c) Przyjmijmy teraz założenia z punktu a) i b) jednocześnie. Dwa kanały (opisane przez założenia z punktów a) i b) są połączone szeregowo, jak pokazano na rysunku. Wyznaczyć przepustowość kanału kaskadowego z wejściem A i wyjściem C. 5.11. Dwa kanały KBS, każdy z prawdopodobieństwem błędu p, są połączone szeregowo, jak pokazano na rysunku. Wejścia 0 i 1 kanału A są wybierane z jednakowymi prawdopodobieństwami. Obliczyć: A
B
KBS
c
Z. 5.11. a) H(A), b) H(B), c) H(C), d) H(A, B), e) H(B, O , f) U (A, O , g) H(A, B, Q, h) I(A; B; C). 5.12. Niech a i b będą dwoma niezależnymi binarnymi zmiennymi losowymi o jednakowych własnościach statystycznych. Prawdopodobieństwo zera jest równe prawdopodobieństwu jedynki. Zdefiniujemy nową binarną zmienną losową c—ab. Obliczyć: a) c) e) g)
H(A), H(B), H(C), b) /(A; B), I (A; C), I(B; O , H(A, B), H(A, O, H(B, C), d) H(A,B, C), H(A\B), H(A\C), H(B\C), f) H(A\B, C), H(B\A, C), H(C\A, B), /(A; BIO, / ( £ ; ¿\C), HC; A\B), h) I(A• B; C).
5.13. Niech a i b będą dwoma niezależnym, binarnymi zmiennymi losowymi o jednakowym rozkładzie. Prawdopodobieństwo zera jest równe prawdopodobieństwu jedynki. Zdefiniujmy nową zmienną losową jako sumę c=a+Z> modulo 2, tj. c jest równe 0, jeżeli a=b oraz c = l , jeżeli ai=b. Obliczyć:
166
5. Kodowanie i ilość informacji a) c) e) g)
H(A), H(B), H(C), b) I(A; B), I(A; C), I(B; C), H(A, B), H(A, C), H(B, Q, d) H(A, B, C), H(A\B), H(A\C), H(B\C), f) H(A\B, C), H(B\A, Q, H(C\A, B), I(A; B\C), I(B; A\Q, I(C; A\B), h) I(A; B; C).
5.14. Obliczyć przepustowość kanału opisanego przez macierz ri -p-q
q
p
I
W szczególnym przypadku, gdy P—0, kanał nosi nazwę kanału binarnego wymazującego. Podać interpretację przepustowości kanału binarnego wymazującego. 5.15. Niech P, i P 2 będą macierzami dwu kanałów ze zbiorami wejściowymi odpowiednio Ax i A2 oraz zbiorami wyjściowymi Bt i Bx. Postać macierzy nowego kanału P, ze zbiorem wejściowym A = At u A2 oraz zbiorem wyjściowym B = Bt u B2 jest pokazana niżej: [o
P2]
;
O oznacza macierz, której wszystkie elementy są równe zeru. Niech P(a ( ) będzie prawdopodobieństwem sygnału wejściowego a,eA. Niech dalej G i = ^ P ( o ( ) , Q2 =
P(a,). Qi jest prawdopodobieństwem nadawania sygnału należącego do A,.
Niech Ci, C2 i C będą odpowiednio przepustowościami kanałów P j , P 2 i P. a) Wyznaczyć wielkości Q, (przez Ci i C 2 ) potrzebne do określenia przepustowości kanału P. b) Wyrazić C przez C t i C 2 . c) Uogólnić wyniki punktów a) i b) na przypadek n kanałów (n>2). 5.16. a) Obliczyć przepustowość kanału określonego przez macierz p p 0 0 p p 0 0
0 0 p p 0 0 p p Naszkicować zależność pomiędzy przepustowością i p. b) Obliczyć przepustowość kanału "10
0
0 p p .0 P P. Naszkicować wykres przepustowości jako funkcji p i porównać z odpowiedzią *w punkcie a).
Zadania 5.17. Obliczyć przepustowość następujących dwu kanałów: a) \ p ~ e [p—e
r e p—e
2ej
.
. \ \P~e P~e
2« 0 1
' \_p-a p-s
0 2e\ '
c) Wykorzystać przybliżenie log(l—£)«— ln 2
dla
e«0
do obliczenia i porównania powyższych dwu kanałów dla małych
6. WIERNE PRZEKAZYWANIE WIADOMOŚCI PRZEZ ZAWODNE KANAŁY
6.1. Wprowadzenie W rozdziale 6 udowodnimy drugie twierdzenie Shannona, które stanowi zaskakujący i szczególnie ważny rezultat teorii informacji. Ze względu na znaczenie tego twierdzenia, dobrze będzie cofnąć się i przejrzeć najważniejsze, wcześniej otrzymane rezultaty. Potrafimy uzasadnić wykorzystanie entropii i miar informacji pochodzących od entropii w dwu przypadkach: pierwszego twierdzenia Shannona (paragraf 4.3) oraz uogólnienia tego twierdzenia uwzględniającego niejednoznaczność (paragraf 5.5). Pierwsze twierdzenie Shannona dostarczyło nam kryterium, za pomocą którego można mierzyć informację wysyłaną ze źródła. Dzięki temu twierdzeniu potrafiliśmy przypisać wiadomościom ze źródła równoważną liczbę binitów (lub jednostek r-narnych) koniecznych do ich reprezentowania. Uogólnienie tego twierdzenia pokazuje, że wielkość związaną z entropią (niejednoznacznością) można użyć jako miernika rezultatów przekazywania informacji przez kanał. Wiemy, że by zakodować wiadomość ze zbioru A, którym dysponuje źródło, trzeba średnio H(A) binitów. Jeżeli jednak wiadomości ze zbioru A przekazywane są przez kanał i możemy obserwować wyjściowe sygnały ze zbioru B, trzeba tylko H(A\B) binitów na wiadomość z A, ażeby przedstawić ją jednoznacznie. Tak więc odbieranie wyjść kanału jak gdyby dostarczyło nam H{A)~H{A\B) binitów. Niejednoznaczność H(A\B) może zmieniać się od H(A) (gdy wejścia i wyjścia kanału są statystycznie niezależne) do zera (gdy kanał jest bezszumowy). Powoduje to, że ilość binitów, które odbieramy, przypadająca na element A, zmienia się od zera do H(A).
6.1. Wprowadzenie
169
Przekazywanie H(A) — H(A\B) binitów informacji jest osiągnięciem godnym uwagi. Postać b nitów, które pojawiają się na wyjściu naszego kanału informacyjnego, nie została bliżej określona. Zbadamy tę sprawę bardziej szczegółowo. Zakładamy, że przekazujemy przez kanał informacyjny bloki n sygnałów ze źródła A. Wówczas, jeżeli kanał jest bezszumowy, to H(A\B) jest równe zeru i każdy sygnał wyjściowy zawiera H(A) bitów informacji. Możemy wówczas odtworzyć bezbłędnie ciąg n wejść kanału na podstawie ciągu n wyjść kanału. Jest oczywiste, że odebraliśmy H(A) bitów bezbłędnej (nie obarczonej błędem) informacji. Jednakże, jeżeli kanał nie jest bezszumowy, nieoznaczoność nie będzie w ogólności równa zeru i każdy sygnał wyjściowy będzie zawierał tylko H(A) — H(A\B) bitów informacji. Co więcej, zauważmy niekorzystną własność, dzięki której informacja ta różni się od informacji wyjściowej kanału bezszumowego. Nie możemy odtworzyć precyzyjnie ciągu wejściowego kanału pomimo znajomości ciągu wyjściowego z kanału. Możemy powiedzieć jedynie, że znając sygnały wyjściowe, do kodowania wejść kanału potrzeba na jeden element H(A)—H(A\B) binitów mniej. Tak więc, chociaż otrzymujemy informację przez kanał, nie mamy bezbłędnej wiedzy o przekazywanej wiadomości. Tego rodzaju stan rzeczy można ocenić jako pływanie w obłokach: usuniemy je dopiero dzięki drugiemu twierdzeniu Shannona. Drugie twierdzenie Shannona było po raz pierwszy opublikowane w roku 1948. Publikację tę można uznać jako narodziny teorii informacji. Oryginalny dowód twierdzenia podany przez Shannona zawierał jednak pewne niejasności (McMillan, 1953). Pierwszy ścisły dowód drugiego twierdzenia Shannona podał Feinstein w roku 1955. Następnie różne dowody były podane przez Shannona (1957a), Blackwella, Breimana i Thomasiana (1959) oraz Fano (1961). Dowód przedstawiony w tym rozdziale jest nieco prostszy niż dowody wyżej wspomniane.
6.2. Prawdopodobieństwo błędu i reguły decyzyjne Drugie twierdzenie Shannona dotyczy ilości irformacji, którą możemy bezbłędnie przekazywać przez kanał. Aby pełniej ocenić znaczenie tego twierdzenia, spójrzmy na problem prawdopodobieństwa błędu. Dla niektórych prostych i używanych kanałów — takich jak KBS czy KrS - jest
170
6. Wierne przekazywanie wiadomości przez zawodne kanały
intuicyjnie jasne, co nazwać prawdopodobieństwem błędu kanału. Niemniej zobaczymy, że właśnie w tych przypadkach prawdopodobieństwo błędu będzie zależało od czynnika jeszcze nie rozważanego w naszych studiach dotyczących kanałów informacyjnych. Dla przykładu rozważmy KBS: (6.1) Zwyczajnie powiedzielibyśmy, że prawdopodobieństwo błędu tego kanału wynosi 0,1. Zauważmy jednak, że stwierdzenie to opiera się na założeniu, iż kanał jest wykorzystany we „właściwy" sposób. Jeżeli odbiornik na wyjściu kanału wykazuje, iż nadano jedynkę, gdy jest odebrane zero i vice versa, to prawdopodobieństwo błędu wynosiłoby 0,9. Oczywiście taki sposób wykorzystywania kanału jest nieracjonalny, niemniej jest on możliwy i musi być uwzględniony. Prawdopodobieństwo błędu zależy od tego, jak odbiornik interpretuje wyjściowe sygnały kanału. Dla wyjaśnienia tej sprawy weźmy kanał: 0,5 0,3 0,2 (6.2)
0,2 0,3 0,5 0,3 0,3 0,4
Kanał ten posiada trzy sygnały wejściowe at, a2, a3 i trzy sygnały wyjściowe b i, b2, b3. Co można powiedzieć o nadanym sygnale wejściowym, gdy został odebrany jakiś sygnał wyjściowy kanału? Pytanie to prowadzi do następującej definicji. Rozważmy kanał z R-elementowym zbiorem wejściowym A = {ai}, i = l, 2, ..., r, oraz s-elementowym zbiorem wyjściowym B= {bj}, j= 1, 2 , . . . , s. Reguła decyzyjna d(bj) jest pewną funkcją przyporządkowującą jednoznacznie każdemu elementowi wyjściowemu element wejściowy ( ł ). DEFINICJA.
P r z y k ł a d 6.1. Dla kanału 6.2 są możliwe następujące dwie reguły decyzyjne: (6.3)
d(b3)=a3 O Reguła decyzyjna tak zdefiniowana nosi nazwę reguły decyzyjnej punktowej. Pełne omówienie rodzajów reguł decyzyjnych można znaleźć w monografii J. Seidlera Statystyczna teoria odbioru sygnałów (przyp. tłum).
6.2. Prawdopodobieństwo błędu i reguły decyzyjne
171
oraz (6.4)
d(b2)=a2, d(bs)=a2.
Dla kanału z r sygnałami wejściowymi i s sygnałami wyjściowymi istnieje rs różnych możliwych reguł decyzyjnych. Pytanie, które prowadziło do definicji reguły decyzyjnej, może zatem być przeredagowane następująco: „Którą spośród rs reguł decyzyjnych powinniśmy zastosować?" Odpowiedź na to pytanie będzie zależeć od tego, co zamierzamy osiągnąć; rozsądnym celem naszych działań jest minimalizacja prawdopodobieństwa błędu decyzji. Stąd szukamy reguły decyzyjnej, która minimalizuje prawdopodobieństwo błędu decyzji. Aby znaleźć taką regułę, obliczamy prawdopodobieństwo błędu PE. Prawdopodobieństwo to może być napisane jako średnia z P(E[bj), czyli średnia warunkowego prawdopodobieństwa błędu, gdy na wyjściu kanału jest bj: (6.5)
PE=£P(£|6)P(&). B
Równanie (6.5) wyraża prawdopodobieństwo błędu jako sumę nieujemnych składników. Wobec tego, aby minimalizować PE przez wybór reguły decyzyjnej d(bj), musimy wybierać d(bj) minimalizujące każdy składnik sumy oddzielnie. P ( b j ) nie zależy od stosowanej reguły decyzyjnej, a więc omawianą minimalizację uzyskamy przez wybór d(bj) minimalizującego waiunkowe prawdopodobieństwo błędu P(E\bj). Dla ustalonej reguły decyzyjnej, d(bj)=a,, (6.6)
P(E\bj)=l-?[d(bj)\b^,
gdzie ze względu na ustalenie reguły decyzyjnej P[d(bj)\bj) jest prawdopodobieństwem P(a,|6y). Ostatecznie, aby minimalizować (6.6) dla każdego bj, wybieramy (6.7)
d(bj) = a*,
gdzie a* jest określone przez nierówność (6.7')
P(a*\bj)^P(at\bj)
dla wszystkich i.
Innymi słowy, prawdopodobieństwo błędu decyzji jest zminimalizowane, jeżeli posługujemy się taką regułą decyzyjną, która każdemu elementowi
172
6. Wierne przekazywanie wiadomości przez zawodne kanały
wyjściowemu przyporządkowuje najbardziej prawdopodobny element wejściowy. Reguła taka jest niekiedy nazywana regułą największego prawdopodobieństwa. Reguła największego prawdopodobieństwa zależy od prawdopodobieństw a priori P(o,). Dzięki prawu Bayesa możemy przepisać (6.7') w postaci (6.8)
P (bj\a*) P (a*) P (bj\at) P (a,) — ^ dla wszystkich i. P (bj) P (bj)
Stąd, gdy wszystkie prawdopodobieństwa a priori są jednakowe, reguła największego prawdopodobieństwa może być zapisana następująco: (6.9)
d(bj) = a*,
gdzie (6.9')
P(bj\a*)^P(bj\ai)
dla wszystkich i.
Reguła zdefiniowana relacją (6.9') jest znana jako reguła największej wiarogodności. Reguła największej wiarogodności nie zależy od prawdopodobieństw a priori. Gdy prawdopodobieństwa a priori są wszystkie jednakowe, reguła największej wiarogodności zapewnia minimalną wartość prawdopodobieństwa błędu. Jeżeli prawdopodobieństwa a priori nie są jednakowe (lub są nieznane), reguła ta może być również stosowana; w przypadkach takich oczywiście nie zapewniamy minimalnej wartości prawdopodobieństwa błędu. PRZYKŁAD 6.2. Bezpośrednio na podstawie wzoru (6.9) możemy napisać regułę największej wiarogodności dla kanału 6.2. Reguła taka ma postać d(bl)=a1, d(bi) = a3, d(b3)=a2. Zauważmy, że wypisana reguła nie jest jedyną, jaką można skonstruować. W istocie istnieją dla omawianego kanału trzy reguły największej wiarogodności.
Za pomocą wzorów (6.5) i (6.6) można łatwo otrzymać prawdopodobieństwo błędu dla danej reguły decyzyjnej: (6.10)
p
£
= l P ( # ) P ( i O = l P W - E P W ] P ( f c ) = B
= 1-IP
B
[d(b),b-].
B
6.2. Prawdopodobieństwo błędu i reguły decyzyjne
173
Składniki sumy (6.10) są łącznymi prawdopodobieństwami zdarzeń, że przekazywane jest d(b¡)=a*, a odebrane b¡ (dla każdego j). Stąd, definiując P E = l — P E możemy zapisać (6.10) następująco: (6.11)
PE=Z
P(a*,b).
B
Ponieważ (6.12)
£P(fl,i) = l, A,B
możemy przepisać (6.10) również nieco inaczej: (6.13)
P£=
X
P(a,&).
B,A — A*
Zapis YJ oznacza sumowanie po wszystkich elementach zbioru A z wyA-A*
jątkiem d(bj)=a*. pujący: (6.14)
Równoważny sposób zapisu wzoru (6.13) jest nastęP£=
X
P(b\a)P(a).
B,A-A•
Jeżeli wszystkie prawdopodobieństwa a priori P(a) są jednakowe, wówczas (6.14) przechodzi w (6.15)
PE=-
X
P(6|a).
R B,A — A*
Równanie (6.15) jest interesujące, ponieważ (dla szczególnego przypadku jednakowych prawdopodobieństw a priori) wyraża prawdopodobieństwo błędu decyzji przez składniki sumy P(b\a) będące elementami macierzy określającej kanał. Sumowanie przeprowadza się po wszystkich elementach macierzy kanału, z wyjątkiem jednego (odpowiadającego d(bjj) omijanego w każdej kolumnie. PRZYKŁAD 6.3. Obliczymy prawdopodobieństwa błędu dla kanału omawianego w przykładach 6.1 i 6.2 (6.16)
"0,5
0,3
0,2"
0,2
0,3
0,5
.0,3
0,3
0,4
Zakładamy, że wszystkie trzy elementy wejściowe są wybierane z jednakowymi prawdopodobieństwami i wykorzystujemy regułę największej wiarogodności (przypominamy, że reguła ta zapewnia minimum PE dla jednakowych prawdopodobieństw a priori): P£=}[(0,2+0,3) + (0,3+0,3) + (0,2+0,4)]=0,56 •
174
6. Wierne przekazywanie wiadomości przez zawodne kanały
6.3. Nierówność Fano Prawdopodobieństwo błędu zostało omówione w poprzednim paragrafie bez odwoływania się do entropii, entropii warunkowej i ilości informacji. Celem rozdziału 6 jest pokazanie powiązania pomiędzy tymi dwoma różnymi grupami pojęć. Jako pierwszy krok w tym kierunku podamy górne i dolne ograniczenie nieoznaczoności wyrażone przez prawdopodobieństwo błędu. W dalszym ciągu skorzystamy ponownie z wzorów (6.11) i (6.13):
Ą - l P ( a * W, PE=BX
P(a,b).
B,A — a*
Za pomocą tych dwu związków konstruujemy identyczność (6.17)
H (P £ ) + PE log (r - 1 ) = PE log —
+ PE log ~ =
"E =
"E
£ P(a,i»)logr-^+i:P(^,i>)logl. B,A~>«• fi "£
Entropia warunkowa H(A\B) może być zapisana w postaci tego samego rodzaju sumowań: (6.18)
«(,|
B
>_
J
^
.
W
o
^
+
Z
P
^
W
o
g
^
.
Odejmując identyczność (6.17) od (6.18) mamy (6.19)
H (A\B)—H (Pr) —Pfilog (r—1) =
£
B.A-a'
P(a,b)
(r— 1) P(fl|f>)
+
+ £P(fl*,f>)k>g Użyjemy teraz wzoru (2.2) do zmiany podstawy logarytmów po prawej stronie (6.19) (6.20)
(log e ) - 1 \H (A\B)—H (P £ ) - PE log (r - 1 ) ] =
175
6.3. Nierówność Fano
Możemy teraz skorzystać z nierówności (6.21)
lnx
wobec każdego składnika sumowania. Prawa strona równości (6.20) jest równa lub mniejsza od:
<«2>
']+5P(a* • 4 4 "
,?./<« • - r A
^
| _ r — LB,A-A*
1
] "
f ^ i - ^ + f i i P " " ] - ^ » « . J
B
mamy więc szukaną nierówność: (6.23)
H (A\B)^H
(P E ) + PE log (r — 1).
Ta ważna nierówność była po raz pierwszy wyprowadzona przez Fano. Jest ona spełniona bez względu na stosowaną regułę decyzyjną, chociaż prawdopodobieństwo błędu zależy wyraźnie od reguły decyzyjnej. Postać tej nierówności sugeruje interesującą interpretację. Przyjmijmy, że mamy ustaloną pewną regułę decyzyjną. Jeżeli odbieramy jakiś sygnał wyjściowy, potrzebujemy H(PE) bitów informacji do określenia, czy nasza reguła decyzyjna doprowadziła do popełnienia błędu. Doprowadziła ona do błędu z prawdopodobieństwem PE i wówczas możemy określić, który spośród r— 1 pozostałych elementów wejściowych był nadany, za pomocą co najwyżej log(r—1) bitów. Powyższa interpretacja nie stanowi dowodu nierówności (6.23), jednak może być wykorzystana jako podstawa dowodu, nieco innego od przytoczonego przez nas. Zbadajmy, kiedy w słabej nierówności Fano (6.23) zachodzi równość. Relacja (6.21) lnx
(6.24)
P(a|b)=—r— 1
dla wszystkich b oraz
oraz (6.24')
P(a*\b)—PE
dla wszystkich b.
a^a
176
6. Wierne przekazywanie wiadomości przez zawodne kanały
Ponieważ £ P ( a | 6 ) = l dla wszystkich b, przeto warunek (6.24') wynika A
z (6.24). Według równania (6.24), dla wszystkich b wszystkie wejściowe elementy z wyjątkiem wybranego przez naszą regułę decyzyjną są jednakowo prawdopodobne. Warunek ten pozwala na wzmocnienie naszej interpretacji nierówności Fano.
6.4. Niezawodne przekazywanie wiadomości przez zawodne kanały Przedmiotem drugiego twierdzenia Shannona jest ustalenie podstawowych ograniczeń, jakie winny być spełnione, aby było możliwe odtwarzanie w sposób wiarogodny wiadomości, mimo że sygnały przesyłane są przez zawodny kanał. Rozważmy najpierw użycie KBS do wiarogodnego przekazywania wiadomości (schemat 6.1).
6.1. Kanał KBS
Precyzując założymy, że prawdopodobieństwo błędu p w tym kanale KBS wynosi 0,01. Tak więc 99% przekazywanych binitów jest odbieranych bezbłędnie. Dla wielu nowoczesnych systemów transmisji danych taki poziom wiarogodności jest daleki od tego, by był zadowalający. Często spotyka się wymagania, aby prawdopodobieństwo błędu było rzędu 1 0 - 6 , 10" 8 , a nawet mniejsze. Aby zapewnić większą niezawodność systemu, Niewykorzystywane ciągi wejściowe
Ciągi przyporządkowane wiadomościom
Ciągi wyjściowe
000
000 001
001 010 011
010
100 101 110
—
(BSK)'
111 6.2. Metoda zwiększania wiarogodności
011 100
101 110 111
6.4. Niezawodne przekazywanie wiadomości przez zawodne kanały
177
możemy powtarzać wiadomość kilka razy. Przypuśćmy na przykład, że każdą wiadomość (0 lub 1) wysyłamy trzy razy. Jeden ze sposobów spojrzenia na tę procedurę zilustrowany jest na schemacie 6.2. W omawianej sytuacji wyjście kanału ma strukturę wyjścia kanału (K.BS)3 — jest to binarny ciąg o długości 3. Prawdopodobieństwo, że nie wystąpi żaden błąd w czasie przesyłania naszych trzech cyfr, wynosi (i-p)3=(/03.
Prawdopodobieństwo tylko jednego błędu jest równe 3pp 2 , a dwu błędów 3p 2 p. Prawdopodobieństwo tego, że wszystkie trzy binity będą odebrane błędnie, wynosi p3. Jeżeli p jest mniejsze od i (tj. jeżeli prawdopodobieństwo poprawnego odebrania binitu jest większe od prawdopodobieństwa odebrania binitu błędnie), wydaje się rozsądnym decydować, że wiadomością jest 000 lub 111, zgodnie z regułą większości zastosowaną do trzech odebranych binitów. Powyższa reguła decyzyjna nie jest uzasadniona jedynie czysto demokratycznymi przesłankami. Łatwo wykazać, że jest to reguła decyzyjna największej wiarogodności. Taka reguła decyzyjna zapewnia prawdopodobieństwo błędnego odtwarzania(') wiadomości PE (równe sumie prawdopodobieństw błędnego odebrania wszystkich trzech binitów lub tylko dwóch) wynoszące PE=p3 + 3p2p.
(6.25) Dla /> = 0,01 daje to
P £ « 3 • 10~4.
(6.26)
Możemy zatem zmniejszyć prawdopodobieństwo błędu od wartości 1 0 - 2 (gdy nadajemy 0 lub 1) do wartości 3-10" 4 (gdy nadajemy 000 lub 111). Wydłużając procedurę nietrudno zauważyć, jak wzrasta niezawodność. Możemy na przykład wysyłać w kanał pięć bitów dla każdej binarnej wiadomości, którą chcemy przekazać. Przedstawia to schemat 6.3. (') Prawdopodobieństwo błędnego odtwarzania wiadomości będzie zwykle zależeć od prawdopodobieństw a priori wiadomości. Jednakże ze względu na symetrię w opisanej sytuacji, prawdopodobieństwo błędu nie zależy od prawdopodobieństw a priori. 12
Teoria
i n f o r m a c j i
178
6. Wierne przekazywanie wiadomości przez zawodne kanały
Niewykorzystywane ciągi wejściowe
Ciągi przyporządkowane wiadomościom 00000
Ciągi wyjściowe 00000
•
00001
00001
00010
00010
00011
00011 (BSK)'
—•
11110 11111
11111
6.3. Metoda zwiększania wiatogodności
Prawdopodobieństwa bezbłędnej transmisji, popełnienia jednego, dwu, trzech, czterech i pięciu błędów wynoszą odpowiednio: p5, 5pp*, 10p2p3, 10p 3 p 2 , 5pĄp, p5. Jeżeli ponownie do podejmowania decyzji o tym, czy przekazywany jest ciąg 00000 czy 11111, użyjemy reguły większości (tj. największej wiarogodności), otrzymujemy następujące prawdopodobieństwo błędu: PE=ps
(6.27)
+
5p*p+Wp3p2
(jest to suma prawdopodobieństw pięciu, czterech i trzech błędów). Dla Z'= 0,01 daje to wartość P£«10~5.
(6.28)
Nie istnieje oczywiście żadne ograniczenie wzrostu niezawodności dla tej prymitywnej metody. W tablicy 6.1 podano prawdopodobieństwa błędTABLICA 6.1. Prawdopodobieństwo błędnego odtworzenia wiadomości gdy wykorzystywany jest kanał KBS Ilość binitów na wiadomość binarną 1 3 5
7
Prawdopodobieństwo błędnego odtworzenia wiadomości 2
io3-10-
4
lO" 5 4-10"
7
8
9
lO"
11
5-10"
1 0
6.4. Niezawodne przekazywanie wiadomości przez zawodne kanały
179
nego przekazywania wiadomości, jeżeli na każdą wiadomość przypada 1, 3, 5, 7, 9 i 11 binitów oraz korzystamy z kanału KBS z prawdopodobieństwem pojedynczego błędu binarnego /? = 0,01. Poprawa wykazana w tablicy 6.1 jest osiągana za pewną cenę. Ceną, którą płacimy za wzrastającą niezawodność przekazywania wiadomości, jest rozwlekłość transmisji. Innymi słowy, chociaż możemy zmniejszyć
Zawartość
informacji wyrażona
binarnych wiadomości
na
w
ilości
binit
6.4. Wymiana zawartości informacyjnej na wiarogodność w kanale KBS przy stosowaniu powtórzeń
prawdopodobieństwo błędu od 10~ 2 do 5 -10" 1 0 przez przyporządkowanie każdej wiadomości binarnej zamiast jednego — jedenastu bitów, to musimy jednocześnie zmniejszyć stosunek wiadomości do ilości binitów od 1 wiadomości na binit do n wiadomości na binit. W ogólności opisana metoda prostego powtarzania może prowadzić do wymiany stosunku ilości wiadomości do ilości binitów, czyli zawartości informacji na niezawodność transmisji. Taka typowa wymiana zilustrowana jest graficznie na rysunku 6.4. 12*
180
6. Wierne przekazywanie wiadomości przez zawodne kanały
6.5. Przykład kodowania z korekcją błędów Rysunek 6.4 nasuwa ważne pytanie. Badany dotąd przez nas system kodowania — proste powtarzanie — jest najbardziej oczywistą metodą zamiany omawianego stosunku na niezawodność. Czy istnieją ciekawsze i bardziej sprawne metody realizowania tej wymiany? Czy istnieją, dla danej wartości prawdopodobieństwa błędu, metody dające większy stosunek niż proste powtarzanie? Odpowiedź na to pytanie jest wyraźna: Tak! Odpowiedź taka wynika z drugiego twierdzenia Shannona (paragraf 6.10). Twierdzenie to nie tylko usta'a, że możemy polepszyć stosunek wykreślony na rysunku 6.4, ale również ustala granicę, do której możemy go polepszać. Odpowiedź na pytanie: O ile lepiej? wynikająca z drugiego twierdzenia Shannona jest najbardziej atrakcyjną częścią naszych dalszych rozważań. Graficznie odpowiedź naszkicowaliśmy na rysunku 6.5.
Zawartość
informacji
binarnych
wyrażona
wiadomości
na
w
ilości
binit
'6.5. Ograniczenie wymiany zawartości informacyjnej na wiarogodność w KBS
6.5. Przykład kodowania z korekcją błędów
181
Drugie twierdzenie Shannona mówi, że dla dowolnej zawartości informacyjnej, mniejszej od przepustowości kanału C, możemy znaleźć kody, które zapewnią prawdopodobieństwo błędu mniejsze od dowolnie małej dodatniej liczby e. Twierdzenie przedstawia dość niespodziewany wynik, że nie jest konieczne zmniejszanie zawartości informacyjnej do zera, aby otrzymywać coraz poprawniejszą transmisję przez kanał. W paragrafie 6.4 przedyskutowaliśmy możliwości uzyskania praktycznie bezbłędnej transmisji informacji przez zawodny kanał KBS. Zbadajmy teraz nieco bliżej wymianę zawartości informacyjnej na niezawodność. W poprzednim paragrafie zmniejszaliśmy zawartość informacyjną przez zwykłe powtarzanie binarnej wiadomości, którą chcieliśmy przekazać. Jak poprzednio na rysunkach 6.1 i 6.2, może to być traktowane jako wzrost rzędu rozszerzenia używanego kanału i wybranie tylko dwu spośród możliwych rozszerzonych elementów wejściowych a, jako wiadomości. Bardziej skuteczną metodą zmian zawartości informacyjnej — metodą, którą zastosujemy przy dowodzeniu drugiego twierdzenia Shannona — jest ustalenie rzędu rozszerzenia i zmiana ilości wejściowych elementów kanału ix,, które traktujemy jako wiadomości. Ponownie ilustrujemy to dla przypadku kanału KBS na schemacie 6.6. 000 001
000 \ ooi I
010 A>
011
100 101
010 / (BSK)'
011
> = B'
100 [
101 \
110 111
110 1 111 / 6.6. Kanał (KBS) 3
Załóżmy, że możemy przesyłać binarne sygnały przez kanał KBS w ilości jeden na sekundę. Wówczas a,, będące ciągiem 3 binitów, może być przekazane w ciągu 3 sekund. Jeżeli jako dopuszczalne wiadomości wykorzystujemy tylko dwa ciągi 000 i 111, to, jak pokazano w poprzednim paragrafie, prawdopodobieństwo błędu wynosi (6.29) P£=3-10"4, podczas gdy zawartość informacyjna przypadająca na jednostkę czasu jest równa £ binita na sekundę. Jeżeli natomiast jako wiadomości wyko-
182
6. Wierne przekazywanie wiadomości przez zawodne kanały
rzystamy wszystkie osiem a i ( to prawdopodobieństwo, że wiadomość (nie binit) będzie przekazana poprawnie, wynosi p3. Prawdopodobieństwo błędu jest wówczas równe l—p 3 . Dla />=0,01 daje to PEx 3 - 1 0 " 2 .
(6.30)
Zawartość informacyjna na jednostkę czasu, odpowiadająca temu prawdopodobieństwu błędu, wynosi 1 binit na sekundę. Oczywiście istnieje szereg możliwości pośrednich pomiędzy powyższymi dwiema skrajnymi. Możemy wybrać cztery ot, jako ciągi kodowe odpowiadające czterem wiadomościom równoprawdopodobnym. Dla przykładu: niech czterem wiadomościom odpowiadają ciągi
000 011
(6.31) v '
101 110
Jeżeli te cztery a, są wybrane, możemy stosować regułę największej wiarogodności (*) przedstawioną na schemacie 6.7. Wówczas prawdopodobieńCiągi wyjściowe
Ciągi będące decyzjami
0001
000
001/" 0101
011
011/ 1001
101
101/ 1101
110
lllJ
6.7. Reguła decyzyjna największej wiarogodności
stwo, że wiadomość będzie odtworzona poprawnie, PE, jest prawdopodobieństwem, że pierw.,ze dwa binity są przekazane bezbłędnie, czyli (6.32)
PE=p2.
(*) Jak pokazano w przykładzie 6.2., reguła największej wiarogodności nie jest jedyna. W przykładzie tym, oprócz reguły pokazanej na rysunku 6.7 istnieje kilka innych reguł największej wiarogodności.
6.5. Przykład kodowania z korekcją błędów
183
Dla />=0,01 daje to (6.33)
P £ « 2 • 10~ 2 .
Stąd cztery użyte ciągi binarne odpowiadają dwóm binarnym wiadomościom i potrzebujemy 3 sekundy do przekazania każdej wiadomości, zawartość informacyjna wynosi więc binita na sekundę. Porównując rezultaty gdy wybiera się dwie, cztery lub osiem wiadomości spośród ośmiu możliwych ciągów wejściowych kanału (KBS) 3 widzimy, że — ogólnie — im więcej mamy wiadomości, tym większe jest prawdopodobieństwo błędnego odtworzenia wiadomości. /i-te wydłużenie źródła r wejściowych elementów daje nam całkowitą ilość r" wejściowych kombinacji, które możemy wykorzystywać. Jednak jeżeli jako wiadomości wykorzystamy tylko M spośród tych możliwości, możemy zmniejszyć prawdopodobieństwo błędu. Zadanie polega na zmniejszeniu prawdopodobieństwa błędu bez żądania, aby M było na tyle małe, że zawartość informacyjna (*), (log M)/n, staje się zbyt mała. Drugie twierdzenie Shannona mówi, że prawdopodobieństwo błędu może być dowolnie małe tak długo, dopóki M jest mniejsze od 2" c . Dla takiego M zawartość informacyjna wynosi (6.34)
log M n
a przepustowość kanału, jak widać, odpowiada dolnej granicy zawartości informacyjnej przy bezbłędnej transmisji.
6.6. Odległość Hamminga W paragrafach 6.7 i 6.8 udowodnimy drugie twierdzenie Shannona w szczególnym przypadku kanału KBS. Dla uproszczenia tego twierdzenia dla KBS korzystne jest przyjęcie binarnej struktury sygnałów wejściowych (') Zawartość informacyjną mierzymy w równoważnych binarnych wiadomościach na element. Zatem nadanie jednej spośród M możliwych wiadomości za pomocą n elementów jest równoważne nadaniu log M binarnych wiadomości za pomocą n elementów. Zawartość informacyjna wynosi (log M)\n binarnych wiadomości na element.
184
6. Wierne przekazywanie wiadomości przez zawodne kanały
i wyjściowych. Hamming wprowadził pożyteczne pojęcie odległości pomiędzy dwoma binarnymi ciągami (Hamming, 1950). Odległość Hamminga pomiędzy dwoma ciągami binarnymi a i oraz fij, tej samej długości, jest zdefiniowana jako ilość pozycji, w których różnią się a, i fij. Dla przykładu niech a,=101111, /?,-= 1 1 1 1 0 0
oraz niech D(oLt, pj) oznacza odległość Hamminga pomiędzy a( i fij. Wówczas D(ah Koncepcja odległości Hamminga może być zastosowana do dyskutowanych w poprzednim paragrafie trzech różnych kodów dla kanału (KBS)3. TABLICA 6.2 Trzy kody dla kanału (KBS) 3 Kod
Ilość wiadomości M:
tf
Kod 33
Kod <€
000 001 010 011 100 101 110 111
000 011 101 110
000 111
8
4
2
Ciągi kodowe trzech kodów zebranych w tablicy 6.2 mogą być przedstawione jako wierzchołki trójwymiarowych kostek. Wówczas odległość Hamminga pomiędzy jakimiś dwoma punktami kodowymi może być traktowana jako ilość kroków, które musimy uczynić, aby przejść od jednego punktu do drugiego. Zauważmy, że minimalne odległości pomiędzy punktami kodowymi w kodach si, Si i <€ wynoszą odpowiednio 1, 2 i 3. Najmniejsza odległość pomiędzy punktami kodowymi jest ściśle związana z prawdopodobieństwem błędu tego kodu. Na ogół możemy oczekiwać, że im większa jest najmniejsza odległość, tym mniejsze prawdopodobieństwo błędu. Oczywiście, im większa ma być najmniejsza odległość, tym mniej punktów kodowych można umieścić w wierzchołkach «-wymiarowej kostki. Jest to inne wyrażenie efektu podkreślonego w poprzednim paragrafie. Oceniając dany kod należy mieć na uwadze zarówno korzyści wy-
185
6.6. Odległość Hamminga
nikające z dużej ilości wiadomości w danym kodzie, jak i korzyści wynikające z małego prawdopodobieństwa błędnego przesłania wiadomości przez kanał.
Kod
tf
Kod 3S
Kod
6.8. Trzy przykłady kodów gdy stosowany jest kanał (KBS) 3
Błędy powstające w czasie transmisji przez kanał (KBS)" ciągu n binitów a 0 powodują,* że odebrany ciąg pj różni się od ciągu nadanego. Jeżeli podczas transmisji wystąpi D błędów, odległość Hamminga pomiędzy a 0 i Pj będzie równa D, (6.35)
D(ct0,
f}j)=D.
Średnia ilość błędów występujących w bloku n binitów będzie równa np, gdzie p jest prawdopodobieństwem błędu binarnego w KBS. Zatem średnia odległość Hamminga pomiędzy ciągiem nadanym i odebranym jest również np. Oczywiście faktyczna odległość pomiędzy ciągiem nadanym i odebranym będzie rzadko równa tej średniej. Wobec powyższego wyłania się problem określenia nadanego ciągu kodowego na podstawie ciągu wyjściowego z kanału pj, czyli problem określenia reguły decyzyjnej. W tym rozdziale możemy założyć, że wiadomości (a stąd i ciągi kodowe) są jednakowo prawdopodobne. W paragrafie 6.2 pokazaliśmy, że reguła decyzyjna największej wiarogodności minimalizowała prawdopodobieństwo błędu, gdy wszystkie możliwe ciągi wejściowe były jednakowo prawdopodobne. Pokażemy teraz, że reguła decyzyjna największej wiarogodności ma prostą interpretację za pomocą odległości Hamminga. Niech a, będzie nadanym ciągiem kodowym, a fij jakimś możliwym ciągiem wyjściowym kanału. Jak poprzednio, niech odległość Hamminga pomiędzy tymi dowoma binarnymi ciągami o długości n będzie równa D. Wówczas af oraz Pj różnią się na D pozycjach; prawdopodobieństwo, że będzie ode-
186
6. Wierne przekazywanie wiadomości przez zawodne kanały
^-Najblizszy ciąg
kodowy
6.9. Reguła decyzyjna największej wiarogodności w przypadku kanału (KBS) 3
brany ciąg pj, jeżeli nadano x l t jest prawdopodobieństwem tego, że wystąpią błędy binarne w konkretnych D pozycjach (w których ciągi pj i a, różnią się), a nie wystąpią żadne błędy w pozostałych n — D pozycjach, czyli (6.36)
.n-D
p (Ph)=PD(P)'
Dla p<\ (w jedynie sensownym przypadku) P(/?y|o(,) maleje ze wzrostem D. Im bardziej Pj różni się od nadanego ciągu binarnego, tym mniejsze jest prawdopodobieństwo odebrania tego ciągu. Reguła decyzyjna maksymalnej wiarogodności wybiera ten ciąg kodowy, który maksymalizuje P(/fy<*i)> stąd dla jakiegoś ciągu odebranego pj reguła największej wiarogodności wybiera ciąg kodowy najbliższy pj w sensie odległości Hamminga.
6.7. Drugie twierdzenie Shannona dla KBS — etap pierwszy Udowodnimy teraz drugie twierdzenie Shannona w szczególnym przypadku kanału KBS. Bardziej ogólne twierdzenie obowiązujące dla bezpamięciowych informacyjnych kanałów ze skończoną ilością wiadomości będzie udowodnione w paragrafie 6.9. DRUGIE TWIERDZENIE SHANNONA (przypadek szczególny). Rozważamy KBS z prawdopodobieństwem błędu p i przepustowością C— 1 — H(p). Niech e będzie dowolnie małą liczbą dodatnią oraz niech M = 2 n ( C - £ ) . Wówczas dla dostatecznie dużych n możliwe jest wybranie w zbiorze 2"
6.7. Drugie twierdzenie Shannona dla KBS — etap pierwszy
187
możliwych ciągów wejściowych kanału (KBS) n podzbioru M ciągów kodowych (odpowiadających M jednakowo prawdopodobnym wiadomościom), takich że prawdopodobieństwo błędnego odtwarzania wiadomości będzie dowolnie małe. Na schemacie 6.10 podano 2" możliwych ciągów wejściowych i 2" ciągów wyjściowych kanału (KBS)". Prawdopodobieństwo błędu wynosi p. B"
.4" 00 •
• 00
00 • 00 •
•01 • 10
11 •
• 11
(BSK)
n
00 •
• 00
00 • 00 •
• 01 • 10
11 •
• 11
6.10. Kanał (KBS)"
Wejścia i wyjścia tego kanału są ciągami n liczb binarnych. Aby przekazywać M wiadomości przez ten kanał, wybieramy M spośród 2" możliwych wejść jako ciągi kodowe. W paragrafie 6.5 pokazaliśmy, jak prawdopodobieństwo błędnego odtwarzania wiadomości PE wzrasta ze wzrostem M. Pytanie, na które musimy teraz dać odpowiedź, jest następujące: Ile wiadomości możemy przekazywać zapewniając małe prawdopodobieństwo błędnego ich odtwarzania? Oczywiście odpowiedź na to pytanie musi zależeć od sposobu przyporządkowania wiadomościom naszych ciągów wejściowych. Jeżeli wybieramy ciągi kodowe tak, że są one zgrupowane, możemy oczekiwać większego prawdopodobieństwa błędu niż wtedy, gdy konstruujemy kod o tej samej ilości ciągów kodowych, ale mniej więcej równomiernie rozłożonych. Metoda kodowania rozstrzyga o prawdopodobieństwie błędu, a zatem i o maksymalnej ilości wiadomości, które możemy praktycznie dostatecznie niezawodnie przekazywać. Odkładając na razie na bok poprzednio sformułowane pytanie, założymy, że w jakiś sposób skonstruowaliśmy kod zawierający M ciągów kodowych po n binitów każdy. Kod ten jest wykorzystywany wraz z kanałem (KBS)". Przypuśćmy, że został nadany jeden z ciągów kodowych stosowanych w naszym kodzie, powiedzmy oc0, a odbierany jest jakiś na ogół inny ciąg binarny o długości n, powiedzmy (schemat 6.11).
188
6. Wierne przekazywanie wiadomości przez zawodne kanały
Wiemy, że reguła decyzyjna największej wiarogodności, opisana w poprzednim paragrafie, minimalizuje prawdopodobieństwo błędu, jeżeli wszystkie M wiadomości są nadawane z jednakowym prawdopodobieństwem. Jednakże reguła największej wiarogodności jest trudna do analizy. (BSK)
6.11. Kanał
Rozważymy zatem inną regułę decyzyjną podobnego typu. Chociaż nie będzie ona tak dobra jak reguła największej wiarogodności, pokażemy, że mimo to można uzyskać prawdopodobieństwo błędu decyzji dowolnie małe. Stwierdziliśmy poprzednio, że średnia odległość pomiędzy przekazywanym ciągiem a 0 i ciągiem odebranym pj będzie równa np, gdzie n jest rzędem rozszerzenia kanału KBS (lub długością ciągu kodowego), a p jest prawdopodobieństwem błędu binarnego. Gdy odbierzemy ciąg fij na wejściu naszego kanału, naturalne będzie poszukiwanie przekazywanego ciągu kodowego wśród ciągów kodowych o odległości np lub mniejszej od fij. Odwołując się do interpretacji geometrycznej możemy powiedzieć, że budujemy dookoła Pj kulę o promieniu np i szukamy ciągu kodowego a0 wew-
6.12. Kula dookoła ciągu odebranego
nątrz tej kuli. Jednakże np jest średnią odległością a0 od P} i może być rzeczą rozsądną zwiększyć nieco naszą kulę, aby zwiększyć prawdopodobieństwo tego, że a 0 będzie leżało wewnątrz kuli. Matematycy mają zwyczaj oznaczać takie zabezpieczenie symbolem s i my też tak uczynimy. Rozważmy kulę o środku Pj i o promieniu npt, g d z i e p e = p + £ (rys. 6.12).
6.7. Drugie twierdzenie Shannona dla K B S — etap pierwszy
189
Nasza procedura decyzyjna polega na tym, że budujemy kulę o promieniu npŁ i środku fij i jeżeli wewnątrz tej kuli znajdzie się pojedynczy odebrany punkt kodowy, podejmiemy decyzję, że przekazywana jest wiadomość odpowiadająca temu punktowi. Jeżeli wewnątrz kuli nie ma pojedynczego odebranego punktu kodowego (nie ma żadnego punktu lub jest ich kilka), poddajemy się i popełniamy błąd. Czytelnik może teraz stwierdzić, że zbyt łatwo rezygnujemy. Obiekcje czytelnika są słuszne. Chcemy jednak pokazać, iż powyższe postępowanie prowadzi do pomijalnie małego prawdopodobieństwa błędu. Przy dekodowaniu odebranego ciągu za pomocą opisanej procedury mogą powstać błędy dwojakiego rodzaju. Niech S(npe) oznacza kulę dookoła odebranego ciągu o promieniu npe (rys. 6.13). Błąd pierwszego rodzaju
6.13. Przykład dekodowania sygnału Pj
powstaje wtedy, gdy przekazywany ciąg kodowy a 0 nie leży w kuli S(npc), a błąd drugiego rodzaju wtedy, gdy w kuli S(npF) oprócz a 0 znajdzie się inny ciąg kodowy. Stąd prawdopodobieństwo błędu wynosi (6.37)
P £ = P{a 0 eS(/ip £ )} + + P { a 0 e S ( n p £ ) } P {przynajmniej jeden inny ciąg kodowy e S(np e )}.
Ponieważ P{a 0 e S(np e )}^ 1, na podstawie (6.37) mamy: (6.38)
PE^P{aoeS(npc)}
+
+ P {przynajmniej jeden inny ciąg kodowy e S(npc)} .
190
6. Wierne przekazywanie wiadomości przez zawodne kanały
Prawdopodobieństwo, że wystąpi przynajmniej jeden z dwóch możliwych przypadków, jest nie większe od sumy prawdopodobieństw indywidualnych. Uogólniając tę regułę mamy: (6.39)
P{przynajmniej jeden inny ciąg kodowy e 5 ( « p t ) } < < £
P{ateS(np$,
gdzie po prawej stronie jest sumowanie po M— 1 ciągach kodowych, które nie są przekazywane. Podstawienie (6.38) do wzoru (6.39) daje nam poszukiwaną nierówność: (6.40)
P£
£
P{a,eS(«pJ}.
ai^ato
Wzór (6.40) daje proste ograniczenie prawdopodobieństwa błędu dla wybranego zbioru M ciągów kodowych. Pierwsze wyrażenie po prawej stronie (6.40) jest prawdopodobieństwem zdarzenia, że odległość Hamminga pomiędzy ciągiem odebranym i ciągiem przekazywanym będzie większa od «(/>+£); drugie wyrażenie jest sumą prawdopodobieństw (każde odpowiada jednemu ciągowi, który nie jest przekazywany), że odległość Hamminga pomiędzy ciągiem odebranym i kolejnymi ciągami nie przekazywanymi będzie mniejsza od n(p + E). Pierwsze wyrażenie po prawej stronie wzoru (6.40) może być łatwo obliczone. Jest to właśnie prawdopodobieństwo zdarzenia, że wystąpi co najmniej n(p+e) błędów w czasie transmisji n binitów przez KBS z prawdopodobieństwem błędu binarnego p. Średnia ilość błędów występujących w bloku n binitów wynosi np. Dla danej skończonej wartości n skończone będzie prawdopodobieństwo, że ilość błędów przewyższy o ne lub więcej wartość średnią. Jednakże, jeżeli n wzrasta, zdarzenie takie staje się coraz mniej prawdopodobne; wyrażając się bardziej precyzyjnie, słabe prawo wielkich liczb (Parzeń, 1961) mówi, że dla dwu dodatnich liczb f i ¿istnieje n0 takie, że dla n>n0, prawdopodobieństwo zdarzenia, że liczba błędów przewyższy wartość średnią o co najmniej ne, jest mniejsze od ó. Oznacza to, że biorąc n wystarczająco duże możemy być pewni, że: (6.41) dla dowolnie małego d.
P{a0
eS(npc)}
6.7. Drugie twierdzenie Shannona dla KBS — etap pierwszy
191
Mamy już w połowie oszacowane prawdopodobieństwo błędu (6.40), a zatem w połowie udowodnione drugie twierdzenie Shannona. Na podstawie nierówności (6.41) i (6.40) mamy: (6.42) P E ^ d + £ P{a,eS(np £ )}. OLI* OLO Zauważmy, że 5 było niezależne od zbioru M ciągów kodowych przyporządkowanych naszym M wiadomościom. Ostanie wyrażenie wzoru (6.42) zależy bardzo silnie od wybranego aktualnie kodu. Jak możemy zatem wykorzystać nierówność (6.42) do określenia kresu górnego prawdopodobieństwa błędu bez wnikania w trudny problem uwzględnienia faktu stosowania jakiegoś konkretnego kodu? Znakomite rozwiązanie tego dylematu podał Shannon. Zamiast obliczać prawą stronę (6.42) dla jakiegoś szczególnego kodu, Shannon pokazał, że jest możliwe obliczenie prawej strony (6.42) uśrednionej po wszystkich możliwych kodach. Pierwsze wyrażenie (6.42) nie zależy od stosowanego kodu, zależy natomiast suma M— 1 składników; jeżeli jednak uśrednimy sumowanie po wszystkich możliwych kodach, otrzymamy średnie prawdopodobieństwo błędu — uśrednione po wszystkich możliwych kodach. To nie jest dokładnie to, co chcieliśmy obliczyć pierwotnie, ale — jak zobaczymy — wystarcza nam to do udowodnienia podstawowego twierdzenia. 6.8. Kodowanie losowe — etap drugi Pokażemy teraz, na czym polega metoda Shannona, nazywana niekiedy kodowaniem losowym. M wejściowych ciągów kodowych naszego kodu wybieramy losowo ze zbioru 2" wszystkich możliwych ciągów wejściowych kanału. Wyobraźmy sobie, że mamy 2" wejściowych ciągów wypisanych na 2" oddzielnych kartkach papieru, wymieszanych w,dużym naczyniu. Na ślepo wybieramy z naczynia M kartek. Po każdorazowym wyciągnięciu kartki jest ona odczytana i przed następnym wyborem ponownie włożona do naczynia. Wybranych M kartek papieru określa M naszych ciągów kodowych ( ł ). (') Opisana procedura może kończyć się możemy wybrać tę samą kartkę papieru więcej sam ciąg kodowy więcej niż jednej wiadomości. prawdopodobny, ale możliwy. Dla M > 2" taki
pewnym niekorzystnym kodem, tj. niż jeden raz, a zatem przypisać ten Dla M < 2 " taki przypadek jest mało przypadek jest nieunikniony.
192
6. Wierne przekazywanie wiadomości przez zawodne kanały
Przy każdym wyborze ciągu kodowego istnieje 2" możliwości. Ponieważ dokonujemy M oddzielnych wyborów, istnieje 2nM różnych kodów, które mogą być tą drogą skonstruowane. Prawdopodobieństwo błędu dla jakiegoś szczególnego kodu możemy oszacować za pomocą nierówności (6.42). Uśredniamy teraz (6.42) po naszych 2"M możliwych kodach, aby otrzymać uśrednione prawdopodobieństwo błędu PE. Zaznaczyliśmy wcześniej, że pierwsze wyrażenie po prawej stronie (6.42) nie zależy od wybranego kodu. Powinniśmy zatem uśredniać jedynie M— 1 składników postaci P {«i e S(npe)}, gdzie Oznaczając falistą linią uśrednienie po 2nM różnych kodach przepisujemy nierówność (6.42) w postaci (6.43)
P£<5+(M-l)P{ai6S(np^}<5 + MP{aieS(«pJ},
«,#o0.
Przy obliczaniu P f e e S f « ; , ) } , o^ a 0 , w (6.43) skorzystamy z tego, że procedura zastosowana do wyboru ciągu kodowego ot; była tak prosta. Ciąg af był wybierany losowo spośród 2" możliwych ciągów kodowych, stąd średnie prawdopodobieństwo zdarzenia, że ciąg kodowy a,-, tóżny od nadanego ciągu kodowego a 0 , jest zawarty w kuli o promieniu npt dookoła ciągu odebranego pj, jest równe stosunkowi N(npe) całkowitej liczby różnych binarnych ciągów w kuli do 2", czyli do całkowitej liczby różnych ciągów binarnych o długości n. Zatem (6.44)
wwwwwwwww
p{a.es(np£)} =
(l"[ n \
- ^ ,
Ostatecznie otrzymamy oszacowanie dla N(npc). Ilość binarnych ciągów o długości n oraz o ustalonej odległości k od ciągu Pj jest równa liczbie sposobów, w jakie binarny ciąg o długości n może różnić się od ciągu Pj w dokładnie k pozycjach; ta liczba jest oczywiście współczynnikiem dwumianowym Sumując po wszystkich wartościach k mniejszych lub równych npe otrzymamy (') u Pt
(6.45)
N(npt)=1
+ (?) +•(«) +... + („;) =Eq
g) .
(') Oczywiście npc nie musi być liczbą całkowitą. Jeśli npe nie jest liczbą całkowitą, wówczas zastępujemy npe w ostatnim współczynniku dwumianu (6.45) przez największą liczbę całkowitą mniejszą od npe. D o w ó d jednak nie zmienia się pod żadnym względem.
6.8. Kodowanie losowe — etap drugi
193
Możemy szacować tę sumę za pomocą często używanej w teorii informacji nierówności (Peterson, 1961, str. 246, Wozencraft i Reiffen, 1961, str. 71)('): •Pt
L o (2)<2" h «">
(6-46)
dla
Pc
Stąd na podstawie (6.44), (6.45) i (6.46) otrzymujemy: (6.47)
af#a0.
Zastosowanie powyższegowwwyniku do (6.43) daje oszacowanie (6.48) PE^S + M2~n[l~H(Pc)\ Nierówność (6.48) stanowi drugie twierdzenie Shannona (w szczególnym przypadku KBS). Parametr ó możemy zmniejszać dowolnie przez wydłużanie bloku n. Stąd cała prawa strona (6.48) może być dowolnie zmniejszana, jeżeli tylko spełniona jest nierówność (6.49)
log M < n [1 - H (p £ )] < n [1 - H (p)].
To właśnie jest poszukiwana relacja. Jeśli wziąć e dostatecznie małe, to entropia (6.50)
H(pJ = H(p + e)
może być uczyniona dowolnie bliska H(p), i możemy wybrać ilość wiadomości M dowolnie bliską 2n[l~H(p)]. Różnica 1 — H(p) jest przepustowością C kanału KBS. Stąd możemy wybrać M wiadomości, gdzie M jest pewną liczbą mniejszą niż 2"c, i średnie prawdopodobieństwo błędu może być uczynione mniejsze od dowolnej, z góry założonej liczby. Musi istnieć przynajmniej jeden kod tak dobry jak średnia; jesteśmy więc pewni, że istnieje kod z M < 2"c ciągami kodowymi i prawdopodobieństwem błędu dowolnie małym. To jest rezultat, który obiecywaliśmy przy końcu paragrafu 6.5. Jeżeli użyjemy dostatecznie długich bloków o długości n, to możemy wybrać M<2nC ciągów kodowych i korzystając z kanału KBS będziemy mogli uzyskać prawdopodobieństwo błędnego odtworzenia ciągu kodowego (') Patrz też: J. Seidler, Teoria kodów (przyp. tłum.). 13
Teoria
Informacji
194
6. Wierne przekazywanie wiadomości przez zawodne kanały
tak małe, jak tylko będziemy chcieli. Stąd możemy przez kanał KBS o przelog 2"c pustowości C przekazywać, zasadniczo bezbłędnie, do
= C wiado-
mości na każdy binit. 6.9. Drugie twierdzenie Shannona — dyskusja Twierdzenie udowodnione w ostatnich dwu paragrafach ma charakter bardzo szczególny. Rozważany kanał jest najprostszym nietrywialnym kanałem; jest to kanał KBS. Niemniej wszystkie podstawowe idee potrzebne do dowodu bardziej ogólnego twierdzenia i wszystkie ważniejsze konsekwencje, które wynikają z bardziej ogólnego twierdzenia, są zilustrowane w tych paragrafach. Obecny paragraf wykorzystamy do przedyskutowania tych idei i sugestii zanim udowodnimy ogólne twierdzenie w paragrafie 6.10. Pierwszą dyskutowaną ideą jest kodowanie losowe wprowadzone przez Shannona. Aby ocenić krytycznie samo twierdzenie, konieczne jest zrozumienie, co mamy na myśli mówiąc o takim kodowaniu. Ze względu na to, że ciągi kodowe są wybierane losowo, mogliśmy wykorzystać równanie (6.47) do oszacowania prawdopodobieńs wa przynależności dowolnego ciągu kodowego do kuli o promieniu npe i środku pj. Jeżeli ustalilibyśmy ciągi kodowe w jakiś deterministyczny sposób, nie bylibyśmy zdolni, postępując jak poprzednio, określić prawdopodobieństwa, że ciąg kodowy leży w odległości nie większej niż nPc od ciągu odebranego flj. Przyglądając się tej sprawie dokładniej, można wyrobić sobie pogląd, że opisana procedura kodowania w rzeczywistości nie jest w ogóle żadną procedurą kodowania. Kodowanie losowe nie jest praktyczną metodą kodowania lub wyznaczania właściwego zbioru ciągów kodowych. Jeżeli stosujemy tę procedurę, średnio możemy uczynić prawdopodobieństwo błędu dowolnie małe. Niestety jednak średnia ta jest średnią po wszystkich możliwych kodach. Zatem nie możemy być pewni, że mając do czynienia z jakimś ustalonym kodem, mamy dobry kod. Jako skrajny przykład zauważmy, że jest możliwe otrzymanie wysoce osobliwego kodu, w którym wszystkim M wiadomościom jest przyporządkowany ten sam ciąg kodowy. Drugie twierdzenie Shannona może zatem być scharakteryzowane jako coś więcej niż dowód istnienia, ale nieco mniej niż dowód konstruk-
6.9. Drugie twierdzenie Shannona — dyskusja
195
tywny. Twierdzenie to nie określa dokładnie, jak konstruować dobry kod, i nie daje pełnej metody wyznaczania kodów. Twierdzenie dostarcza nam metody, która pozwoli wyznaczyć kody dobre w sensie uśredniania; tak więc jest to coś więcej niż zwykły dowód istnienia. W bardziej ogólnej wersji drugiego twierdzenia Shannona, udowodnionej w następnym paragrafie, pokazujemy, że możemy wybrać M=2" 0, ciągów kodowych (gdzie C jest przepustowością kanału) i prawdopodobieństwo błędnego odtworzenia wiadomości będzie stale dostatecznie małe. Udowodnimy również twierdzenie częściowo odwrotne do powyższego a mianowicie udowodnimy, że jeżeli wybierzemy M = 2 " < c + £ > , e > 0 , ciągów kodowych, to nie jest możliwe znalezienie reguły decyzyjnej zapewniającej dowolnie małe prawdopodobieństwo błędu PE przez wzrost n, czyli przez wydłużanie ciągów kodowych. Ta postać twierdzenia odwrotnego będzie wystarczająca dla naszych celów. Zauważmy jednak, że można udowodnić kilka innych, bardziej ostrych postaci twierdzenia. Wolfowitz (1959) wykazał, że jeżeli wybierzemy M=2n(C+') ciągów kodowych (gdzie C jest przepustowością kanału oraz £>0), wówczas prawdopodobieństwo błędu zbliża się do jedności, gdy n rośnie! Teoria kodów stwierdza, że przy stałej zawartości informacyjnej możemy uczynić dowolnie małym prawdopodobieństwo błędnego odtworzenia ciągu odpowiadającego jednej z naszych wiadomości, który przekazywany jest przez kanał z szumem. Ważnym punktem poprzedniego zdania jest to, że twierdzenie dotyczy prawdopodobieństwa błędu wiadomości lub ciągów kodowych. Na przykład, w przypadku KBS, twierdzenie mówi, że prawdopodobieństwo błędnego odtworzenia ciągu n zer i jedynek jest dowolnie małe. Jest to coś więcej niż powiedzenie, że prawdopodobieństwo błędnego odtworzenia zaledwie jednego binitu jest dowolnie małe. To rozróżnienie prowadziło do nieporozumień w interpretacji rezultatów różnych postaci odwrotnego drugiego twierdzenia Shannona. Jeżeli, jak w poprzednim paragrafie, mamy KBS, to twierdzenie odwrotne ustala, że jeżeli ilość równo prawdopodobnych wiadomości M jest większa niż 2nC (gdzie C jest znowu przepustowością KBS), prawdopodobieństwo błędu w ciągu zmierza do 1, gdy n wzrasta. Konkluzja powyższa jest prawdziwa dla pewnego zbioru ciągów kodowych (a nie dla uśrednienia po wszystkich kodach) i dla pewnej reguły decyzyjnej. Twierdzenie jest bardzo interesujące matematycznie, lecz jego przydatność do problemu; 13*
196
6. Wierne przekazywanie wiadomości przez zawodne kanały
komunikacji jest często przesadzana. Twierdzenie nie ustala, że efektywna komunikacja jest niemożliwa, gdy M>2"c. Dla wyjaśnienia tej sprawy przedstawmy graficznie zależność prawdopodobieństwa błędu binitu w KBS od zawartości informacyjnej, gdy binity 0 lub 1 są wybierane z jednakowymi prawdopodobieństwami. Wiemy, że dla pewnej zawartości informacyjnej R (ilość binarnych wiadomości na binit) mniejszej od przepustowości kanału C, prawdopodobieństwo błędu binitu może również być uczynione dowolnie małe. Dla zawartości informacyjnej R większej od C, możemy rozważyć następującą procedurę. Do przekazywania wiadomości zastosujemy znowu «-te rozszerzenie kanału KBS i założymy, że « wzrasta. Dla osiągnięcia zawartości informacyjnej R binarnych wiadomości na binit musimy dysponować 2nR wiadomościami, które są przekazywane przez «-te rozszerzenie KBS. Alternatywnie możemy przekazywać nR binitów przez «-te rozszerzenie. Spośród tych binitów, nC binitów możemy przekazywać przez kanał z dowolnie małym prawdopodobieństwem błędu. Wobec pozostałych nR—nC binitów, które muszą być również przekazywane, będziemy żądali, aby odbiornik podejmował decyzję 0 lub 1 jedynie na podstawie rzutów monetą: 0 dla reszki i 1 dla orła. Dla tych binitów prawdopodobieństwo błędu będzie równe Prawdopodobieństwo błędu uśrednione po wiarogodnych jak i niepewnych binitach będzie nieznacznie większe niż \(R—C)jR. Wynik ten jest przedstawiony na rysunku 6.14. Tę część rysunku (6.14), która przedstawia prawdopodobieństwo błędu dla R>C, otrzymano na podstawie naszkicowanej tu procedury. Jednakże nie pokazaliśmy dotąd, że procedura ta jest najlepsza spośród możliwych. W istocie, obliczenie możliwie najmniejszego prawdopodobieństwa błędu binitu dla zawartości informacyjnej R>C jest w dalszym ciągu sprawą otwartą. W dodatku zauważmy, że chociaż ograniczyliśmy odciętą na rysunku 6.14 do i? = l, możemy otrzymać wyższą zawartość informacyjną za pomocą opisanej procedury rzutów monetą. Rozważmy np. bezszumowy kanał KBS (p = 0). Wówczas nasza procedura rzutów monetą prowadzi do prawdopodobieństwa błędu binitu 0,25 przy zawartości informacyjnej 2 binarnych wiadomości na binit. Ostatnim punktem, dyskutowanym poprzednio w związku z ogólnym dowodem drugiego twierdzenia Shannona, jest to, że prawdopodobieństwo błędu jest ograniczone. W obydwu dowodach, tj. dla KBS oraz w dowodzie ogólnym, chcemy jedynie wykazać, że prawdopodobieństwo błędu może
6.9. Drugie twierdzenie Shannona — dyskusja
binarnych
wiadomości
na
197
binit
6.14. Zależność pomiędzy prawdopodobieństwem błędnego odtworzenia pojedynczego binitu a zawartością informacyjną w przypadku kanału KBS
być dowolnie małe, gdy 2" ( C _ e ) . Jednakże szereg otrzymanych przez różnych autorów rezultatów podaje ściśle, jak szybko prawdopodobieństwo błędu zbliża się do zera ze wzrostem rozszerzenia kanału n. Odnośnie tej sprawy ograniczamy się do uwagi, że wielu autorów uzyskało wykładniczą (lub prawie wykładniczą) zależność prawdopodobieństwa błędu od n. O niektórych z tych wyników powiemy krótko w uwagach na końcu tego rozdziału.
>
6.10. Drugie twierdzenie Shannona — przypadek ogólny Zajmijmy się dowodem drugiego twierdzenia Shannona dla bezpamięciowego kanału dyskretnego. Pod względem koncepcji dowód będzie bardzo podobny do dowodu przytoczonego dla KBS w paragrafach 6.7 i 6.8. DRUGIE TWIERDZENIE SHANNONA. Rozważmy kanał z r sygnałami wejściowymi i s sygnałami wyjściowymi oraz przepustowością C. Niech e będzie dowolnie małą liczbą oraz niech M = 2 " ( C _ c ) . Wówczas dla dostatecznie dużego n jest możliwe wybranie podzbioru M ciągów kodowych (odpowiadających M jednakowo prawdopodobnym wiadomościom) ze zbioru r" możliwych
198
6. Wierne przekazywanie wiadomości przez zawodne kanały
ciągów wejściowych kanału n-tego rzędu, takich te prawdopodobieństwo błędu przy dekodowaniu ciągu wyjściowego kanału będzie dowolnie małe. A»
B"
ai « (oi • • • aiai)
/Si = (61 • • • 6ibi)
<*2 = (cti • • • aiOi)
(Kanał)"
a,„ = (ar • • • arar)
02 = (bi • • • bib2) 0,n = (fc. • • • b.b.)
6.15. Opis kanału (KBS)"
Na schemacie 6.15 pokazaliśmy r" możliwych ciągów wejściowych i s" ciągów wyjściowych naszego kanału. Aby przekazać M wiadomości przez ten kanał, wybieramy spośród r" możliwych ciągów M ciągów jako ciągi kodowe. Ponownie wyłania się pytanie: Ile wiadomości można przesyłać, aby prawdopodobieństwo błędu było dowolnie małe? Załóżmy znów, że przekazywany jest przez kanał ciąg kodowy oc0 oraz odebrany jest ciąg fij (schemat 6.16). Ponieważ założyliśmy, że wszystkie M a0
(Kanał)" —
0,-
6.16. Kanał z «-krotnym powtarzaniem
wiadomości są jednakowo prawdopodobne, regułą decyzyjną minimalizującą prawdopodobieństwo błędu jest reguła największej wiarogodności (6-51)
d(Pj)=ct*,
gdzie (6.51')
P(/Jj|a*)>P(/?j|a,)
dla wszystkich i .
Ponownie stwierdzamy, że do obliczenia prawdopodobieństwa błędu jest wygodnie posłużyć się, zamiast samą regułą największej wiarogodności, pewną regułą decyzyjną blisko związaną z regułą największej wiarogodności. Chcemy napisać warunek wyznaczający a*, równoważny warunkowi
6.10. Drugie twierdzenie Shannona — przypadek ogólny
199
(6.51'). Ponieważ logarytm jest funkcją monotoniczną, zamiast (6.51') mamy (6.52)
log P(Pj\x*)>log P(/?j|a()
dla wszystkich i
lub (6-52'}
^
WSZyStkiCh
Niech P0(J}j) oznacza rozkład prawdopodobieństwa w zbiorze ciągów wyjściowych, który wystąpi wówczas, gdy ciągi wejściowe a, są wybierane z prawdopodobieństwami odpowiadającymi przepustowości. (Wejścia oczywiście nie są wybierane zgodnie z tym prawem, dlatego wprowadziliśmy indeks celem odróżnienie rozkładu P0(Pj) od aktualnego rozkładu P(y5¡)). Możemy dodać logP o 0?,) do obydwu stron (6.52'): (6.53)
log
dla wszystkich i.
Wielkość .
Po(^)
będzie grała rolę analogiczną do odległości Hamminga w naszym dowodzie dla KBS. Dla ustalonego ciągu nadanego oe0 wartość średnia tej nowej „odległości" pomiędzy oe0 a ciągiem odebranym wynosi ,6.54)
g
P
^
^
-
W
.
Jasny jest teraz powód wprowadzenia P0(Pj) do (6.53). Suma (6.54) jest ze znakiem przeciwnym warunkową ilością informacji /(a 0 ; B"), zdefiniowaną w paragrafie 5.13. Ponieważ P0(Pj) są prawdopodobieństwami pj takimi, że I(A."; B")=nC, więc 7(a 0 ; B") nie zależy od a 0 i mamy (6.55)
£ P ( 0 > o ) l o g d l a
wszystkich a 0 .
Jeżeli zatem odbieramy na wyjściu naszego kanału ciąg P Jt jest rzeczą naturalną szukać nadanego ciągu kodowego wśród ciągów spełniających warunek ( "6)
200
6. Wierne przekazywanie wiadomości przez zawodne kanały
Odwołując się do interpretacji geometrycznej możemy powiedzieć, że budujemy k u l ę d o o k o ł a ciągu odebranego jij. Kula zawiera wszystkie ciągi kodowe spełniające warunek Po (fij) Ciągu przekazywanego a 0 szukamy wewnątrz tej kuli. Jak poprzednio,
6.17. Kulista warstwa zawierająca wszystkie punkty kodowe spełniające nierówności (6.57) i (6.58)
zwiększamy promień kuli o ne (rys. 6.17) tak, aby zawierał ciągi kodowe spełniające warunek (6.58)
log
Po (Pi)
• < - « C + HE=-ii(C-E).
' Procedura decyzyjna sprowadza się do skonstruowania kuli określonej przez (6.58) i do stwierdzenia, że jeżeli wewnątrz tej kuli znajdzie się pojedynczy punkt kodowy, to podejmiemy decyzję, że nadany został ciąg kodowy odpowiadający temu punktowi. Jeżeli wewnątrz kuli nie ma pojedynczego punktu kodowego (tj. nie ma żadnego punktu lub jest ich kilka), poddajemy się: popełniamy błąd! Procedura powyższa prowadzi do pomijalnego prawdopodobieństwa błędu. Przy posługiwaniu się opisaną procedurą są dwie możliwości powstawania błędu przy dekodowaniu ciągu odebranego. Niech S(e) oznacza (') Słowo kula jest użyte jedynie do ułatwienia zrozumienia argumentów wykorzystanych w przypadku KBS. Promień „kuli" jest ujemny.
6.10. Drugie twierdzenie Shannona — przypadek ogólny
201
6.18. Przykład poprawnego dekodowania Ą
zbiór punktów kodowych spełniających warunek (6.58) (tj. zbiór punktów większej kuli na rysunku 6.17). Błąd pierwszego rodzaju ma miejsce wtedy, gdy przekazywany ciąg kodowy a 0 nie znajdzie się w kuli S(e), a drugiego rodzaju wtedy, gdy w kuli S(e) znajdzie się więcej ciągów kodowych (rys. 6.18). Na podstawie tego możemy prawdopodobieństwo błędu zapisać w postaci 6.59)
P£=P{a0ĆS(e)} + + P { a 0 e S ( e ) } P {przynajmniej jeden inny ciąg kodowy e S(e)}.
Używając tych samych argumentów, które posłużyły do wyprowadzenia wzorów (6.38), (6.39) i (6.40) otrzymujemy (6.60)
P£^P{a0ĆS(e)} + + P {przynajmniej jeden inny ciąg kodowy e S ( f ) } ,
(6.61)
P{przynajmniej jeden inny ciąg kodowy e S(e)}< <
(6.62)
P£^P{a0^S(e)}+ I
X P {«|6S(8)}, ai^a o
P{a ( eS(e)}.
Nierówność (6.62) stanowi proste oszacowanie prawdopodobieństwa błędu dla konkretnego zbioru M ciągów kodowych. Pierwsze wyrażenie po prawej stronie (6.62) jest prawdopodobieństwem zdarzenia, że przekazywany ciąg kodowy
202
6. Wierne przekazywanie wiadomości przez zawodne kanały
jest sumą prawdopodobieństwa (każdy ze składników odpowiada ciągowi kodowemu, który nie jest przekazywany) zdarzeń, że ciąg kodowy aktualnie nie przekazywany spełni (6.58). Jak poprzednio, pierwsze wyrażenie może być oszacowane przy użyciu prawa wielkich liczb; do obliczenia drugiego wyrażenia wykorzystujemy kodowanie losowe Shannona. Jak widzimy, wartość średnia
.
| 0 8
W
pW
wynosi — nC. Logarytm ten może być rozłożony na sumę n składników, z których każdy dotyczy jednego z n elementów tworzących ¡ij i jednego z n elementów tworzących x 0 . Tak więc, dzięki prawu wielkich liczb, dla dostatecznie dużych n prawdopodobieństwo zdarzenia, że suma będzie większa od —nC o wartość większą od ne, będzie mniejsze niż d, gdzie ó jest dowolnie małe. Nierówność (6.62) przyjmuje postać (6.63)
P £ <«5 + £ P {ot; e S (e)}.
Zastosujemy teraz kodowanie losowe. Niech P0(a,) będą wejściowymi prawdopodobieństwami odpowiadającymi przepustowości. Wybieramy M ciągów kodowych zgodnie z tymi prawdopodobieństwami (dopuszczając znowu możliwość kodu osobliwego). Prawdopodobieństwa możliwych rM" kodów nie koniecznie są jednakowe — prawdopodobieństwo wyboru jakiegoś ustalonego zbioru M ciągów kodowych jest dane przez iloczyn odpowiadających M prawdopodobieństw. Uśredniamy (6.63) po rMn możliwych kodach, aby otrzymać oszacowanie w*/
średniego prawdopodobieństwa błędu PE. Stosując wężyk do oznaczenia uśrednienia po rM" kodach mamy (6.64)
WW
AVWWWWVVWMV
WWWWWWW
P£s$<5+ X P l a . e S i e ^ ^ + i M - l J P f o e S t e ) } « ; ai&ao wwwwwww
<5 + MP{afeS(e)}. Do tego miejsca etapy naszego dowodu odpowiadały ściśle etapom dowodu drugiego twierdzenia Shannona dla KBS. Jednakże, aby obliczyć s*/WWWWWW/V\
wwwwwwww
P{aje5(fi)}, konieczna jest inna metoda postępowania. P {a; e S(s)j jest średnim prawdopodobieństwem zdarzenia, że a, jest zawarte w S(E). Dla
6.10. Drugie twierdzenie Shannona — przypadek ogólny
203
ustalonego fi, wielkość ta może być zapisana następująco: £ Po (<*;)• JedS(E>
nakże S(E) zależy od P,, tak że szukane wyrażenie ma postać (6.65)
P{aieS(s)}=EPo(/?,)LPo(«,)= B"
I
S (I)
B", S(e)
PoOWfo).
P0(Pj) oznacza prawdopodobieństwa wyjść, gdy dla wejść przyjęliśmy rozkład P0(a;). Sumowanie po prawej stronie (6.65) jest rozciągnięte na wszystkie pary a,, P, takie, że (6.66)
log M ^ < - n ( C - s ) . P (PMt)
Dla każdej takiej pary mamy P0(j3j) P 0 (a ( ) < P (fi, |«,) P0(a,) 2~n
(6.67)
(C E)
" .
Sumujemy teraz (6.67) po wszystkich parach spełniających warunek (6.66) (6.68)
X
B", S(E)
P 0 (^)Po(a i )^2-" ( C - £ )
£
B", S(E)
P(/? J }a,.)P 0 (a i )<2"" (C - £) .
Związki (6.68) i (6.65) zastosowane do (6.64) dają ww
(6.6%
P £ < ^ + M2-"(C-')
Relacja (6.69) zawiera istotę drugiego twierdzenia Shannona. Parametr d może być uczyniony dowolnie małym przez powiększenie długości bloku n. Stąd cała prawa strona (6.69) może być uczyniona dowolnie małą, skoro tylko spełniona jest nierówność (6.70)*
M < 2 " ( c _ 8 ')<2" ( C - £ )
dla dowolnych e ' < e < 0 . To jest szukany przez nas wynik. Możemy wybrać dowolnie małe dodatnie liczby e i E'. Wówczas, jeżeli M spełnia (6.70), średnie prawdopodobieństwo błędu PE może być uczynione mniejsze od dowolnej z góry ustalonej wielkości. Zatem musi istnieć co najmniej jeden kod tak dobry jak średnia. Jesteśmy pewni, że istnieje kod o ilości ciągów kodowych nie większej od 2"c, zapewniający dowolnie małe prawdopodobieństwo błędu. Wobec tego możemy przekazywać przez kanał o przepustowości C prawie bezbłędnie do (6.71)
log 2nC — — =C n
wiadomości binarnych na każdy sygnał elementarny.
204
6. Wierne przekazywanie wiadomości przez zawodne kanały
Aby udowodnić twierdzenie odwrotne do drugiego twierdzenia Shannona, posłużymy się nierównością Fano (6.23). Chcemy wykazać, że prawdopodobieństwo błędu nie może być dowolnie zmniejszone przez wzrost n, jeżeli wykorzystujemy M="(C+c> ciągów kodowych odpowiadających M jednakowo prawdopodobnym wiadomościom. Zakładamy, że stosujemy M=2n (C+ * ) ciągów kodowych, każdy z prawdopodobieństwem l / M . Wówczas, ponieważ H(A")-H(An\Bn)^nC,
(6.72) mamy \og 2"
(C+e)
-H(A"\B")^nC
lub ne^H(An\B").
(6.73) Z nierówności Fano wynika, że (6.74)
H (A" | B" K H (PE) + PE log M < 1 + PE(nC + ne).
Po zastosowaniu (6.74) do (6.73) znajdujemy (6-75)
PE>
ne —1 — nC + ne
Gdy n wzrasta, prawdopodobieństwo błędu dla każdego kodu jest od dołu ograniczone wartością dodatnią. Tak więc, nie możemy przekazywać w zasadzie bezbłędnie wiadomości, gdy zawartość informacyjna przewyższa przepustowość kanału.
6.11. Epilog W poprzednim paragrafie pokazaliśmy, że jeżeli wybieramy losowo ciągi kodowe o długości n, aby przekazywać je przez kanał o przepustowości C, to prawdopodobieństwo błędnego odtworzenia wiadomości pozostanie małe tak długo, dopóki ilość wybranych ciągów kodowych jest mniejsza od 2"c. Naturalnym pytaniem praktycznym jest zatem pytanie: Jak znajdować kod zapewniający niezawodność wynikającą z drugiego twierdzenia Shannona?
205
6.11. Epilog
Oczywiście można posłużyć się tablicą liczb losowych i użyć takiej tablicy do wybierania ciągów kodowych. Jednakże losowe wybieranie kodu nie jest zadowalającą metodą konstruowania systemu komunikacyjnego. Praktycznie system taki byłby niemal niewykonalny. Ponadto istnieje zawsze możliwość (aczkolwiek mała), że wybrany kod nie zapewni małego prawdopodobieństwa błędu. Drugie twierdzenie Shannona stwierdza, że prawie wszystkim kodom odpowiada małe prawdopodobieństwo błędu (udowodniliśmy twierdzenie przez losowy wybór kodu). Czy nie potrafimy zatem podać deterministycznej metody wyznaczania dobrych kodów? Jest to dylemat, który uparcie szydzi z teoretyków od czasu ukazania się pierwszej pracy Shannona w 1948 r. Mimo ogromnego wysiłku (Peterson, 1961) włożonego już do tej pory w poszukiwanie świętego Grala teorii informacji, deteremi ni styczna metoda konstruowania shannonowskich kodów wciąż jeszcze czeka na odkrycie.
UWAGI
1. Biorąc pod uwagę to, że informacyjne kanały odpowiadają eksperymentom statystycznym, o czym była mowa w uwadze 1 przy końcu rozdziału 5, drugie twierdzenie Shannona może być rozpatrywane jako pewien wynik dotyczący asymptotycznych własności statystycznych (Abramson, 1960). 2. Jak wzmiankowano w paragrafie 6.9, opublikowano szereg prac pokazujących, że dla zawartości informacyjnej mniejszej od przepustowości prawdopodobieństwo błędu zmierza do zera wykładniczo (lub niekiedy prawie wykładniczo) ze wzrostem długości ciągów n. Usystematyzowanie tych rozlicznych oszacowań jest zajęciem niezbyt wdzięcznym, ale wydaje się konieczne. Feinstein (1955) pierwszy wykazał wykładniczy charakter oszacowania błędu. Oszacowanie Feinsteina odnosiło się do maksymalnego prawdopodobieństwa błędu, a nie do średniego prawdopodobieństwa błędu. Najprostsze chyba ograniczenie wykładnicze podali Blackwell, Breiman i Thomasian (1959). Zastosowali oni do równania równoważnego naszemu (6.63) technikę szacowania Chernofla (1952) i uzyskali P£<2exp
r (C-Rf 1 n L 16rs J
dla
0
gdzie C jest przepustowością kanału, R — zawartością informacyjną, r — liczbą elementarnych sygnałów wejściowych, s — liczbą elementarnych sygnałów wyjściowych, a n — długością ciągów.
206
6. Wierne przekazywanie wiadomości przez zawodne kanały
3. Przepustowość kanału wyznacza nam górny kres zawartości informacyjnej, przy której możemy przekazywać informację z prawdopodobieństwem dowolnie bliskim zeru. W pewnych okolicznościach jest możliwe przekazywanie wiadomości z prawdopodobieństwem błędu równym zeru. Shannon (1956) zdefiniował tzw. bezbłędną przepustowość kanału informacyjnego jako najmniejszą górną granicę zawartości informacyjnej, przy której jest możliwe przekazywanie informacji z zerowym prawdopodo-
bieństwem błędu. Dla przykładu rozważmy kanał, gdzie prawdopodobieństwa odpowiadające każdej ze strzałek na powyższym szkicu są dowolne, z tym że spełniają one warunek 0 < P 1 } < 1 . Wówczas, ponieważ możemy przekazywać dwa wejściowe sygnały « i , o 3 z zerowym prawdopodobieństwem błędu, bezbłędna przepustowość wynosi przynajmniej 1 bit. Ograniczenie to jednakże może być poprawione przez zastosowanie rozszerzenia kanału 2-go rzędu. W tym przypadku możemy przekazywać a, ay, a2 a3, a3 a5, a 4 a2 i a5
ZADANIA
6.1. Jednolity kanał ma r sygnałów wejściowych. Wejścia te są wybierane z jednakowymi prawdopodobieństwami i procedura decyzyjna największej wiarogodności zapewnia prawdopodobieństwo błędu p. Wyraź dolny kres niejednoznaczności H(A\B) przez r lub p lub obydwa te parametry. Dolny kres 0 jest nie do przyjęcia. 6.2. Znajdź wszystkie trzy reguły decyzyjne największej wiarogodności kanału (6.2).
dla
DODATEK
TABLICE
Dodatek TABLICA D . l Logarytmy o podstawie 2
!
log n
n
log n
1
0.000000
26
4.700439
2
1.000000
27
4.754887
n
3
1.584962
28
4.807355
4
2.000000
29
4.857981
5
2.321928
30
4.906890
6
2.584962
31
4.954196
7
2.807355
32
5.000000
8
3.000000
33
5.044394
3.169925
34
5.087463
10
3.321928
35
5.129283
11
3.459431
36
5.169925
12
3.584962
37
5.209453
13
3.700440
38
5.247927
14
3.807355
39
5.285402
15
3.906890
40
5.321928
16
4.000000
41
5.357552
17
4.087463
42
5.392317
18
4.169925
43
5.426264
!»
•
»
4.247927
44
5.459431
20
4.321928
45
5.491853
21
4.392317
46
5.523562
22
4.459431
47
5.554589
23
4.523562
48
5.584962
24
4.584962
49
5.614710
25
4.643856
50
• 1
5.643856
Tablice TABLICA D . l Logarytmy o podstawie 2 (Ciąg dalszy)
T e o r i a
n
log w
n
log n
51
5.672425
76
6.247927
52
5.700439
77
6.266786
53
5.727920
78
6.285402
54
5.754887
79
6.303780
55
5.781359
80
6.321928
56
5.807355
81
6.339850
57
5.832890
82
6.357552
58
5.857981
83
6.375039
59
5.882643
84
6.392317
60
5.906890
85
6.409391
61
5.930737
86
6.426264
62
5.954196
87
6.442943
63
5.977280
88
6.459431
64
6.000000
89
6.475733
65
6.022367
90
6.491853
66
6.044394
91
6.507794
67
6.066089
92
6.523562
68
6.087462
93
6.539158
69
6.108524
94
6.554588
70
6.129283
95
6.569855
71
6.149747
96
6.584962
72
6.169925
97
6.599912
73
6.189824
98
6.614709
74
6.209453
99
6.629356
75
6.228818
100
6.643856
i n f o r m a c j i
Dodatek
TABLICA D . 2 Funkcja entropii H(p) = -p\ogp-p
p
H(p)
H(p)
log p
P
H(p)
0.005
0.045415
0.130
0.557438
0.010
0.080793
0.135
0.570993
0.015
0.112364
0.140
0.584239
0.020
0.141441
0.145
0.597185
0.025
0.168661
0.150
0.609840
0.030
0.194392
0.155
0.622213
0.035
0.218878
0.160
0.634310
0.040
0.242292
0.165
0.646138
0.045
0.264765
0.170
0.657705
0.050
0.286397
0.175
0.669016
0.055
0.307268
0.180
0.680077
0.060
0.327445
0.185
0.690894
0.065
0.346981
0.190
0.701471
0.070
0.365924
0.195
0.711815
0.075
0.384312
0.200
0.721928
0.080
0.402179
0.205
0.731816
0.085
0.419556
0.210
0.741483
0.090
0.436470
0.215
0.750932
0.095
0.452943
0.220
0.760167
0.100
0.468996
0.225
0.769193
0.105
0.484648
0.230
0.778011
0.110
0.499916
0.235
0.786626
0.115
0.514816
0.240
0.795040
0.120
0.529361
0.245
0.803257
0.125
0.543564
0.250
0.811278
Tablice TABLICA D.2 Funkcja entropii H(p) (ciąg dalszy) H(p) = —p log p -p log p
p
H(j>)
P
H(p)
0.255
0.819107
0.380
0.958042
0.260
0.826746
0.385
0.961497
0.265
0.834198
0.390
0.964800
0.270
0.841465
0.395
0.967951
0.275
0.848548
0.400
0.970951
0.280
0.855451
0.405
0.973800
0.285
0.862175
0.410
0.976550
0.290
0.868721
0.415
0.979051
0.295
0.875093
0.420
0.981454
0.300
0.881291
0.425
0.983708
0.305
0.887317
0.430
0.985815
0.310
0.893173
0.435
0.987775
0.315
0.898861
0.440
0.989588
0.320
0.904381
0.445
0.991254
0.325
0.909736
0.450
0.992774
0.330
0.914925
0.455
0.994149
0.335
0.919953
0.460
0.995378
0.340
0.924819
0.465
0.996462
0.345
0.929523
0.470
0.997402
0.350
0.934068
0.475
0.998196
0.355
0.938454
0.480
0.998846
0.360
0.942683
0.485
0.999351
0.365
0.946755
0.490
0.999711
0.370
0.950672
0.495
0.999928
0.375
0.954434
0.500
1.000000
BIBLIOGRAFIA
A b r a m s o n , N., A partial ordering for binary channels, IRE Trans. Inform. Theory, 6 (5), December (1960), str. 529-539. B a r - H i l l e l , Y., Carnap, R., Semantic information w: W. J a c k s o n (ed.), Communication theory, New York 1952. Basharin, G. P., On a statistical estimate for the entopy of a sequence of independent random variables, Theory Probability Appl. 4 (3) (1959), str. 333-336. Bell, D. A., Information theory and its engineering applications, London 1953. B e l l m a n , R., Introduction to matrix analysis, New York 1960. B h a r u c h a - R e i d , A. T., Elements of the theory of Markov processes and their applications, New York 1960. B i l l i n g s l e y , P., On the coding theorem for the noisless channel, Ann. Math. Statist. 32 (2) (1961), str. 576-601. B i r n b a u m , A., On the foundations of statistical inference: Binary experiments, Ann. Math. Statist. 32 (2), June (1961), str. 414-435. B l a c h m a n , N. M., A generalization of mutual information, Proc. IRE 49 (8), August (1961), str. 1331-1332. B l a c k w e l l , D., Equivalent comparisons of experiments, Ann. Math. Statist. 24, June (1953), str. 265-272. —, Breiman, L., T h o m a s i a n , A. J., Proof of Shannon's transmission theorem for finite-state indecomposable channels, Ann. Math. Statist. 29 (4), December (1958), str. 1209-1220. —, —, —, The capacity of a class of channels, Ann. Math. Statist. 30, December (1959), str. 1229-1241. —, —, —, The capacities of certain channel classes under random coding, Ann. Math. Statist. 31, September (1960), str. 558-567. BIyth, C. R., Note on estimating information, Tech. Rept. 17, Department of Statistics, Stanford University, (1958). Breiman, L., The individual ergodic theorem of information theory, Ann. Math. Statist. 28(3) (1957), str. 809-811; poprawki do tej pracy opublikowano w: Ann. Math. Statist. 31 (3), str. 809-810. B r i l l o u i n , L., Science and information theory, New York 1956. C h e r n o f f , H., A measure of asymptotic efficiency for tests of a hypothesis based on the sum of observation, Ann. Math. Statist. 23, (1952), str. 493-507.
214
Bibliografia
Cherry, C., On human communication, New York 1957. C h i n c z y n , A. J., (XHH HHH, A. Si., K h i n c h i n , A. I.), Mathematical foundations of information theory, New York 1957. Csiszar, I., Some remarks on the dimension and entropy of random variables, Acta Math. Acad. Sci. Hungaricae 12 (1961), str. 399-408. Elias, P., Optics and communication theory, Journ. Opt. Soc. Amer. 43, April (1953), str. 229-232. —, Two famous papers, IRE Trans. Inform. Theory 4 (3), September (1958), str. 99. F a n o , R., The transmission of information, I, MIT Res. Lab. Electron. Tech. Rept. 65 (1949). —, The transmission of information, II, MIT Res. Lab. Electron. Tech. Rept. 149 (1950). —, Transmission of information, New York 1961. F e i n s t e i n , A., Error bounds in noisy channels without memory, IRE Trans. Inform. Theory IT-1 (2),-September (1955), str. 13-14. —, Foundations of information theory, New York 1968. Feller, W., Wstąp do rachunku prawdopodobieństwa, I, Warszawa 1966. —, Wstęp do rachunku prawdopodobieństwa, II, Warszawa 1969. G e l f a n d , I. M., J a g ł o m , A. M. ( r e j i b 4 > a H f l , M. M. J l r j i a M , A. M.) O ebiHucjietiuu Ko.iunecmea umJiopMaifuu o c.iynauHou (pyuKnuu codepoKatyeucn e dpyzou maKOu tfuHKifuu, YMH 12 (1) (1957), str. 3-52. G o l o m b , S., A new derivation of the entropy expressions, IRE Trans. Inform. Theory IT-7 (3), July (1961a), str. 166-167. —, Efficient coding for the desoxyribonucleic channel, Proc. Symp. Appl. Math. 14, Mathematical Problems in the Biological Sciences, American Mathematical Society (1961b), str. 87-100. —, Genetic coding, Eng. Sci. Mag., April (1962), California Institute of Technology. G r e t t e n b e r g , T. L., The ordering of finite experiments, Trans. Thirt Prague Conf. Inform. Theory Statist. Decision Functions (1962). H a m m i n g , R. W., Error detecting and error correcting codes, Bell. System Tech. Journ. 29 (1950), str. 147-150. Harm an, W. W., Principles of the statistical theory of communication, New York 1963. Hartley, R. V. L., Transmission of information, Bell System Tech. Journ. 7 (1928), str. 535-563. H u f f m a n , D. A., A method for the construction of minimum redundancy codes, Proc. IRE 40(10), September (1952), str. 1098-1101. J a g ł o m , A. M., J a g ł o m , I. M. ( J l r j i o M , A.M. JITJIOM, H. M.) BepoHMnocmb u uH(/iopMaifun, Mocraa 1960. Jaynes, E. T., A note on unique decipherability, IRE Trans. Inform. Theory. 5, September (1959), str. 98-102.
Bibliografia
215
Karp, R. M., Minimum-redundancy coding for the discrete noiseless channel, IRE Trans. Inform. Theory IT-7, January (1961), str. 27-38. K a r u s h , J., A simple proof of an inequality of McMillan, IRE Trans. Inform. Theory IT-7 (2), April (1961), str. 118. K e l l y , D. H., Information capacity of a single retinal channel, IRE Trans. Inform. Theory IT-8 (3), April (1962), str. 221-226. K e l l y , J. L. Jr., A new interpretation of information rate, Bell System Tech. Journ. 35 (1956), str. -917-927. K e m p t h o r n e , O., The design and analysis of experiments, New York 1952. K r a f t , L. G., A device for quantizing, grouping, and coding amplitude modulated pulses, M. S. Thesis, Electrical Engineering Department Massachusetts Institute of Technology, March (1949). Ku 11 back, S., Information theory and statistics, New York 1959. L i n d l e y , D., On a measure of the information provided by an experiment, Ann. Math. Statist. 27 (1956), str. 986-1005. M c G i l l , W. J., Multivariate information transmission, IRE Trans. Inform. Theory 4, September (1954), str. 93-111. M c M i l l a n , B., The basic theorems of information theory, Ann. Math. Statist. 24 (1953), str. 196-219. —, Two inequalities implied by unique decipherability, IRE Trans. Inform. Theory IT-2, December (1956), str. 115-116. Miller, G. A., M a d o w , W. G., On the maximum lokelihood estimate of the Shannon-Wiener measure of information, Air Force Cambridge Res. Center Rept., Cambridge, Mass. (1954). Muroga, S., On the capacity of a discrete channel, I, Journ. Phys. Soc. Japan, 8 (1953), str. 484-494. —, On the capacity of a discrete channel, II, Journ. Phys. Soc. Japan 11 (1956), str. 1109-1120. Murphy, R., Adaptive processes in economic systems, Stanford Univ. Appl. Math. Statist. Lab. Tech. Rept. 119, July (1962). Parzen, E., Modern probability theory and its application, New York 1960. —, Stochastic processes, San Francisco 1961. Perez, A., Information theory with an abstract alphabet, Theory Probability Appl. 4 (1) (1959), str. 99-102. P e t e r s o n , W. W., Error-corecting codes, New York 1961. P i e r c e , J. R., Symbols, signals and noise, New York 1961. —, Karl in, J. E., Reading rates and the information rate of a human channel, Bell System Tech. Journ. 36 (1957), str. 467-516. P i n k e r t o n , R. C., Information theory and melody, Sei. Amer., February (1956), str. 77-87. Pinsker, M. S. (IlHHCKep, M. C.) KoMuuecmeo uiirfiopMaijuu o zoyccoecKOM CAyuaüHOM CMaquouapnou npoqecce, codepoKaufeucn eo emopoM npoqcce, cmaifuonapuo c HUM cea3aHHOM, DAH CCP (1954), str. 213-216.
216
Bibliografia
P o w e r s , K. H., A unified theory of information, MIT Res. Lab. Electron. Tech. Rept. 311, February (1956). Pratt, F., Secret and urgent, Garden City, N. Y. 1942. Quastler, H., Information theory in psychology, New York 1956. R e n y i , A., On the dimension and entropy of probability distributions, Acta Math. Acad. Sci. Hungaricae 10 (1959), str. 193-215. Reza, F. M., An intoduction to information theory, New York 1961. Sardinas, A. A., P a t t e r s o n , G. W., A necessary and sufficient condition for the unique decomposition of coded messages, IRE Conv. Record 8 (1953), str. 104-108. Seidler, J., Teoria kodow, Wroclaw-Warszawa 1965. S h a n n on, C. E., Prediction and entropy of printed English, Bell System Tech. Journ. 30(1), January (1951), str. 50-64. —, The zero error capacity of a noisy channel, IRE Trans. Inform. Theory IT-2 (3), September (1956), str. 8-16. —, Certain results in coding theory for noisy channels, Inform. Control, 1 (1) (1957a), September, str. 6-25. —, Geometric interpretation of some results of channel capacity calculations, Nachrichtentechnik 10 (1957b), str. 1-4. —, A note on a partial ordering for communication channels, Inform. Control 1, December (1958), str. 390-397. —, Weaver, W., The mathematical theory of communication, Urbana, 111. 1949. S i l v e r m a n , R. A., On binary channels and their cascades, IRE Trans. Inform. Theory IT-1, December (1955), str. 11-27. Stumpers, F. L. H. M., A bibliography of information theory, IRE Trans. Inform. Theory PGIT-2, November (1953). —, A bibliography of information theory, First Supplement, IRE Trans. Inform. Theory IT-1, September (1955), str. 31-47. —, A bibliography of information theory, Second Supplement, IRE Trans. Inform. Theory IT-3, June (1957), str. 150-166. —, A bibliography of information theory, Third Supplement, IRE Trans. Inform. Theory IT-6, March (1960), str. 25-51. T h o m a s i a n , A. J., An elementary proof of the AEP of information theory, Ann. Math. Statist. 31 (1960), str. 452-456. W o l f o w i t z , J., Strong converse of the coding theorem for semi-continuous channels, Illinois Journ. Math. 3 (4) (1959), str. 477-489. W o o d w a r d , P. M., Probability and information theory with applications to radar, New York 1955. W o z e n c r a f t , J. M., R e i f f e n , B., Sequential decoding, New York 1961.
SKOROWIDZ
Bayesa prawo 118, 143 binit 17 bit 23 Ciąg kodowy 14, 60 — — nieosobliwy 62 — —, przedrostek 66 — —, średnia długość 81 Dekodowanie 19 drzewo kodowe 108 Entropia a posteriori 120 — a priori 120 — (/-wymiarowa 54 —.estymator 53 —, etymologiczne znaczenie 53 —, funkcja 26 — źródła bezpamięciowego 25, 53 — — ciągów Markowa 38 Funkcja entropii 29 — partycji 53 Fano nierówności 174-176 Hamminga odległość 1 8 3 - 1 8 6 hartley (jednostka miary informacji) 23 Huflfmana kod 93-99 Ilość informacji 20, 125-131, 149 — —, addytywność 144-148 dla KBS 130 kilku zbiorów 148-152
ilość informacji, gęstość 160 — —, nieujemność 128 — —, symetria 128 — - . w a r u n k o w a 156-159, 199 — —, wypukłość 163 informacja bezbłędna 169 —Jednostka 22 —, teoria 11 — wzajemna — patrz ilość informacji Jednostka miary informacji, hartley 23 Kanał (informacyjny) bezpamięciowy 113 — bezszumowy 132 — binarny multyplikatywny 164 — — symetryczny (KBS) 113 — — —, powtórzenia 147-149 — — —, prawdopodobieństwo błędu 176-183 — — —.przepustowość 154 — — —, reguła decyzyjna największej wiarogodności 186 — — wymazujący 166 — deterministyczny 132 — jednolity 154 , macierz 114 - Markowa (stochastyczna) 115 miara nieoznaczoności 125, 128, 174 przepustowość 153 • bezbłędna 266 kanał r-narny symetryczny (KrS) 155 — — —, macierz 155 — symetryczny 114 — zredukowany 139-143
218
Skorowidz
kanał rozszerzony 115 — .związki probabilistyczne 117-119 kanały połączone szeregowo 134 kod 14, 60-67 — blokowy 60 — — jednoznacznie dekodowalny 63 — — nieosobliwy 62 — —, «-krotne rozszerzenie 62 — dekodowalny bez opóźnienia 65 — — — —, konstrukcja 67-69 — — z opóźnieniem 66 — Huffmana 93-99 — nieblokowy 67 —, rozwlekłość 104 —, sprawność 104 — trinarny 87 — z przecinkiem 64 — zwięzły 82 — — binarny 93 — — — konstrukcja 93-99 — — r-narny 101 kodowanie 13, 81 — bezpośrednie 92 — genetyczne 78 — losowe 191-194, 202 — w KBS 176-179 — z korekcją błędów 1 8 0 - 1 8 3 Krafta nierówność 69-75 Kroneckera kwadrat (tensorowy kwadrat macierzy) 116 Macierz kanału 114 Markowa ciągów źródło 33-39 — macierz (macierz stochastyczna) 115 miara nieoznaczoności 125, 128, 174 McMillana nierówność 75-77, 82 Nat 23 nieoznaczoność 125, 128, 174 nierówność Fano 174-176 — McMillana 75-77, 82 — Krafta 69-75 — słaba 27
Odległość Hamminga 184 Prawdopodobieństwo a posteriori 120 — a priori 120 — błędu 169, 197, 198, 205, 206 — warunkowe 118 — wsteczne 118 prawo Bayesa 118, 143 — wielkich liczb 190, 202 przedrostek ciągu kodowego 66 przepustowość kanału 153 — — bezbłędna 266 Redukcja kanału 140 — — dostateczna 143 — — elementarna 140 reguła decyzyjna 169-173 — — największego prawdopodobieństwa 172 — — największej wiarogodności 172 — dla KBS 186 — — punktowa 170 rozkład stacjonarny 36 rozszerzenie kanału 115 — kodu 62 — źródła 31-33, 42-47 rozwlekłość kodu 104 Shannona twierdzenie pierwsze (o kodowaniu dla kanałów bezszumowych) 90 — — — uogólnione 121-125 drugie 169, 186-204 sprawność kodu 104 stan źródła ciągów Markowa 34 struktura języka 47-52 sygnały elementarne, zbiór 60 — wejściowe, zbiór 113 — wyjściowe, zbiór 113 system kodowy 14 Twierdzenie Shannona pierwsze (o kodowaniu dla kanałów bezszumowych) 90
219 Skorowidz twierdzenie Shannona uogólnione 121-125 drugie 169, 186-204 dla KBS 186-194 — - - . d y s k u s j a 194-197 — — — odwrotne 204 — — —, przypadek ogólny 197-204 Wiadomość binarna 13 — niebinarna 14 — elementarna 14 — —, zbiór 60 własność asymptotycznej ekwipartycji (WAE) 107 wymiar zmiennej losowej 54 Zawartość informacyjna 183 zbiór sygnałów elementarnych 60 — — wejściowych 113
zbiór sygnałów wyjściowych 113 — wiadomości elementarnych 24, zdarzenia łączne 37 zmienna losowa, wymiar 54 Źródła stowarzyszone 40-42 źródło bezpamięciowe 24, 25 — — binarne 29 — —, entropia 38 — —, rozszerzenie 31-33 — ciągów Markowa 33-39 — — —, entropia 38 — — — ergodyczne 34 — — — nieergodyczne 35 — — —, rozszerzenie 42-47 — — —, stan 34 — wiadomości 24 — zredukowane 94
SPIS RZECZY
Przedmowa Wykaz oznaczeń i postaci entropii
5 7
1. Wstęp 1.1. 1.2. 1.3. 1.4. 1.5.
Czym nie jest teoria informacji Czym jest teoria informacji Kodowanie wiadomości Problem przesyłania wiadomości Sformułowanie niektórych problemów
Uwagi Zadanie
11 12 13 16 19 20 21
2. Ocena ilości informacji dostarczanej przez wiadomość. Źródła wiadomości 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8.
Definicja miary ilości informacji dostarczanej przez wiadomość . . Bezpamięciowe źródło wiadomości Niektóre własności entropii Rozszerzenie źródła bezpamięciowego Źródło ciągów Markowa Źródła stowarzyszone Rozszerzenie źródła ciągów Markowa Struktura języka
Uwagi Zadania
22 24 26 31 33 39 42 47 53 55
3. Niektóre własności kodów 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8.
Wstęp Kody jednoznacznie dekodowalne Kody dekodowalne bez opóźnienia Konstruowanie kodów dekodowalnych bez opóźnienia Nierówność Krafta — sformułowanie i dyskusja Nierówność Krafta — dowód Nierówność McMillana ' Przykłady
60 61 64 67 69 73 75 76
Spis rzeczy Uwagi Zadania
221 78 79
4. Kodowanie wiadomości 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9.
Średnia długość ciągu kodowego Metoda kodowania w przypadku źródeł specjalnych Pierwsze twierdzenie Shannona Pierwsze twierdzenie Shannona dla źródeł ciągów Markowa . . . Kodowanie bezpośrednie Znajdowanie binarnych kodów zwięzłych — kody Huffmana . . Uzupełnienie dowodu r-narne kody zwięzłe Sprawność i rozwlekłość kodu
Uwagi Zadania
81 84 88 90 92 93 99 101 104 107 110
5. Kanały i ilość informacji 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. 5.9. 5.10. 5.11. 5.12. 5.13. 5.14.
Wprowadzenie Kanały informacyjne Probabilistyczne związki w kanale Entropia a priori i entropia a posteriori Uogólnienie pierwszego twierdzenia Shannona Ilość informacji Własności ilości informacji Kanały bezszumowe i deterministyczne Kanały połączone szeregowo Kanały zredukowane i redukcje wystarczające Addytywność ilości informacji Ilość informacji w przypadku kilku zbiorów Przepustowość kanału Warunkowa ilość informacji
Uwagi Zadania
112 113 117 120 121 125 127 131 134 139 144 148 152 156 159 162
6. Wierne przekazywanie wiadomości przez zawodne kanały 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8.
Wprowadzenie Prawdopodobieństwo błędu i reguły decyzyjne Nierówność Fano Niezawodne przekazywanie wiadomości przez zawodne kanały . . Przykład kodowania z korekcją błędów Odległość Hamminga Drugie twierdzenie Shannona dla KBS - etap pierwszy . . . . Kodowanie losowe — etap drugi
168 169 174 176 180 183 186 191
222
Spis rzeczy 6.9. Drugie twierdzenie Shannona — dyskusja 6.10. Drugie twierdzenie Shannona — przypadek ogólny . . 6.11. Epilog Uwagi Zadania
Dodatek: Tablice Bibliografia
. .
Skorowidz . . .