Teoria informacji - seria 1., zadanie 3.

Transkrypt

Teoria informacji - seria 1., zadanie 3.
Teoria informacji - seria 1., zadanie 3.
Marcin Kotowski
27 listopada 2009
Pokażemy, że każde dwa z podanych w treści warunków implikują trzeci.
(1) i (2) ⇒ (3)
Udowodniliśmy na ćwiczeniach, że dla kodu bezprefiksowego warunek
P
−|x|
= 1 jest równoważny maksymalności kodu. Wystarczy więc pox∈X r
kazać, że kod spełniający warunki (1) i (2) jest maksymalny. Dowolny kod
bezprefiksowy możemy reprezentować jako drzewo, gdzie słowa kodowe odpowiadają liściom. Maksymalność kodu oznacza, że każdy wierzchołek ma 0 lub
|A| synów. Przypuśćmy, że kod spełniający warunki (1) i (2) nie jest maksymalny, tj. w odpowiadającym mu drzewie istnieje wierzchołek x mający
mniej niż |A| synów. Kod nie mógłby wtedy wyczerpywać alfabetu. Istotnie,
jeśli x nie ma syna odpowiadającego literze a ∈ A, to dowolne słowo nieskończone rozpoczynające się od xa nie da się rozłożyć na słowa kodowe, gdyż
żadne słowo kodowe nie jest prefiksem xa ani też nie ma xa jako prefiksu.
(1) i (3) ⇒ (2)
Tak jak w poprzednim punkcie reprezentujemy kod bezprefiksowy jako
drzewo. Kod bezprefiksowy spełniający warunek (3) jest maksymalny. Pokażemy, że każde słowo nieskończone posiada rozkład na słowa kodowe. Reprezentując słowo nieskończone jako nieskończoną ścieżkę w pełnym nieskończonym drzewie o arności |A| widzimy, że każda taka ścieżka przechodzi przez
wierzchołek będący liściem w drzewie odpowiadającym rozpatrywanemu kodowi (korzystamy w tym momencie z maksymalności kodu). Wynika stąd, że
1
każde słowo nieskończone posiada pewne słowo kodowe jako prefiks, a więc
daje się rozłożyć na słowa kodowe.
(2) i (3) ⇒ (1)
Jak wyżej, reprezentujemy kod jako drzewo (nie musi być to kod bezprefiksowy, myślimy więc o tym jedynie tak, że słowa kodowe reprezentujemy
zaznaczając dowolne wierzchołki drzewa, nie tylko liście). Bezprefiksowości
dowodzimy przez indukcję po wysokości drzewa, dowodząc, że jeśli kod wyP
czerpuje alfabet i x∈X r−|x| ¬ 1 (w szczególności = 1), to kod jest bezprefiksowy. Dla wysokości n = 1 drzewo musi mieć dwa liście 0 i 1, bo kod
wyczerpuje alfabet. Przypuśćmy, że mamy tezę dla drzew kodowych wysokości ¬ n.
Rozpatrzmy kod reprezentowany drzewem wysokości n + 1. Jeśli poddrzewo korzenia ma w swoim korzeniu słowo kodowe, to daje wkład do sumy
P
1
−|x|
. Któreś z poddrzew korzenia nie ma w swoim koco najmniej |Σ|
x∈X r
rzeniu słowa kodowego - gdyby wszystkie poddrzewa miały w korzeniach
słowa kodowe, to kod nie mógłby zawierać już żadnych innych słów, bo
P
−|x|
= 1. Któreś z poddrzew korzenia nie ma więc w korzeniu słowa
x∈X r
P
1
. Oczywiście
kodowego i daje wkład do sumy x∈X r−|x| nie większy niż |Σ|
własność wyczerpywania alfabetu przenosi się na poddrzewo (tj. nie ma w
tym poddrzewie ścieżek bez słowa kodowego). Stosując do tego poddrzewa
założenie indukcyjne otrzymujemy, że kod jest na tym poddrzewie jest bezP
1
prefiksowy, w szczególności daje wkład do sumy x∈X r−|x| dokładnie |Σ|
P
(bo dla kodu bezprefiksowego wyczerpującego alfabet x∈X r−|x| = 1). Jeśli wszystkie pozostałe poddrzewa mają w korzeniach słowa kodowe, to nie
mogą one zawierać żadnych innych słów kodowych i teza jest dowiedziona.
W przeciwnym wypadku istnieje jakieś poddrzewo niezawierające w korzeniu
P
1
słowa kodowego i dające wkład do sumy x∈X r−|x| nie większy niż |Σ|
, dla
którego możemy powtórzyć powyższe rozumowanie.
W ten sposób dowodzimy, że kod jest bezprefiksowy na każdym poddrzewie, a więc jest bezprefiksowy. W dowodzie nie korzystamy z faktu, że
2
r−|x| = 1, a jedynie x∈X r−|x| ¬ 1, co jest prawdą dla każdego kodu.
W istocie przedstawione rozumowanie dowodzi, że warunek (2) implikuje (3).
P
x∈X
P
Pokażemy, że żaden z podanych warunków nie implikuje pozostałych
dwóch, poza implikacjami (2) ⇒ (3), (2) ⇒ (1).
(1) ; (2), (1) ; (3)
Ustalmy alfabet A = {0, 1}. Kod S = {0} jest oczywiście bezprefiksowy,
nie wyczerpuje alfabetu (żadne słowo nieskończone zawierające 1 nie daje się
P
rozłożyć na słowa kodowe) oraz s∈S r−|x| = 21 < 1.
(3) ; (1), (3) ; (2)
Rozpatrzmy zbiór S = {0, 01, 11} - jest to kod, gdyż zbiór słów kodowych
P
jest bezsufiksowy. Mamy również s∈S r−|x| = 21 + 14 + 14 = 1. Oczywiście S
nie jest bezprefiksowy, gdyż 0 jest prefiksem 01, oraz nie wyczerpuje alfabetu,
gdyż żadne słowo nieskończone rozpoczynające się od 10 nie daje się rozłożyć
na słowa kodowe.
(2) ⇒ (3) Patrz dowód (2) i (3) ⇒ (1)
(2) ⇒ (1) Skoro z (2) wynika (3), a z (2) i (3) razem wynika (1), to z (2)
wynika (1)
Pokażemy, że w przypadku nieskończonym nie zachodzi żadna z udowodnionych na początku implikacji.
(1) i (2) ; (3)
Na ćwiczeniach (gr. T. Kazany) skontruowaliśmy nieskończony bezprefikP
sowy maksymalny kod, dla którego s∈S r−|x| < 1. Z rozumowania analogicznego, jak dla kodu skończonego, wynika, że kod maksymalny automatycznie
wyczerpuje alfabet (na każdej nieskończonej ścieżce występuje liść odpowiadający słowu kodowemu). Mamy więc kod spełniający warunki (1) i (2), ale
niespełniający (3).
3
(1) i (3) ; (2)
Rozpatrzmy kod S = {1, 01, 001, 0001 . . . }. Kod ten jest bezprefiksowy i
P
−|x|
= 12 + 41 + 18 + · · · = 1. Nie spełnia on jednak warunku (2), gdyż
s∈S r
słowo nieskoczone złożone z samych 0 nie daje się rozłożyć na słowa kodowe.
(2) i (3) ; (1)
Na ćwiczeniach skonstruowaliśmy (jedno z zadań do domu) dla dowolnego
x przykład kodu nieskończonego o następujących własnościach: jest bezprefiksowy maksymalny (tj. na każddej nieskończonej ścieżce istnieje słowo koP
dowe, a więc kod wyczerpuje alfabet), ma sumę s∈S r−|x| równą x oraz ma
co najwyżej jedno słowo każdej długości. Możemy wziąć taki kod dla x = 34
P
i dodać do niego dowolne słowo długości 2. Taki kod ma sumę x∈X r−|x|
równą 1 i dalej wyczerpuje alfabet, ale już nie jest bezprefiksowy.
4

Podobne dokumenty