Ülesanded tõenäosusest (täielik salastus, entroopia mõiste) 9.märts, 2006 Ülesanded Ülesanne. Kujutlege järgmist telemängu, milles on võimalik võita auhind, juhul kui osaleja õigesti ära arvab, millises kolmest (esialgu suletud) kastist auhind asub. Auhind on igas kastis tõenäosusega. Mängu käik on järgmine: Mängija valib ühe kolmest suletud kastist, mis jääb suletuks. Mängujuht avab ühe mittevalitud kastidest, kus auhinda ei ole (vähemalt üks mittevalitud kastidest peab olema tühi, sest auhind on vaid ühes kolmest kastist). Mängujuht annab mängijale võimaluse oma valikut muuta, st otsustada teise suletud kasti kasuks. Koduseid ettevalmistusi tehes vaatlete kolme strateegiat antud mängu mängimiseks: a) alati jääda esialgse valiku juurde, b) alati muuta oma valikut, c) visata münti. Arvutage auhinna saamise tõenäosus kõigi kolme strateegia (a,b,c) korral. Ülesanne 2. Olgu meil järgmine krüptosüsteem, milles avatekst X omandab väärtusi hulgast {x, x 2, x }, võti K väärtusi hulgast {k, k 2, k } ja krüptogramm Y väärtusi hulgast {y, y 2, y, y 4 }. Krüpteerimisreeglid on esitatud järgmise tabelina:
E k k 2 k x y y 2 y x 2 y 2 y 4 y x y y y 4. Eeldame, et võti K ja avatekst X on sõltumatud, kusjuures tõenäosused on järgmised: p(x ) = 0.4, p(x 2 ) = p(x ) = 0., p(k ) = p(k 2 ) = 0. ja p(k ) = 0.4. Leia p(x y 4 ) iga x {x, x 2, x 4 } korral. Üleasnne 2A. Tõesta, et kui võti k on ühtlase jaotusega juhuslik suurus, siis nihkešiffer valemiga y = E k (x) = x + k mod 26 on täielikult salastav, st iga x, y {0,..., 25} korral p(x y) = p(x). Ülesanne. Leia eelmises ülesandes toodud suuruste kontekstis entroopia H[X] ja tingimuslik entroopia H[X Y ]. Ülesanne 4. Leia Huffmani puu ja vastavad koodid järgmisele juhuslikule suurusele X väärtuste hulgaga {x,...,x 7 } ja tõenäosustega p = 0.2, p 2 = 0.08, p = 0., p 4 = 0.7, p 5 = 0.22, p 6 = 0., p 7 = 0.2. Leia keskmine koodi pikkus l ja Shannoni entroopia H[X]. Ülesanne 5. Juhuslik suurus X valitakse ühtlase jaotusega hulgast {, 2,..., 6}. Juhuslik suurus Y arvutatakse juhuslikust suurusest X valemi Y = X 2 mod 7 järgi. Leia juhusliku suuruse Y Shannoni entroopia H[Y ]. Ülesanne 6 (iseseisvaks uurimiseks). Millistel tingimustel langeb Huffmani koodi keskmine pikkus täpselt kokku Shannoni entroopiaga? 2
Lahendused Ülesanne. Olgu E sündmus, et esimesena valitud kastis on auhind ja W olgu sündmus, et mängija võidab auhinna. Selge, et sündmuse E tõenäosus on P[E] =. Strateegia a) korral valikut ei muudeta, mistõttu P[W] = P[E] =. Strateegia b) korral muudetakse valikut alati. Seega, kui esimesena valitud kastis oli auhind, otsustatakse lõpuks tühja kasti kasuks. Kui aga esimesena valitud kastis auhinda ei olnud, on lõpuks valitud kast alati auhinnaga. Seega, P[W] = P[E] = 2. Strateegia c) korral lisandub arutlustesse teine (sõltumatu) juhuslik sündmus mündivise. Tähistame M sündmust, et mündivise soovitab valikut muuta. Eeldatavasti P[M] =. Võita saab kahel (teineteist välistaval) juhul: 2 Esimesel korral valiti auhinnaga kast ja mündivise soovitas valikut mitte muuta. Esimesel korral valiti tühi kast ja mündivise soovitas valikut muuta. Seega, P[W] = P[E] ( P[M]) + ( P[E]) P[M] = 2 + 2 2 = 2. Ülesanne 2. Kasutame valemit p(x y 4 ) = = p(x) p(y 4 ) p(y 4 x) p(x) k {k,k 2,k } p(k) P[E k(x) = y 4 ] k {k,k 2,k } p(x) p(k) P[E k(x) = y 4 ]. x {x,x 2,x } Arvutades saame, et p(y 4 ) = p(x 2 ) p(k 2 )+p(x ) p(k ) = 0. 2 +0. 0.4 = 0.2 ja seega p(x y 4 ) = 0, p(x 2 y 4 ) = 0.2 0.2 0.4286, p(x y 4 ) = 0. 0.4 0.2 0.574. Ülesanne 2A. Kasutades seost p(y) p(x y) = p(y x) p(x) ja valemeid p(y) = x p(x) p(y x) ja p(y x) = k p(k) [E k(x) = y] saame esmalt, et p(y x) =, sest iga paari (x, y) korral leidub parajasti üks võti k nii 26 Siin tähistab [] nn. Iversoni sümbolit, st [E k (x) = y] = {, kui Ek (x) = y; 0, kui E k (x) y.
et E k (x) = y, sest sobivat (ja unikaalset) võtit saab alati arvutada valemi k = y x mod 26 põhjal. Seega ka p(y) = x p(x) p(y x) = 26 x p(x) =, sest 26 x p(x) =. Nüüd saamegi esimesena toodud võrrandist seose p(x y) = p(x). Ülesanne. Kõigepealt arvutame entroopia H[X] = p(x) log 2 p(x) = 0.4 log 2 0.4 0. log 2 0. 0. log 2 0..57 x Tingimusliku entroopia arvutamiseks kasutame definitsiooni: H[X Y ] = p(y) H[X y] = p(y) p(x y) log 2 p(x y). y y Selleks tuleb arvutada tõenäosused p(y) ja p(x y). Saame, p(y ) = p(x, k) [E k (x) = y ] = p(x) p(k) [E k (x) = y ] x,k x,k = p(x ) p(k ) + p(x 2 ) p(k ) + p(x ) p(k 2 ) = 0. 0.4 + 0. 0.4 + 0. 0. = 0. p(y 2 ) = 0.4 0. + 0. 0. = 0.2 p(y ) = 0.4 0.4 + 0. 0. = 0.25 p(y 4 ) = 0.2. Tingimuslike tõenäosuste arvutamisel saame: p(x y) y y 2 y y 4 0. 0.4 0. 0.4 0.4 0.4 x 0.66 0.574 = 0.64 0 0. 0.2 0.25 0. 0.4 0. 0. 0. 0. x 2 0.66 0.4286 0 0.4286 0. 0.2 0.2 0. 0. 0. 0. 0. 0.4 x 0.2727 0 0.6 0.574 0. 0.25 0.2 Arvutame tingimuslikud entroopiad: H[X y ] 2 0.66 log 2 0.66 0.2727 log 2 0.2727 H[X y 2 ] 0.57 H[X y ] 0.9427 H[X y 4 ] 0.57..064 + 0.52.57 Lõpuks arvutame tingimusliku entroopia kui keskväärtuse: H[X Y ] 0..57 + 0.2 0.57 + 0.25 0.9427 + 0.2 0.57 0.97. 4 x
Ülesanne 4. Huffmani puu tuleb järgmine:.0 0.58 0 x..7 x 264 0 0.5 x 264 0 0.2 0.8 0.42 x x 26 x4 x 57 0 0 0.7 0 x 0.2 x x 2 x 6 x 5 x 7 0. 0.08 0. 0.22 0.2 Elementide x,...,x 7 koodid on seega (vastavalt) 000, 000, 00, 0,0, 00, ja. Koodi keskmine pikkus tuleb l = 0.2 + 0.08 4 + 0. + 0.7 + 0.22 2 + 0. 4 + 0.2 2 = 2.76 ja Shannoni entroopia: H[X] = 0.2 log 2 0.2 0.08 log 2 0.08 0. log 2 0. 0.7 log 2 0.7 0.22 log 2 0.22 0. log 2 0. 0.2 log 2 0.2 0.67 + 0.295 + 0.50 + 0.446 + 0.4806 + 0.22 + 0.4644 2.72. Ülesanne 5. Et funktsiooni f(x) = x 2 mod 7 määramispiirkond {,..., 6} on suhteliselt väike, siis arvutame funktsiooni f(x) tabeli: 5
x f(x) 2 4 9 4 6 5 8 6 2 7 5 8 9 0 5 2 2 8 6 4 9 5 4 6. Tabelist on näha, et suurusel Y on kaheksa erinevat võimalikku väärtust: Y = {, 2, 4, 8, 9,, 5, 6}, kusjuures igal väärtusel on täpselt kaks originaali hulgas X = {,..., 6}. Et X on ühtlase jaotusega (s.t. kõik tõenäosused võrdsed 2 ), siis iga y Y tõenäosus on =. Seega, entroopia tuleb: 6 6 8 H[Y ] = 8 8 log 2 8 = log 2 8 =. Ülesanne 6. Olgu X juhuslik suurus tõenäosusjaotusega (p,...,p n ). Olgu (w,...,w n ) mingi prefiksivaba kood, kusjuures i p i log 2 p i = H[X] = l = i p i w i, kus w i tähistab koodsõna w i {0, } pikkust (bittide arvu). Teisendades keskmise koodi pikkuse avaldist järgmisel viisil l = i p i log 2 2 w i = i p i log 2 2 w i, 6
saame järgmise võrduse (mis on ekvivalentne väitega, et koodi keskmine pikkus langeb kokku Shannoni entroopiaga): 0 = l H[X] = i [log 2 p i + log 2 2 w i ] = i p i log 2 p i 2 w i. Et Krafti võrratuse tõttu i 2 w i, siis Kullback-Liebleri võrratusest tulenevalt kehtib viimane võrdus parajasti siis, kui p i = 2 w i () iga i {,..., n} korral. Siit tuleneb, et tõenäosusjaotuse (p,...,p n ) mingi prefiksivaba koodi (w,...,w n ) keskmine pikkus saavutab teoreetilise miinimumi (Shannoni entroopia) parajasti siis, kui p i = 2 w i. Lõpuks jääb üle näidata, et kui tõenäosusjaotuse (p,...,p n ) kõik tõenäosused p i on kahe negatiivsed astmed (st p i = 2 k i ), siis Huffmani algoritm konstrueerib tingimusi () rahuldava prefiksivaba koodi. Olgu p i = 2 k i, kus k... k n. Väite tõestuseks kasutame induktsiooni n järgi. Väide ilmselt kehtib n = korral, sest siis on tõenäosusjaotus triviaalne (p = ). Oletame, et väide kehtib n korral ja vaatleme tõenäosusruumi (p,...,p n ), kus p i = 2 k i. On selge, et k n = k n = max{k,...,k n }, sest vastasel korral ei saa olla i p i =. Seega on ka p n + p n = 2 kn+ kahe negatiivne aste, mistõttu rakendub induktsiooni eeldus. 7