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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „ </math>” na „</math>”
m Zastępowanie tekstu – „ </math>” na „</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
Linia 29: Linia 29:
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

Wersja z 11:01, 5 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.