Matematiikka ja teknologia, kevät 2011 Peter Hästö 20. tammikuuta 2011 Matemaattisten tieteiden laitos
Matematiikka & teknologia [Sarjakuva] Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 2 / 20
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 20. tammikuuta 2011 3 / 20
Satunnaisuus Satunnaisprosesseja, kuten nopan tai kolikon heiton tulosta, tutkitaan todennäköisyyslaskennassa. Todennäköisyyslaskennan alkuperä on juuri sattumaa sisältävien uhkapelien tutkimisessa. Tilastotiede on TN laskennan komplementti sikäli, että siinä pyritään selvittämään johtuuko tietyt havainnot sattumasta, vai jostain systemaattisesta syystä. Satunnaisprosesseja voidaan käyttää simulaatioissa luomaan tilastollisia testejä... Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 4 / 20
Varhainen esimerkki simulaatiosta W. S. Gossett, t-testin luoja/keksijä, käytti alkeellista simulaatiokeinoa 1900-luvun alkupuolella apuna testinsä analyyttisessä johtamisessa. (Testiä käytetään selvittämään, eroavatko kahden normaalijakautuneen populaation otosten keskiarvot toisistaan.) Gossettilla oli käytössään tiedot 3000 vangin pituuksista ja vasemman keskisormen pituuksista, jotka oli kirjoitettu pahvilapuille. Hän sekoitti ne ja valitsi neljän kortin kokoelmia. Näin hän sai 750 mahdollista keskiarvon arvoa. 180 180 160 160 140 140 120 120 100 100 80 80 60 60 40 40 20 20 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 5 / 20
Muutama muu sovellus Operaatioanalyysi/logistiikka, esim. jonotusaikojen arviointi ja optimointi. Verkostoanalyysi, esim. hakukoneet (ensi viikon luento). Monimutkaiset tilastolliset testit, esim. osittaisen struktuurin vaikutus faktorianalyysissä. Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 6 / 20
Miten satunnaislukuja tuotetaan tietokoneen avulla? Fysikaalisten (oletettavasti) satunnaisten ilmiöiden käyttö satunnaisuuden generoinnissa ei ole isossa skaalassa käytännöllistä. Viimeisen 70 vuoden aikana onkin kehittynyt useita tapoja tuottaa ns. pseudosatunnaislukuja ( näennäissatunnaislukuja ). Pseudosatunnaisluku jono on deterministinen jono, joka näyttää satunnaiselta. Esim. mikä on seuraava luku jonossa 13, 8, 1, 2, 11, 14, 7, 12, 13, 12, 17, 2, 11, 10, 3,...? Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 7 / 20
Anekdootti deterministisyydestä Vuonna 1994 mies pidätettiin epäiltynä kasinohuijauksesta hänen voitettua kolme peräkkäistä kenon päävoittoa Yhdysvaltalaisessa kasinossa. (Kenossa valitaan 12 lukua väliltä 1 ja 80, voittonumeroita on yhteensä 20.) Tutkimus kuitenkin osoitti miehen syyttömäksi hän oli vain havainnut, että kasinossa toistuivat samat numerot päivästä toiseen, jonka jälkeen voittaminen olikin helppoa. Ongelma johtui siitä, että pelissä käytetty pseudosatunnaislukugeneraattori alustettiin (virheellisesti) samalla tavalla joka päivä, jolloin numerot määräytyivät, deterministisesti, samalla tavalla joka päivä! Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 8 / 20
Mistä pseudosatunnaisluvut tulevat? Yksinkertainen tapa on käyttää lineaarista kongruenssia: x n = a x n 1 mod p, missä a on annettu vakio, p on alkuluku, ja mod p viittaa laskutoimituksiin kunnassa Z p. [Selitys laskusta modulo p] Luku a valitaan niin, että a k 1 kun k < p 1. (Välttämättä a p 1 = 1.) Tällaista lukua sanotaan kunnan primitiivijuureksi. Luvun a valinnasta seuraa, että x n = x k vain jos n k on luvun p monikerta, eli toisin sanoen jono (x k ) on periodinen maksimaalisella periodilla p 1. Tavallinen valinta on p = 2 31 1 ja a = 16 807. Lineaarinen kongruenssi ei kuitenkaan ole kaikilta osin hyvä tapa generoida pseudosatunnaislukuja. Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 9 / 20
Esimerkki lineaarisesta kongruenssista Valitaan p = 151 ja a = 30. Lähdetään liikkeelle luvusta x 0 = 1. Nyt (x n ) käy läpi kaikki luvut välillä 1 ja 150, alkaen 1, 30, 145, 122, 36, 23, 86, 13, 88, 73, 76, 15, 148. Yksittäisten numeroiden osalta jono on siis jossain mielessä hyvä (vaikkakin oikeasti liian tasainen (p = 2 10 64 ). Tämä ei kuitenkaan aina riitä. Jos esimerkiksi haluamme käyttää jonoa pisteiden muodostamiseen tasossa asettamalla x = x n ja y = x n+1 niin on tärkeätä myös, että jonon parit ovat satunnaisominaisuuksiltaan hyviä. [näytä esimerkkiohjelma rng.exe] Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 10 / 20
Esimerkki lineaarisesta kongruenssista 150 100 50 0 0 50 100 150 Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 11 / 20
April 2005 they pass the battery of tests. There is no doubt, however, that there will be another standard in the future to replace the NIST suite, just as Diehard replaced Knuth s suite and NIST has replaced the Diehard suite. Mikä on hyvä pseudosatunnaisluku 4.1.5 Description of Tests Lukujonojen satunnaisuutta voi testata monella tavalla. aim to detect. See Appendix K for a more detailed description and step-by-step guide. Käytettävät testit ja vaatimukset riippuvat sovelluksesta. Following is a brief overview of what kind of departures from randomness that the tests in the NIST suite NIST Statistical Test Suite Test Defect Detected Property Frequency (monobit) Too many zeroes or ones Equally likely (global) Frequency (block) Too many zeroes or ones Equally likely (local) Runs test Oscillation of zeroes and ones too Sequential dependence (locally) fast or too slow Longest run of ones in a block Oscillation of zeroes and ones too Sequential dependence (globally) fast or too slow Binary matrix rank Deviation from expected rank Linear dependence distribution Discrete fourier transform (spectral) Repetitive patterns Periodic dependence Non-overlapping template matching Irregular occurences of a prespecified Periodic dependence and equally template likely Overlapping template matching Irregular occurences of a prespecified Periodic dependence and equally template likely Maurer's universal statistical Sequence is compressible Dependence and equally likely Linear complexity Linear feedback shift register (LFSR) Dependence too short Serial Non-uniformity in the joint distribution Equally likely for m-length sequences Approximate entropy Non-uniformity in the joint distribution Equally likely for m-length sequences Cumulative sums (cusum) Too many zeroes or ones at either an Sequential dependence early or late stage in the sequence Random excursions Deviation from the distribution of the Sequential dependence number of visits of a random walk to a certain state Random excursions variants Deviation from the distribution of the Sequential dependence number of visits (across many random walks) to a certain state Table 4.1 NIST Statistical Test Suite Note: There are a number of alterations to the NIST statistical test suite that have been taken into account when testing (see Appendix I for details). (teoksesta Random Number Generators: An Evaluation and Comparison 4.1.6 Revised Set of Tests of Random.org and Some Commonly Used Generators, Charmaine The client expressed an interest in a prioritisation of tests within the recommended test suite. The Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 12 / 20
Syventävä osa käsitteitä Kunta Z p. Polynomi, polynomin aste. Mitä tarkoittaa väite x 4 = x 2 + x mod (x 3 + x + 1)? Automaatin tila Kiintopiste Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 13 / 20
Lineaariset siirtorekisterit, taas Lineaarinen siirtorekisteri on lineaarisen kongruenssin serkku, jolla on kuitenkin satunnaisuuden generoinnin kannalta paremmat ominaisuudet. Siirtorekisterissä on r parametria q 0,..., q r 1 sekä saman verran alkuarvoja, a 0,..., a r 1. Kun n r, saadaan a n kaavalla r 1 a n := a n r+i q i mod p. i=0 Rekisterissä on r alkiota, jokainen väliltä 0-(p 1), joten rekisterillä on p r mahdollista tilaa. Koska 0... 0 on kiintopiste, havaitaan, että jonon (a n ) periodi on korkeintaan p r 1. Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 14 / 20
Lineaariset siirtorekisterit, esimerkki Tarkastellaan tapausta r = 3, (q 0, q 1, q 2 ) = (1, 1, 0). Valitaan alkuarvoiksi vaikka (1, 0, 0). [Lasku taululle] Nähdään, että saamme jonon 1011100 1011100 1.... Tarkastellaan jonon momentteja 0, 1 ja 2: jono frekv jono frekv jono frekv 0 3 00 1 000 0 1 4 01 2 001 1 10 2 010 1 11 2 100 1 011 1 101 1 110 1 111 1 Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 15 / 20
Redusoituvuus Tulemme yhdistämään lineaariseen siirtorekisteriin polynomin P(x) := x r q r 1 x r 1... q 1 x q 0. Päätuloksen esittämiseksi määrittelemme muutaman polynomia koskevan käsitteen. Määritelmä Sanomme, että polynomi P on irredusoituva kunnassa K, mikäli ei ole olemassa polynomeja P 1 ja P 2, kummatkin vähintään astetta 1, joille P = P 1 P 2. Esimerkiksi x 2 + x on redusoituva kunnassa Z 2, koska x 2 + x = x(x + 1). Toisaalta x 3 + x + 1 on irredusoituva samassa kunnassa; jos nimittäin x 3 + x + 1 = P 1 (x)p 2 (x), niin voimme olettaa, että P 1 on ensimmäistä astetta, eli joko P(x) = x tai P(x) = x + 1. Ensimmäisessä tapauksessa P 1 (0) = 0, jälkimmäisessä P 1 (1) = 0, kumpikin ristiriita. Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 16 / 20
Primitiivisyys Määritelmä Sanomme, että asteen r polynomi P on primitiivinen kunnassa K, mikäli se on irredusoituva ja jokaiselle nollasta eroavalle korkeintaan asteen r 1 polynomille Q on olemassa i {0,..., p r 2} ja polynomi R siten, että eli toisin sanoen Q = x i mod P. Esimerkki seuraavalla kalvolla. Q = x i + RP, Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 17 / 20
Primitiivisyys, esimerkki Osoitetaan, että P(x) := x 3 + x + 1 on primitiivinen kunnassa Z 2 ; aiemmin osoitimme jo, että se on irredusoituva. Koska r = 3, tutkimme polynomeja Q joukossa {1, x, x + 1, x 2, x 2 + 1, x 2 + x, x 2 + x + 1}. Nyt x 3 = P(x) (x + 1) = P(x) + x + 1, joten Q(x) = x + 1 on hoidettu. Toisaalta, x 4 = x(x 3 + x + 1) x(x + 1) = xp(x) + x 2 + x. Vastaavasti x 5 = x 2 + x + 1 ja x 6 = x 2 + 1, kummatkin modulo P. Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 18 / 20
Lineaariset siirtorekisterit, ominaisuuksia Lause Jos p on alkuluku ja q 0,..., q r 1 {0,..., p 1} ovat sellaisia, että P(x) := x r q r 1 x r 1... q 1 x q 0 on primitiivinen kunnassa Z p, niin vastaava siirtorekisteri generoi jokaisella ei-triviaalilla alkuehdolla jonon jonka periodi on p r 1. Lisäksi jokaisessa jaksossa esiintyy jokainen k-mittainen jono p r k kertaa, paitsi nolla-jono, joka esiintyy p r k 1 kertaa. Jatketaan esimerkin P(x) = x 3 + x + 1 = x 3 x 1 tarkastelemista kunnassa Z 2. Nyt siis q 0 = 1, q 1 = 1, ja q 2 = 0 ja r = 3. Tarkistetaan, että lause pätee tässä tapauksessa [taululla]. Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 19 / 20
Satunnaislukugeneraattori LSR:stä Vaikka lineaarinen siirtorekisteri on lähes optimaalinen momentti testissä, rekisterin periodiin saakka, niin joissain toisissa testeissä ne pärjäävät huonosti. Siirtorekisterin pituuden kasvattamisen sijaa voidaan jonon periodia ja sen laatua parantaa yhdistelemällä useamman, eri alkuluvulla toimivan siirtorekisterin jonot: merkitään rekisterin j jonoa (a n,j ) n=0 ja määritellään u n = m j=1 a n,j p j mod 1, missä p j on rekisteriä j vastaava alkuluku. Nyt jonon u n periodi on jonojen a n,j periodien tulo. Jo kolmen siirtorekisterin kombinaatiolla voi kuulema saada varsin hyvän tuloksen. Peter Hästö Matemaattisten tieteiden laitos 20. tammikuuta 2011 20 / 20