Teoria informacji/TI Wykład 4: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Stromy (dyskusja | edycje)
Nie podano opisu zmian
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 8 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
===Minimalna długość kodu - kontynuacja===
Aby oszacować <math>\frac{L_r (S^n )}{n} - H_r (S)</math>, zaczniemy od uzupełnienia naszej nierówności o górne ograniczenie.
Aby oszacować <math>\frac{L_r (S^n )}{n} - H_r (S)</math>, zaczniemy od uzupełnienia naszej nierówności o górne ograniczenie.


{{twierdzenie|[Kod Shannona-Fano]|shannon_fano|Dla dowolnej skończonej przestrzeni probabilistycznej ''S'' i <math>r \ge 2</math>, istnieje kod <math>\varphi : S \to \Sigma^*</math> (gdzie <math>|\Sigma| = r</math>), spełniający
{{twierdzenie|[Kod Shannona-Fano]|shannon_fano|Dla dowolnej skończonej przestrzeni probabilistycznej ''S'' i <math>r \ge 2</math>, istnieje kod <math>\varphi : S \to \Sigma^*</math> (gdzie <math>|\Sigma| = r</math>), spełniający
:<math> L (\varphi ) \leq H_r (S) + 1</math>
<center><math>L (\varphi ) \leq H_r (S) + 1</math></center>


W ten sposób mamy
W ten sposób mamy
:<math>H_r (S) \leq L_r (S) \leq H_r (S) + 1</math>
<center><math>H_r (S) \leq L_r (S) \leq H_r (S) + 1</math></center>


Dodatkowo, ścisła nierówność <math>L_r (S) < H_r (S) + 1</math> jest prawdziwa za wyjątkiem przypadku <math>p(s)=1</math> dla pewnego <math> s \in S</math> (wtedy <math>H_r(S) =0</math>).}}
Dodatkowo, ścisła nierówność <math>L_r (S) < H_r (S) + 1</math> jest prawdziwa za wyjątkiem przypadku <math>p(s)=1</math> dla pewnego <math>s \in S</math> (wtedy <math>H_r(S) =0</math>).}}


{{dowod||| Dla <math>|S|=1</math> mamy trywialnie <math>H_r(S)=0</math> i <math>L_r(S)=1</math>. Załóżmy że <math>|S| \ge 2</math>. Niech
{{dowod||| Dla <math>|S|=1</math> mamy trywialnie <math>H_r(S)=0</math> i <math>L_r(S)=1</math>. Załóżmy że <math>|S| \ge 2</math>. Niech
:<math>{\ell }(s) = \left\lceil \log_r \frac{1}{p(s)} \right\rceil</math>
<center><math>{\ell }(s) = \left\lceil \log_r \frac{1}{p(s)} \right\rceil</math></center>
 
dla tych <math>s \in S</math>, dla których <math>p(s)>0</math>. Wtedy
<center><math>\sum_{p(s) > 0} \frac{1}{r^{\ell (s)}} \leq \sum_{p(s) > 0} p(s) = \sum_{s \in S} p(s) = 1</math></center>
 
Rozważmy kilka przypadków. W najprostszym, kiedy <math>(\forall s \in S) \, p(s) > 0</math>, powyższa nierówność odpowiada dokładnie [[Teoria informacji/TI Wykład 1#kraft|nierówności Krafta]], a zatem istnieje kod <math>\varphi</math> spełniający <math>| \varphi (s)| = \ell (s)</math> dla wszystkich <math>s \in S</math>. Uwzględniając, że <math>{\ell }(s) < \log_r \frac{1}{p(s)} +1</math>, dostajemy
<center><math>\sum_{s \in S} p(s) \cdot {\ell }(s) < \sum_{s \in S} p(s) \cdot \left( \log_r \frac{1}{p(s)} +1 \right) = H_r(S) + 1</math>.</center>
 
Załóżmy zatem, że <math>p(s)</math> może być równe 0. Jeśli
<center><math>\sum_{p(s) > 0} \frac{1}{r^{\ell (s)}} <1</math></center>
to łatwo możemy rozszerzyć definicję <math>\ell</math> na wszystkie ''s'', tak że nierówność Krafta <math>\sum_{s \in S}  \frac{1}{r^{\ell (s)}} \leq 1</math> dalej będzie spełniona. Będzie zatem istniał kod o długościach <math>\ell</math>, spełniający <math>{\ell }(s) < \log_r \frac{1}{p(s)} +1</math> zawsze, gdy <math>p(s)>0</math>, a więc
<center><math>\sum_{s \in S} p(s) \cdot {\ell }(s) < \sum_{s \in S} p(s) \cdot \left( \log_r \frac{1}{p(s)} +1 \right) = H_r(S) + 1</math></center>


dla tych <math>s \in S</math> dla których <math>p(s)>0</math>. Wtedy
(Pamiętamy o naszej konwencji <math>0 \cdot \log \frac{1}{0} = 0</math>.)
:<math>\sum_{s: p(s) > 0} \frac{1}{r^{\ell (s)}} \leq \sum_{p(s) > 0} p(s) = \sum_{s \in S} p(s) = 1</math>


Rozważmy kilka przypadków. W najprostszym, kiedy <math>(\forall s \in S) \, p(s) > 0</math>, powyższa nierówność odpowiada dokładnie nierówności Krafta, a zatem istnieje kod <math>\varphi</math> spełniający <math>| \varphi (s)| = \ell (s)</math> dla wszystkich <math>s \in S</math>. Uwzględniając że <math>{\ell }(s) < \log_r \frac{1}{p(s)} +1</math> dostajemy
Ostatni przypadek to taki, gdy
:<math>\sum_{s \in S} p(s) \cdot {\ell }(s) < \sum_{s \in S} p(s) \cdot \left( \log_r \frac{1}{p(s)} +1 \right) = H_r(S) + 1</math>.
<center><math>\sum_{ p(s) > 0} \frac{1}{r^{\ell (s)}}= 1</math></center>


Załóżmy zatem że <math>p(s)</math> może być równe 0. Jeśli
Wybierzmy ''s’'', takie że <math>p(s')>0</math>, i zdefiniujmy nowe długości
:<math>\sum_{p(s) > 0} \frac{1}{r^{\ell (s)}} <1</math>
<center><math>
to łatwo możemy rozszerzyć definicję <math>\ell</math> na wszystkie ''s'', tak że nierówność Krafta <math>\sum_{s \in S} \frac{1}{r^{\ell (s)}} \leq 1</math> dalej będzie spełniona. Będzie zatem istniał kod o długościach <math>\ell</math> spełniający <math>{\ell }(s) < \log_r \frac{1}{p(s)} +1</math> zawsze gdy <math>p(s)>0</math>, a więc
\begin{align}  
:<math>\sum_{s \in S} p(s) \cdot {\ell }(s) < \sum_{s \in S} p(s) \cdot \left( \log_r \frac{1}{p(s)} +1 \right) = H_r(S) + 1 </math>
\ell' (s') & = \ell (s') + 1\\
\ell' (s) & = \ell (s), \mbox{ dla } s \neq s'
\end{align}
</math></center>


(Pamiętając naszą konwencję <math>0 \cdot \log \frac{1}{0} = 0</math>.)
Znów możemy rozszerzyć <math>\ell'</math> na wszystkie <math>s</math> w taki sposób, żeby zachować nierówność Krafta. Aby obliczyć średnią długość kodu musimy zauważyć, że w tym przypadku mieliśmy zawsze <math>\ell (s) = \log_r \frac{1}{p(s) }</math> gdy tylko <math>p(s) > 0</math>. (Wynika to z tego, że z definicji <math>\ell</math> musi być <math>\frac{1}{r^{\ell (s)}} \leq p(s)</math> i <math>1 = \sum_{p(s) > 0} \frac{1}{r^{\ell (s)}} = \sum_{p(s) > 0} p(s)</math>, a więc <math>p(s) = \frac{1}{r^{\ell (s)}}</math> gdy <math>p(s) > 0</math>.)  


Ostatni przypadek to taki gdy
:<math>\sum_{ p(s) > 0} \frac{1}{r^{\ell (s)}}= 1</math>


Wybierzmy ''s’'' takie że <math>p(s')>0</math> i zdefiniujmy nowe długości
Kod o długości <math>\ell'</math> spełnia
:<math>\ell' (s') = \ell (s') + 1</math>
<center><math>\sum_{s \in S} p(s) \cdot {\ell}' (s) = \sum_{p(s) > 0} p(s) \cdot {\ell}' (s) = p(s') + \sum_{p(s) > 0} p(s) \cdot {\ell} (s)</math></center>
:<math>\ell' (s) = \ell (s), \mbox{ dla } s \neq s'</math>


Znów możemy rozszerzyć <math>\ell'</math> na wszystkie s w taki sposób żeby zachować nierówność Krafta. Żeby obliczyć średnią długość kodu, zauważmy że w tym przypadku mieliśmy zawsze <math>\ell (s) = \log_r \frac{1}{p(s) }</math> gdy tylko <math>p(s) > 0</math>. (Wynika to z tego że z definicji <math>\ell</math> musi być <math>\frac{1}{r^{\ell (s)}} \leq p(s)</math> i <math>1 = \sum_{p(s) > 0} \frac{1}{r^{\ell (s)}} = \sum_{p(s) > 0} p(s)</math>, a więc <math> p(s) = \frac{1}{r^{\ell (s)}}</math> gdy <math>p(s) > 0</math>.) Kod o długości <math>\ell'</math> spełnia
<center><math>=  p(s') + H_r (S)</math></center>
:<math>\sum_{s \in S} p(s) \cdot {\ell}' (s) = \sum_{p(s) > 0} p(s) \cdot {\ell}' (s) = p(s') + \sum_{p(s) > 0} p(s) \cdot {\ell} (s) =  p(s') + H_r (S)</math>


Ostatecznie <math>L_r (S) \leq H_r (S) + 1</math> i nierówność nie jest ostra tylko gdy nie istnieje żadne <math>0 < p(s') <1</math>.}}
Ostatecznie <math>L_r (S) \leq H_r (S) + 1</math> i nierówność nie jest ostra tylko wtedy, gdy nie istnieje żadne <math>0 < p(s') <1</math>.}}




Jesteśmy gotowi do sformułowania pierwszego z głównych twierdzeń tego wykładu
Jesteśmy gotowi do sformułowania pierwszego z głównych twierdzeń tego wykładu:




{{twierdzenie|[Pierwsze Twierdzenie Shannona]|pierwsze|
{{twierdzenie|[Pierwsze Twierdzenie Shannona]|pierwsze|
Dla każdej skończonej przestrzeni probabilistycznej ''S'' i <math>r \ge 2</math>
Dla każdej skończonej przestrzeni probabilistycznej ''S'' i <math>r \ge 2</math>
:<math>\lim_{n \to \infty } \frac{L_r (S^n)}{n} = H_r (S)</math>.}}
<center><math>\lim_{n \to \infty } \frac{L_r (S^n)}{n} = H_r (S)</math>.</center>}}


{{dowod|||
{{dowod||dw_pierwsze|
Z poprzedniego twierdzenia
Z poprzedniego twierdzenia
:<math>H_r (S^n) \leq L_r (S^n ) \leq H_r (S^n) + 1</math>
<center><math>H_r (S^n) \leq L_r (S^n ) \leq H_r (S^n) + 1</math></center>


Uwzględniając <math>H_r (S^n) = n \cdot H_r(S)</math> dostajemy
Uwzględniając <math>H_r (S^n) = n \cdot H_r(S)</math>, dostajemy
:<math>H_r (S) \leq \frac{L_r (S^n )}{n} \leq H_r (S) + \frac{1}{n}</math>}}
<center><math>H_r (S) \leq \frac{L_r (S^n )}{n} \leq H_r (S) + \frac{1}{n}</math></center>}}

Aktualna wersja na dzień 22:17, 11 wrz 2023

Minimalna długość kodu - kontynuacja

Aby oszacować Lr(Sn)nHr(S), zaczniemy od uzupełnienia naszej nierówności o górne ograniczenie.

Twierdzenie [Kod Shannona-Fano]

Dla dowolnej skończonej przestrzeni probabilistycznej S i r2, istnieje kod φ:SΣ* (gdzie |Σ|=r), spełniający
L(φ)Hr(S)+1

W ten sposób mamy

Hr(S)Lr(S)Hr(S)+1
Dodatkowo, ścisła nierówność Lr(S)<Hr(S)+1 jest prawdziwa za wyjątkiem przypadku p(s)=1 dla pewnego sS (wtedy Hr(S)=0).

Dowód

Dla |S|=1 mamy trywialnie Hr(S)=0 i Lr(S)=1. Załóżmy że |S|2. Niech
(s)=logr1p(s)

dla tych sS, dla których p(s)>0. Wtedy

p(s)>01r(s)p(s)>0p(s)=sSp(s)=1

Rozważmy kilka przypadków. W najprostszym, kiedy (sS)p(s)>0, powyższa nierówność odpowiada dokładnie nierówności Krafta, a zatem istnieje kod φ spełniający |φ(s)|=(s) dla wszystkich sS. Uwzględniając, że (s)<logr1p(s)+1, dostajemy

sSp(s)(s)<sSp(s)(logr1p(s)+1)=Hr(S)+1.

Załóżmy zatem, że p(s) może być równe 0. Jeśli

p(s)>01r(s)<1

to łatwo możemy rozszerzyć definicję na wszystkie s, tak że nierówność Krafta sS1r(s)1 dalej będzie spełniona. Będzie zatem istniał kod o długościach , spełniający (s)<logr1p(s)+1 zawsze, gdy p(s)>0, a więc

sSp(s)(s)<sSp(s)(logr1p(s)+1)=Hr(S)+1

(Pamiętamy o naszej konwencji 0log10=0.)

Ostatni przypadek to taki, gdy

p(s)>01r(s)=1

Wybierzmy s’, takie że p(s)>0, i zdefiniujmy nowe długości

(s)=(s)+1(s)=(s), dla ss

Znów możemy rozszerzyć na wszystkie s w taki sposób, żeby zachować nierówność Krafta. Aby obliczyć średnią długość kodu musimy zauważyć, że w tym przypadku mieliśmy zawsze (s)=logr1p(s) gdy tylko p(s)>0. (Wynika to z tego, że z definicji musi być 1r(s)p(s) i 1=p(s)>01r(s)=p(s)>0p(s), a więc p(s)=1r(s) gdy p(s)>0.)


Kod o długości spełnia

sSp(s)(s)=p(s)>0p(s)(s)=p(s)+p(s)>0p(s)(s)
=p(s)+Hr(S)
Ostatecznie Lr(S)Hr(S)+1 i nierówność nie jest ostra tylko wtedy, gdy nie istnieje żadne 0<p(s)<1.


Jesteśmy gotowi do sformułowania pierwszego z głównych twierdzeń tego wykładu:


Twierdzenie [Pierwsze Twierdzenie Shannona]

Dla każdej skończonej przestrzeni probabilistycznej S i r2

limnLr(Sn)n=Hr(S).

Dowód

Z poprzedniego twierdzenia

Hr(Sn)Lr(Sn)Hr(Sn)+1

Uwzględniając Hr(Sn)=nHr(S), dostajemy

Hr(S)Lr(Sn)nHr(S)+1n