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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu - "\endaligned" na "\end{align}"
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 3: Linia 3:


{{twierdzenie|[Twierdzenie Shannona o kodach]|Shannon|
{{twierdzenie|[Twierdzenie Shannona o kodach]|Shannon|
Niech <math>\Gamma</math> będzie binarnym kanałem symetrycznym, charakteryzowanym przez macierz <math>\left( \begin{matrix}P & Q \\ Q & P\end{matrix}\right)</math>, gdzie <math> P > Q </math>. Wtedy <math>\forall \varepsilon,\delta > 0 \, \exists n_0 \forall n \geq n_0 \exists C \subseteq \{ 0, 1 \}^n </math> takie że
Niech <math>\Gamma</math> będzie binarnym kanałem symetrycznym, charakteryzowanym przez macierz <math>\left( \begin{matrix}P & Q \\ Q & P\end{matrix}\right)</math>, gdzie <math>P > Q</math>. Wtedy <math>\forall \varepsilon,\delta > 0 \, \exists n_0 \forall n \geq n_0 \exists C \subseteq \{ 0, 1 \}^n</math> takie że


<center><math>C_{\Gamma } - \varepsilon \leq R(C) \leq  C_{\Gamma }</math>
<center><math>C_{\Gamma } - \varepsilon \leq R(C) \leq  C_{\Gamma }</math>
Linia 13: Linia 13:


===Dowód Twierdzenia Shannona===
===Dowód Twierdzenia Shannona===
Zaczniemy od przedstawienia idei dowodu. Załóżmy, że ciąg wejściowy <math> X =  a_1 \ldots a_n</math> jest przekształcany na ciąg wyjściowy <math> Y =  b_1 \ldots b_n </math>. Jaka jest ''oczekiwana'' odległość Hamminga między X a Y? Odpowiada ona liczbie błędów transmisji. Skoro prawdopodobieństwo każdego błędu wynosi Q, to z Prawa Wielkich Liczb wynika, że d(X,Y) będzie dążyło do <math>Q \cdot n</math> dla <math>n \to \infty</math>. Jeśli reguła dekodująca powoduje błąd (czyli <math>\Delta(Y) \neq X</math>), może się to stać z dwóch powodów:
Zaczniemy od przedstawienia idei dowodu. Załóżmy, że ciąg wejściowy <math>X =  a_1 \ldots a_n</math> jest przekształcany na ciąg wyjściowy <math>Y =  b_1 \ldots b_n</math>. Jaka jest ''oczekiwana'' odległość Hamminga między X a Y? Odpowiada ona liczbie błędów transmisji. Skoro prawdopodobieństwo każdego błędu wynosi Q, to z Prawa Wielkich Liczb wynika, że d(X,Y) będzie dążyło do <math>Q \cdot n</math> dla <math>n \to \infty</math>. Jeśli reguła dekodująca powoduje błąd (czyli <math>\Delta(Y) \neq X</math>), może się to stać z dwóch powodów:
* Y jest „daleko” od X (dalej niż oczekiwana odległość)
* Y jest „daleko” od X (dalej niż oczekiwana odległość)
* Y jest blisko X, ale któreś <math>X' \neq X</math> jest równie blisko jak X
* Y jest blisko X, ale któreś <math>X' \neq X</math> jest równie blisko jak X


Pierwszy typ błędów jest powodowany przez kanał, ale sama natura go poprawia: Prawo Wielkich Liczb gwarantuje, że duża odległość pomiędzy X a Y będzie występować rzadko jeśli n jest duże. Za drugi typ błędów odpowiada sam kod. Aby nie zachodziły takie sytuacje, słowa kodowe muszą być odpowiednio odległe od siebie nawzajem. W naszym przypadku oznacza to, że jeśli wyznaczymy wokół każdego ze słów kodowych kulę o promieniu <math>Q \cdot n</math> (w metryce Hamminga), to kule te powinny być parami rozłączne. Pytanie zatem brzmi: ile rozłącznych kul o tym promieniu można zmieścić w <math>\{0,1\}^n</math>? Objętość każdej z tych kul, co udowodnimy, wynosi w przybliżeniu <math>\approx  2^{n \cdot H (Q) }</math>. Oznacza to, że maksymalna możliwa liczba kul jest nie większa niż
Pierwszy typ błędów jest powodowany przez kanał, ale sama natura go poprawia: Prawo Wielkich Liczb gwarantuje, że duża odległość pomiędzy X a Y będzie występować rzadko jeśli n jest duże. Za drugi typ błędów odpowiada sam kod. Aby nie zachodziły takie sytuacje, słowa kodowe muszą być odpowiednio odległe od siebie nawzajem. W naszym przypadku oznacza to, że jeśli wyznaczymy wokół każdego ze słów kodowych kulę o promieniu <math>Q \cdot n</math> (w metryce Hamminga), to kule te powinny być parami rozłączne. Pytanie zatem brzmi: ile rozłącznych kul o tym promieniu można zmieścić w <math>\{0,1\}^n</math>? Objętość każdej z tych kul, co udowodnimy, wynosi w przybliżeniu <math>\approx  2^{n \cdot H (Q) }</math>. Oznacza to, że maksymalna możliwa liczba kul jest nie większa niż
<center><math> m \approx 2^n :  2^{n \cdot H (Q) } = 2^{n (1 - H(Q))} = 2^{n \cdot C_{\Gamma }}</math></center>
<center><math>m \approx 2^n :  2^{n \cdot H (Q) } = 2^{n (1 - H(Q))} = 2^{n \cdot C_{\Gamma }}</math></center>


co odpowiada szybkości transmisji <math>R(C)\approx C_{\Gamma}</math>. Niezwykłość odkrycia Shannona polega na tym, że to dolne ograniczenie daje się osiągnąć. Niestety sam dowód jest niekonstruktywny i pokazuje jedynie, że taki kod istnieje.
co odpowiada szybkości transmisji <math>R(C)\approx C_{\Gamma}</math>. Niezwykłość odkrycia Shannona polega na tym, że to dolne ograniczenie daje się osiągnąć. Niestety sam dowód jest niekonstruktywny i pokazuje jedynie, że taki kod istnieje.




W dalszej części dowodu będziemy używać małych liter <math>u,v,w,x,y,\ldots </math> na oznaczenie wektorów w <math>\{0,1\}^n</math> dla odróżnienia od zmiennych losowych. Jak zwykle <math>\oplus</math> oznaczać będzie XOR po współrzędnych. Wybierzemy <math>\eta > 0</math>, którego zależność od <math>\epsilon</math> i <math>\delta</math> wyznaczymy dokładnie później (intuicyjnie, <math>\eta</math> będzie bardzo małe).
W dalszej części dowodu będziemy używać małych liter <math>u,v,w,x,y,\ldots</math> na oznaczenie wektorów w <math>\{0,1\}^n</math> dla odróżnienia od zmiennych losowych. Jak zwykle <math>\oplus</math> oznaczać będzie XOR po współrzędnych. Wybierzemy <math>\eta > 0</math>, którego zależność od <math>\epsilon</math> i <math>\delta</math> wyznaczymy dokładnie później (intuicyjnie, <math>\eta</math> będzie bardzo małe).
Niech
Niech
<center><math>\rho = n (Q + \eta )</math></center>
<center><math>\rho = n (Q + \eta )</math></center>


Załóżmy teraz, że <math>C \subseteq \{0,1\}^n</math> jest kodem z <math>|C|=m</math>. Z definicji reguły <math>\Delta</math>, jeśli dla pewnego słowa kodowego <math>u \in C</math> i błędu <math>e \in \{0,1\}^n</math> mamy odległość <math>d(u,u \oplus e) \le \rho</math>, a ponadto <math>\forall v \in C - \{ u \} d (v,u \oplus e) >  \rho </math>, to <math>u</math> jest najbliższym słowem kodowym do <math>u \oplus e</math> i z konieczności <math>\Delta (u \oplus e) = u</math>.
Załóżmy teraz, że <math>C \subseteq \{0,1\}^n</math> jest kodem z <math>|C|=m</math>. Z definicji reguły <math>\Delta</math>, jeśli dla pewnego słowa kodowego <math>u \in C</math> i błędu <math>e \in \{0,1\}^n</math> mamy odległość <math>d(u,u \oplus e) \le \rho</math>, a ponadto <math>\forall v \in C - \{ u \} d (v,u \oplus e) >  \rho</math>, to <math>u</math> jest najbliższym słowem kodowym do <math>u \oplus e</math> i z konieczności <math>\Delta (u \oplus e) = u</math>.


Zatem jeśli <math>\Delta (u \oplus e) \neq u</math>, to albo <math>d(u, u \oplus e) > \rho</math>, albo dla pewnego <math>v \in C - \{ u \} d(v,u \oplus e) \leq \rho </math>.  
Zatem jeśli <math>\Delta (u \oplus e) \neq u</math>, to albo <math>d(u, u \oplus e) > \rho</math>, albo dla pewnego <math>v \in C - \{ u \} d(v,u \oplus e) \leq \rho</math>.  


Wektor e możemy interpretować jako wartość zmiennej losowej <math>E=(E_1, \ldots, E_n)</math>, gdzie <math>E_i=A_i \oplus B_i</math>. Zmienne <math>E_1, \ldots , E_n</math> są niezależne i mają identyczny rozkład
Wektor e możemy interpretować jako wartość zmiennej losowej <math>E=(E_1, \ldots, E_n)</math>, gdzie <math>E_i=A_i \oplus B_i</math>. Zmienne <math>E_1, \ldots , E_n</math> są niezależne i mają identyczny rozkład
Linia 46: Linia 46:




W naszym przypadku stosujemy ten fakt do sekwencji <math>E_1, E_2, \ldots</math>. Wiemy, że <math>E(E_i)=0 \cdot P + 1 \cdot Q = Q</math>. Zatem <math>p (| \frac{1}{n} \cdot \sum_{i=1}^n E_i - Q | > \eta ) \to 0 </math> dla <math>n \to \infty</math> i dostajemy
W naszym przypadku stosujemy ten fakt do sekwencji <math>E_1, E_2, \ldots</math>. Wiemy, że <math>E(E_i)=0 \cdot P + 1 \cdot Q = Q</math>. Zatem <math>p (| \frac{1}{n} \cdot \sum_{i=1}^n E_i - Q | > \eta ) \to 0</math> dla <math>n \to \infty</math> i dostajemy
<center><math>p ( d (u, u \oplus E) > \rho ) \leq p ( \frac{1}{n} \cdot \sum_{i=1}^n E_i > Q + \eta )  \leq p (| \frac{1}{n} \cdot \sum_{i=1}^n E_i - Q | > \eta ) \leq \frac{\delta }{2}</math></center>
<center><math>p ( d (u, u \oplus E) > \rho ) \leq p ( \frac{1}{n} \cdot \sum_{i=1}^n E_i > Q + \eta )  \leq p (| \frac{1}{n} \cdot \sum_{i=1}^n E_i - Q | > \eta ) \leq \frac{\delta }{2}</math></center>


Linia 60: Linia 60:
Zatem
Zatem


<center><math>\aligned
<center><math>\begin{align}
p (\Delta \circ Y \neq u | X = u) & = \sum_{v:\Delta (v) \neq u} p ( Y = v | X = u)\\
p (\Delta \circ Y \neq u | X = u) & = \sum_{v:\Delta (v) \neq u} p ( Y = v | X = u)\\
& = \sum_{e: \Delta (u \oplus e)  \neq u} p ( Y = u \oplus e) |  X = u) \\
& = \sum_{e: \Delta (u \oplus e)  \neq u} p ( Y = u \oplus e) |  X = u) \\
Linia 71: Linia 71:


Łącząc te wyniki, dostajemy
Łącząc te wyniki, dostajemy
<center>{{kotwica|metoda_prob|}}<math>\aligned
<center>{{kotwica|metoda_prob|}}<math>\begin{align}
Pr_E ( \Delta , C) & \leq \frac{1}{m} \sum_{u \in C} \left( p ( d (u, u \oplus E) > \rho ) + \sum_{v \in C - \{ u \}} p ( d (v,u \oplus E) \leq \rho ) \right) \\
Pr_E ( \Delta , C) & \leq \frac{1}{m} \sum_{u \in C} \left( p ( d (u, u \oplus E) > \rho ) + \sum_{v \in C - \{ u \}} p ( d (v,u \oplus E) \leq \rho ) \right) \\
& \leq \frac{\delta }{2} + \frac{1}{m} \sum_{u \in C} \sum_{v \in C - \{ u \}} p ( d (v,u \oplus E) \leq \rho )
& \leq \frac{\delta }{2} + \frac{1}{m} \sum_{u \in C} \sum_{v \in C - \{ u \}} p ( d (v,u \oplus E) \leq \rho )
Linia 86: Linia 86:
Niech <math>\kappa = 1 - \lambda</math>. Zauważmy najpierw, że
Niech <math>\kappa = 1 - \lambda</math>. Zauważmy najpierw, że


<center><math>\aligned
<center><math>\begin{align}
\log_2 (\lambda^{\lambda n} \cdot \kappa^{\kappa n}) & = n \cdot ( \lambda \cdot \log_2 \lambda + \kappa \cdot \log_2 \kappa )\\
\log_2 (\lambda^{\lambda n} \cdot \kappa^{\kappa n}) & = n \cdot ( \lambda \cdot \log_2 \lambda + \kappa \cdot \log_2 \kappa )\\
& = - n \cdot H(\lambda )
& = - n \cdot H(\lambda )
Linia 105: Linia 105:




Jeśli <math>\lambda n</math> jest całkowite, nasza nierówność jest po prostu równością. Jeśli nie, mamy <math>\lambda n = \lfloor \lambda n \rfloor + \Delta \lambda</math>, <math>\kappa n =\lfloor \kappa n \rfloor + \Delta \kappa </math>, <math>\lfloor \lambda n \rfloor + \lfloor \kappa n \rfloor = n-1</math> i <math>\Delta \lambda + \Delta \kappa = 1</math>. Z założenia <math> \kappa \ge \lambda</math>, i mamy dla dowolnego <math>i \le \lambda \n </math>
Jeśli <math>\lambda n</math> jest całkowite, nasza nierówność jest po prostu równością. Jeśli nie, mamy <math>\lambda n = \lfloor \lambda n \rfloor + \Delta \lambda</math>, <math>\kappa n =\lfloor \kappa n \rfloor + \Delta \kappa</math>, <math>\lfloor \lambda n \rfloor + \lfloor \kappa n \rfloor = n-1</math> i <math>\Delta \lambda + \Delta \kappa = 1</math>. Z założenia <math>\kappa \ge \lambda</math>, i mamy dla dowolnego <math>i \le \lambda n</math>
<center><math>\lambda^i \kappa^{n-i} \geq
<center><math>\lambda^i \kappa^{n-i} \geq
\lambda^{\lfloor \lambda n \rfloor } \cdot
\lambda^{\lfloor \lambda n \rfloor } \cdot

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

Przedstawimy teraz centralne twierdzenie teorii informacji, autorstwa Claude'a Shannona. Intuicyjnie mówi ono, że transmisja danych przez zaszumiony kanał jest możliwa z dowolnie małym prawdopodobieństwem błędu i z szybkością dowolnie bliską przepustowości kanału. Jedynym warunkiem jest zastosowanie kodów wystarczającej długości. Poniższa wersja odnosi się do kanałów BSC, ale można ją łatwo rozszerzyć na dowolne typy kanałów.


Twierdzenie [Twierdzenie Shannona o kodach]

Niech Γ będzie binarnym kanałem symetrycznym, charakteryzowanym przez macierz (PQQP), gdzie P>Q. Wtedy ε,δ>0n0nn0C{0,1}n takie że

CΓεR(C)CΓ

oraz

PrE(Δ,C)δ


Dowód Twierdzenia Shannona

Zaczniemy od przedstawienia idei dowodu. Załóżmy, że ciąg wejściowy X=a1an jest przekształcany na ciąg wyjściowy Y=b1bn. Jaka jest oczekiwana odległość Hamminga między X a Y? Odpowiada ona liczbie błędów transmisji. Skoro prawdopodobieństwo każdego błędu wynosi Q, to z Prawa Wielkich Liczb wynika, że d(X,Y) będzie dążyło do Qn dla n. Jeśli reguła dekodująca powoduje błąd (czyli Δ(Y)X), może się to stać z dwóch powodów:

  • Y jest „daleko” od X (dalej niż oczekiwana odległość)
  • Y jest blisko X, ale któreś XX jest równie blisko jak X

Pierwszy typ błędów jest powodowany przez kanał, ale sama natura go poprawia: Prawo Wielkich Liczb gwarantuje, że duża odległość pomiędzy X a Y będzie występować rzadko jeśli n jest duże. Za drugi typ błędów odpowiada sam kod. Aby nie zachodziły takie sytuacje, słowa kodowe muszą być odpowiednio odległe od siebie nawzajem. W naszym przypadku oznacza to, że jeśli wyznaczymy wokół każdego ze słów kodowych kulę o promieniu Qn (w metryce Hamminga), to kule te powinny być parami rozłączne. Pytanie zatem brzmi: ile rozłącznych kul o tym promieniu można zmieścić w {0,1}n? Objętość każdej z tych kul, co udowodnimy, wynosi w przybliżeniu 2nH(Q). Oznacza to, że maksymalna możliwa liczba kul jest nie większa niż

m2n:2nH(Q)=2n(1H(Q))=2nCΓ

co odpowiada szybkości transmisji R(C)CΓ. Niezwykłość odkrycia Shannona polega na tym, że to dolne ograniczenie daje się osiągnąć. Niestety sam dowód jest niekonstruktywny i pokazuje jedynie, że taki kod istnieje.


W dalszej części dowodu będziemy używać małych liter u,v,w,x,y, na oznaczenie wektorów w {0,1}n dla odróżnienia od zmiennych losowych. Jak zwykle oznaczać będzie XOR po współrzędnych. Wybierzemy η>0, którego zależność od ϵ i δ wyznaczymy dokładnie później (intuicyjnie, η będzie bardzo małe). Niech

ρ=n(Q+η)

Załóżmy teraz, że C{0,1}n jest kodem z |C|=m. Z definicji reguły Δ, jeśli dla pewnego słowa kodowego uC i błędu e{0,1}n mamy odległość d(u,ue)ρ, a ponadto vC{u}d(v,ue)>ρ, to u jest najbliższym słowem kodowym do ue i z konieczności Δ(ue)=u.

Zatem jeśli Δ(ue)u, to albo d(u,ue)>ρ, albo dla pewnego vC{u}d(v,ue)ρ.

Wektor e możemy interpretować jako wartość zmiennej losowej E=(E1,,En), gdzie Ei=AiBi. Zmienne E1,,En są niezależne i mają identyczny rozkład

p(Ei=0)=P
p(Ei=1)=Q

Powyższe obserewacje można zatem zapisać jako

p(Δ(uE)u)p(d(u,uE)>ρ)+vC{u}p(d(v,uE)ρ)

Pierwszy składnik oszacujemy używając następującego faktu:


Fakt [Słabe Prawo Wielkich Liczb]

Niech X1,X2, będą zmiennymi losowymi takimi, że każda sekwencja X1,X2,,Xn jest parami niezależna, i Xi mają ten sam rozkład nad skończonym zbiorem liczb rzeczywistych. Niech μ=E(Xi). Wtedy dla dowolnego α>0

limnp(|1ni=1nXiμ|>α)=0


W naszym przypadku stosujemy ten fakt do sekwencji E1,E2,. Wiemy, że E(Ei)=0P+1Q=Q. Zatem p(|1ni=1nEiQ|>η)0 dla n i dostajemy

p(d(u,uE)>ρ)p(1ni=1nEi>Q+η)p(|1ni=1nEiQ|>η)δ2

dla wystarczająco dużych n.


Przypomnijmy, że szacujemy PrE(Δ,C), które możemy przedstawić jako sumę

PrE(Δ,C)=uCp(X=u)p(ΔYu|X=u)

Z definicji Y=XE, a więc

p(Y=w|X=u)=p(E=wu)

Zatem

p(ΔYu|X=u)=v:Δ(v)up(Y=v|X=u)=e:Δ(ue)up(Y=ue)|X=u)=e:Δ(ue)up(E=e)=p(Δ(uE)u)

Ponadto p(X=u)=1m (z założenia rozkład X jest jednorodny).

Łącząc te wyniki, dostajemy

PrE(Δ,C)1muC(p(d(u,uE)>ρ)+vC{u}p(d(v,uE)ρ))δ2+1muCvC{u}p(d(v,uE)ρ)

dla wystarczająco dużych n.


Zanim przejdziemy dalej, oszacujmy najpierw objętość kuli o promieniu λn, gdzie λ12. Konkretnie pokażemy, że

iλn(ni)2nH(λ)

Niech κ=1λ. Zauważmy najpierw, że

log2(λλnκκn)=n(λlog2λ+κlog2κ)=nH(λ)

Wystarczy zatem, że pokażemy, że dla dowolnych iλn

λiκniλλnκκn

Wtedy

1iλn(ni)λiκniiλn(ni)λλnκκn

a więc

iλn(ni)1λλnκκn=2nH(λ)

jak zakładaliśmy.


Jeśli λn jest całkowite, nasza nierówność jest po prostu równością. Jeśli nie, mamy λn=λn+Δλ, κn=κn+Δκ, λn+κn=n1 i Δλ+Δκ=1. Z założenia κλ, i mamy dla dowolnego iλn

λiκniλλnκκn+1=λλnκκnκΔλ+ΔκλΔλκΔκλλnκκn

co kończy dowód szacowania objętości.