7. Satunnaisalgoritmit (randomized algorithms)
|
|
- Ilona Toivonen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 7. Satunnaisalgoritmit (randomized algorithms) Satunnaisuudella on laskentaongelmien ratkaisemisessa moninaisia käyttötapoja. Tässä tarkastellaan lähinnä perinteisten algoritmien nopeuttamista, ja sitäkin suhteellisen pinnallisesti. Tämän luvun jälkeen opiskelija omaa yleiskuvan satunnaisuuden käyttötavoista, osaa luokitella satunnaisalgoritmeja niiden laatukriteerien mukaan (esim. Monte Carlo vs. Las Vegas), tuntee edustavan joukon esimerkkejä satunnaisalgoritmien suunnittelutekniikoista (Sherwood-algoritmit, otanta, sormenjälkitekniikka) osaa soveltaa odotusarvojen ja virherajojen arvioimisen perustekniikoita (odotusarvon lineaarisuus, binomijakauma), Aiheesta on luennoitu erikoiskurssi viimeksi keväällä Hyvä oppikirja on Motwani ja Raghavan: Randomized algorithms. 344
2 7.1 Peruskäsitteitä Satunnaisuutta voidaan käyttää useisiin eri tarkoituksiin, kuten symmetrian rikkominen (hajautetut järjestelmät) vastustajan hämääminen (pelit, salaus) otanta tavallisten laskentaongelmien nopea ratkaiseminen arvaamalla monimutkaisten algoritmien yksinkertaistaminen (esim. aiemmin esitetty mediaanialgoritmi) yleiskäyttöiset optimointimenetelmät (simuloitu jäähdytys, geneettiset algoritmit) uudet laskentaparadigmat (kvanttilaskenta jne.) 345
3 Mielenkiintoinen periaatteellinen kysymys: mitä satunnaisuudella todella voidaan voittaa? Toisinaan satunnaisalgoritmeja saadaan derandomisoiduksi. Ehkä kuitenkin joissain tilanteissa satunnaisuudesta on aidosti hyötyä? Jos näin on, mitä on ajateltava pseudosatunnaislukugeneraattoreista, joihin käytännön sovellukset yleensä perustuvat? Yleisesti uskotaan, että perinteinen satunnaisuus ei riitä NP-kovien ongelmien ratkaisemiseen polynomisessa ajassa. Kvanttilaskennan asema on epäselvempi. 346
4 Ensimmäisenä johdattelevana esimerkkinä tarkastellaan seuraavaa satunnaistettua pikajärjestämisalgoritmia: RandQS(A): if A > 1 then p := random(1.. A ) pivot := A[p] Vertaa alkiota pivot kaikkiin taulukon A alkioihin. Muodosta taulukko A 1 alkiota pivot pienemmistä ja A 2 alkiota pivot suuremmista alkioista. RandQS(A 1 ) RandQS(A 2 ) return A 1 [pivot] A 2 else return A Kutsu RandQS(A) järjestää taulukon A. (Oletamme yksinkertaisuuden vuoksi, että taulukon luvut ovat erisuuria.) Funktio random(i..j) palauttaa satunnaisen luvun joukosta { i, i + 1,..., j } siten, että jokaisella luvulla on sama todennäköisyys ja eri kutsukertojen tulokset ovat toisistaan riippumattomia. Merkintä A B tarkoittaa taulukoiden A ja B yhdistämistä peräkkäin. Olkoon C taulukko, jossa on n lukua, pienimmästä suurimpaan x 1,..., x n. Analysoidaan kutsua RandQS(C). 347
5 Olkoon X rs satunnaismuuttuja, joka kertoo kuinka monta kertaa alkioita x r ja x t verrattiin toisiinsa kutsun RandQS(C) suorituksen aikana. Tietyn suorituskerran kokonaisaikavaativuus on selvästi verrannollinen vertailujen lukumäärään n r 1 r=1 s=1 X rs. Tarkastellaan tämän odotusarvoa [ n ] r 1 n E X rs = r=1 s=1 r 1 r=1 s=1 E [X rs ] missä on käytetty hyväksi odotusarvon lineaarisuutta. Koska X rs on joko 1 tai 0, saadaan E[X rs ] = 0 (1 p rs ) + 1 p rs = p rs missä p rs on todennäköisyys, että alkioita x r ja x s verrataan. Haluamme siis arvioida summaa n r 1 p rs. r=1 s=1 348
6 Määritellään binääripuu T (A) kaikille niille A, joilla kutsun RandQS(C) suorituksen aikana tehtiin rekursiivinen kutsu RandQS(A). Puussa on n solmua, joihin sijoitellaan luvut x 1,..., x n. Määritelmä on rekursiivinen. Jos A = 0, niin T (A) on tyhjä puu. Jos A = 1, niin T (A) on lehti, jossa on taulukon A ainoa alkio. Muuten olkoon pivot, A 1 ja A 2 kuten algoritmissa. Nyt T (A) on puu, jonka juuressa on luku pivot, vasempana alipuuna T (A 1 ) ja oikeana T (A 2 ). Siis puun T (A) vasemmassa alipuussa ovat juurta pienemmät ja oikeassa juurta suuremmat taulukon alkiot. Järjestys x 1,..., x n vastaa puun T (C) läpikäyntiä sisäjärjestyksessä. 349
7 Algoritmin ja puun T (A) määritelmistä seuraa, että kutsun RandQS(A) suorituksen aikana puun juurta verrataan tasan kerran kuhunkin muuhun puun alkiooon. Siis X rs = 1 jos ja vain jos joko x r on alkion x s jälkeläinen puussa T (C) tai kääntäen. Olkoon π taulukon C järjestys, joka saadaan luettelemalla ensin puun T (C) juuri, sitten juuren lapset vasemmalta oikealle, sitten lapsenlapset vasemmalta oikealle jne. Olkoon s < r. Siis x q on solmujen x r ja x s lähin yhteinen esivanhempi, jos se on järjestyksessä π ensimmäinen jolla x s x q x r. Tämä on yhtäpitävää sen kanssa, että x q päätyy pivot-alkioksi aiemmalla rekursiotasolla kuin mikään muu alkio joukosta { x s, x s+1,..., x r }. Siis X rs = 1 jos ensimmäinen joukosta { x s, x s+1,..., x r } valittava pivot on joko x r tai x s. Koska pivot valitaan satunnaisesti, tämän todennäköisyys on 2/(r s + 1). 350
8 Saadaan n r 1 r=1 s=1 p rs = = Koska H n ln n, saadaan 2 n r 1 r=1 s=1 r 1 n r=1 k=1 n r=1 k=1 = 2nH n. 2 r s k + 1 n 1 Lause Algoritmi RandQS tekee odotusarvoisesti O(n log n) vertailua n-alkioisen taulukon järjestämisessä. k 351
9 Huomioita: Deterministisessä pikajärjestämisessä aikavaativuus on O(n log n) keskimäärin, kun oletetaan syötteen eri järjestyksen yhtä todennäköisiksi. Tässä odotusarvo on algoritmin sisäisten rahanheittojen yli; ei tarvita oletuksia syötteestä. Jos käytettävissä tosiaan on rahanheittoja eli (pseudo)satunnaisia bittejä, satunnaislukujen generoiminen mielivaltaisesta joukosta { 1,..., n } on hieman epätriviaalia (mutta ei tässä mikään varsinainen ongelma). Tarkemmalla analyysilla voidaan osoittaa, että suurella todennäköisyydellä suoritus on O(n log n). Toisin sanoen suuren poikkeamat ovat epätodennäköisiä, mikä usein on tärkeää. 352
10 Toisena johdantoesimerkkinä tarkastellaan verkon minimileikkauksen määrittämistä. On järkevää ratkaista ongelma yleisemmin moniverkoille G = (V, E) missä siis E V V on monijoukko (multiset, bag; sama kaari saa esiintyä monta kertaa). Emme jatkossa toista etuliitettä moni. Jatkossa n = V ja m = E. Kaarijoukko C E on leikkaus, jos verkko (V, E C) on epäyhtenäinen. Leikkaus C on minimileikkaus, jos kaikilla leikkauksilla C pätee C C. Aiemmin todetun perusteella (s ) minimileikkausongelma palautuu maksimivuo-ongelmaan, jos on lisäksi annettu solmut s ja t joiden tiedetään olevan minimileikkauksen eri puolilla. Jos tällaisia solmuja ei tunneta, ongelma voidaan silti ratkaista etsimällä V maksimivuota (harjoitus 12, tehtävä 2). Itse asiassa ongelma voidaan ratkaista verkkovuota käyttämällä ajassa O(nm log(n 2 /m)). Esitämme seuraavaksi periaatetasolla yksinkertaisen satunnaisalgoritmin ongelmalle. Ideaa tarkentamalla saadaan satunnaisalgoritmi, joka suurella todennäköisyydellä löytää minimileikkauksen ajassa O(n 2 (log n) c ) jollain vakiolla c. (Palaamme pian siihen, mitä suurella todennäköisyydellä tarkalleen tarkoittaa.) 353
11 Kaaren e = (u, v) E kutistaminen (contraction) tarkoitaa solmujen u ja v liittämistä yhdeksi uudeksi solmuksi. Kaari (u, v) häviää ja muuten solmuihin u ja v tulevat kaaret korvautuvat uuteen solmuun liittyvillä kaarilla. b b a c i a c i e k l j h e j h d f g d f g Esimerkki kutistuksesta; selvyyden vuoksi kaaret nimetty. Kutistettavana jompi kumpi kaarista k tai l. Jos verkko G on saatu kutistuksella verkosta G, ja C on leikkaus verkossa G, niin C on selvästi leikkaus myös verkossa G (kun ajatellaan kaarten identiteetit säilytetyksi ylläolevan esimerkin tapaan). Siis erityisesti kutistuksessa minimileikkauksen koko ei pienene. Minimileikkauksen koko voi kasvaa, jos kutistettavana on minimileikkaukseen kuuluva kaari. 354
12 Saadaan seuraava periaatealgoritmi, joka löytää verkossa G = (V, E) jonkin leikkauksen: 1. Valitse satunnainen kaari e E ja kutista se. 2. Jos V > 2, palaa kohtaan Nyt E on leikkaus. Tässä siis taas oletetaan, että kaarilla on identiteetti josta pidetään kirjaa kutistuksissa. Lopuksi V = { a, b } joillain a, b, ja kaikki kaaret ovat solmujen a ja b välillä. Jos näiden kaarten vastinkaaret poistetaan alkuperäisestä verkosta, syntyy kaksi erillistä komponenttia, jotka koostuvat solmuun a päätyvistä ja solmuun b päätyvistä solmuista. Siis lopuksi E todella on leikkaus. Olkoon C jokin alkuperäisen verkon G minimileikkaus, ja k = C. Jos kutistettavaksi ei koskaan valita joukon C kaarta, niin lopuksi E = C. Tässä vaiheessa verkossa voi olla jäljellä vain kaksi solmua, sillä muuten jokin leikkauksen C aito osajoukko olisi leikkaus. Siis algoritmi löysi minimileikkauksen. Analysoidaan siis todennäköisyyttä, että kaikki satunnaiset valinnat osuvat joukon C ulkopuolelle. 355
13 b e e a d f g c h c b e e g a c f g c h h b e a g c h Eräs minimileikkausalgoritmin suoritus. Kutistettavat kaaret valittu sopivasti (d, f, a, h) niin, että löytyy minimileikkaus { e, c }. 356
14 Kiinnitetään jokin minimileikkaus C, C = k. Tällöin verkon jokaisen solmun v asteluku on ainakin k, koska muuten solmuun v päättyvät kaaret muodostaisivat pienemmän leikkauksen. Lisäksi missä tahansa algoritmin suoritusvaiheessa, jos ei vielä ole kutistettu mitään joukkoon C kuuluvaa kaarta, niin C on edelleen minimileikkaus ja jokaisen solmun asteluku on edelleen ainakin k. Oletetaan, että vaiheissa 1,..., i on kutistettu vain joukkoon C kuulumattomia kaaria. Koska solmuja on jäljellä n i, niin kaaria on jäljellä ainakin k(n i)/2. Todennäköisyys, että seuraava valinta osuu joukkoon C, on korkeintaan k/(k(n i)/2) = 2/(n i). Siis todennäköisyys osua joukon C ulkopuolelle vaiheessa i + 1, jos aina ennenkin on osuttu, on ainakin 1 2/(n i). Todennäköisyys pysyä joukon C ulkopuolella kaikissa vaiheissa 1,..., n 2 on ainakin n 3 i=0 ( 1 2 ) n i = = = n 3 i=0 n i 2 n i (n 2)(n 3) n(n 1) n(n 1). 357
15 Olemme siis osoittaneet, että ainakin todennäköisyydellä 2/(n(n 1)) > 2/n 2 mitään joukon C kaarta ei valita, jolloin algoritmi palauttaa minimileikkauksen C. Tämä onnistumistodennäköisyys on tietysti häviävän pieni vähänkään suuremmilla n. Menetellään nyt niin, että toistetaan algoritmia n 2 /2 kertaa, ja valitaan löydetyistä leikkauksista pienin. Jos ei löydetty minimileikkausta, niin kaikki suorituskerrat epäonnistuivat, minkä todennäköisyys on korkeintaan (1 2n 2 ) n2 /2 < e 1. Tämä todennäköisyys saadaan mielivaltaisen pieneksi toistamalla algoritmia riittävän monta kertaa. Palaamme pian tämäntyyppisen tilanteen tarkempaan analyysiin. 358
16 7.2 Satunnaisalgoritmien luokittelua Hyvällä onnella tietysti kaikki satunnaisalgoritmit antavat hyvän ratkaisun. Algoritmeja voidaan luokitella sen mukaan, mitä yleisiä toimivuustakuita niillä on: Las Vegas -algoritmit: vastaus on aina oikein, mutta pienellä todennäköisyydellä suoritus voi kestää kauan Monte Carlo -algoritmit: vastaus saa olla väärä pienellä todennäköisyydellä Satunnaiset approksimointialgoritmit: suurella todennäköisyydellä vastaus on ainakin suunnilleen oikein Edellä esitetyistä RandQS oli tyyppiä Las Vegas ja minimileikkaus tyyppiä Monte Carlo. Nimitys Las Vegas on melko tuore [Babai 1979]. Perinteisesti kaikenlaisia satunnaisalgoritmeja, kuten numeerisia approksimointialgoritmeja, on nimitetty Monte Carlo -algoritmeiksi. Las Vegas -nimikettä käytetään toisinaan sellaisista algoritmeista, jotka toimivat aina nopeasti eivätkä koskaan anna väärää vastausta, mutta toisinaan vastaavat en tiedä. Tämä on oleellisesti sama käsite kuin edellä esitetty. 359
7.4 Sormenjälkitekniikka
7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan
LisätiedotSatunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden
LisätiedotV. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen
V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen Luento omatoimisen luennan tueksi algoritmiikan tutkimusseminaarissa 23.9.2002. 1 Sisältö Esitellään ongelmat Steiner-puu Kauppamatkustajan
LisätiedotTarkennamme geneeristä painamiskorotusalgoritmia
Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi
LisätiedotValitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.
Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.
LisätiedotHakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina
Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella
LisätiedotAlgoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26
LisätiedotPinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia
Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Kukin alkio (viite) talletettuna solmuun (node) vastaa paikan käsitettä
Lisätiedot58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut
Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten
Lisätiedot58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut
58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille
LisätiedotTKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)
TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta
LisätiedotPikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin
Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin jaetaan muut alkiot kahteen ryhmään: L: alkiot, jotka eivät suurempia kuin pivot G : alkiot, jotka suurempia kuin pivot 6 1 4 3 7 2
LisätiedotAlgoritmit 1. Luento 8 Ke Timo Männikkö
Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin
LisätiedotVerkkoalgoritmeja. Henry Niveri. hniveri(at)cc.hut.fi
Verkkoalgoritmeja Henry Niveri hniveri(at)cc.hut.fi Seminaariesitelmä 16.4.008 T-106.5800 Satunnaisalgoritmit Tietotekniikan laitos Teknillinen korkeakoulu Tiivistelmä Tässä esityksessä käsitellään satunnaisalgoritmien
LisätiedotAlgoritmit 2. Luento 2 Ke Timo Männikkö
Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento
LisätiedotAlgoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
LisätiedotAlgoritmi on periaatteellisella tasolla seuraava:
Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S
Lisätiedot58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia
58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli
LisätiedotA ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
LisätiedotAlgoritmit 2. Luento 14 Ke Timo Männikkö
Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan
Lisätiedot1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return
Lisätiedot58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)
811 Tietorakenteet (kevät 9) Harjoitus 11, ratkaisuja (Topi Musto) 1. Bellmanin-Fordin algoritmin alustusvaiheen jälkeen aloitussolmussa on arvo ja muissa solmuissa on arvo ääretön. Kunkin solmun arvo
LisätiedotDatatähti 2019 loppu
Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio
Lisätiedot6. Approksimointialgoritmit
6. Approksimointialgoritmit Tässä luvussa käsitellään lyhyesti approksimointiin liittyvät peruskäsitteet ja joitain keskeisiä approksimoituvuustuloksia. Tavoitteena on, että opiskelija näkee approksimointialgoritmien
LisätiedotFormalisoidaan hieman täsmällisemmin, millaisia suoritustakuita satunnaisalgoritmeilta voidaan vaatia.
Satunnaisalgoritmien vaativuusteoriaa Formalisoidaan hieman täsmällisemmin, millaisia suoritustakuita satunnaisalgoritmeilta voidaan vaatia. Yksinkertaisuuden vuoksi tarkastellaan päätösongelmia. Useimmat
LisätiedotAlgoritmit 2. Luento 2 To Timo Männikkö
Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento
Lisätiedot(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:
Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan
LisätiedotKonsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari
Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä
LisätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku
LisätiedotEi-yhteydettömät kielet [Sipser luku 2.3]
Ei-yhteydettömät kielet [Sipser luku 2.3] Yhteydettömille kielille pätee samantapainen pumppauslemma kuin säännöllisille kielille. Siinä kuitenkin pumpataan kahta osamerkkijonoa samaan tahtiin. Lause 2.25
LisätiedotTietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] = = T [i + 1] 4 return True 5
LisätiedotAlgoritmit 2. Luento 12 Ke Timo Männikkö
Algoritmit 2 Luento 12 Ke 26.4.2017 Timo Männikkö Luento 12 Rajoitehaku Kauppamatkustajan ongelma Lyhin virittävä puu Paikallinen etsintä Vaihtoalgoritmit Geneettiset algoritmit Simuloitu jäähdytys Algoritmit
LisätiedotTodennäköisyyslaskenta I, kesä 2017 Helsingin yliopisto/avoin Yliopisto Harjoitus 1, ratkaisuehdotukset
Todennäköisyyslaskenta I, kesä 207 Helsingin yliopisto/avoin Yliopisto Harjoitus, ratkaisuehdotukset. Kokeet ja Ω:n hahmottaminen. Mitä tarkoittaa todennäköisyys on? Olkoon satunnaiskokeena yhden nopan
LisätiedotEräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.
5. Verkkoalgoritmeja Eräs keskeinen algoritmien suunnittelutekniikka on Palauta ongelma johonkin tunnettuun verkko-ongelmaan. Palauttaminen edellyttää usein ongelman ja algoritmin pientä modifioimista,
LisätiedotAlgoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys
LisätiedotOlkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,
Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.
LisätiedotAlgoritmit 2. Luento 4 To Timo Männikkö
Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4
LisätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava
LisätiedotHY / Matematiikan ja tilastotieteen laitos Tilastollinen päättely II, kevät 2017 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I
HY / Matematiikan ja tilastotieteen laitos Tilastollinen päättely II, kevät 2017 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I Tehtävä 1 on klassikko. 1. Tässä tehtävässä tapahtumat A ja B eivät välttämättä
Lisätiedot4. Joukkojen käsittely
4 Joukkojen käsittely Tämän luvun jälkeen opiskelija osaa soveltaa lomittuvien kasojen operaatioita tuntee lomittuvien kasojen toteutuksen binomi- ja Fibonacci-kasoina sekä näiden totetutusten analyysiperiaatteet
Lisätiedot3.4 Peruutus (backtracking)
3.4 Peruutus (backtracking) Tarkastellaan kahta esimerkkiongelmaa: Kahdeksan kuningattaren ongelma: sijoitettava 8 8 ruudun pelilaudalle 8 nappulaa siten, että millekään vaaka-, pysty- tai viistoriville
LisätiedotAlgoritmit 2. Luento 4 Ke Timo Männikkö
Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4
LisätiedotKaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.
Kombinatoriikka, kesä 2010 Harjoitus 1 Ratkaisuehdotuksia (RT (5 sivua Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. 1. Osoita, että vuoden
Lisätiedot2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.
Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen
LisätiedotRelevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi
Kurssin loppuosa Diskreettejä menetelmiä laajojen 0-1 datajoukkojen analyysiin Kattavat joukot ja niiden etsintä tasoittaisella algoritmilla Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa
LisätiedotAVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta
AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja
Lisätiedot811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu
811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,
LisätiedotSatunnaisalgoritmit. Antti Tanhuanpää. 25. maaliskuuta 2013
Satunnaisalgoritmit Antti Tanhuanpää 25. maaliskuuta 2013 Johdanto Satunnaisalgoritmit ovat algoritmeja, jotka hyödyntävät satunnaisuutta osana laskentaansa. Ensimmäisen tällaisen algoritmin kehitti Michael
Lisätiedot3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.
3. Hakupuut Hakupuu on listaa tehokkaampi dynaamisen joukon toteutus. Erityisesti suurilla tietomäärillä hakupuu kannattaa tasapainottaa, jolloin päivitysoperaatioista tulee hankalampia toteuttaa mutta
Lisätiedot1 + 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.
Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i
LisätiedotAlgoritmit 2. Luento 9 Ti Timo Männikkö
Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon
LisätiedotVerkon värittämistä hajautetuilla algoritmeilla
Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)
Lisätiedot58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen) 1. Lisäysjärjestämisessä järjestetään ensin taulukon kaksi ensimmäistä lukua, sitten kolme ensimmäistä lukua, sitten neljä ensimmäistä
LisätiedotLuku 7. Verkkoalgoritmit. 7.1 Määritelmiä
Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko
LisätiedotC.C. McGeoch, Toward an experimental method for algorithm simulation. algorithm simulation = algoritmin testaus, experimental algorithmics
C.C. McGeoch, Toward an experimental method for algorithm simulation algorithm simulation = algoritmin testaus, experimental algorithmics testiparametrit, esim. tapauksen koko, erilaiset tietorakennevaihtoehdot,
Lisätiedot58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu
LisätiedotSatunnaislukujen generointi
Satunnaislukujen generointi Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 1/27 Kevät 2003 Lähteet Knuth, D., The Art of Computer Programming,
LisätiedotOlkoon S(n) kutsun merge-sort(a, p, q) tilavaativuus kun p q + 1 = n. Oletetaan merge toteutetuksi vakiotyötilassa (ei-triviaalia mutta mahdollista).
Esimerkki Lomitusjärjestäminen merge-sort(a, p, q): var k % paikallinen muuttuja, vakiotila 1. if p < q then 2. r := (p + q)/2 3. merge-sort(a, p, r) 4. merge-sort(a, r + 1, q) 5. merge(a, p, r, q) Olkoon
LisätiedotEsimerkkejä polynomisista ja ei-polynomisista ongelmista
Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia
LisätiedotAlgoritmit 1. Luento 2 Ke Timo Männikkö
Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät
LisätiedotAlgoritmit 2. Luento 12 To Timo Männikkö
Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien
LisätiedotAlgoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
Lisätiedotverkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari
Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on
LisätiedotALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012
ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 1.1. (a) Jaettava m, jakaja n. Vähennetään luku n luvusta m niin kauan kuin m pysyy ei-negatiivisena. Jos jäljelle jää nolla, jaettava oli tasan jaollinen. int m,
LisätiedotOikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.
Tietorakenteet, kevät 2012 Kurssikoe 2, mallivastaukset 2. (a) Järjestämistä ei voi missään tilanteessa suorittaa nopeammin kuin ajassa Θ(n log n), missä n on järjestettävän taulukon pituus. Epätosi: Yleisessä
Lisätiedot30A02000 Tilastotieteen perusteet
30A02000 Tilastotieteen perusteet Kertaus 1. välikokeeseen Lauri Viitasaari Tieto- ja palvelujohtamisen laitos Kauppatieteiden korkeakoulu Aalto-yliopisto Syksy 2019 Periodi I-II Sisältö Välikokeesta Joukko-oppi
LisätiedotAlgoritmit 1. Luento 10 Ke Timo Männikkö
Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot
Lisätiedot(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?
6.10.2006 1. Keppi, jonka pituus on m, taitetaan kahtia täysin satunnaisesti valitusta kohdasta ja muodostetaan kolmio, jonka kateetteina ovat syntyneet palaset. Kolmion pinta-ala on satunnaismuuttuja.
LisätiedotAlgoritmit 1. Luento 12 Ti Timo Männikkö
Algoritmit 1 Luento 12 Ti 19.2.2019 Timo Männikkö Luento 12 Osittamisen tasapainoisuus Pikalajittelun vaativuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu Algoritmit
Lisätiedot58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 15.6.2018 malliratkaisut ja arvosteluperusteet 1. [10 pistettä] Hakemistorakenteet. Vertaa linkitettyjen listojen, tasapainoisten hakupuiden ja
LisätiedotAlgoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö
Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin
LisätiedotMATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ
MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ 6.3.09 HYVÄN VASTAUKSEN PIIRTEITÄ Alla oleva vastausten piirteiden, sisältöjen ja pisteitysten luonnehdinta ei sido ylioppilastutkintolautakunnan arvostelua. Lopullisessa
Lisätiedot= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120
Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen
LisätiedotInduktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.
Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman
Lisätiedot58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 12.9.2018 ratkaisuja (Jyrki Kivinen) 1. [10 pistettä] Iso-O-merkintä. (a) Pitääkö paikkansa, että n 3 + 5 = O(n 3 )? Ratkaisu: Pitää paikkansa.
Lisätiedot811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu
832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa
Lisätiedotf(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
LisätiedotSovellettu todennäköisyyslaskenta B
Sovellettu todennäköisyyslaskenta B Antti Rasila Kalvoissa käytetään materiaalia P. Palon vuoden 2005 kurssista. 07.09.2007 Antti Rasila () SovTodB 07.09.2007 07.09.2007 1 / 24 1 Todennäköisyyslaskennan
LisätiedotAlgoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja
58053-7 Algoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja Malliratkaisut ja pisteytysohje: Jyrki Kivinen Tentin arvostelu: Jouni Siren (tehtävät 1 ja 2) ja Jyrki Kivinen (tehtävät
LisätiedotSAT-ongelman rajoitetut muodot
SAT-ongelman rajoitetut muodot olemme juuri osoittaneet että SAT on NP-täydellinen perusidea on nyt osoittaa joukolle kiinnostavia ongelmia A NP että SAT p m A, jolloin kyseiset A myös ovat NP-täydellisiä
LisätiedotMAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen
MAT-200 Todennäköisyyslaskenta Tentti 29.04.20 / Kimmo Vattulainen Funktiolaskin sallittu.. a) Pelaajat A ja B heittävät noppaa vuorotellen ja pelin voittaa se, joka saa ensimmäiseksi kuutosen. A aloittaa
LisätiedotSatunnaisalgoritmit
582421 Satunnaisalgoritmit luennot syksylla 2005 Jyrki Kivinen Probabilistiset menetelmat algoritmien suunnittelussa ja analyysissa laudatur, 8 op / 4 ov edellytetaan perustiedot todennakoisyyslaskennasta
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta
811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden
LisätiedotTietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
LisätiedotAlgoritmit 1. Luento 12 Ke Timo Männikkö
Algoritmit 1 Luento 12 Ke 15.2.2017 Timo Männikkö Luento 12 Pikalajittelu Pikalajittelun vaativuus Osittamisen tasapainoisuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu
Lisätiedotisomeerejä yhteensä yhdeksän kappaletta.
Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua
LisätiedotAlgoritmit 1. Luento 13 Ma Timo Männikkö
Algoritmit 1 Luento 13 Ma 26.2.2018 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin
Lisätiedot4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on
Mat-2.090 Sovellettu todennäköisyyslasku A / Ratkaisut Aiheet: Avainsanat: Otanta Poisson- Jakaumien tunnusluvut Diskreetit jakaumat Binomijakauma, Diskreetti tasainen jakauma, Geometrinen jakauma, Hypergeometrinen
LisätiedotTietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
LisätiedotA TIETORAKENTEET JA ALGORITMIT KORVAAVAT HARJOITUSTEHTÄVÄT 3, DEADLINE KLO 12:00
A274101 TIETORAKENTEET JA ALGORITMIT KORVAAVAT HARJOITUSTEHTÄVÄT 3, DEADLINE 9.2.2005 KLO 12:00 PISTETILANNE: www.kyamk.fi/~atesa/tirak/harjoituspisteet-2005.pdf Kynätehtävät palautetaan kirjallisesti
LisätiedotNollasummapelit ja bayesilaiset pelit
Nollasummapelit ja bayesilaiset pelit Kristian Ovaska HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaari: Peliteoria Helsinki 18. syyskuuta 2006 Sisältö 1 Johdanto 1 2 Nollasummapelit 1 2.1
LisätiedotTutkimustiedonhallinnan peruskurssi
Tutkimustiedonhallinnan peruskurssi Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo hannu.toivonen, marko.salmenkivi, inkeri.verkamo@cs.helsinki.fi Helsingin yliopisto Hannu Toivonen, Marko Salmenkivi,
LisätiedotP (A)P (B A). P (B) P (A B) = P (A = 0)P (B = 1 A = 0) P (B = 1) P (A = 1)P (B = 1 A = 1) P (B = 1)
Harjoitustehtäviä (erä 1) 1 1. Käytetään yksinkertaisesti Bayesin kaavaa: P (A B) = P (A)P (B A). P (B) Tapauksessa B = 1 saadaan P (A = 0 B = 1) = P (A = 1 B = 1) = P (A = 0)P (B = 1 A = 0) P (A = 1)P
LisätiedotAlgoritmit 2. Luento 10 To Timo Männikkö
Algoritmit 2 Luento 10 To 11.4.2019 Timo Männikkö Luento 10 Merkkitiedon tiivistäminen LZW-menetelmä Taulukointi Editointietäisyys Peruutusmenetelmä Osajoukon summa Algoritmit 2 Kevät 2019 Luento 10 To
LisätiedotMatematiikan tukikurssi, kurssikerta 2
Matematiikan tukikurssi kurssikerta 1 Relaatioista Oletetaan kaksi alkiota a ja b. Näistä kumpikin kuuluu johonkin tiettyyn joukkoon mahdollisesti ne kuuluvat eri joukkoihin; merkitään a A ja b B. Voidaan
LisätiedotMarkov-kustannusmallit ja kulkuajat
2B Markov-kustannusmallit ja kulkuajat Tämän harjoituksen tavoitteena on oppia laskemaan Markov-kustannusmallien kustannuskertymiä ja -vauhteja, ketjujen odotettuja kulkuaikoja sekä todennäköisyyksiä osua
LisätiedotAlgoritmit 1. Luento 7 Ti Timo Männikkö
Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017
LisätiedotT Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )
T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen
LisätiedotTuloperiaate. Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta
Tuloperiaate Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta ja 1. vaiheessa valinta voidaan tehdä n 1 tavalla,. vaiheessa valinta voidaan tehdä n tavalla,
Lisätiedot4. laskuharjoituskierros, vko 7, ratkaisut
4. laskuharjoituskierros, vko 7, ratkaisut D1. Kone valmistaa kuulalaakerin kuulia, joiden halkaisija vaihtelee satunnaisesti. Halkaisijan on oltava tiettyjen rajojen sisällä, jotta kuula olisi käyttökelpoinen.
Lisätiedot