Teoria informacji/TI Wykład 11: Różnice pomiędzy wersjami
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 | 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 | 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>\ | <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>\ | <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>\ | <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 | 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 , gdzie . Wtedy takie że
oraz
Dowód Twierdzenia Shannona
Zaczniemy od przedstawienia idei dowodu. Załóżmy, że ciąg wejściowy jest przekształcany na ciąg wyjściowy . 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 dla . Jeśli reguła dekodująca powoduje błąd (czyli ), 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ś 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 (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 ? Objętość każdej z tych kul, co udowodnimy, wynosi w przybliżeniu . Oznacza to, że maksymalna możliwa liczba kul jest nie większa niż
co odpowiada szybkości transmisji . 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 na oznaczenie wektorów w dla odróżnienia od zmiennych losowych. Jak zwykle oznaczać będzie XOR po współrzędnych. Wybierzemy , którego zależność od i wyznaczymy dokładnie później (intuicyjnie, będzie bardzo małe).
Niech
Załóżmy teraz, że jest kodem z . Z definicji reguły , jeśli dla pewnego słowa kodowego i błędu mamy odległość , a ponadto , to jest najbliższym słowem kodowym do i z konieczności .
Zatem jeśli , to albo , albo dla pewnego .
Wektor e możemy interpretować jako wartość zmiennej losowej , gdzie . Zmienne są niezależne i mają identyczny rozkład
Powyższe obserewacje można zatem zapisać jako
Pierwszy składnik oszacujemy używając następującego faktu:
Fakt [Słabe Prawo Wielkich Liczb]
Niech będą zmiennymi losowymi takimi, że każda sekwencja jest parami niezależna, i mają ten sam rozkład nad skończonym zbiorem liczb rzeczywistych. Niech . Wtedy dla dowolnego
W naszym przypadku stosujemy ten fakt do sekwencji . Wiemy, że . Zatem dla i dostajemy
dla wystarczająco dużych n.
Przypomnijmy, że szacujemy , które możemy przedstawić jako sumę
Z definicji , a więc
Zatem
Ponadto (z założenia rozkład X jest jednorodny).
Łącząc te wyniki, dostajemy
dla wystarczająco dużych n.
Zanim przejdziemy dalej, oszacujmy najpierw objętość kuli o promieniu , gdzie . Konkretnie pokażemy, że
Niech . Zauważmy najpierw, że
Wystarczy zatem, że pokażemy, że dla dowolnych
Wtedy
a więc
jak zakładaliśmy.
Jeśli jest całkowite, nasza nierówność jest po prostu równością. Jeśli nie, mamy , , i . Z założenia , i mamy dla dowolnego
co kończy dowód szacowania objętości.