SHANNONOVY VĚTY A JEJICH DŮKAZ JAN ŠŤOVÍČEK Abstrakt. Důkaz Shannonových vět ro binární symetrický kanál tak, jak měl být robrán na řednášce. Číslování vět odovídá řednášce. 1. Značení a obecné ředoklady Pro účely Shannonových vět uvažujeme, že řenos dat robíhá odle následujícího schématu: zdroj X=(X 1,X,X 3,... ) kanál Y =(Y 1,Y,Y 3,... ) říjemce X 1, X, X 3,... jsou nezávislé náhodné veličiny nabývající hodnot 0 nebo 1 s ravděodobností 1. Kanál v následujícím uvažujeme ouze binární symetrický s chybovostí. To jest ravděodobnost srávného řenosu jak nuly tak jedničky je 1 : P [Y = 0 X = 0] = P [Y = 1 X = 1] = 1, P [Y = 1 X = 0] = P [Y = 0 X = 1] =. Navíc se jedná o kanál bezamět ový, tj. ro každé řirozené N a každé dvě oslounosti bitů (x 1, x,..., x N ) a (y 1, y,... y N ) latí P [(Y 1, Y,..., Y N ) = (y 1, y,..., y N ) (X 1, X,..., X N ) = (x 1, x,..., x N )] = P [Y 1 = y 1 X 1 = x 1 ] P [Y = y X = x ] P [Y N = y N X N = x N ]. Výše uvedené je matematická formulace toho, že výsledek řenosu i-tého bitu nezávisí na výsledku řenosu ostatních bitů. Pro další diskuzi se vylatí zavést oslounost náhodných veličin E = (E 1, E, E 3,... ), kde odle definice E i = Y i X i (očítáno v tělese F ). Tato oslounost náhodných veličin tedy ředstavuje šum kanálu. Z ředokladů na X a Y jednoduše lynou následující fakta: (1) Náhodné veličiny X 1, X,... a E 1, E,... jsou nezávislé. () Pravděodobnost P [E i = 1] je rovna ro všechna i. To je ostatně řesně ten důvod, roč jsme ředoklady nastavili takto (1) a () nám říkají, že chyby v jednotlivých bitech nastávají s ravděodobností, a to nezávisle na chybách v ostatních bitech i na informačním zdroji. Pro takovýto informační zdroj a kanál jsme sočítali entroie: H(X) = 1 a H(X Y ) = H(), a tedy informační obsah řijatého symbolu vyšel I(X, Y ) = H(X) H(X Y ) = 1 H(). 1
JAN ŠŤOVÍČEK Cílem bude dokázat, že omocí dostatečně dlouhých kódů s hustotou menší ale libovolně blízkou 1 H() můžeme dosáhnout libovolně solehlivého řenosu (Věta 74), a naoak ro kódy s hustotou větší než 1 H() solehlivost řenosu dlouhých slov klesá k nule (Věta 77).. Shannonova věta Pro formulaci Shannonovy věty otřebujeme řiomenout solehlivost dekódování a solehlivost kódu. Definice. At C F N je binární kód délky N. Pak dekódováním kódu C rozumíme libovolné zobrazení D : F N C. Dekódování na nejbližší slovo je ak takové, že ro libovolné v F N je Hammingova vzdálenost v a kódového slova D(v) nejmenší možná. Solehlivost dekódování D je růměrná ravděodobnost řes všechna w C, že ři odeslání slova w řes kanál ro řijaté slovo v F N latí D(v) = w. Jinak řečeno, jedná se o růměrnou ravděodobnost, že odeslané slovo bude omocí D srávně dekódováno. V námi zavedeném značení se dá solehlivost dekódování vyjádřit vzorcem 1 P [ D ( (Y 1, Y,..., Y N ) ) = w (X 1, X,... X N ) = w ] C w C Pokud řenášené kódové slovo volíme též náhodně s rovnoměrným rozdělením (tj. ravděodobnost volby konkrétního w C je rovna 1 C ), je solehlivost rovna řesně P [ D ( (Y 1, Y,..., Y N ) ) = (X 1, X,... X N )], čili ravděodobnosti toho, že řijaté slovo srávně dekódujeme na odeslané. Nakonec solehlivost kódu C je definována jako maximum solehlivosti dekódování řes všechna dekódování D : F N C. Následující věta nám říká, že ro binární symetrický kanál s chybovostí existují libovolně solehlivé kódy s hustotou řibližně 1 H(). Libovolně solehlivé je dokonce dekódování na nejbližší slovo, v rinciu tedy nemusíme vymýšlet žádné komlikovanější dekódovací strategie. Problém z raktického hlediska je ovšem ten, že tyto dobré kódy jsou náhodné kódy. Hledání oužitelných kódů dosahujících vlastností ředovězených Shannonovou větou trvalo dalšího ůl století a jejich robrání se do této řednášky už nevejde. Věta 74 (Shannonova věta). Předokládejme, že je dán informační zdroj X = (X 1, X, X 3,... ) jako výše a dále binární symetrický kanál s chybovostí, kde 0 < < 1. Pak ro každá reálná čísla ε > 0 a δ > 0 existuje řirozené číslo N 0 s touto vlastností: Pro každé N N 0 existuje binární kód C délky N s hustotou alesoň 1 H() ε, ro který je solehlivost dekódování na nejbližší slovo alesoň 1 δ. Intuitivně víme, že ři odeslání N bitů a ravděodobnosti chyby by mělo nastat řibližně N chyb. Tuto skutečnost formálně vyjadřuje tzv. slabý zákon velkých čísel, který uvedeme bez důkazu.
SHANNONOVY VĚTY A JEJICH DŮKAZ 3 Věta 75 (Slabý zákon velkých čísel). At Z 1, Z, Z 3,... je oslounost náhodných veličin se stejným rozdělením taková, že každé Z i nabývá jednu z konečně mnoha reálných hodnot a 1, a,..., a m, a to s ravděodobnostmi 1,,..., m. Položme µ = m j=1 ja j (tj. µ je střední hodnota Z i ro libovolné i). Pak ro libovolné ε > 0 latí [ ] lim P 1 N Z i µ ε = 0 N N i=1. V našem říadě, dosadíme-li za Z i náhodnou veličinu šumu E i, je N i=1 E i rovno očtu chyb ři řenosu N bitů. Je-li tedy w vyslané a v řijaté slovo délky N, latí, že P [ d(w, v) N εn ] jde k nule ro N. Poznámka. Jelikož jsou E 1, E, E 3,... odle ředokladu nezávislé náhodné veličiny, latí dokonce silnější Černovova nerovnost, která říká, že P [ d(w, v) ( + ε)n ] e Nε /. Nyní můžeme Shannonovu větu dokázat. Důkaz Věty 74. Řekněme, že máme dány ε > 0 a δ > 0. Jak již bylo řečeno, kandidáty na kód C F N, kde N je dostatečně velké a dekódování na nejbližší slovo má solehlivost alesoň 1 δ, volíme náhodně. Minimální délku N 0 takovýchto kódů uřesníme dále v růběhu důkazu. Počet slov M kódu C délky N budeme volit tak, aby latilo 1 H() ε < log M N < 1 H() ε. ( ) První nerovnost je vyžadována ve znění věty, druhou otřebujeme ro důkaz. Pro dostatečně velké N nějaké řirozené číslo M s těmito vlastnostmi jistě najdeme. Nyní si uvedeme ár odrobností k tomu, jak ro danou délku N a očet slov M kód C volíme. Z technických důvodů budeme C ovažovat za náhodnou veličinu, která s rovnoměrným rozdělením nabývá všech usořádaných M-tic (c 1, c,..., c M ) o dvou různých slov délky N v abecedě F. Dále ožadujeme, aby náhodná veličina C byla nezávislá na šumu kanálu E. Jednotlivé složky veličiny C označíme C 1, C,..., C M. To jest, C i je i-té slovo našeho náhodně zvoleného kódu C. Jednoduché cvičení na očítání s ravděodobnostmi nám ro každou dvojici různých čísel i, j {1,,..., M} a dvojici libovolných slov c, d F N dá následující: P [C i = c] = N. Jinak řečeno, ro libovolné i nabývá C i slov délky N s rovnoměrným rozdělením. 1 P [C i = c & C j = d] =. Mimo jiné odtud okamžitě lyne N ( N 1) něco, na co musíme dát ozor: Pro různá i a j nejsou C i a C j nezávislé náhodné veličiny.
4 JAN ŠŤOVÍČEK Přistouíme k dalšímu kroku důkazu a odhadneme, jaká je ro danou délku N solehlivost dekódování na nejbližší slovo ro náhodný kód C zvolený výše uvedeným zůsobem. Řekněme, že jsme odeslali i-té kódové slovo C i (které je nyní samo o sobě náhodnou veličinou!) a řijali slovo C i + Ẽ zatížené náhodnou chybou Ẽ = (E 1, E,..., E N ). Příady, kdy došlo k chybnému dekódování, si rozdělíme do dvou skuin. Pro toto dělení oužijeme malé kladné reálné číslo η > 0, jehož hodnotu uřesníme ozději. Příady chybného dekódování se rozadnou do následujících skuin: a) Došlo k říliš mnoho chybám. V našem říadě zvolíme ro říliš mnoho mez ρ = ( + η)n a okud došlo ři řenosu k více než ρ chybám, nebudeme důvod neúsěšného dekódování dále rozebírat. To roto, že ze slabého zákona velkých čísel latí ro dostatečně velké N: P [ w(ẽ) > ρ] < δ Všechny říady, kdy došlo k více než ρ chybám, at už dekódování doadlo jakkoli, mají tedy souhrnnou ravděodobnost menší než δ. b) Došlo k nejvýše ρ chybám, ale řesto jsme řijaté slovo chybně dekódovali. Jak je vidět z následujícího obrázku, to se mohlo stát ouze v říadě, že kombinatorická koule B(C i + Ẽ, ρ ) obsahuje nějaké další kódové slovo, tj. C j ro nějaké j i. ρ C j C i + Ẽ C i Obrázek: Chybné dekódování ro w(ẽ) ρ. Pravděodobnost chybného dekódování v tomto říadě je tedy omezena hodnotou P [ ( j {1,..., i 1, i + 1,..., M})(d(C i + Ẽ, C j) ρ) ]. Tato ravděodobnost je ak zjevně shora omezena součtem všech ravděodobností, že k situaci odobné té na obrázku dojde ro každé jedno dané j {1,..., i 1, i + 1,..., M}, tj. součtem P [ d(c i + Ẽ, C j) ρ ]. Z diskuze říadů a) a b) vylývá, že ro to, abychom ravděodobnost chybného dekódování odhadli shora konstantou δ, stačí, abychom v říadě b) dokázali (ro dostatečně velkou délku kódu N a vhodnou volbu čísla η > 0) odhad P [ d(c i + Ẽ, C j) ρ ] < δ. ( )
SHANNONOVY VĚTY A JEJICH DŮKAZ 5 Nezbude, než rovést rovést několik výočtů. Předně můžeme ravděodobnost P [ d(c i + Ẽ, C j) ρ ] rozdělit odle hodnoty, kterou nabude Ẽ: P [ d(c i + Ẽ, C j) ρ ] = P [ d(c i + e, C j ) ρ Ẽ = e] P [ Ẽ = e ] Ze solečného rozdělení C i a C j a jejich nezávislosti na Ẽ ak lyne, že P [ d(c i + e, C j ) ρ Ẽ = e] P [ Ẽ = e ] = P [ d(c i + e, C j ) ρ] P [ Ẽ = e ] = {(c, d) F N FN d(c + e, d) ρ} N ( N 1) P [ Ẽ = e ] Velikost množiny {(c, d) F N FN d(c+e, d) ρ} vyočítáme následovně. Slovo c si můžeme zvolit libovolně z N možností. Slovo d ak musí být různé od c a musí adnout do kombinatorické koule B(c + e, ρ ), máme ( tedy V (N, ρ ) ) 1 různých možností. Zkoumaná množina má roto N V (N, ρ ) 1 rvků a máme: P [ d(c i + Ẽ, C j) ρ ] = {(c, d) F N FN d(c + e, d) ρ} N ( N P [ Ẽ = e ] = 1) N( V (N, ρ ) 1 ) N ( N P [ Ẽ = e ] = N( V (N, ρ ) 1 ) 1) N ( N P [ Ẽ = e ] = 1) N( V (N, ρ ) 1 ) N ( N 1) Jednoduše nahlédneme, že N (V (N, ρ ) 1 ) ( N 1) V (N, ρ ), a tedy latí P [ d(c i + Ẽ, C j) ρ ] (N 1)V (N, ρ ) N ( N 1) = V (N, ρ ) N. Pokud jsme zvolili konstantu η dostatečně malou tak, aby + η < 1, ak ρ = ( + η)n < N. Můžeme tedy velikost V (N, ρ ) kombinatorické koule o oloměru ρ odhadnout omocí lemmatu 63 dříve z řednášky: ρ N H( V (N, ρ ) N ) N H( ρ N ) = N H(+η). Druhá nerovnost oět lyne z toho, že ρ/n < 1 intervalu (0, 1 ) rostoucí. Dohromady ak máme a entroická funkce je na P [ d(c i + Ẽ, C j) ρ ] N H(+η) N = N(H(+η) 1).
6 JAN ŠŤOVÍČEK Nyní se vrátíme k důkazu nerovnosti ( ) na stránce 4. Právě jsme dokázali odhad ro každý člen sumy na levé straně, čili latí: P [ d(c i + Ẽ, C j) ρ ] (M 1) N(H(+η) 1) < M N(H(+η) 1). Počet slov jsme volili tak, aby latily nerovnosti ( ) na straně 3, seciálně tedy aby M < N(1 H() ε ). Po dosazení této nerovnosti do ředchozí dostaneme P [ d(c i + Ẽ, C j) ρ ] N(H(+η) H() ε ). Jelikož H je v bodě sojitá, což se dá vyjádřit tím, že lim η 0 H(+η) = H(), bude ro dostatečně malé kladné číslo η latit H( + η) H() ε < 0. Při volbě vhodného η je tedy P [ d(c i + Ẽ, C j) ρ ] Nγ ro nějaké γ < 0 a ravá strana se s rostoucím N blíží k nule. Seciálně latí ro N dostatečně velké, že P [ d(c i + Ẽ, C j) ρ ] < δ což jsme měli dokázati. Shrňme si tedy dosavadní ostu. Dokázali jsme, že zvolíme-li dostatečně dlouhý kód C o M slovech s hustotou mezi 1 H() ε a 1 H() ε náhodně, ak ravděodobnost srávného dekódování libovolného zvoleného slova C i je větší než 1 δ. Seciálně tedy růměrná ravděodobnost srávného dekódování braná řes všech M kódových slov (tedy vlastně solehlivost dekódování na nejbližší slovo ro náhodný kód) je větší než 1 δ. Protože jsme C volili náhodně s rovnoměrným rozdělením, je tato růměrná ravděodobnost ve skutečnosti růměrem solehlivostí všech ( N )! ( N M)! oslouností (c 1, c,..., c M ), kterých může náhodná veličina C nabývat. Jinak řečeno, růměr solehlivosti dekódování na nejbližší slovo řes všechny možné kódy o M slovech je větší než 1 δ. Musí tedy existovat alesoň jeden konkrétní kód, který má ožadovanou solehlivost dekódování na nejbližší slovo větší než 1 δ, což jsme měli dokázat. 3. Obrácená Shannonova věta Shannonova věta nám říká, že ro řenos řes binární symetrický kanál s chybovostí existují dobré kódy s hustotou menší než informační obsah řijatého bitu I(X, Y ) = 1 H(), ale libovolně blízkou tomuto obsahu. Obrácená Shannonova věta nám říká, že hustotu 1 H() nemůžeme ři volbě dobrých kódů řekročit. Nejdříve si dokážeme jednoduché lemma:
SHANNONOVY VĚTY A JEJICH DŮKAZ 7 Lemma 76. Jsou-li A, B dva jevy takové, že A nastává s ravděodobností a a B nastává s ravděodobností b, ak A B nastává s ravděodobností alesoň a + b 1. Důkaz. Označme x = P [A B]. Pak a x = P [A \ B] P [nenastane B] = 1 b. Odtud x a + b 1. Nyní formulujeme a dokážeme slíbenou větu. Na rozdíl od Věty 74, kde stačilo uvažovat dekódování na nejbližší slovo, nás v následujícím říadě od šatné solehlivosti nezachrání ani seberoracovanější metoda dekódování. Věta 77 (Obrácená Shannonova věta). At δ > 0 a (0, 1 ) jsou reálná čísla a uvažujme binární symetrický kanál s chybovostí. Pak ro každé R > 1 H() existuje řirozené číslo N 0 takové, že každý binární kód délky N N 0 s hustotou alesoň R má solehlivost nejvýše δ. Důkaz. Pro dané ro sor ředokládejme oak. Tedy že existují δ > 0 a R > 1 H(), ro které není délka kódů C s hustotou alesoň R a solehlivostí větší než δ omezena žádným N 0. Uvažujme jeden takový kód C, jehož délku N uřesníme ozději, solu s nějakým dekódováním D : F N C solehlivosti alesoň δ. At ε > 0 je kladná reálná konstanta, jejíž hodnotu uřesníme dále. Zatím ožadujeme ouze, aby ε <. Zvolme náhodně s rovnoměrným rozdělením a nezávisle na šumu kanálu E slovo w C. Pošleme-li toto slovo o kanále, řijmeme slovo v = w + Ẽ, kde Ẽ = (E 1, E,..., E N ). Podle lemmatu 76 můžeme odhadnout P [ v D 1 (w) & d(w, v) N < εn ] P [ v D 1 (w) ] + P [ d(w, v) N < εn ] 1. První ravděodobnost v součtu je ravděodobnost, že slovo v bude omocí D srávně dekódováno zět na w. Jedná se tedy o solehlivost dekódování D a odle ředokladu je roto P [ v D 1 (w) ] > δ. Podle věty 75 je ro dostatečně velké N druhá ravděodobnost v součtu větší než 1 δ/. Dohromady roto P [ v D 1 (w) & d(w, v) N < εn ] > δ + (1 δ ) 1 = δ. ( ) Nyní odhadneme oslední ravděodobnost jinak. Zvolme evné w C a očítejme ravděodobnost jevu {v D 1 (w) & d(w, v) N < εn} za ředokladu, že bylo odesláno toto konkrétní w. Dostaneme: P [ v D 1 (w) & d(w, v) N < εn odesláno w ] = v M w P [Ẽ = w v], kde množina M w je definována jako M w = { v F N v D 1 (w) & d(w, v) N < εn }.
8 JAN ŠŤOVÍČEK ( ) Tvrdíme, že ro v M w latí P [Ẽ = w v] 1 εn. NH() Všimněme si, že okud toto tvrzení dokážeme, ak automaticky P [ v D 1 (w) & d(w, v) N < εn odesláno w ] M w NH() ( 1 ) εn. Tvrzení nahlédneme následovně. Slovo w v je v P [Ẽ = w v] evně zvolené, a rotože chyby v jednotlivých bitech nastávají nezávisle na sobě s ravděodobností, latí P [Ẽ = w v] = d(w,v) (1 ) N d(w,v). Jelikož máme ro v M w nerovnost d(w, v) ( ε)n a funkce t (1 ) N t je ro t (0, N) klesající, je ( ) 1 εn P [Ẽ = w v] ( ε)n (1 ) N ( ε)n = N (1 ) (1 )N. Z definice H() římo lyne, že N (1 ) (1 )N = NH(), čímž je tvrzení dokázáno. Volíme-li nyní w C oět náhodně, máme s výše vyočítaným odhad: P [ v D 1 (w) & d(w, v) N < εn ] = P [ v D 1 (w) & d(w, v) N < εn odesláno w ] P [ odesláno w ] = w C 1 C w C P [ v D 1 (w) & d(w, v) N < εn odesláno w ] 1 C NH() ( ) 1 εn M w. Protože jsou ro různá w C množiny D 1 (w), a tedy i množiny M w, disjunktní, latí w C M w N. Dostaneme roto P [ v D 1 (w) & d(w, v) N < εn ] 1 ( ) 1 εn C N(1 H()). w C Podle ředokladu je hustota kódu C alesoň R, tj. C RN a máme P [ v D 1 (w) & d(w, v) N < εn ] ( ) 1 εn N(1 H() R). Kombinujeme-li oslední nerovnost s nerovností ( ) na straně 7, dostaneme ( ) δ 1 εn < N(1 H() R). Po zlogaritmování a vydělení délkou N má tato nerovnost tvar: 0 < 1 H() R + ε log 1 1 N log Tato nerovnost má latit ro libovolně velké délky kódů N a ro libovolně malé hodnoty ε. Ukážeme, že to není možné. Z ředokladu totiž R > δ.
SHANNONOVY VĚTY A JEJICH DŮKAZ 9 1 H(), čili 1 H() R je záorné číslo. Vhodnou volbou ε a N můžeme docílit toho, že součet 1 ε log 1 N log δ má libovolně malou absolutní hodnotu. Seciálně je tedy ro dostatečně velké N a dostatečně malé ε hodnota výrazu 1 1 H() R + ε log 1 N log δ záorná, což je hledaný sor.