Matematiikka ja teknologia, kevät 2011 Peter Hästö 27. tammikuuta 2011 Matemaattisten tieteiden laitos
Sisältö Kurssi koostuu kuudesta (seitsemästä) toisistaan riippumattomasta luennosta. Aihepiirit ovat: 13.1 Global positioning system (GPS) 20.1 Satunnaislukugeneraattorit 27.1 Google ja PageRank algoritmi 3.2 JPEG kuvanpakkaus 10.2 ei luentoa! 17.2 Geometria arkkitehtuurissa 24.2 ROF kuvan virheenpoisto (3.3 Fraktaalit ja kuvanpakkaus) HUOM! 3.3 on ylimääräinen luento fraktaaleista tässä luennossa ei ole ollenkaan perusosaa, koska aiheen käsittely vaatii enemmän matemaattista pohjaa. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 2 / 21
Hakukoneen tarkoitus Hakukonetta tarvitaan tilanteessa jossa suuresta datamäärästä pitää etsiä tiettyä informaatiopalasta, josta tiedetään jotain. Hakukoneita on monenlaisia; perusjako voidaan tehdä yleisten ja spesifien koneiden välillä. Yleisiä koneita ovat esim. Google, Yahoo, Altavista, spesifejä esim. etuovi sekä Oula. Käyttötarkoituksen lisäksi yleisiä ja spesifejä hakukoneita erottaa usein myös datan laatu. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 3 / 21
Datan laatu Spesifejä datavarastoille pätee yleensä, että data on syötetty standardimuodossa; datan laatu on korkea (vähän puuttuvaa tai virhetietoa); käyttäjien tarpeet ovat pitkälti samanlaiset; datan pysyvyys on korkea; ja datan laadusta vallitsee yhteisymmärrys. Yleisistä, verkkosivujen hakukoneista puuttuvat yllä mainitut ominaisuudet. Esimerkiksi ei ole mielekästä, että verkkosivu voisi itse ilmoittaa oman tärkeytensä! Herää siis kysymys, miten verkosta löytyvä materiaali tulisi arvottaa, niin, että hakijalle voisi esittää ne sivut, jotka ovat hänelle todennäköisimmin hyödyllisiä. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 4 / 21
World wide webin struktuuri www-formaatti ei rajoita (strukturoi) sivujen sisältöä juurikaan. Sivujen sisällä haku perustuukin tekstimassaan ei ole esim. väliä esiintyykö sana kuvanpakkaus sivun ylä- vai alaosassa, taulukossa vai leipätekstissä, jne. Yleiset hakukoneet perustuvat sivujen rankkauksen www-sivujen linkkeihin. Linkit HTML kielessä ovat yhdensuuntaisia, eivätkä vaadi linkattavalta sivulta toimenpiteitä/suostumusta. www-sivut voidaan mallintaa matemaattisesti (suunnattuna) graafina. (HUOM! tässä ei mallinneta internetiä, vaan www-sivujen verkostoa.) Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 5 / 21
www graafina Tässä kuvassa on esitetty pieni suunnattu graafi, joka koostuu viidestä solmusta ja kymmenestä suunnatusta kaaresta. Kuvassa musta piste merkkaa sitä sivua johon linkitetään. Siis esimerkiksi sivulta D on linkki sivulle A, ja sinne on linkki sivulta E. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 6 / 21
Graafin satunnainen surfaaja PageRank algoritmi perustuu satunnaisen web-surffarin mallintamiseen: jos hän on sivulla jossa on N (eri?) linkkiä, niin hän seuraa kutakin todennäköisyydellä 1 N. Jos henkilö käyttäytyy tällä tavoin, niin millä todennäköisyydellä hän on tietyllä sivulla? [Parin ensimmäisen askeleen TN lasku] [simulaatio] Näyttää siltä, että sattumalla ei pitkässä juoksussa ole suurta merkitystä siihen, kuinka paljon aikaa tietyllä sivulla kulutetaan. (Todistetaan luennon toisessa osassa.) Tässä esimerkissä todennäköisyydet lähenevät lukuja 12 41, 16 41, 9 41, 1 41 ja 3 41. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 7 / 21
Rankkaus Kun tiedämme, mikä on todennäköisyys, että satunnaissurffari on tietyllä sivulla, voimme järjestää haetut sivut järjestykseen todennäköisyyden mukaan. Tällä menetelmällä, sivu johon tulee paljon linkkejä korkeasti arvostetuilta sivuilta arvostetaan korkealla: tasapainotilassa voidaan ajatella myös, että jokainen sivu jakaa arvostustaan tasaisesti jokaiselle linkittämälleen sivulla. Tätä järjestelmää ei kuitenkin toimi kovin hyvin vähemmän yhtenäisessä graafissa. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 8 / 21
Ongelmagraafi Miten tässä graafissa jakautuu todennäköisyys? Esimerkissä näemme, että ongelmaksi muodostuu erilliset tai yksisuuntaisesti erilliset osat graafia. Käytännössä www-verkoston osat voivat olla tuhansien sivujen kokoisia, joten niitä ei voi myöskään sivuttaa. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 9 / 21
PageRank ratkaisu Eräs ratkaisu ongelmaan on käyttää satunnaista surfaajaa joka ei aina seuraa linkkejä. Oletetaan päin vastoin, että surfaaja seuraa linkkejä todennäköisyydellä β [0, 1]. Todennäköisyydellä 1 β, surfaaja siirtyykin jollain toisella periaatteella: esimerkiksi voimme olettaa, että siirtyminen jokaiselle www-sivulla on yhtä todennäköistä, ts. käytännössä surfaaja rupeaa tutkailemaan jotain muuta aihetta. Page et al. ehdottavat β = 0, 85. Siirtymisessä voi myös painottaa tiettyjä sivuja toisia enemmän; esimerkiksi maakohtaisia eroja hakutuloksissa voidaan saada aikaiseksi näin. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 10 / 21
Syventävä osa käsitteet Tarvittavat käsitteet (huom! näistä voi kysellä tauon aikana!) todennäköisyys, ehdollinen todennäköisyys; matriisin kertolasku matriisin ominaisarvot, ominaisvektorit vektoriavaruuden kanta Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 11 / 21
Tilan representointi vektorina Tutkiaksemme satunnaisen surffarin liikkeitä, representoimme graafia vektorina niin, että solmua A vastaa ensimmäinen rivi, B toinen rivi, jne. Esim. vektori (0, 0, 1, 0, 0) T tarkoittaa tilannetta, missä surffari on solmussa C. Jos vektorin alkiot ovat reaalilukuja välillä [0, 1] ja niiden summa on 1, voimme tulkita ne todennäköisyyksiksi: esim. (0, 1/2, 0, 0, 1/2) T tarkoittaa, että henkilö on puolessa tapauksista solmussa B, toisessa puolessa solmussa E. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 12 / 21
Tilan muutoksen representointi Jos surffarin olinpaikan todennäköisyydet hetkellä n kertoo vektori p n := (t A, t B, t C, t D, t E ) T, niin mitkä ovat todennäköisyydet seuraavan siirron jälkeen? Merkitään satunnaismuuttujalla X n surffarin paikka ajanhetkellä n. Siis pätee P(X n = A) =: t n A, P(X n = B) =: t n B, jne. Lasketaan seuraavan sijainnin todennäköisyydet ehdollisten todennäköisyyksien avulla: P(X n+1 = A) = P(X n+1 = A X n = A)p(X n = A) +... + P(X n+1 = A X n = E)p(X n = E) = t n AA tn A +... + tn AE tn E, missä t n ij := P(X n+1 = i X n = j), i, j {A, B, C, D, E}. Siis t ij kertoo todennäköisyyden siirtyä solmusta j solmuun i. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 13 / 21
Tilan muutoksen representointi matriisilla Edellä näimme, että t n+1 A = taa n tn A +... + tn AE tn E. Tämän voimme tulkita matriisin ja vektorin tulon ensimmäisenä rivinä; vastaava tulos pätee myös muille riville. Näin saamme siis t n+1 A t n+1 B t n+1 C t n+1 D t n+1 E = taa n tn AB tac n tad n tn AE tba n tn BB tbc n tbd n tn BE tca n tn CB tcc n tcd n tn CE tda n tn DB tn DC tdd n tn DE tea n teb n tec n ted n tn EE t n A t n B t n C t n D t n E. Siirtymämatriisin ensimmäinen sarake kertoo todennäköisyydet siirtyä solmusta A, jne. Satunnaisen surffaajan määritelmän mukaan tämä on tasaisesti jakautunut A:sta lähtevien kaarien välille. Koska A:sta lähtee vain yksi kaari, solmuun C, on ensimmäinen sarake (0, 0, 1, 0, 0) T. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 14 / 21
Siirtymämatriisi Siirtymämatriisin muut sarakkeet saadaan samalla tavalla määrättyä. 1 1 0 2 3 1 0 1 1 1 0 3 0 3 P := 1 1 0 2 0 0 3 1 0 0 0 0 3 1 0 0 3 0 0 Huomaa, että siirtymämatriisi ei riipu ajanhetkestä n. Lisäksi huomataan, että X n+1 riippuu vain muuttujasta X n, eli tulevaisuus riippuu vain nykyhetkestä, ei menneisyydestä. Tällaista prosessia (X n ) n kutsutaan Markovin prosessiksi. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 15 / 21
Matriisiesityksen hyöty Olemme todistaneet, että p n+1 = Pp n. Tämä pätee jokaiselle n, joten p n = Pp n 1 = P(Pp n 2 ) =... = P n p 0, eli voimme lausua hetken n tilan yksinkertaisesti alkutilan avulla. Matriisin potenssin voimme laskea melko tehokkaasti: peräkkäisillä neliöimisillä saamme P 2, P 4, P 8, jne.: Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 16 / 21
P 8 = P 16 = P 32 = 0.2654 0.3130 0.2941 0.3230 0.2790 0.4204 0.3600 0.4087 0.3724 0.3815 0.2167 0.2325 0.1914 0.2006 0.2519 0.0305 0.0223 0.0176 0.0123 0.0353 0.0669 0.0722 0.0881 0.0916 0.0523 0.2943 0.2915 0.2926 0.2908 0.2935 0.3884 0.3921 0.3892 0.3914 0.3907 0.2197 0.2187 0.2212 0.2206 0.2176 0.0240 0.0245 0.0248 0.0251 0.0237 0.0735 0.0732 0.0723 0.0721 0.0744 0.2927 0.2927 0.2927 0.2927 0.2927 0.3902 0.3903 0.3902 0.3902 0.3902 0.2195 0.2195 0.2195 0.2195 0.2195 0.0244 0.0244 0.0244 0.0244 0.0244 0.0732 0.0732 0.0732 0.0732 0.0732 Laskujen perusteella näyttää siltä, että P n saattaisi supeta kun n. Tästä seuraisi, että myös p n suppenisi, mihin aikaisempi simulaatiokin viittasi. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 17 / 21
Siirtymämatriisin ominaisuuksia Siirtymämatriisin ominaisuus on, että jokaisen sarakkeen alkioiden summa on yksi, lisäksi kaikki alkiot ovat ei-negatiivisia. Lemma Siirtymämatriisilla on ainakin yksi ominaisarvo 1. Todistus. Matriisilla ja sen transpoosilla on samat ominaisarvot; siirtymämatriisin transpoosilla on ominaisvektori (1,..., 1) T ominaisarvolla 1. Yhdistämällä em. lemma ja Frobeniuksen lause saamme: Lemma Siirtymämatriisin jokaiselle ominaisarvolle λ pätee λ 1. Lisäksi ominaisarvoa λ = 1 vastaa ominaisvektori jolla on ei negatiiviset alkiot. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 18 / 21
Lisäoletuksia Teemme nyt eräitä lisäoletuksia matriisista: 1. Oletetaan, että täsmälleen yksi ominaisvektori vastaa ominaisarvoa 1, eikä muita ominaisarvoja λ = 1 ole; 2. Oletetaan, että ominaisvektorit muodostavat avaruuden kannan, eli, että matriisi on diagonalisoituva. Olkoon ominaisvektorit ja -arvot v 1,..., v k ja λ 1,..., λ k, missä λ 1 = 1. Oletuksista seuraa, että λ j < 1 muilla indekseillä. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 19 / 21
Suppeneminen Koska (v j ) on kanta, voimme kirjoittaa p 0 = a 1 v 1 +... + a k v k. Ominaisvektorin ja -arvon määritelmän nojalla p 1 = Pp 0 = a 1 Pv 1 +... + a k Pv k = λ 1 a 1 v 1 +... + λ k a k v k. Iteroimalla saamme p n = λ n 1a 1 v 1 +... + λ n k a kv k. Koska λ 1 = 1 ja λ j < 1 muuten, näemme, että p n a 1 v 1 kun n. Tämä raja-arvohan oli perustana PageRank algoritmin sivujen rankkauksessa, eli toisin sanoen algoritmi perustuu siihen, että löydetään siirtymämatriisin ominaisarvoa 1 vastaava ominaisvektori. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 20 / 21
Käytännön vaikeuksia Vaikka rankkausongelma on periaatteessa redusoitu yksinkertaiseen ominaisvektoriongelmaksi, muodostuu matriisin koosta käytännön ongelmia. Internetissä on suuruusluokkaa 10 10 www-sivua, joten kyseessä on 10 10 10 10 matriisi. Se miten ominaisarvo-ongelma ratkaistaan Googlessa ei ole julkista. Todennäköisesti ratkaisu perustuu ainakin osittain siihen, että matriisissa on erittäin suuria osia joissa on pelkkiä nollia. Peter Hästö Matemaattisten tieteiden laitos 27. tammikuuta 2011 21 / 21