Satunnaisalgoritmit. kevät 2009 Jyrki Kivinen

Samankaltaiset tiedostot
Satunnaisalgoritmit

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Momenttiemäfunktio ja karakteristinen funktio

Johdatus todennäköisyyslaskentaan Momenttiemäfunktio ja karakteristinen funktio. TKK (c) Ilkka Mellin (2005) 1

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on

4.0.2 Kuinka hyvä ennuste on?

Sovellettu todennäköisyyslaskenta B

x 4 e 2x dx Γ(r) = x r 1 e x dx (1)

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

HY, MTL / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIb, syksy 2017 Harjoitus 1 Ratkaisuehdotuksia

Epäyhtälöt ovat yksi matemaatikon voimakkaimmista

(b) Tarkista integroimalla, että kyseessä on todella tiheysfunktio.

Todennäköisyyslaskun kertaus. Vilkkumaa / Kuusinen 1

1. Kuusisivuista noppaa heitetään, kunnes saadaan silmäluku 5 tai 6. Olkoon X niiden heittojen lukumäärä, joilla tuli 1, 2, 3 tai 4.

Odotusarvo. Odotusarvon ominaisuuksia Satunnaismuuttujien ominaisuuksia 61

30A02000 Tilastotieteen perusteet

k S P[ X µ kσ] 1 k 2.

7. Satunnaisalgoritmit (randomized algorithms)

Inversio-ongelmien laskennallinen peruskurssi Luento 7

4. laskuharjoituskierros, vko 7, ratkaisut

Sovellettu todennäköisyyslaskenta B

Todennäköisyyslaskun kertaus. Heliövaara 1

Johdatus todennäköisyyslaskentaan Kokonaistodennäköisyys ja Bayesin kaava. TKK (c) Ilkka Mellin (2005) 1

Väliestimointi (jatkoa) Heliövaara 1

Sovellettu todennäköisyyslaskenta B

D ( ) E( ) E( ) 2.917

Ilkka Mellin Todennäköisyyslaskenta. Osa 3: Todennäköisyysjakaumia. Diskreettejä jakaumia. TKK (c) Ilkka Mellin (2007) 1

Sovellettu todennäköisyyslaskenta B

Gripenberg. MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi Tentti ja välikoeuusinta

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Lisää Diskreettejä jakaumia Lisää Jatkuvia jakaumia Normaalijakaumasta johdettuja jakaumia

Sovellettu todennäköisyyslaskenta B

Tutkimustiedonhallinnan peruskurssi

Sovellettu todennäköisyyslaskenta B

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Johdatus todennäköisyyslaskentaan Diskreettejä jakaumia. TKK (c) Ilkka Mellin (2005) 1

Sovellettu todennäköisyyslaskenta B

Osa 1: Todennäköisyys ja sen laskusäännöt. Kokonaistodennäköisyyden ja Bayesin kaavat

Otosavaruus ja todennäköisyys Otosavaruus Ë on joukko, jonka alkiot ovat kokeen tulokset Tapahtuma on otosavaruuden osajoukko

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

TODENNÄKÖISYYSLASKUN KERTAUS Peruskäsitteitä

Testit laatueroasteikollisille muuttujille

Tilastomatematiikka Kevät 2008

Sovellettu todennäköisyyslaskenta B

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Johdatus tn-laskentaan torstai

HY / Matematiikan ja tilastotieteen laitos Tilastollinen päättely II, kevät 2017 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I

4. Todennäköisyyslaskennan kertausta

Satunnaismuuttujien muunnokset ja niiden jakaumat

Todennäköisyyden ominaisuuksia

Moniulotteisia todennäköisyysjakaumia

Todennäköisyyslaskenta IIa, syyslokakuu 2019 / Hytönen 2. laskuharjoitus, ratkaisuehdotukset

Formalisoidaan hieman täsmällisemmin, millaisia suoritustakuita satunnaisalgoritmeilta voidaan vaatia.

P (X B) = f X (x)dx. xf X (x)dx. g(x)f X (x)dx.

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Tilastollinen päättely II, kevät 2017 Harjoitus 1A

Todennäköisyyslaskenta IIa, syys lokakuu 2019 / Hytönen 3. laskuharjoitus, ratkaisuehdotukset

Testejä suhdeasteikollisille muuttujille

Johdatus tilastotieteeseen Testit laatueroasteikollisille muuttujille. TKK (c) Ilkka Mellin (2004) 1

1. Jatketaan luentojen esimerkkiä 8.3. Oletetaan kuten esimerkissä X Y Bin(Y, θ) Y Poi(λ) λ y. f X (x) (λθ)x

Harjoitus 2: Matlab - Statistical Toolbox

1 Määrittelyjä ja aputuloksia

Osa 1: Todennäköisyys ja sen laskusäännöt. Todennäköisyyden aksioomat

3.7 Todennäköisyysjakaumia

Matematiikan tukikurssi, kurssikerta 2

6. laskuharjoitusten vastaukset (viikot 10 11)

Tilastollinen aineisto Luottamusväli

Sovellettu todennäköisyyslaskenta B

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

Varma tapahtuma, Yhdiste, Yhdistetty tapahtuma, Yhteenlaskusääntö

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Matematiikan tukikurssi

Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia. TKK (c) Ilkka Mellin (2005) 1

isomeerejä yhteensä yhdeksän kappaletta.

Miten hyvin mallit kuvaavat todellisuutta? Tarvitaan havaintoja.

Johdatus todennäköisyyslaskentaan Todennäköisyyden aksioomat. TKK (c) Ilkka Mellin (2005) 1

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

Cantorin joukon suoristuvuus tasossa

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

7.4 Sormenjälkitekniikka

Satunnaismuuttujat ja todennäköisyysjakaumat Kertymäfunktio

Täydellisyysaksiooman kertaus

Sovellettu todennäköisyyslaskenta B

Osa 2: Otokset, otosjakaumat ja estimointi

Mat Sovellettu todennäköisyyslasku A

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

031021P Tilastomatematiikka (5 op) viikko 3

1 Lineaariavaruus eli Vektoriavaruus

1 sup- ja inf-esimerkkejä

2. Jatkoa HT 4.5:teen ja edelliseen tehtavään: Määrää X:n kertymäfunktio F (x) ja laske sen avulla todennäköisyydet

5/11 6/11 Vaihe 1. 6/10 4/10 6/10 4/10 Vaihe 2. 5/11 6/11 4/11 7/11 6/11 5/11 5/11 6/11 Vaihe 3

Johdatus todennäköisyyslaskentaan Satunnaismuuttujien muunnokset ja niiden jakaumat. TKK (c) Ilkka Mellin (2004) 1

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Analyysi III. Jari Taskinen. 28. syyskuuta Luku 1

3.6 Su-estimaattorien asymptotiikka

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

Transkriptio:

582421 Satunnaisalgoritmit kevät 2009 Jyrki Kivinen 1

Kurssin asema opetuksessa laajuus 8 op kelpaa syventäviin opintoihin algoritmien ja koneoppimisen (ja vanhalla algoritmien) erikoistumislinjalla. esitietoina perustiedot todennäköisyyslaskennasta sekä algoritmien suunnittelusta ja analyysista aiheena todennäköisyyslaskennan soveltaminen algoritmien suunnittelussa ja analyysissa todennäköisyyslaskennan sovelluksia koneoppimiseen käsitellään lukuisilla muilla erikoistumislinjan kursseilla (Johdatus koneoppimiseen, Todennäköisyysmallit, Unsupervised Machine Learning jne.) todennäköisyyslaskennan teoriaa käsitellään matematiikan kursseilla todennäköisyyslaskennan kannalta soveltavaa, tietojenkäsittetieteen kannalta teoreettista (asymptoottista analyysia jne.) 2

Kurssin suorittaminen ja arvostelu Maksimipistemäärä 60 pistettä: kaksi kurssikoetta 24 + 24 = 48 pistettä laskuharjoitukset 12 pistettä Läpipääsyraja noin 30 pistettä, arvosanan 5/5 raja noin 50 pistettä. Laskuharjoitukset alkavat toisella luentoviikolla. Harjoitustehtävien ratkaisut palautetaan kirjallisesti ennen laskuharjoitustilaisuutta. Menettelyn yksityiskohdat ja määräajat ilmoitetaan kurssin verkkosivulla. Kunkin tehtävän ratkaisu arvostellaan asteikolla 0 3: 1 jotain järkevää yritystä 2 oikeansuuntainen melko pitkälle viety yritys 3 silmämääräisesti suunnilleen oikea ratkaisu Laskuharjoitustehtävien kokonaispisteet skaalataan kurssipisteiksi seuraavasti: 0 % maksimipisteistä antaa 0 pistettä 80 % (tai yli) maksimipisteistä antaa 12 pistettä interpoloidaan lineaarisesti 3

Oppimateriaali Opiskelijoilla oletetaan olevan käytössään kurssikirja M. Mitzenmacher, E. Upfal: Probability and Computing. Viittaukset kurssikirjaan näissä muistiinpanoissa on esitetty tyyliin [M&U Thm 3.2]. Luentomateriaali ilmestyy kurssin kotisivulle, mutta ei ole tarkoitettu itseopiskeluun (yksityiskohtia sivuutetaan jne.). Myös laskuharjoitustehtävinä käytetään kirjan harjoitustehtäviä. 4

Miksi satunnaisuutta Satunnaisuus on tärkeä väline luonnonilmiöiden ym. mallintamisessa. Satunnaisuutta tarvitaan algoritmien suunnittelussa ja analyysissa: satunnaisalgoritmit (randomized): algoritmin toiminta samalla syötteellä vaihtelee riippuen algoritmin sisäisestä satunnaisuudesta ( rahanheitoista ) algoritmin toimintaympäristö voi olla satunnainen (keskimääräisen tapauksen (average case) analyysi, tietoliikenne,... ) Todennäköisyyslaskenta on voimakas yleistyökalu kaikkiin tällaisiin tilanteisiin. 5

Satunnaisuuden avulla voidaan saada algoritmi, joka on deterministiseen algoritmiin verrattuna nopeampi tai muistinkulutukseltaan pienempi tai helpompi toteuttaa. Perustekniikoita/tilanteita: satunnaisotanta, Monte Carlo -menetelmät satunnaishaku, simuloitu jäähdytys sormenjälkitekniikat. Tietyissä tilanteissa satunnaisuus on välttämätöntä että saadaan ylipäänsä hyväksyttävä ratkaisu: vastustajan hämääminen (kryptografia, pelit) hajautetut järjestelmät: kuorman tasapainotus, johtajan valinta jne. Satunnaistamalla voidaan vähentää algoritmin herkkyyttä häiriöille : esim. satunnaistettu quicksort, jolla ei ole erityistä pahimman tapauksen syötettä. 6

Tyypillisiä kysymyksiä Yleensä satunnaisalgoritmit antavat jollain todennäköisyydellä väärän vastauksen. jos vastaus on kyllä/ei: mikä on virhetodennäköisyys jos vastaus on numeerinen tms.: mikä on suuren virheen todennäköisyys. Jotkin satunnaisalgoritmit (ns. Las Vegas -algoritmit) antavat aina oikean vastauksen, mutta suoritusaika on satunnainen. Mikä on suoritusajan odotusarvo? Mikä on todennäköisyys, että suoritusaika ylittää tietyn rajan? 7

Kurssin sisältöluonnos 1. Todennäköisyys (kertausta) 2. Diskreetit satunnaismuuttujat (kertausta) 3. Satunnaismuuttujan momentit 4. Chernoffin rajat 5. Pallot ja uurnat 6. Probabilistinen menetelmä 7. Markovin ketjut 8. Jatkuvat satunnaismuuttujat, Poisson-prosessit 9. Monte Carlo -menetelmät 10. (Martingaalit?) 8

1. Todennäköisyys Olkoon Ω mielivaltainen joukko ja F P(Ω) jokin kokoelma sen osajoukkoja. (Tässä P(Ω) on siis joukon Ω potenssijoukko.) Kuvaus Pr: F R on todennäköisyysmitta [M&U Def. 1.2], jos 1. Pr(E) 0 kaikilla E F (positiivisuus), 2. Pr(Ω) = 1 ja 3. jos E 1, E 2, E 3,... on jono erillisiä joukkoja (eli E i E j = kun i j) ja E i F kaikilla i, niin ( ) Pr E i = Pr(E i ) (numeroituva additiivisuus). i=1 i=1 9

Jotta todennäköisyysmitalle juuri asetetut ehdot ylipäänsä olisivat mielekkäitä, sen määrittelyjoukolla F täytyy olla tiettyjä sulkeumaominaisuuksia. Osajoukkokokoelma F P(Ω) on σ-algebra, jos 1. Ω F 2. jos A F niin A F, missä A = Ω A 3. jos jonolla A 1, A 2, A 3,... pätee A i F kaikilla i {1,2,3,... }, niin i=1 A i F. Huom. tässä ei oleteta mitään joukkoperheen { A i i I } yhdisteestä i I A i, jos I on ylinumeroituva. 10

Todennäköisyysavaruus on nyt kolmikko (Ω, F,Pr), missä 1. otosavaruus Ω on mielivaltainen joukko 2. F P(Ω) on σ-algebra perusjoukkona Ω 3. Pr: F R on todennäköisyysmitta. Otosavaruutta kutsutaan myös perusjoukoksi. Perusjoukon Ω osajoukot E Ω ovat tapahtumia ja joukot E F erityisesti alkeistapahtumia eli mitallisia joukkoja. Jos φ on jokin perusjoukon alkioiden ominaisuus, merkitään lyhyesti Pr(φ(x)) = Pr({ x Ω φ(x) }); esim. Pr(g(x) = 3) tarkoittaa todennäköisyyttä Pr({ x Ω g(x) = 3 }). 11

Esimerkki 1.1: Jos Ω on äärellinen, Ω = n N, niin joukon Ω symmetrinen (eli tasainen) todennäköisyysavaruus on kolmikko (Ω, P(Ω), Pr), missä Pr(E) = E /n kaikilla E Ω. Yleisemmin jos todennäköisyysavaruus on muotoa (Ω, P(Ω),Pr), missä Ω on äärellinen tai numeroituvasti ääretön, sitä sanotaan diskreetiksi. Diskretti todennäköisyysavaruus voidaan määritellä antamalla kaikki yksittäisten alkioiden todennäköisyydet Pr({ x }), x Ω. Jatkossa tarvitaan lähinnä diskreettejä tn-avaruuksia. Sen takia jätämme yleensä myös mainitsematta muotoa jos E F olevia oletuksia (joiden pitäisi muutenkin olla yleensä asiayhteydestä selviä). Toisinaan on kuitenkin hyödyllistä tarkastella numeroituvassakin Ω muitakin σ-algebroja kuin P(Ω). 12

Esimerkki 1.2: Olkoon Ω = R ja F suppein σ-algebra, joka sisältää kaikki suljetut välit [a, b], a, b R. Tämän σ-algebran alkioita sanotaan Borel-joukoiksi. Määritellään välin [a, b] todennäköisyydeksi välin [a, b] [0,1] pituus. Muiden Borel-joukkojen todennäköisyydet seuraavat todennäköisyysmitan määritelmästä. Tämä on osavälin [0,1] symmetrinen todennäköisyysmitta. Huom. kaikilla x R pätee Pr({ x }) = 0, joten minkä tahansa numeroituvan joukon todennäköisyys on 0. Tästä ei seuraa mitään ylinumeroituvien joukkojen todennäköisyyksille. Tuntuisi ehkä yksinkertaisemmalta, jos tässä voitaisiin valita F = P(R), eli kaikkien reaalilukujoukkojen todennäköisyydet olisivat määriteltyjä. Tämä ei kuitenkaan ole mahdollista: jos em. funktio Pr yritetään laajentaa koko joukkoon P(R), niin kaikkia todennäköisyysmitan ehtoja ei saada pysymään voimassa. Käytännössä ei juuri ole tarvetta muille kuin Borel-joukoille. 13

Yhdisteen todennäköisyys Määritelmistä seuraa suoraan, että mille tahansa kahdelle alkeistapahtumalle pätee Pr(E F) = Pr(E) + Pr(F) Pr(E F). Samoin mille tahansa numeroituvalle I ja jonolle alkeistapahtumia E i, i I pätee ( ) Pr E i Pr(E i ). i I i I ( union bound ; [M&U Lemma 1.2]). Tämä epäyhtälö on erittäin yleiskäyttöinen, mutta toisinaan turhan löysä. Kun I = n N, niin yhdisteen tarkka todennäköisyys saadaan kaavasta ( ) n Pr E i = ( 1) k+1 Pr E j i I k=1 J I, J =k ( inclusion-exclusion principle ; [M&U Lemma 1.3]). j J 14

Laskemalla edellisen kaavan summaa vain johonkin rajaan k < n saakkaa saadaan vuorotellen ylä- ja alarajoja: Jos l on pariton, niin ( ) Pr E i i I Jos l on parillinen, niin ( ) Pr E i i I (Bonferronin epäyhtälöt). l ( 1) k+1 k=1 l ( 1) k+1 k=1 J I, J =k J I, J =k Pr E j. j J Pr E j j J 15

Riippumattomuus Kaksi alkeistapahtumaa E ja F ovat riippumattomia [M&U Def. 1.3], jos Pr(E F) = Pr(E)Pr(F). Yleisemmin alkeistapahtumat E 1,..., E k ovat riippumattomia, jos kaikilla I {1,..., k } pätee ( ) Pr E i = Pr(E i ). i I i I Alkeistapahtumat E 1,..., E k ovat pareittain riippumattomia, jos kaikilla i j alkeistapahtumat E i ja E j ovat riippumattomia Huom. riippumattomuus on aidosti vahvempi vaatimus kuin pareittainen riippumattomuus. Jos Pr(F) > 0, niin tapahtuman E todennäköisyys ehdolla F on Pr(E F) = Pr(E F). Pr(F) Siis jos Pr(F) > 0, niin E ja F ovat riippumattomia joss Pr(E F) = Pr(E). 16

Kahden todennäköisyysavaruuden (Ω 1, F 1,Pr 1 ) ja (Ω 2, F 2,Pr 2 ) tulo on missä ja (Ω 1, F 1,Pr 1 ) (Ω 2, F 2,Pr 2 ) = (Ω 1 Ω 2, F 1 F 2,Pr 1 Pr 2 ) F 1 F 2 = { E F E F 1, F F 2 } (Pr 1 Pr 2 )(E F) = Pr 1 (E) Pr 2 (F). Tärkeä erikoistapaus on tn-avaruuden n-kertainen tulo itsensä kanssa (Ω, F,Pr) n = (Ω n, F n,pr n ). Jos alkuperainen tn-avaruus esittää jotain satunnaiskoetta, sen n-kertainen tulo itsensä kanssa esittää n riippumatonta toistoa samasta kokesta. Tällöin usein myös tulomitasta Pr n käytetään yksinkertaisesti (ja epätäsmällisesti) merkintää Pr. 17

Esimerkki 1.3: Oletetaan annetuksi kaksi aliohjelmaa F ja G, jotka laskevat kokonaislukufunktiot f ja g. Funktioista f ja g tiedetään vain, että ne ovat korkeintaan d-asteisia polynomeja. Tehtävänä on päätellä, päteekö f = g. Jos f = g, niin f(x) g(x) = 0 kaikilla x. Jos f g, niin f g on korkeintaan d-asteinen polynomi joka ei ole identtisesti nolla, joten f(x) g(x) = 0 pätee korkeintaan d arvolla x N. Erityisesti joukossa {1,..., rd } millä tahansa r N on ainakin (r 1)d alkiota x, joilla f(x) g(x) 0. 18

Saadaan seuraava perusalgoritmi: 1. Valitse satunnainen x {1,..., rd }. 2. Jos f(x) g(x) 0, tulosta eri. 3. Muuten tulosta samat. Edellä olevan perusteella jos f = g, algoritmi tulostaa aina samat ja jos f g, algoritmi tulostaa eri ainakin todennäköisyydellä (r 1)d/(rd) = 1 1/r. Algoritmilla on siis yksipuolinen virhetodennäköisyys korkeintaan 1/r. 19

Tehdään nyt k riippumatonta toistokoetta seuraavasti: 1. Valitse toisistaan riippumatta satunnaiset x 1,..., x k joukosta {1,..., rd }. 2. Jos f(x i ) g(x i ) 0 ainakin yhdellä i, tulosta eri. 3. Muuten tulosta sama. Jos f = g, saadaan taas aina vastaus sama. Jos f g ja vastaus on sama, on k kertaa toisistaan riippumatta sattunut tapahtuma, jonka todennäköisyys on kork. 1/r. Tämän todennäköisyys on siis korkeintaan (1/r) k. Toistokokeita suorittamalla virhetodennäköisyys saadaan siis eksponentiaalista vauhtia kohti nollaa. 20

Kokonaistodennäköisyys [M&U Thm. 1.6] Olkoot E i, i I, numeroituva kokoelma erillisiä tapahtumia s.e. i I E i = Ω. Suoraan määritelmistä saadaan kokonaistodennäköisyydelle kaava Pr(B) = i I Pr(B E i ) = i I Pr(B E i )Pr(E i ). Tätä voidaan soveltaa esim. viivytetyn valinnan tekniikalla: Halutaan osoittaa esim. Pr(x B) ǫ. Jaetaan x sopivalla tavalla kahteen komponenttiin x = (x 1, x 2 ). Ajatellaan, että ensin valitaan x 1, ja vasta myöhemmin x 2. Osoitetaan, että miten tahansa x 1 valitaankin, niin aina todennäköisyys valita x 2 siten, että (x 1, x 2 ) B pätee, on korkeintaan ǫ. Sovelletaan kokonaistodennäköisyyden kaavaa valitsemalla I = komponentin x 1 arvojoukko E i = {(x 1, x 2 ) x 1 = i }. 21

Esimerkki 1.4: [M&U Thm. 1.4] On annettu n n-matriisit A, B ja C. Halutaan tarkistaa, päteekö AB = C, ilman että tarvitsee laskea matriisituloa AB. Menetellään samaan tapaan kuin edellisessä esimerkissä: 1. Valitse satunnainen r {0,1} n. 2. Jos ABr Cr, tulosta erisuuret. 3. Muuten tulosta yhtäsuuret. Olkoon D = AB C. Väitetään, että jos D ei ole nollamatriisi, niin Dr 0 pätee ainakin todennäköisyydellä 1/2. 22

Merkitään D = (d ij ). Oletetaan, että D 0; olkoon d pq 0. Jos Dr = 0, pätee siis erityisesti mistä voidaan ratkaista n d pj r j = 0, j=1 r q = d 1 pq d pj r j. Ajatellaan ensin valituksi r = (r 1,..., r q 1, r q+1,..., r n ) ja tarkastellaan sitten puuttuvan komponentin r q valintaa. Koska vektorin r valinta kiinnittää lausekkeelle d 1 pq j q d pj r j j q jonkin arvon v, niin todennäköisyys tapahtumalle r q = v on korkeintaan 1/2 (koska r q {0,1}). Lykätyn valinnan periaatteella siis nähdään, että Pr(Dr = 0) 1 2. 23

Bayesin sääntö [M&U Thm. 1.7] Edelleen suoraan määritelmistä saadaan Pr(E j B) = Pr(E j B) Pr(B) missä jälleen (E i ) ovat erillisiä. = Pr(B E j)pr(e j ) i Pr(B E i)pr(e i ) Tyypillinen tulkinta on, että kaavan mukaan päivitetään uskomuksia kun on saatu uutta dataa: Tapahtumat E j esittävät erilaisia toisensa poissulkevia hypoteeseja tyyliin E i = teoria numero i on tosi. Tapahtuma B kuvaa jotain havaintoa, mittausdataa tms. Pr(E j ) on a priori -todennäköisyys, joka mittaa uskoamme hypoteesiin E j ennen kuin mitään dataa on havaittu. Pr(B E j ) mittaa, kuinka hyvin hypoteesi E j selittää datan B. Pr(E j B) on a posteriori -todennäköisyys, joka mittaa uskoamme hypoteesiin E j sen jälkeen, kun data B on havaittu. 24

Esimerkki 1.5: On annettu kolme kolikkoa, joista kaksi on tasapainoisia ja yhdellä (emme tiedä millä) kruunan todennäköisyys on 2/3. Laitamme kolikot satunnaiseen järjestykseen ja heitämme niitä. Saamme tulokset (1: kruuna, 2: kruuna, 3: klaava). Millä todennäköisyydellä kolikko 1 on epätasapainoinen? Soveltamalla Bayesin kaavaa saadaan vastaus 2/5. Huom. Kaavan nimittäjä ei riipu hypoteesista E j. Jos halutaan vain verrata eri hypoteesien a posteriori -todennäköisyyksi, voidaan unohtaa vakio Pr(B) ja kirjoittaa Pr(E j B) Pr(B E j )Pr(E j ). Toisaalta monissa koneoppimissovelluksissa nimenomaan tekijän Pr(B) laskeminen on kriittinen laskennallinen ongelma. 25

Satunnainen minimileikkausalgoritmi [M&U luku 1.4] Olkoon G = (V, E) yhtenäinen suuntaamaton moniverkko (multigraph). Tavallisesta verkosta poiketen moniverkossa kahden solmun välillä saa olla useita kaaria. Kaarijoukko C E on (moni)verkon leikkaus, jos (V, E C) ei ole yhtenäinen. Minimileikkaus on pienimmän mahdollisen määrän kaaria sisältävä leikkaus. Kaaren (u, v) kutistaminen korvaa solmut u ja v yhdellä uudella solmulla. Kaari (u, v) (tai kaikki nämä kaaret, jos niitä on useita) poistuvat verkosta. Muut kaaret säilyvät, ja solmuihin u tai v liittyvät kaaret liitetään uuteen niitä korvaavaan solmuun. Jos C on leikkaus alkuperäisessä verkossa ja (u, v) C, niin C on leikkaus myös kutistamisen jälkeen. Toisaalta missään tapauksessa kutistaminen ei tee verkkoon uusia leikkauksia. 26

Tarkastellaan seuraavaa algoritmia: 1. Valitse verkosta jokin kaari (u, v) siten, että kunkin kaaren todennäköisyys tulla valituksi on sama. 2. Kutista kaari (u, v). 3. Jos verkossa on vähintään kolme solmua, palaa kohtaan 1. 4. Muuten tulosta verkossa jäljellä olevat kaaret. Olkoon C jokin minimileikkaus. Edellä esitetystä seuraa, että jos algoritmi ei koskaan valitse joukon C kaarta kutistettavaksi, se tuottaa oikean lopputuloksen. Mikä on tämän suotuisan tapauksen todennäköisyys? 27

Olkoon E i tapahtuma, että iteraatiossa i kutistettava kaari ei ole joukossa C, ja F i = i j=1 E i. Haluamme siis alarajan todennäköisyydelle Pr(F n 2 ), missä n = V. Olkoon k = C minimileikkauksen koko. Tällöin erityisesti jokaisen solmun aste on ainakin k, joten verkossa on vähintään kn/2 kaarta. Siis Pr(E 1 ) = E C E 1 k nk/2 = 1 2 n. Yleisemmin jos vaiheeseen i 1 asti on mennyt hyvin, niin C on edelleen verkon minimileikkaus, koska kutistaminen ei luo uusia leikkauksia. Solmujen määrä on kuitenkin vähentynyt, joten äskeinen argumentti antaa Pr(E i F i 1 ) 1 2 n i + 1. 28

Saadaan Pr(F n 2 ) = Pr(E n 2 F n 3 ) = Pr(E n 2 F n 3 )Pr(F n 3 ) =... = Pr(E n 2 F n 3 )Pr(E n 3 F n 4 )...Pr(E 2 F 1 )Pr(F 1 ) n 2 ( ) 2 1 n i + 1 i=1 ( ) ( ) ( ) ( ) ( ) n 2 n 3 3 2 1 =... n n 1 5 4 3 2 = n(n 1). 29

Joka tapauksessa algoritmi siis tuottaa leikkauksen, ja ainakin todennäköisyydellä 2/(n(n 1)) minimileikkauksen. Toistetaan algoritmia m kertaa ja valitaan saaduista leikkauksista pienin. Todennäköisyys, että ei saatu minimileikkausta, on korkeintaan ( ) m ( 2 1 exp 2m ) n(n 1) n(n 1) missä on arvioitu 1 x e x. Jos valitaan esim. m = n(n 1)ln n, rajaksi virhetodennäköisyydelle tulee 1/n 2. 30

2. Satunnaismuuttujat Olkoon (Ω, F, Pr) todennäköisyysavaruus. Reaaliarvoinen funktio X: Ω R on satunnaismuuttuja, jos { s Ω X(s) a } F kaikilla a R. Satunnaismuuttuja on diskreetti, jos sen arvojoukko on numeroituva. Myöhemmin tarkastelemme myös jatkuvia satunnaismuuttujia, joiden arvoalue on ylinumeroituva. Tässä luvussa kuitenkin oletataan aina, että tarkasteltavat satunnaismuuttujat ovat diskreettejä. Yleensä todennäköisyyttä Pr({ s Ω X(s) = a }) merkitään lyhyesti Pr(X = a) jne. Diskreetin satunnaismuuttujan jakauma (joka sisältää kaiken, mitä satunnaismuuttujasta voisi haluta käytännössä tietää) tulee määrätyksi, kun annetaan luvut Pr(X = a) kaikilla a R. 31

Jono satunnaismuuttujia (X 1,..., X k ) on riippumaton, jos kaikilla I {1,..., k } ja kaikilla x 1,..., x k R pätee Pr( i I (X i = x i )) = i I Pr(X i = x i ). Olkoon V satunnaismuuttujan X arvoalue. Jos summa x V suppenee, niin satunnaismuuttujan odotusarvo on x Pr(X = x) E[X] = x V xpr(x = x). Muuten odotusarvo ei ole määritelty, mitä usein merkitään E[X] =. 32

Odotusarvo on lineaarinen [M&U Thm. 2.1]: kaikilla a, b R ja satunnaismuuttujilla X, Y pätee E[aX + by ] = ae[x] + be[y ]. Lineaarisuus ei suoraan yleisty äärettömiin summauksiin. Milloin pätee [ ] E X i = E[X i ] i=1 on ei-triviaali ongelma. Eräs riittävä ehto on, että kaikki odotusarvot E[ X i ] ovat määriteltyjä ja i=1 E[ X i ] suppenee. i=1 Jos X ja Y ovat riippumattomia, pätee lisäksi E[XY ] = E[X]E[Y ]. 33

Jensenin epäyhtälö [M&U luku 2.1.2] Määritelmistä seuraa suoraan tärkeä perusominaisuus E[X 2 ] (E[X]) 2. (Yhtäsuuruus ei yleensä päde, koska X ei ole riippumaton itsestään.) Tämä on erikoistapaus Jensenin epäyhtälöstä. Funktio f : [a, b] R on konveksi jos kaikilla a x 1, x 2 b ja 0 λ 1. f(λx 1 + (1 λ)x 2 ) λf(x 1 ) + (1 λ)f(x 2 ) Jos f on kahdesti derivoituva, se on konveksi joss f (x) 0 kaikilla x. Lause 3.1 [Jensen]: Jos f on konveksi, niin kaikilla satunnaismuuttujilla X. E[f(X)] f(e[x]) Em. erikoistapaus saadaan valitsemalla f(x) = x 2. 34

Binomijakauma [M&U luku 2.2] Satunnaismuuttuja Y noudattaa Bernoulli-jakaumaa parametrilla p jos Selvästi E[Y ] = p. Pr(Y = 1) = p ja Pr(Y = 0) = 1 p. Satunnaismuuttuja X noudattaa binomijakaumaa parametreilla n ja p, merkitään X Bin(n, p), jos se on n riippumattoman Bernoulli-muuttujan summa: ( n Pr(X = j) = p j) j (1 p) n j, j = 0,..., n. Odotusarvon lineaarisuudesta seuraa E[X] = np. 35

Ehdollinen odotusarvo [M&U luku 2.3] Kun Y ja Z ovat satunnaismuuttujia, Y :n arvojoukko on V, ja z R, merkitään E[Y Z = z] = y V y Pr(Y = y Z = z). Esimerkki 2.2: Olkoot X 1 ja X 2 riippumattomien nopanheittojen tulokset ja X = X 1 + X 2. Tällöin E[X X 1 = 3] = 6 1 2 ja E[X 1 X = 4] = 1 1 3 + 2 1 3 + 3 1 3 = 2. Kaikille satunnaismuuttujille X ja Y pätee E[X] = y V E[X Y = y]pr(y = y) olettaen, että kaikki odotusarvot ovat olemassa. 36

Ehdollinen odotusarvo E[Y Z] on satunnaismuuttuja joka määritellään seuraavasti: Olkoot Y ja Z satunnaismuuttujia otosavaruudessa Ω (eli funktioita Ω R). Nyt E[Y Z]: Ω R on satunnaismuuttuja, jolla kaikilla ω Ω. E[Y Z](ω) = E[Y Z = Z(ω)] Esimerkki 2.3: Olkoon taas X = X 1 + X 2, missä X 1 ja X 2 ovat riippumattomia nopanheittoja. Nyt E[X X 1 ] = X 1 + 3 1 2. Ehdollinen odotusarvo noudattaa tavallisen odotusarvon perusominaisuuksia: E[X 1 + X 2 Z] = E[X 1 Z] + E[X 2 Z] jne. Lisäksi E[Y ] = E[E[Y Z]]. 37

Esimerkki 2.4: Haarautuvat prosessit. Tarkastellaan tilannetta, jossa prosessi suorittaa jotain tiettyä aliohjelmaa. Tämä aliohjelma voi puolestaan luoda uusia samanlaisia prosesseja. Oletetaan, että yhden prosessin elinaikanaan luomien uusien prosessien lukumäärä on Bin(n, p)-jakautunut. Kun lähdetään liikkeelle yhdestä prosessista, niin odotusarvoisesti kuinka monta prosessia kaikkiaan käynnistyy? Olkoon Y i prosessien lukumäärä sukupolvessa i. Siis Y 0 = 1 ja Y 1 Bin(n, p). Kiinnitetään nyt i, ja merkitään sukupolven i prosessin numero k jälkeläisten lukumäärää Z k. Siis Z k Bin(n, p). 38

Tarkastellaan ehdollisia odotusarvoja: E[Y i Y i 1 = y i 1 ] = E = E [ yi 1 k=1 [ yi 1 Z k Y i 1 = y i 1 ] ] Z k k=1 = y i 1 np koska Z k ja Y i 1 ovat riippumattomia. Siis E[Y i Y i 1 ] = npy i 1, joten E[Y i ] = E[E[Y i Y i 1 ]] = E[npY i 1 ] = npe[y i 1 ]. Koska Y 0 = 1, induktiolla saadaan E[Y i ] = (np) i. Prosessien kokonaismäärän odotusarvo on E Y i = (np) i i 0 joka on äärellinen joss np < 1. i 0 39

Geometrinen jakauma [M&U luku 2.4] Satunnaismuuttuja X noudattaa geometrista jakaumaa parametrilla p, merkitään X Geom(p), jos Pr(X = n) = (1 p) n 1 p, n = 1,2,.... Siis X ilmaisee tarvittavien yritysten määrää, että riippumattomassa toistokokeessa saadaan ensimmäinen onnistuminen, kun yksittäisen kokeen onnistumistodennäköisyys on p. Geometrisella jakaumalla on unohdusominaisuus Jakauman odotusarvo on Pr(X = n + k X > k) = Pr(X = n). E[X] = 1 p. Osoitamme tämän kahdella eri tavalla. 40

Tapa 1: Käytetään kaavaa E[X] = Pr(X i), joka pätee olettaen, että X saa vain ei-negatiivisia kokonaislukuarvoja. Kun X Geom(p), niin i=1 Siis Pr(X i) = (1 p) n 1 p = (1 p) i 1. n=i E[X] = (1 p) i 1 = 1 p. i=1 41

Tapa 2: Käytetään unohdusominaisuutta. Olkoon X = min { i Y i = 1 }, missä satunnaismuuttujat Y i, i = 1,2,..., ovat riippumattomia Bernoulli(p)-jakautuneita. Tunnetun perusominaisuuden mukaan E[X] = E[X Y 1 = 0]Pr(Y 1 = 0) + E[X Y 1 = 1]Pr(Y 1 = 1). Nyt Pr(Y 1 = 1) = p, ja X = 1 aina kun Y 1 = 1. Toisaalta Y 1 = 0 tarkoittaa samaa kuin X > 1. Unohdusominaisuuden mukaan eli, kun merkitään Z = X + 1, Pr(X = n + 1 X > 1) = Pr(X = n) Pr(X = m X > 1) = Pr(X = m 1) = Pr(Z = m), m 2. Siis E[X X > 1] = E[Z] = E[X] + 1. Saadaan mistä ratkaistaan E[X] = 1/p. E[X] = (1 p)(e[x] + 1) + p, 42

Esimerkki 2.5: Kortinkerääjän ongelma [M&U luku 2.4.1] Muropakkauksessa on aina yksi keräilykortti. Kortteja on n erilaista. Kuinka monta muropakettia pitää ostaa, että saadaan koko sarja? Olkoon kyseinen satunnaismuuttuja X. Olkoon X i niiden pakkausten määrä, jotka ostettiin sinä aikana, kun tasan i 1 erilaista korttia oli jo löydetty. Siis n X = X i. Kun i 1 korttia on löydetty, todennäköisyys saada uusi kortti seuraavasta pakkauksesta on p i = (n i + 1)/n. Siis X i Geom(p i ). i=1 43

Saadaan E[X] = = = = n n E[X i ] i=1 n i=1 n i=1 1 p i n n i + 1 n 1 j=1 j = nh(n), missä H(n) = n i=1 (1/i). Tunnetusti [M&U Lemma 2.10] nähdään ln n H(n) ln n + 1, E[X] = nln n + Θ(n). 44

Esimerkki 2.6: Pikajärjestäminen (quicksort) [M&U luku 2.5] Tarkastellaan algoritmin satunnaistettua versiota: Quicksort(S[1..n]) Jos n 1, niin palauta S. Valitse satunnainen i {1,..., n }. Olkoon x = S[i]. Jaa S kahteen osalistaan: Listaan L alkiot, jotka ovat pienempiä kuin x. Listaan H alkiot, jotka ovat suurempia kuin x. Palauta [Quicksort(L), x, Quicksort(H)]. Alkiota x sanotaan jakoalkioksi (pivot). Pahin tapaus: jakoalkio aina listan suurin tai pienin alkio. Tarvitaan n(n 1)/2 = Θ(n 2 ) vertailua. 45

Keskimääräinen tapaus: Olkoon X satunnaisen Quicksortin tekemien vertailujen lukumäärä. Olkoot taulukon S luvut suuruusjärjestyksessä y 1,..., y n. Merkitään X ij = 1, jos suorituksen aikana alkioita y i ja y j verrataan, muuten X ij = 0. Koska mitään alkioparia ei verrata kahdesti, niin X = n 1 n i=1 j=i+1 Kiinnitetään i < j. Hetken miettiminen osoittaa, että X ij = 1, jos ja vain jos joko y i tai y j on ensimmäinen joukosta Y ij = { y i, y i+1,..., y j 1, y j } valittu jakoalkio. Koska kaikki jakoalkiot ovat yhtä todennäköisiä, E[X ij ] = Pr(X ij = 1) = X ij. 2 j i + 1. 46

Nyt voidaan laskea E[X] = = = = n 1 n i=1 j=i+1 n 1 i=1 n k=2 n i+1 k=2 n+1 k i=1 2 j i + 1 2 k 2 k n (n + 1 k) 2 k k=2 = (n + 1) n k=2 2 k 2(n 1) = (2n + 2)H(n) 4n. Siis vertailuja tehdään odotusarvoisesti E[X] = 2n ln n + Θ(n). 47

Tarkastellaan vielä yksinkertaista determinististä versiota: jakoalkioksi valitaan aina listan ensimmäinen alkio x = S[1]. Jos nyt oletetaan, että syöte on satunnaisessa järjestyksessä (ja kaikkien järjestysten todennäköisyydet samat) niin algoritmi tekee keskimäärin samat 2n ln n + Θ(n) vertailua kuin edellä. Tämä nähdään kuten yllä. Nyt alkiot y i ja y j tulevat vertailluksi, jos jompi kumpi niistä on syötteessä ennen muita joukon Y ij alkioita. Huom. tässä siis keskiarvo on syötteiden, ei algoritmin satunnaisvalintojen yli. Tämä edellyttää oletusta syötteen jakaumasta. Haluttaessa voidaan tietysti lisätä algoritmiin esiprosessointi, joka sekoittaa listan satunnaisesti. 48

3. Momentit ja poikkeamat Pelkkä odotusarvo ei yleensä ole kovin tyhjentävä kuvaus satunnaismuuttujan jakaumasta. Seuraava askel jakauman kuvaamisessa on tyypillisesti keskihajonnan laskeminen. Hajontalukujen avulla voidaan myös todistaa häntärajoja eli arvioida todennäköisyyttä, että saadaan hyvin suuri (tai pieni) arvo. Nämä ovat etenkin tietojenkäsittelyssä (mutta myös tilastotieteessä) usein juuri ne suureet, joista ollaan ensisijaisesti kiinnostuneita. 49

Yksinkertaisin arviointitekniikka perustuu Markovin epäyhtälöön [M&U Thm. 3.1]: jos X ei saa negatiivisia arvoja, niin Todistus: Pr(X a) E[X] a. E[X] = x xpr(x = x) = x<a xpr(x = x) + x a xpr(x = x) 0 + a x a Pr(X = x) missä summaukset rajoitetaan X:n arvoalueeseen. 50

Esimerkki 3.1: Heitetään symmetristä rahaa n kertaa. Millä todennäköisyydellä tulee ainakin 3n/4 kruunaa? Jos X on kruunien lukumäärä, niin X 0 ja E[X] = n/2. Siis Pr(X 3n/4) n/2 3n/4 = 2 3. Tämä on erittäin karkea arvio, jossa siis ei vielä käytetty lainkaan hyväksi tietoja jakauman hajonnasta. (Jo yksinkertaisella symmetriatarkastelulla näkee, että kyseinen todennäköisyys on alle 1/2.) 51

Momentit ja varianssi [M&U luku 3.2] Satunnaismuuttujan X k:s momentti on E[X k ]. Satunnaismuuttujan X varianssi on ja keskihajonta Var[X] = E[(X E[X]) 2 ] σ[x] = Var[X]. Satunnaismuuttujien X ja Y kovarianssi on Cov(X, Y ) = E[(X E[X])(Y E[Y ])]. Määritelmistä ja odotusarvon lineaarisuudesta seuraa suoraan Var[X] = E[X 2 ] (E[X]) 2 Var[X + Y ] = Var[X] + Var[Y ] + 2Cov[X, Y ]. 52

Jos X ja Y ovat riippumattomia niin E[XY ] = E[X]E[Y ] Cov(X, Y ) = 0 Var[X + Y ] = Var[X] + Var[Y ] Nämä yleistyvät induktiolla useamman satunnaismuuttujan summalle ja tulolle. Esimerkki 3.2: Jos X i Bernoulli(p), niin suoraan laskemalla saadaan Var[X i ] = p(1 p). Siis jos X on n riippumattoman Bernoulli(p)-satunnaismuuttujan summa eli X Bin(n, p), niin Var[X] = np(1 p). 53

Tšebyševin epäyhtälö [M&U luku 3.3] Lause 3.3: Mille tahansa a > 0 pätee Pr( X E[X] a) Var[X] a 2. Todistus: Kirjoitetaan arvioitava todennäköisyys muotoon Pr( X E[X] a) = Pr((X E[X]) 2 a 2 ) ja sovelletaan ei-negatiiviseen satunnaismuuttujaan Y = (X E[X]) 2 Markovin epäyhtälöä: Pr(Y a 2 ) E[Y ] a 2 = Var[X] a 2. 54

Esimerkki 3.4: Tarkastellaan samaa tilannetta kuin Markovin epäyhtälön yhteydessä: Symmetristä rahaa heitetään n kertaa. Millä todennäköisyydellä kruunien lukumäärä X on ainakin 3n/4? Koska X on binomijakautunut, saadaan E[X] = n/2 ja Var[X] = n 1 2 (1 1 ) = n/4. Siis 2 Pr( X n n 2 4 ) Var[X] (n/4) = 4 2 n. Tilanteen symmetrisyyden takia Pr( X n n 2 4 ) = 2Pr(X n 2 n 4 ), joten Pr(X 3n 4 ) 2 n. (Tämäkin on itse asiassa erittäin löysä raja, paljon parempi saadaan pian käyttämällä Chernoffin rajoja.) 55

Esimerkki 3.5: Kortinkerääjän ongelma (jatkoa Esimerkkiin 2.5). Tarvittavien muropakkausten lukumäärän X odotusarvoksi saatiin nh(n). Siis Markovin epäyhtälöstä seuraa Pr(X 2nH(n)) 1 2. Tšebyševin epäyhtälön laskemiseksi tarvitaan varianssi Var[X]. Muistetaan että X = n i=1 X i missä X i Geom(p i ) ja p i = (n i + 1)/n. Satunnaismuuttujan X Geom(p) varianssi on tunnetusti Var[X] = 1 p p 2. Satunnaismuuttujat X i ovat riippumattomia, joten n Var[X] = Var[X i ]. i=1 56

Arvioimalla Var[X i ] 1/p 2 i saadaan n n ( ) 2 n Var[X i ] n 2 n i + 1 i=1 i=1 Siis Tšebyševin epäyhtälöstä seuraa i=1 Pr( X nh(n) nh(n)) π2 n 2 /6 (nh(n)) 2 = O 1 i = π2 n 2 2 6. ( 1 (log n) 2 Tämäkään ei ole kovin tiukka arvio. Todennäköisyys että askeleeseen n(c + ln n) mennessä ei ole löydetty korttia i on ( 1 1 n) n(c+ln n) exp( (c + ln n)). Todennäköisyys että jotakin korttia ei ole löydetty askeleeseen n(c + ln n) mennessä on siis korkeintaan nexp( (c + ln n)) = e c. Sijoittamalla c = ln n saadaan ). Pr(X 2nln n) 1 n. 57

Satunnaistettu mediaanialgoritmi [M&U luku 3.4] Tarkastellaan yksinkertaisuuden vuoksi tapausta, jossa joukossa S on pariton määrä erisuuria lukuja. Joukon S mediaani on siis joukon S järjestyksessä ( n/2 ):s alkio, missä n = S. Mediaani voidaan määrittää yksinkertaisesti järjestämällä joukko ajassa O(nlog n). Ongelmalle tunnetaan myös (monimutkaisehko) ajassa O(n) toimiva deterministinen algoritmi. Seuraavassa esitellään yksinkertainen ajassa O(n) toimiva satunnaisalgoritmi. Ideana on valita sopivalla satunnaismenetelmällä alaraja d S ja yläraja u S siten, että suurella todennäköisyydellä 1. mediaani on lukujen d ja u välissä ja 2. lukujen d ja u välissä on vain vähän joukon S lukuja. 58

Kun sivuutetaan toistaiseksi lukujen d ja u valintaperusteet, saadaan seuraava algoritmi: 1. Valitse d ja u. 2. Muodosta joukko C = { x S d x u } sekä laske l d = { x S x < d } ja l u = { x S u < x }. 3. Jos l d > n/2 tai l u > n/2 niin epäonnistu. 4. Jos C > 4n 3/4 niin epäonnistu. 5. Muuten järjestä joukko C ja palauta sen ( n/2 l d + 1):s alkio. 59

Jos alkioiden d ja u valinta tapahtuu ajassa O(n), niin koko algoritmin aikavaatimus on selvästi O(n). Jos algoritmi ei epäonnistu, se tuottaa selvästi oikean vastauksen. Toistamalla sitä kunnes onnistutaan saadaan siis Las Vegas -algoritmi, joka antaa aina oikea lopputuloksen mutta toisinaan vie paljon aikaa. Analyysin mielenkiintoinen kohta on määrätä d ja u siten, että epäonnistumistodennäköisyys on pieni. (Jätetään jatkossa pyöristys merkitsemättä.) 60

Lukujen d ja u valintamenetelmä on seuraava: 1. Valitse (moni)joukko R S poimimalla tasaisesta jakaumasta (takaisinpanolla) n 3/4 alkiota. 2. Järjestä joukko R. 3. Nyt d on järjestyksessä ( 1 2 n3/4 n 1/2 ):s joukon R alkio ja u järjestyksessä ( 1 2 n3/4 + n 1/2 ):s. 61

Intuitiivisesti joukon R mediaani, eli järjestyksessä ( 1 2 n3/4 ):s alkio, on samalla estimaatti koko joukon S mediaanille. Ensimmäinen epäonnistumishaara vastaa tilannetta, jossa tämä estimaatti on mennyt pahasti pieleen. Alkioiden d ja u välillä on 2n 1/2 joukon R alkiota, joten jos otanta on ollut tasaista, niiden välillä on 2n 1/2 (n/n 3/4 ) = 2n 3/4 joukon S alkiota. Toinen epäonnistumishaara vastaa tilannetta, että otos on sattunut epätasaisesti. Luvut n 3/4, n 1/2 jne. määräytyvät siitä, millaisia arvioita otantatarkkuudelle tunnetaan. (Toisin sanoen ne on valittu siten, että seuraavat todistukset menevät läpi.) 62

Analysoidaan nyt epäonnistumistodennäköisyys täsmällisesti. Olkoon m joukon S mediaani ja k = R = n 3/4. Muodostetaan kolme tapahtumaa: E 1 : { r R r m } < k 2 n1/2 E 2 : { r R r m } < k 2 n1/2 E 3 : C > 4k. Tapahtuma E 3 vastaa selvästi toista epäonnistumisehtoa. Tapahtumat E 1 ja E 2 vastaavat tilanteita m < d ja m > u eli yhdessä kattavat ensimmäisen epäonnistumisvaihtoehdon. 63

Todennäköisyyden Pr(E 1 ) arvioimiseksi merkitään Y 1 = { r R r m }. Siis Y 1 = k i=1 X i missä { 1 jos i:s otos on korkeintaan m X i = 0 muuten. Korkeintaan mediaanin kokoisia alkioita joukossa S on (n 1)/2 + 1 kappaletta, joten Y 1 Bin(k, p) missä p = 1/2 + 1/(2n). Siis E[Y 1 ] k/2 ja ( 1 Var[Y 1 ] = k 2 + 1 ) ( 1 2n 2 1 ) < k 2n 4. Sovelletaan Tšebyševin epäyhtälöä: Pr(E 1 ) Pr( Y 1 E[Y 1 ] > n 1/2 ) Var[Y 1] n 1 4 n 1/4. 64

Samoin nähdään Pr(E 2 ) 1 4 n 1/4. Tapahtumaa E 3 varten erotellaan kaksi osatapausta: E 3,1 : { c C c > m } 2k E 3,2 : { c C c < m } 2k. Jos C > 4k, niin ainakin toinen näistä pätee. Tapaukset ovat symmetriset. Tarkastellaan tapausta E 3,1. Tällöin alkion u järjestysnumero joukossa S on ainakin n/2 + 2k. Siis alkio u ja sitä suuremmat otoksen R alkiot kuuluvat n/2 2k suurimman alkion joukkoon joukossa S. Alkion u määritelmän perusteella näitä on k/2 n 1/2 kappaletta. 65

Merkitään { 1 jos i:s otos kuuluu n/2 2k suurimman alkion joukkoon joukossa S X i = 0 muuten ja X = k i=1 X i. Taas X on binomijakautunut, ja joten Var[X] = k E[X] = k 2 2n1/2 ( ) ( ) 1 1 2 2n 1/4 2 + 2n 1/4 < k 4 Pr(E 3,1 ) Pr( X E[X] n 1/2 ) Var[X] < 1 n 4 n 1/4. Siis kaikkiaan epäonnistumistodennäköisyys on korkeintaan Pr(E 1 ) + Pr(E 2 ) + Pr(E 3,1 ) + Pr(E 3,1 ) < n 1/4. 66

4. Chernoffin rajat Chernoffin raja on yleisnimi joukolle epäyhtälöitä, jotka kertovat satunnaismuuttujan keskittymisestä odotusarvonsa ympärille. Perusesimerkki: Kun X Bin(n, p), niin kaikilla 0 < δ 1 pätee ( ) X np Pr δ exp ( 13 ) np npδ2. Tästä seuraa esim. että todennäköisyydellä 1/2 X np + 3npln2. Tätä rajaa voidaan (a) tarkentaa ja (b) yleistää. Seuraavassa käydään läpi tämäntyyppisiä rajoja, niiden todistuksia ja sovelluksia. 67

Momenttigeneroiva funktio [M&U luku 4.1] Satunnaismuuttujan X momenttigeneroiva funktio on M X (t) = E[e tx ] (mikäli tämä odotusarvo on äärellinen). Derivoimalla momenttigeneroiva funktio origossa n kertaa saadaan satunnaismuuttujan n:s momentti: Lause 4.1: Jos M X (t) on määritelty jossain origon ympäristössä t ( δ, δ), niin E[X n ] = M (n) X (0) kun n = 1,2,.... Todistus: Momenttigeneroiva funktio on siis M X (t) = x Pr(X = x)exp(tx). Annettujen ehtojen vallitessa se voidaan derivoida termeittäin: M (n) X (t) = x Pr(X = x)x n exp(tx). Sijoittamalla t = 0 saadaan väite. 68

Esimerkki 4.2: Kun X Geom(p), niin E[e tx ] = (1 p) k 1 pe tk mistä derivoimalla saadaan M X (t) = M X (t) = = = k=1 p ((1 p)e t ) k 1 p k=1 ( ) p 1 1 p 1 (1 p)e 1 t pe t (1 (1 p)e t ) 2 2p(1 p)e2t (1 (1 p)e t ) + pe t 3 (1 (1 p)e t ) 2. Sijoittamalla t = 0 saadaan tutut tulokset E[X] = 1/p ja E[X 2 ] = (2 p)/p 2. 69

Voidaan osoittaa (mutta tällä kurssilla ei osoiteta), että momenttigeneroiva funktio (tai kaikki momentit) spesifioi todennäköisyysmuuttujan jakauman yksikäsitteisesti: Lause 4.3: Jos X ja Y ovat satunnaismuuttujia, joille jollain δ > 0 pätee M X (t) = M Y (t) kaikilla δ < t < δ, niin satunnaismuuttujilla X ja Y on sama jakauma. Tätä voidaan käyttää esim. kahden satunnaismuuttujan tulon jakauman määrittämiseen yhdessä seuraavan kanssa: Lause 4.4: Jos X ja Y ovat riippumattomia, niin M X+Y (t) = M X (t)m Y (t). Todistus: Tällöin myös e tx ja e ty ovat riippumattomia, joten E[e t(x+y ) ] = E[e tx e ty ] = E[e tx ]E[e ty ]. 70

Chernoffin rajojen johto [M&U luku 4.2.1] Idea on soveltaa Markovin epäyhtälöä satunnaismuuttujaan e tx sopivalla t. Siis Pr(X a) = Pr(e tx e ta ) E[etX ] e ta millä tahansa t > 0, eli erityisesti Pr(X a) min t>0 E[e tx ] e ta. Valitsemalla negatiivinen t epäyhtälön suunta vaihtuu, joten Pr(X a) min t<0 E[e tx ] e ta. Idean soveltamiseen tarvitaan arvio momenttigeneroivalle funktiolle E[e tx ] ja sopiva t:n arvo. Usein esitetään rajoja, joissa t on hieman epäoptimaalinen, jolloin saadaan ymmärrettävämpiä kaavoja. 71

Yleisimmin käytetyssä versiossa X = n i=1 X i, missä X i Bernoulli(p i ) ovat riippumattomia. Satunnaismuuttujia X i sanotaan Poisson-toistokokeiksi. Jos jakaumat ovat identtiset, p i = p kaikilla i, puhutaan Bernoulli-toistokokeista. Merkitään µ = E[X] = n i=1 p i. Yritämme arvioida todennäköisyyksiä Pr(X (1 + δ)µ) ja Pr(X (1 δ)µ). Arvioidaan ensin yksittäisten toistokokeiden momenttigeneroivaa funktiota: M Xi (t) = p i e t 1 + (1 p i )e t 0 = 1 + p i (e t 1) exp(p i (e t 1)), missä on taas sovellettu epäyhtälöä 1 + z e z. Tästä saadaan ( n n ) M X (t) = M Xi (t) exp p i (e t 1) = exp ( (e t 1)µ ). i=1 i=1 Johdamme seuraavaksi erikseen rajat todennäköisyyksille, että X on hyvin suuri tai hyvin pieni. 72

Todistetaan ensin perusraja, joka on (suhteellisen) tiukka mutta hankala. Tästä voidaan sitten johtaa yhsinkertaistettuja (ja löysempiä) versioita. Lause 4.5: Kaikille δ > 0 pätee Pr(X (1 + δ)µ) < ( e δ (1 + δ) 1+δ ) µ. Todistus: Kuten edellä todettiin, kun t > 0, Markovin epäyhtälöstä saadaan Pr(X (1 + δ)µ) = Pr(e tx e t(1+δ)µ ) E[e tx ] exp(t(1 + δ)µ). Valitaan t = ln(1 + δ), jolloin E[e tx ] exp((e t 1)µ) = e δµ ja exp(t(1 + δ)µ) = (1 + δ) (1+δ)µ. 73

Seuraava on usein käytetty yksinkertaistus: Lause 4.6: Kun 0 < δ 1, niin Todistus: Riittää siis osoittaa Pr(X (1 + δ)µ) exp( µδ 2 /3). e δ (1 + δ) 1+δ e δ2 /3 eli yhtäpitävästi (ottamalla logaritmi puolittain) f(δ) 0, missä f(δ) = δ (1 + δ)ln(1 + δ) + 1 3 δ2. 74

Derivoidaan: f(δ) = δ (1 + δ)ln(1 + δ) + 1 3 δ2 f (δ) = ln(1 + δ) + 2 3 δ f (δ) = 1 1 + δ + 2 3. Nyt f (δ) < 0 välillä 0 δ < 1/2, eli f (δ) pienenee. Toisaalta f (δ) > 0 välillä 1/2 < δ < 1, eli f (δ) kasvaa. Koska f (0) = 0 ja f (1) = 2/3 ln2 2/3 0,69 < 0, pätee f (δ) 0 välillä 0 δ 1. Koska f(0) = 0, pätee f(δ) 0 kaikilla 0 < δ < 1. 75

Toinen tapa yksinkertaistaa rajaa on seuraava: Lause 4.7: Kun R 6µ, niin Pr(X R) 2 R. Todistus: Merkitään R = (1 + δ)µ, jolloin δ = R/µ 1 5. Saadaan ( ) e δ µ ( ) (1+δ)µ e (1 + δ) 1+δ 1 + δ ( e R 6) 2 R. 76

Tarkastellaan sitten todennäköisyyttä, että X on hyvin pieni. Lause 4.8: Kaikilla 0 < δ < 1 pätee Pr(X (1 δ)µ) Todistus: Kuten aiemmin, kaikilla t < 0 pätee ( e δ (1 δ) 1 δ ) µ. Pr(X (1 δ)µ) E[etX ] e t(1 δ)µ exp((et 1)µ) exp(t(1 δ)µ). Haluttu arvio saadaan sijoittamalla t = ln(1 δ). 77

Tätä voidaan arvioida kuten toisessakin tapauksessa: Lause 4.9: Kaikilla 0 < δ < 1 pätee Pr(X (1 δ)µ) exp( µδ 2 /2). Todistus: Samalla tekniikalla kuin tapaus (1 + δ), yksityiskohdat sivuutetaan. Arviot voidaan yhdistää: Korollaari 4.10: Kaikilla 0 < δ < 1 pätee Pr( X µ δµ) 2exp( µδ 2 /3). 78

Rahanheitto [M&U luku 4.2.2] Heitetään symmetristä rahaa n kertaa. Siis µ = n/2. Millainen raja pätee todennäköisyydellä 2/n (siis hyvin todennäköisesti)? Halutaan exp( (n/2)δ 2 /3) = 1/n, mistä δ = (6ln n)/n. Sijoittamalla tämä rajaan saadaan ( Pr X n 1 ) 6nln n 2 2 2 n. Siis melko varmasti poikkeamat ovat O( nlog n). Verrataan Tšebyševin epäyhtälöllä saatuun arvioon ( Pr X n 2 n ) 4 4 n. Jos otetaan Chernoff-arvio samalle virheen suuruudelle, saadaan ( Pr X n 2 n ) 2e n/24 4 eli eksponentiaalisesti pienempi virhetodennäköisyys. 79

Sovellus: parametrin estimointi [M&U luku 4.2.3] Suoritetaan riippumattomia toistoja tuntemattomasta (mutta samana pysyvästä) jakaumasta Bernoulli(p). Halutaan arvioida parametria p. Olkoon X = n i=1 X i onnistumisten lukumäärä n toistossa ja p = X/n. Selvästi E[ p] = µ/n = p. Mitä voidaan sanoa virhetodennäköisyyksistä? Väli [ p δ, p + δ] on (1 γ)-luottamusväli parametrille p, jos Pr(p [ p δ, p + δ]) 1 γ. Tulkinta: Nähtyämme koesarjan, jonka onnistumisfrekvenssi on p, meillä on luottamus 1 γ siihen, että oikea parametri p on välillä [ p δ, p + δ]. Jos näin ei olisi, niin havaitunlaisten koesarjojen todennäköisyys olisi alle γ. Huom. p on vakio, sillä ei ole mitään todennäköisyyttä (ellemme sitten oleta jotain priorijakaumaa ja tee bayeslaista analyysia). 80

Jos p [ p δ, p + δ], niin toinen seuraavista on tapahtunut: p < p δ: siis X = n p > n(p + δ) = µ(1 + δ/p). p > p + δ: siis X = n p < n(p δ) = µ(1 δ/p). Chernoffin rajoista saadaan Pr(p [ p δ, p + δ]) e µ(δ/p)2 /2 + e µ(δ/p)2 /3 = e nδ2 /(2p) + e nδ2 /(3p). Koska p ei ole tiedossa, käytetään ylärajaa p 1, jonka perusteella voidaan valita γ = e nδ2 /2 + e nδ2 /3 (tai kääntäen ratkaista tästä δ, kun γ on valittu ja n tunnetaan). 81

Tarkempia rajoja erikoistapauksille [M&U luku 4.3] Tarkastellaan tässä joitain tilanteita, joissa X i on symmetrisesti jakautunut. Lause 4.11: Jos Pr(X i = 1) = Pr(X i = 1) = 1/2, niin kaikilla a > 0 pätee ) Pr(X a) exp ( a2 2n. Todistus: Kaikilla t > 0 pätee E[e tx i ] = 1 2 et + 1 2 e t. Sijoitetaan tähän e t = j=0 t j j!. 82

Siis saadaan E[e tx i ] = 1 2 (1 + t + = 1 + t2 2 + t4 4! +... t 2j = (2j)! j=0 ( ) 1 t 2 j j! 2 j=0 ( ) t 2 = exp. 2 ) t22 t3 + 3! + t4 4! +... + 1 (1 t + 2 ) t22 t3 3! + t4 4!... 83

Siis joten E[e tx ] = n i=1 Pr(X a) E[etX ] e ta Valitsemalla t = a/n saadaan haluttu Pr(X a) exp ( ) E[e tx i t 2 ] exp n, 2 exp ( a2 ( ) t 2 n 2 ta. Korollaari 4.12: Jos Pr(X i = 1) = Pr(X i = 1) = 1/2, niin kaikilla a > 0 ) Pr( X a) 2exp 2n ) ( a2 2n.. 84

Korollaari 4.13: Olkoot Y i riippumattomia ja Pr(Y i = 1) = Pr(Y i = 0) = 1/2. Merkitään Y = n i=1 Y i ja µ = E[Y ] = n/2. Nyt kaikilla a > 0 pätee ) Pr(Y µ + a) exp ( 2a2 n ja kaikilla δ > 0 pätee Pr(Y (1 + δ)µ) exp ( ) δ2 µ. 2 Todistus: Olkoot X i kuten aiemmin ja Y i = 1 2 (X i + 1). Siis erityisesti Y = 1 2 X + µ. 85

Edellisestä lauseesta seuraa ) Pr(Y µ + a) = Pr(X 2a) exp ( 4a2. 2n Toista osaa varten valitaan a = δµ, jolloin ) Pr(Y (1 + δ)µ) = Pr(X 2δµ) exp ( 4δ2 µ 2 = exp 2n Samoin todistetaan ( ) δ2 µ. 2 Korollaari 4.14: Olkoot Y i riippumattomia ja Pr(Y i = 1) = Pr(Y i = 0) = 1/2. Merkitään Y = n i=1 Y i ja µ = E[Y ] = n/2. Nyt kaikilla 0 < a < µ pätee ) Pr(Y µ a) exp ( 2a2 n ja kaikilla δ > 0 pätee Pr(Y (1 δ)µ) exp ( ) δ2 µ. 2 86

Sovellus: joukon tasapainotus [M&U luku 4.4] On annettu m henkilöä ja n ominaisuutta. Tehtävänä on osittaa henkilöt kahteen joukkoon A ja A s.e. kaikilla i = 1,..., n { p A p:llä on ominaisuus i } { p A p:llä on ominaisuus i }. Määritellään taulukko A = (a ij ) {0,1} n m missä a ij = 1 jos henkilöllä j on ominaisuus i. Esitetään ositus (A, A) vektorina b { 1,1} m, missä b j = 1 jos henkilö j on joukossa A. Näillä merkinnöillä tehtävänä on siis minimoida suure missä c i = j a ijb j. Ab = max i c i 87

Miten hyvin onnistutaan, jos b valitaan satunnaisesti s.e. kukin b j on 1 todennäköisyydellä 1/2 toisistaan riippumatta? Väitetään, että Pr( Ab 4mln n) 2 n. Osoitetaan tämä näyttämällä jokaiselle yksittäiselle riville i { 1,..., n } että tapahtuman c i 4mln n todennäköisyys on korkeintaan 2/n 2. Merkitään k = j a ij. Jos k 4mln n, väite on selvä. Muuten a ij b j saa arvoja 1 ja 1 symmetrisesti ja riippumattomasti niillä j, joilla a ij 0. Siis Pr a ij b j > ( 4mln n 2exp 4mln n ) 2 2k n 2 sillä k m. j 88

Esimerkki: pakettien reititys [M&U luku 4.5] Verkossa on N solmua, joista joidenkin välillä on kaari. Kaaret ovat seuraavassa suunnattuja, mutta tarkastelemissamme topologioissa yhteydet ovat symmetrisiä: kaari (v, v ) olemassa joss (v, v) on. Tehtävänä on välittää verkkoa pitkin joukko paketteja, joista jokaisella on annettu alkupiste ja osoite (jotka ovat verkon solmuja). Paketin reitti on sille valittu verkon polku haluttujen solmujen välillä. Yhden aikayksikön aikana kukin paketti voi edetä korkeintaan yhden kaaren verran kutakin kaarta pitkin voidaan lähettää korkeintaan yksi paketti. Solmuissa on riittävästi puskuritilaa paketeille, jotka odottavat tarvitsemansa kaaren vapautumista. 89

Verkon toiminnan määräämiseksi pitää kiinnittää, miten paketin reitti valitaan, kun lähtö- ja maalisolmut on annettu missä järjestyksessä samaa kaarta tarvitsevat paketit pääsevät eteenpäin (jonotus). Tässä esiteltävien tulosten kannalta ei ole tärkeää, miten jonotus hoidetaan, kunhan vain kaarten ei anneta olla joutilaina. Verkon ruuhkautuminen riippuu tietysti siitä, minkä solmujen välillä paketteja lähetetä n. Tarkastelemme seuraavassa tilanteita, joita syntyy permutaatioreitityksestä: jokainen solmu on sekä lähtösolmuna että maalisolmuna tasan yhdelle paketille. 90

Reititys hyperkuutiossa [M&U luku 4.5.1] Reititysongelma on kiinnostava lähinnä, jos verkko on harva (kaaria paljon alle N(N 1)). Tarkastelemme esimerkkitopologiana hyperkuutiota. Tässä N = 2 n, ja samastamme solmut joukon {0,1} n alkioiden kanssa. Hyperkuutiossa solmujen (a 1,..., a n ) ja (b 1,..., b n ) välillä on kaari, jos on tasan yksi indeksi i jolla a i b i. Hyperkuutiossa on siis N log 2 N kaarta, ja verkon halkaisija (pisin kahden solmun etäisyys) on log 2 N. 91

Lähtökohta reititykseen hyperkuutiossa on bitinkorjausalgoritmi. Tarkastellaan pakettia, jonka lähtösolmu on a = (a 1,..., a n ) ja maalisolmu b = (b 1,..., b n ). Kun i = 1,..., n + 1, määritellään v i = (b 1,..., b i 1, a i,..., a n ). Paketin polku kulkee nyt solmujen a = v 1, v 2,..., v n+1 = b kautta. (Kyseisestä solmulistasta saadaan varsinainen polku jättämällä pois toistuvat solmut, joita esiintyy kun a i = b i.) Siis paketin osoite korjataan bitti kerrallaan, vasemmalta alkaen. Bitinkorjausalgoritmi toimii hyvin keskimääräisessä tapauksessa, kun maalisolmut valitaan satunnaisesti. Osoittautuu kuitenkin, että joissain tapauksissa se johtaa ruuhkautumiseen ja vaatii ajan Ω(N 1/2 ). 92

Bitinkorjauksen pahimpien tapausten välttämiseksi tarkastelemme satunnaistettua kaksivaiheista reititystä. Vaihe I: Valitse jokaiselle paketille satunnainen solmu välitavoitteeksi. Reititä paketit välitavoitteisiinsa bitinkorjauksella. Vaihe II: Reititä paketit välitavoitteista lopullisiin tavoitteisiinsa bitinkorjauksella. Osoitamme, että todennäköisyydellä 1 O(N 1 ) kaksivaiheinen reititys onnistuu ajassa O(log N). Koska log 2 N on verkon halkaisija, tämä on (jollain tarkkuudella) optimaalista. 93

Se, milloin jokin paketti ylittää tietyn reitilleen kuuluvan kaaren, riippuu tietysti siitä, missä järjestyksessä jonoja puretaan. Analyysin yksinkertaistamiseksi olkoon T(M) aika, joka paketilta M kuluu maalinsa saavuttamiseen. Jokainen näistä T(M) aika-askelesta kuluu jompaan kumpaan seuraavista: 1. paketti M ylittää jonkin kaaren reitillään tai 2. paketti M odottaa jonossa, kun jokin toinen paketti ylittää sen tarvitsemaa kaarta. Olkoon X(e) niiden pakettien lukumäärä, joiden reittiin kaari e kuuluu. Edellisen perusteella tehdään Havainto: Jos paketin M reitti koostuu kaarista e 1,..., e m, niin T(M) m X(e i ). i=1 94

Edellinen havainto sallii meidän keskittyä polkujen analysoimiseen ja unohtaa jonotuskäyttäytyminen jne. Kun P on polku, joka koostuu kaarista e 1,..., e m, määritellään m T(P) = X(e i ). Edellisen havainnon perusteella minkä tahansa reitityksen viemä aika on korkeintaan max P R T(P), missä R on reititykseen kuuluvien polkujen joukko. Huomaa, että edellinen pätee mihin tahansa reititystilanteeseen. Olkoot erityisesti T 1 ja X 1 suureet T ja X, kun rajoitutaan satunnaisen kaksivaihereitityksen vaiheeseen I. Osoitamme, että suurella todennäköisyydellä T(P) 30n kaikilla mahdollisilla reiteillä P. i=1 95

Kiinnitetään nyt jokin polku P = (v 0,..., v m ), joka on mahdollinen paketin reitti bitinkorjausalgoritmia käytettäessä. Haluamme suurella todennäköisyydellä pätevän rajan summalle T 1 (P) = m i=1 X 1(e i ). Koska satunnaismuuttujat X 1 (e i ) eivät ole riippumattomia, Chernoffin rajoja ei voi suoraan soveltaa. Ongelman ratkaisemiseksi arvioimme ensin todennäköisyyttä, että vähintään 6n eri pakettia ylittää jonkin polun P kaaren. Tämän jälkeen osoitetaan, että suurella todennäköisyydellä mikään yksittäinen paketti ei käytä kovin monta kaarta polulla P. 96

Olkoon v i 1 solmu polulla P, ja j se bitti jonka osalta v i 1 ja v i poikkeavat. Sanomme, että paketti k on aktiivinen solmussa v i 1, jos 1. paketti k kulkee solmun v i 1 kautta ja 2. paketin k tullessa solmuun v i 1 sen bittiä j ei ole vielä korjattu. Kun k = 1,..., N, merkitään H k = 1, jos paketti k on aktiivinen jossain polun P solmussa. Olkoon H = N k=1 H k. 97

Olkoon v i 1 = (b 1,..., b j 1, a j, a j+1,..., a n ) v i = (b 1,..., b j 1, b j, a j+1,..., a n ). Ehdon 2 mukaan solmussa v i 1 aktiivisen paketin lähtösolmu on muotoa (,...,, a j,..., a n ). Siis mahdollisia lähtösolmuja on 2 j 1. Ehdon 1 mukaan solmussa v i 1 aktiivisen paketin maalisolmu on muotoa (b 1,..., b j 1,,..., ). Siis mahdollisen lähtösolmun paketista tulee aktiivinen todennäköisyydellä 2 j+1. Siis solmussa v i 1 aktiivisten pakettien määrän odotusarvo on 1, joten E[H] m 1 n. 98

Koska satunnaismuuttujat H k ovat riippumattomia, voimme soveltaa Chernoffin rajaa (lause 4.7): Pr(H 6n) 2 6n. Valitsemme nyt B = { H 6n } arviossa Siis Pr(A) = Pr(A B)Pr(B) + Pr(A B)Pr(B) Pr(B) + Pr(A B). Pr(T 1 (P)) 30n) 2 6n + Pr(T 1 (P) 30n H < 6n). Arvioidaan seuraavaksi jälkimmäistä ehdollista todennäköisyyttä. 99

Oletetaan, että paketti k on aktiivinen solmussa v i 1. Jotta k todella kulkisi kaarta (v i 1, v i ), sen osoitteessa bitin j on oltava a j. Tämän todennäköisyys on 1/2. Lisäksi edellytetään, että paketin k ei enää tarvitse korjata mitään aiempaa bittiä 1,..., j 1. Siis kaikkiaan solmussa v i 1 aktiivisen paketin todennäköisyys tehdä siirtymä (v i 1, v i ) on korkeintaan 1/2. Yleisemmin, jos paketti on polulla vielä solmussa v l 1, l > i, niin sen todennäköisyys päätyä solmuun v l on korkeintaan 1/2. Toisaalta jos paketti ei solmusta v l 1 mene solmuun v l, se ei myöhemminkään palaa polulle P. Tällöin nimittäin jokin paketin kohdeosoitteen biteistä 1,..., l poikkeaa polun P maalista. Koska bitinkorjausalgoritmi ei enää palaa näihin aiempiin bittehin, reitit jäävät pysyvästi erilleen. 100

Olkoon polun P solmuissa aktiivisia paketteja kaikkiaan h kappaletta. Millä todennäköisyydellä ne yhteensä tekevät ainakin 30n siirtymää polkua P pitkin? Ajatellaan, että yksittäisessä kokeessa jokin aktiivinen paketti on jossain polun P solmussa. Korkeintaan todennäköisyydellä 1/2 tapahtuu onnistuminen: paketti siirtyy eteenpäin polulla P. Ainakin todennäköisyydellä 1/2 tapahtuu epäonnistuminen: paketti poistuu polulta (eikä koskaan palaa). Epäonnistumisen sattuessa siirrymme tarkastelemaan seuraavaa aktiivista pakettia. Siis jokainen onnistuminen tuo yhden lisäsiirtymän, mutta jokainen epäonnistuminen kuluttaa yhden paketin. Jotta saadaan 30n siirtymää, saa 30n + h ensimmäisessä kokeessa tulla korkeintaan h epäonnistumista. 101

Haluttu ehdollinen todennäköisyys Pr(T 1 (P) 30n H 6n) on siis todennäköisyys, että em. toistokokeessa 36n toistolla tulee korkeintaan 6n epäonnistumista. Koska jokaisessa kokeessa onnistumistodennäköisyys on korkeintaan 1/2, on helppo nähdä että Pr(T 1 (P) 30n H 6n) Pr(Z 6n), missä Z Bin(36n,1/2). Soveltamalla Chernoffin rajaa (lause 4.9) saadaan Siis Pr(T 1 (P) 30n H 6n) Pr(Z (1 2/3)18n) exp( 18n(2/3) 2 /2) = e 4n 2 3n 1. Pr(T 1 (P)) 30n) 2 6n + Pr(T 1 (P) 30n H < 6n) 2 3n. 102

Koska mahdollisia polkuja on N 2 = 2 2n, todennäköisyys että T 1 (P) 30n jollekin polulle on korkeintaan 2 2n 2 3n = 2 n. Siis jos vaihetta II ei aloiteta, ennen kuin vaihe I on loppu, niin vaihe I menee todennäköisyydellä 1 O(N 1 ) ajassa O(log N). Vaiheen II analyysi on täysin samanlainen. Polut vain todellisuudessa kuljetaan takaperin. Lopuksi todetaan, että vaihe II voidaan hyvin aloittaa, vaikka vaihe I ei olisi loppunut. Edellinen analyysi on helppo yleistää osoittamaan, että tällöin todennäköisyydellä 1 O(N 1 ) minkään polun kaaria ei käytetä yli 60n kertaa. 103

Reititys perhosverkossa [M&U luku 4.5.2] taso 0 taso 1 taso 2 taso 3 rivi 000 Perhosverkko. Käärityssä verkossa kuva laitetaan rullalle siten, että kunkin rivin alku- ja loppusolmu yhtyvät. rivi 001 rivi 010 rivi 011 rivi 100 rivi 101 rivi 110 rivi 111 104