PARVIÄLYKKYYS JA MUURAHAISPOHJAISET ALGORITMIT

Koko: px
Aloita esitys sivulta:

Download "PARVIÄLYKKYYS JA MUURAHAISPOHJAISET ALGORITMIT"

Transkriptio

1 PARVIÄLYKKYYS JA MUURAHAISPOHJAISET ALGORITMIT Mikko Suominen Pro gradu -tutkielma Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Heinäkuu 2013

2 ITÄ-SUOMEN YLIOPISTO, Luonnontieteiden ja metsätieteiden tiedekunta, Kuopio Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Opiskelija, Suominen Mikko: Parviälykkyys ja muurahaispohjaiset algoritmit Pro gradu -tutkielma, 61 s., 6 liitettä (34 s.) Pro gradu -tutkielman ohjaaja: FT Maija Marttila-Kontio Heinäkuu 2013 Tutkielmassa parvikäyttäytyminen ja parviälykkyys esitellään esimerkkien avulla, pääasiassa mehiläisten ja muurahaisten avulla. Tutkielmassa esitellään myös kaksi muurahaispohjaista parviälykkyysalgoritmia ja verrataan algoritmien suoritusnopeutta keskenään kolmella Kauppamatkustajan ongelman ilmentymällä. Tutkielmassa käytetyt muurahaispohjaiset parviälykkyysalgoritmit ovat Ant System ja Ant Colony System. Tutkielmassa on verrattu Ant System ja Ant Colony System -algoritmien suoritusaikoja keskenään riippumattomien otosten t-testillä ja Mann-Whitneyn U- testillä Kauppamatkustajan ongelman ilmentymissä rd100, berlin52 sekä pr152. Riippumattomien otosten t-testillä ja Mann-Whitneyn U-testillä on haluttu osoittaa algoritmien suoritusaikojen tilastolliset erot. Ant Colony System löysi lyhimmän reitin kaikista kolmesta ilmentymistä selvästi nopeammin kuin Ant System, joten erot olivat tilastollisesti merkitseviä. Tutkielman pohjalta jatkotutkimuksena suositellaan vertaamaan algoritmien löytämien lyhimpien reittien pituuksia keskenään. Tutkielman kokeellinen osuus osoitti, että Ant System -algoritmi on hitaampi kuin Ant Colony System -algoritmi, mutta Ant System -algoritmilla löydettiin muutamia kertoja lyhyempi reitti kuin Ant Colony System -algoritmilla kaikista kolmesta Kauppamatkustajan ongelman ilmentymistä. Avainsanat: parvikäyttäytyminen, parviälykkyys, muurahaispohjaiset algoritmit, Ant System, Ant Colony System ACM-luokat (ACM Computing Classification System, 2013 version): Machine learning, Multi-agent reinforcement learning, Paths and connectivity problems, Probabilistic reasoning i

3 UNIVERSITY OF EASTERN FINLAND, Faculty of Science and Forestry, Kuopio School of Computing Computer Science Student, Suominen Mikko: Swarm Intelligence and Ant-Based Algorithms Master s Thesis, 61 p., 6 appendixes (34 p.) Supervisor of the Master s Thesis: PhD Maija Marttila-Kontio July 2013 In this thesis swarm behavior and swarm intelligence is introduced by examples of nature, mainly with examples of bees and ants. Algorithm s running times are compared with each other with three Travelling Salesman Problem instances. The antbased swarm intelligence algorithms used in this thesis are Ant System and Ant Colony System. Running times of the algorithms with the instances of Travelling Salesman Problem rd100, berlin42 and pr152, are compared with each other with an independent sample t-test and with Mann-Whitney U test. With the tests the statistical difference in algorithms running times is proved. Ant Colony System found the shortest path from all instances faster than Ant System and the differences between running times are statistically significant. Based on this thesis and for further studies, the shortest paths found with Ant System and Ant Colony System algorithms are recommended to be compared with each other. Based on the results of this thesis, Ant System algorithm occasionally managed to find a shorter path than Ant Colony System from all three instances of Travelling Salesman Problem. The running time of Ant System -algortihm was slower than the running time of Ant Colony System -algoritm in every scenario with the tested Travelling Salesman problem instances. Keywords: swarm behaviour, swarm intelligence, ant-based algorithms, Ant System, Ant Colony System CR Categories (ACM Computing Classification System, 2013 version): Machine learning, Multi-agent reinforcement learning, Paths and connectivity problems, Probabilistic reasoning ii

4 Esipuhe Tämä tutkielma on tehty Itä-Suomen yliopiston Kuopion kampuksen Tietojenkäsittelytieteen laitokselle aikavälillä marraskuu 2011 ja heinäkuu Haluan erityisesti kiittää tämän tutkielman ohjaaja Maija Marttila-Kontiota kärsivällisestä ja neuvovasta ohjauksesta. Tutkielman teko venyi reilusti pidemmäksi alkuperäisestä suunnitelmasta muun muassa terveydellisistä syistä johtuen, joten ohjaajalta on vaadittu kärsivällisyyttä tutkielman tekoprosessin ajan. Viimein kaikkien vaiheiden jälkeen olen saanut tutkielman valmiiksi ja yksien kansien sisään ja voin huokaista helpotuksesta sekä keskittyä elämässä muihin asioihin. Kiitos kannustuksesta ja tukemisesta myös vanhemmilleni sekä veljilleni, joilta olen saanut myös neuvoja tämän tutkielman tekoprosessin aikana. iii

5 Lyhenteet ja termit ADAPTIIVINEN Muutoksiin sopeutuva DYNAAMINEN JÄRJESTYS Olosuhteiden mukaan liikkuva ja mukautuva järjestys EI-MINIMAALINEN REITITYSALGORITMI Reititysalgoritmi, jonka tehtävänä on etsiä reitti verkosta jollain muulla heuristiikalla kuin lyhimmällä polun heuristiikalla FEROMONI Muurahaisten levittämä kemikaali, jolla houkutellaan muita muurahaisia hajun avulla HAIHTUMISKERROIN Numeerinen arvo väliltä [0,1), minkä mukaan feromonit haihtuvat kaarilta HAMILTONIN POLKU Verkosta löytyvä polku, jossa jokaisessa verkon solmussa käydään vain kerran HEURISTIIKKA Kokemukseen perustuva oppiminen HIUKKASPARVIOPTIMOINTI Parviälykkyyden kehittynein sovellus, jossa käytetään apuna liikkuvia partikkeleita KAARI Verkon osa, joka yhdistää solmut keskenään KAUPPAMATKUSTAJAN ONGELMA Lyhimmän polun etsintäongelma, jossa kauppamatkustajan tehtävänä on vierailla jokaisessa kaupungissa vain kerran ja palata lähtöpisteeseen iv

6 NEGATIIVINEN PALAUTE Parviälykkyydessä esiintyvä ilmiö, jolla pyritään estämään muutosta NP-VAIKEA PARADIGMA Ongelma, johon ei ole löydetty yleispätevää ratkaisua NOLLAHYPOTEESI Tilastollisen päätöksenteon oletus, jonka oikeellisuutta testataan tilastollisella testillä MANET Matkapuhelinten AdHoc -verkko eli langattoman kommunikoinnin matkapuhelinverkko MERKITSEVYYSTASO Tilastotieteen termi, jolla kuvataan todennäköisyyttä hylätä oikeassa oleva nollahypoteesi MINIMAALINEN REITITYSALGORITMI Reititysalgoritmi, jonka tehtävänä on etsiä lyhin reitti verkosta MUURAHAISKOLONNAOPTIMOINTI Tietojenkäsittelytieteessä käytetty termi muurahaisten lyhimmän reitin etsinnässä pesän ja ruoan välillä MUURAHAISALGORITMI Muurahaisten käyttäytymisen tutkimisen tuloksena syntynyt algoritmi, jonka tehtävänä on etsiä lyhintä polkua verkosta OTOSKOKO Tässä tutkielmassa: Tilastollisen kokeen suorituskertojen määrä samalle Kauppamatkustajan ilmentymälle v

7 PARTIKKELI Parvessa tai verkossa itsenäisesti ryhmän osana liikkuva agentti, muurahainen tai yksilö PARVIÄLYKKYYS Tutkimusalue, jossa tutkitaan partikkelien itseorganisoituvaa kollektiivista älykkyyttä POSITIIVINEN PALAUTE Parviälykkyydessä esiintyvä ilmiö, jonka pyrkimyksenä on vahvistaa muutosta PROAKTIIVINEN Ennakoiva REAKTIIVINEN Herkästi ulkoisiin ärsykkeisiin reagoiva REYNOLDSIN SÄÄNNÖT Parvikäyttäytymisen kolme sääntöä: välttäminen, suuntaus ja vetovoima. Säännöt pätevät kaikkiin parviin STAATTINEN Muuttumaton, ulkoisiin muutoksiin reagoimaton SOLMU Verkon osa, jolla yhdistetään verkon kaaret keskenään TOPOLOGIA Perusrakenne. Tässä tutkielmassa tarkoitetaan verkon perusrakennetta USEIDEN EDESTAKAISTEN REITTIEN REITITYS Multiple Round Trip Routing -algoritmi, joka on kehitetty datapakettien edestakaiseen reititykseen VASTAHYPOTEESTI Nollahypoteesin vastahypoteesi, jonka oikeellisuutta testataan tilastollisella testillä vi

8 VERKKO Reititysongelmien kuvantamistapa ja verkko koostuu solmuista ja kaarista VÄHITEN MERKITSEVÄ BITTI Least Significant Bit. Luvun binääriesityksessä viimeinen eli oikeanpuoleisin bitti vii

9 Sisällysluettelo 1 Johdanto Parvikäyttäytyminen Parvikäyttäytyminen ympärillämme Näkymättömät johtajat Kulkusirkat ja Reynoldsin säännöt Parviälykkyys Parviälykkyyden perusperiaatteet Mehiläiset Muurahaiset Parviälykkyyden hyödyt ongelmanratkaisussa sekä parviälykkyyden sovellukset Muurahaisten parviälykkyys ja niihin perustuvat algoritmit Muurahaispohjaisten algoritmien esitys tietojenkäsittelytieteessä Kommunikaatioverkot ja reititysalgoritmit Reititysalgoritmien ongelmia Reititysalgoritmien testaus Kauppamatkustajan ongelma (Travelling Salesman Problem), TSP TSP käytännössä: ajoneuvojen reititysongelma Ant System (AS) Ant Colony System (ACS) Ant Colony System: Viestintästrategiat Ant system ja ant colony system -algoritmien ratkaisutehokkuus kauppamatkustajan ongelman ratkaisussa Ant System ja Ant Colony System -algoritmien tietorakenteet Ant System ja Ant Colony System -algoritmien muuttujat ja metodit Toteutuksessa käytetyt ohjelmat ja resurssit Algoritmien suoritustehokkuuksien analysointi kauppamatkustajan ongelmassa Pohdinta Viitteet Liitteet Liite 1: Ant System -algoritmin pseudokoodi (3 sivua) Liite 2: Ant Colony System -algoritmin pseudokoodi (3 sivua) Liite 3: Ant System -algoritmin lähdekoodi (13 sivua) Liite 4: Ant Colony System -algoritmin lähdekoodi (14 sivua) Liite 5: Ant Colony System -algoritmin suoritusajat ja löydettyjen reittien pituudet viii

10 muuttujan arvojen vaihdellessa (1 sivu) Liite 6: Microsoft Public License (2 sivua) ix

11 1 Johdanto Tässä tutkielmassa tutustutaan parviälykkyyteen ja kahteen muurahaispohjaiseen parviälykkyysalgoritmiin Ant System ja Ant Colony System. Parviälykkyyden tutkimisen inspiraationa on toiminut eläinkunta ja pääasiassa kulkusirkkojen, mehiläisten ja muurahaisten parvikäyttäytyminen. Tutkielmassa parviälykkyyttä tarkastellaan kulkusirkkojen, mehiläisten ja muurahaisten parvikäyttäytymisen avulla. Parviälykkyydessä on kysymys yksilöiden yhteistoiminnasta ongelman ratkaisemiseksi. Esimerkiksi muurahaiset käyttävät parviälykkyyttä ruoan etsimiseen ja mehiläiset uusien pesäpaikkojen etsimiseen. Toimintoihin käytetään yksinkertaisia sääntöjä, joiden avulla parvikäyttäytyminen ja sitä kautta parviälykkyys on mahdollista, mutta mistä säännöt johtavat juurensa ja miten ne syntyvät? Tässä tutkielmassa vastataan muun muassa tuohon kysymykseen. Termi parviäly esiteltiin ensimmäisen kerran vuonna 1989 (Beni & Wang, 1989), jolloin parviälykkyyden tutkimus lähti todistetusti liikkeelle. Mehiläiset ja muurahaiset ovat olleet pääasiallinen innostuksen lähde parviälykkyyden tutkimuksessa (Fisher, 2009; Fleischer, 2003). Muurahaisten toimintaa on tutkittu eniten ja muurahaisten tutkimisen avulla on kehitetty parviälykkyysalgoritmeja, kuten Ant System ja Ant Colony System -algoritmit. Eräitä tunnetuimpia parviälykkyyden tutkijoita ovat Eric Bonabeau, Marco Dorigo sekä Guy Theraulaz, jotka ovat myös kirjoittaneet kirjan Swarm Intelligence: From Natural to Artificial Systems (Bonabeau et al., 1999), johon tässä tutkielmassa viitataan useaan otteeseen. Lisäksi tutkielmassa käytetään muun muassa tutkijoiden Luca Maria Gambardellan, Vittorio Maniezzon ja Alberto Colornin tutkimustuloksia parviälykkyydestä (Di Caro et al., 1998; Dorigo et al., 1997). Parviälykkyys ja muurahaispohjaiset algoritmit valittiin tutkielman aiheeksi, koska parviälykkyyttä voidaan implementoida jokapäiväiseen ongelmanratkaisuun, laskennallisista ongelmista liike-elämään (Bonabeau & Meyer, 2001). Tutkielmassa perehdytään parviälykkyyteen parvikäyttäytymisen kautta ja analysoidaan Ant System ja Ant Colony System -algoritmien suoritustehokkuutta Kauppamatkustajan ongelman ratkaisemisessa. Kauppamatkustajan ongelma on NP-täydellinen ongelma 1

12 (Cook, 2007), joten siihen ei ole löytynyt yleispätevää ratkaisua. Parviälykkyyden sovellukset, kuten Ant System ja Ant Colony System -algoritmit tarjoavat uusia ratkaisumahdollisuuksia Kauppamatkustajan ongelmaan. Kauppamatkustajan ongelmaa pidetään benchmarkina laskennallisessa optimoinnissa (Bonabeau et al., 1999), joten tässä tutkielmassa esiteltyjen algoritmien suoritustehokkuuden testaus Kauppamatkustajan ongelman ilmentymillä oli luonnollinen vaihtoehto. Tutkielman kokeellisessa osuudessa verrataan Ant System ja Ant Colony System - algoritmien suoritusaikoja ja lyhimpiä löydettyjä reittejä Kauppamatkustajan ongelman ilmentymissä keskenään. Suoritusaikoja verrataan keskenään tilastollisin menetelmin. Saatujen tulosten avulla on haluttu osoittaa, että Ant Colony System - algoritmi on kehittyneempi versio Ant System -algoritmista sekä että muurahaispohjaiset parviälykkyysalgoritmit Ant System ja Ant Colony System ovat käyttökelpoisia algoritmeja lyhimmän reitin etsinnässä Kauppamatkustajan ongelman ilmentymissä. Tutkielmassa johdatellaan lukijaa aiheeseen lukujen 2 ja 3 avulla. Luvussa 2 kerrotaan parvikäyttäytymisestä ja sen yhteydestä luontoon. Luvussa 3 keskitytään parviälykkyyteen, joka liitetään läheisesti parvikäyttäytymiseen. Luvussa keskitytään enemmän parviälykkyyden hyötyihin ja muurahaisiin, koska tutkielman aiheena ovat parviälykkyys ja muurahaispohjaiset algoritmit. Luvussa 4 esitellään Kauppamatkustajan ongelma sekä Ant System että Ant Colony System -algoritmit matemaattisten kaavojen tarkkuudella. Luvussa esitellään myös Kauppamatkustajan ongelman yksi käytännön sovellus sekä Ant Colony System -algoritmin parantamiseksi seitsemän eri viestintästrategiaa. Luvussa 5 Ant System ja Ant Colony System -algoritmeja testataan kauppamatkustajan ongelman ilmentymien avulla sekä esitetään ja analysoidaan saadut tulokset. Luvussa 6 on tutkielman yhteenveto ja pohdinta. Pohdinnassa esitellään tutkielman pohjalta tehdyt johtopäätökset ja jatkotutkimusideat. 2

13 2 PARVIKÄYTTÄYTYMINEN Tässä luvussa esitellään parvikäyttäytymistä. Esimerkkien avulla huomataan, että parvikäyttäytyminen on osa ihmisten ja eläinten jokapäiväistä elämää. Lisäksi on havaittavissa, että parvikäyttäytymisen ja parviälykkyyden välillä ei ole suurta eroa ja parvikäyttäytymistä on ymmärrettävä, jotta voidaan ymmärtää parviälykkyyttä. Kappaleessa 2.1 kuvataan parviälykkyyttä ympärillämme. Kappaleessa 2.2 kuvataan parvikäyttäytymiselle tyypillisiä näkymättömiä johtajia, joiden passiivisella johtamisella parvet liikkuvat. Kappaleessa 2.3 perehdytään kulkusirkkoihin, joiden tutkiminen on auttanut ymmärtämään parvikäyttäytymistä. Samassa kappaleessa esitellään myös Reynoldsin säännöt, joita jokainen parven yksilö noudattaa huomaamattaan. 2.1 Parvikäyttäytyminen ympärillämme Parvikäyttäytyminen on eläinten käyttäytymispiirre, jossa eläimet hakeutuvat toisten samanlaisten yksilöiden läheisyyteen (Wootton, 1998). Parvikäyttäytyminen on ominaista kaikille suurina joukkoina esiintyville eläimille ja ihmisille. Tutkimus (Fisher, 2009) on osoittanut, että parvikäyttäytyminen ei vaadi monimutkaisia käyttäytymismalleja, vaan yksinkertaisia vuorovaikutussääntöjä vierekkäisten yksilöiden kanssa. Esimerkiksi jalkapallopelissä ihmiset tekevät aaltoja yleisössä. Jokaisen yksilön kohdalla tehdään vuorollaan samat liikkeet, eli noustaan ylös, nostetaan kädet ilmaan ja lasketaan kädet alas. Seuraavana vuorossa olevat henkilöt tekevät edellisen esimerkin mukaan liikkeensä. Tällainen informaation välitys yksinkertaisilla menettelytavoilla on parvikäyttäytymisen perusperiaatteita. Eläimet, varsinkin hyönteiset ja ihmiset, osaavat liikkua sulavasti suurina joukkoina törmäilemättä toisiinsa säilyttäen tiiviin parvimaisen rakenteensa. Eläinten parvikäyttäytymistä on tutkittu paljon ja muun muassa muurahaisten käyttäytymisen tutkimisen (Dorigo et al., 1999) kautta on kehitetty parviälykkyyden sovelluksia Parvikäyttäytymistä on kaikkialla elottomassa ja elollisessa luonnossa ja useat luontokappaleet ovat jatkuvasti tekemisissä parvikäyttäytymisen kanssa. 3

14 Noudattamalla yksinkertaisia sääntöjä luontokappaleet muodostavat monimutkaisia rakenteita ja kaavoja. Elottomat rakenteet muodostavat myös monimutkaisia rakenteita. Atomien molekyylit esimerkiksi muodostavat kiteitä ja hiekkadyynit muodostuvat tuulen puhaltaessa aavikon yli. Molemmissa tapahtumissa noudatetaan yksinkertaisia sääntöjä. Hiekkadyynit muodostuvat maan vetovoiman, tuulen ja viereisten hiekanjyvien kitkan vaikutuksesta. Atomit sekä molekyylit taas vetävät tai hylkivät toisiaan magneettikenttiensä mukaan muodostaen suuriakin kokonaisuuksia vetovoimiensa ansiosta. Esimerkki parvikäyttäytymisestä on esitetty kuvassa 1, jossa kalaparven kalat ovat lähellä toisiaan kuitenkaan törmäilemättä toisiinsa. Tiiviinä parvena kaloilla on paremmat mahdollisuudet välttyä saalistajilta. Kuvassa 2 on kuva aavikosta. Kuvalle on muodostunut säännöllinen kuvio tuulen ja hiekanjyvien kitkan vaikutuksesta. Kuva 1: Kalaparvi, jonka yksilöt noudattavat vuorovaikutussääntöjä. Sääntöjä noudattamalla kalat pysyvät tiiviinä parvena. (Dunleavy, 2011.) 4

15 Kuva 2: Aavikolle muodostuneita kuvioita tuulen ja kitkan vaikutuksesta. (Yapp, 2005.) Myös ihmiset ja eläimet hylkivät sekä vetävät toisiaan puoleensa vaikkakaan ei yhtä selkeästi kuin atomit ja molekyylit. Nämä ihmisihmis ja eläinjoukot vaikuttavat ulkopuolisen silmään ään olevan epäjärjestyksessä eli ulkoapäin tarkasteltuna joukot vaikuttavat olevan täydellisen epäjärjestyksen vallassa, mutta samalla kaikki ovat viereisiin yksilöihin nähden järjestyksessä ja noudattavat tiettyjä yksinkertaisia sääntöjä. Säännöt määrittelevät määrittelevät kokonaisia yhteisöjä, eikä niinkään vain sen yksittäisiä jäseniä. Tällaista järjestystä kutsutaan dynaamiseksi järjestykseksi, järjestykseksi koska parven jäsenten väliset säännöt muodostavat dynaamisia,, eli ajan mukaan muuttuvia kaavoja suurten kokonaisuuksien välille. väl (Fisher, 2009.) Dynaamista järjestystä on kahdenlaista: sellaista, millä ei päädytä mihinkään päämäärään vaan kuljetaan ympäriinsä ikään kuin kuin yrittäen löytää järjestys. järjestys Toinen dynaamisen järjestyksen muoto on olosuhteiden mukaan muuttuva järjestys. Tällaisesta ällaisesta järjestyksestä on hyvänä esimerkkinä kalaparvet, jotka mukautuvat kohdatessaan saalistajan ja palaavat sen jälkeen alkuperäiseen muotoonsa. Tällaiset parvet ovat dynaamisia parvia, koska ne pystyvät mukautumaan olosuhteiden muutoksiin. (Fisher, 2009.) 2009 Dynaamiset parvet eivät tarvitse yksittäistä johtajaa, jotta muutokset tapahtuvat. Hyvänä esimerkkinä on yleisön yhtyminen yksittäisten ihmisten taputuksiin (Fisher, 2009).. Aluksi yleisöstä alkavat taputtamaan muutamat ihmiset sieltä täältä ja 5

16 vähitellen taputuksiin on yhtynyt enemmän ja enemmän ihmisiä. Hetken kuluttua kaikki yleisöstä taputtavat synkronoidusti. Yleisössä kaikki toimivat itsensä johtajina eli niin sanottuina näkymättöminä johtajina. Aihetta käsitellään tarkemmin seuraavassa kappaleessa. 2.2 Näkymättömät johtajat Näkymättömät johtajat (Fisher, 1999) ovat parvessa näkymättömiksi tekeytyviä suunnannäyttäjiä. Näkymätön johtaja on parhaimmillaan, kun sen olemassaoloa ei huomata. Näkymättömät johtajat pysyvät näkymättömissä parven muille jäsenille, koska parven käyttäytymissäännöt pitävät huolen, että parven jäsenet pysyvät parvessa. Partikkelien eksyessä reitiltä ne palaavat vähitellen takaisin parveen, koska niihin kohdistuu negatiivinen palaute, joka pyrkii korjaamaan virheitä. Negatiivinen palaute esitellään tarkemmin luvussa 3. Ihmisten käyttäytymistä, johtajuutta ja päätöksentekoa tutkivassa tutkimuksessa (Dyer et al., 2009) henkilöt kävelivät tasaisella nopeudella huoneessa, jonka seinillä oli kirjaimia A:sta J:hin. Heidän piti kävellä noin kädenmitan päässä vähintään yhdestä henkilöstä ja pysähtyä, kun heitä käskettiin. Kenelläkään ei ollut omaa määränpäätään ja kaikkien oli pysyttävä ryhmässä, kuten mehiläiset parvessa. Muutamille henkilöille oli annettu ohjeeksi mennä tietyn kirjaimen kohdalle, mutta heidänkin piti kulkea koko ajan kädenmatkan päässä vähintään yhdestä henkilöstä. Ihmisten käskettyä pysähtyä suurin osa oli saman kirjaimen kohdalla, koska heidät oli johdatettu sinne. Muutamat henkilöt, joille oli annettu ohjeeksi mennä tietyn kirjaimen kohdalle toimivat johtajina. Samalla tavalla mehiläiset pystyvät lentämään parvena kohteeseensa vaikka suurin osa ei kohdetta tiedäkään. Couzilin ja hänen kollegoidensa (Couzil et al., 2005) tekemä tietokonesimulaatio osoitti, että mitä isommasta parvesta oli kysymys, sitä vähemmän yksilöitä tarvittiin johdattamaan parvea. Edellisessä esimerkissä informoituja henkilöitä oli vain viisi prosenttia koko parvesta eli kymmenen henkilöä kahdestasadasta. Tietokonesimulaatiot osoittavat, että nämä viisi prosenttia informoiduista ihmisistä pystyvät johdattamaan muut määränpäähän yhdeksänkymmenen prosentin tarkkuudella (Fisher, 1999). 6

17 Muutamat informoidut yksilöt parvessa parantavat parven toimintaa huomattavasti, mutta ilman informoituja yksilöitä parvi reagoi vain ulkoisiin ärsykkeisiin. Esimerkiksi kalaparvet reagoivat, kun ne kohtaavat saalistajan ja kulkusirkat reagoivat tuuleen lentämällä myötätuulen suuntaisesti. Näissä esimerkeissä saalistaja sai kalaparven käyttäytymään tietyllä tavalla ja tuuli sai kulkusirkat käyttäytymään tietyllä tavalla. Parvikäyttäytymisellä pidetään parvi kasassa, mutta ilman päämäärää tai tavoitetta parven on mahdotonta olla proaktiivinen, eli ennakoida toimintaansa esimerkiksi saalistajien varalta. 2.3 Kulkusirkat ja Reynoldsin säännöt Kulkusirkat ovat heinäsirkkoja, jotka muodostavat suuria yhtenäisiä parvia. Yksittäiset kulkusirkat vaeltelevat päämäärättömästi ympäriinsä, mutta tarpeeksi suuret kulkusirkkapopulaatiot käyttäytyvät kuin sotilaskolonna. Muiden sirkkojen välitön läheisyys saa kaikki sirkat kulkemaan joukkona eteenpäin etsien ruokaa ja syöden reitiltään kaiken mahdollisen ravinnoksi kelpaavan. Kulkusirkkojen parvikäyttäytymisen tutkiminen on antanut arvokasta tietoa siitä, miten eläinparvet hyönteisistä ihmisiin liikkuvat, sekä siitä, minkälaisia sääntöjä parvet noudattavat. Kulkusirkat pysyvät parven sisällä organisoidussa muodostelmassaan välttääkseen tulemasta syödyksi takana kulkevan sirkan toimesta. Toinen, parven koossa pitävä voima on positiivinen palaute, eli muutaman kulkusirkan kulkeminen yhteen suuntaan saa muutkin kulkemaan samaan suuntaan 1. Positiivinen palaute esitellään tarkemmin luvussa 3. (Fisher, 1999.) Craig Reynolds kehitti (1995) parvisimulaation vuonna 1986 käyttäen lintujen sijaan pieniä kolmioita (boids). Boidit käyttäytyvät samaan tapaan, kuin lentävät linnut ja yksittäisten lintujen kadottaessa parvensa linnut löytävät takaisin muiden joukkoon hetken harhailtuaan päämäärättömästi ilmassa. 1 Tällaisen monimutkaisen kollektiivisen käyttäytymisen parempaan ymmärtämiseen tarvitaan kuitenkin avuksi tietokonesimulaatioita (Fischer, 2009). 7

18 Reynoldsin kehittämät säännöt selittävät parvikäyttäytymistä, koska kaikki parven yksilöt noudattavat ko. sääntöjä. Säännön pätevät myös kaikkiin parviin eläinkunnassa sekä kaikkiin tietokonemalleihin, jotka simuloivat parvikäyttäytymistä. Tietokonesimulaation avulla on saatu selville, että myös kulkusirkat noudattavat kolmea Reynoldsin sääntöä.. Reynolds havaitsi, että simulaation toteuttamiseen ei vaadita monimutkaista ohjelmointia, vaan boidit noudattavat kolmea yksinkertaista sääntöä. Säännöt ovat havainnollistettu kuvassa 3. Määritelmä 1.. Reynoldsin säännöt parvikäyttäytymisestä (Reynolds, 1995): 1. Välttäminen (Avoidance): Vältä törmäämästä muihin partikkeleihin 2. Suuntaus (Alignment): Liiku suunnilleen samaan suuntaan, kuin vieressä olevat partikkelit liikkuvat 3. Vetovoima (Attraction): Pidä etäisyys viereisiin partikkeleihin suurin piirtein samana Kuva 3: Craig Reynoldsin lintuparvisimulaation kolme sääntöä. Ylhäällä sääntö 1. välttäminen, keskellä sääntö 2. suuntaus ja alhaalla sääntö 3. vetovoima. (Reynolds, 1995.) 8

19 3 PARVIÄLYKKYYS Tässä luvussa esitellään parviälykkyyttä. Parviälykkyyden esimerkkeinä toimivat muurahaiset ja mehiläiset. Edellä mainitut hyönteiset ovat myös olleet pääasiallinen innostuksen lähde parviälykkyyden tutkimuksessa (Fisher, 2009; Fleischer, 2003). Hyönteisistä muurahaisten toimintaa on tutkittu eniten ja muurahaisten tutkimisen avulla on kehitetty parviälykkyysalgoritmeja, kuten Ant System ja Ant Colony System. Kappaleessa 3.1 selitetään parviälykkyyden perusperiaatteita. Kappaleessa 3.2 tarkastellaan mehiläisiä ja kappaleessa 3.3 muurahaisia. Molemmat hyönteiset ovat olleet merkittävässä asemassa parviälykkyyden ymmärtämisessä ja kehittämisessä. Kappaleessa 3.4 tarkastellaan parviälykkyydet hyötyjä ongelmanratkaisussa sekä lyhyesti viittä parviälykkyyden sovellusta. 3.1 Parviälykkyyden perusperiaatteet Parviälykkyys on parvikäyttäytymisen kehittyneempi muoto, missä parvet toimivat yhdessä ratkaistakseen ongelmia. Parviälykkyydessä on kyse oppimisesta ja se vaatii kommunikaatiota parven sisällä (Fleischer, 2003). Parvikäyttäytymistä kutsutaan parviälykkyydeksi, kun koko parvea käytetään ongelmanratkaisussa. Parvikäyttäytyminen on pelkästään parven jäsenten eli partikkelien yhteistoimintaa, ilman ongelmanratkaisua. Tietojenkäsittelytieteessä parven jäseniä kutsutaan partikkeleiksi. Parviälykkyydessä on kyse suurten ja monimutkaisten kokonaisuuksien hallitsemisesta, vaikka kokonaisuuksien välinen kommunikaatio on minimaalista. Suurten kokonaisuuksien vuoksi parviälyllä toteutetut järjestelmät ovat hajautetusti ohjattuja, missä yhden osan hajoaminen ei kaada koko järjestelmää. (Fleisher, 2003.) Parviälykkyyden taustalla on hyönteisten tutkiminen, hyönteisten käyttäytymisestä opitut asiat ja opittujen asioiden soveltamisesta tietojenkäsittelytieteeseen. Hyönteiset esiintyvät suurina, organisoituina joukkoina joiden selviytymiskyvyt ja ravinnonetsintäkyvyt ovat hyvät. Hyönteiset, kuten mehiläiset ja muurahaiset, 9

20 käyttävät selviytymiseen ja ravinnon etsimiseen työskentelytapoihin yksinkertaista kommunikointia ja organisoituun liikkumiseen yksinkertaisia liikkumissääntöjä. Hyönteiset käyttäytyvät ulkoisten ärsykkeiden mukaan ja nämä ärsykkeet saavat hyönteiset toimimaan itseorganisoidusti (Menzel & Giurfa, 2001). Yksittäinen hyönteinen ei löydä ratkaisua ongelmaan, mutta yhtenä parvena tai kolonnana ratkaisu löydetään jaetun informaation avulla (Camazine et al., 2001). Parviälykkyydestä puhuttaessa esiintyvät usein termit positiivinen ja negatiivinen palaute (positive and negative feedback), jotka ovat keskeisiä termejä parvikäyttäytymisessä ja -älykkyydessä. Positiivisella palautteella vahvistetaan ilmiötä ja negatiivisella palautteella pyritään pitämään asiat ennallaan. Positiivinen ja negatiivinen palaute ohjailevat myös populaatioiden kasvua luonnossa, osakemarkkinoiden vaihtelua sekä parviälykkyydessä esiintyviä malleja. (Fisher, 2009.) Positiivinen palaute synnyttää joukossa massakäyttäytymistä. Lähimmät yksilöt vaikuttavat mielipiteillään ja käyttäytymisellään muiden valintoihin. Tällä tavalla toimivat myös muurahaiset kolonnissaan: yksilöt pitävät valintaansa hyvänä, joten valintaa tekevät muurahaiset noudattavat lähimpien yksilöiden esimerkkiä. Negatiivinen palaute pyrkii säilyttämään nykyisen tilan ja korjaamaan virheitä. Virheet aiheuttavat poikkeavuutta normaalitilasta, joten negatiivisella palautteella pyritään takaisin normaalitilaan. Esimerkiksi ajaessa autoa ja auton ajautuessa oikealle, negatiivisella palautteella pyritään saamaan ohjauspyörä kääntymään vasemmalle, jotta autolla palataan takaisin alkuperäiselle ajolinjalle. Positiivisella palautteella pyritään voimistamaan ohjauspyörän kääntymistä oikealle, jolloin auton pyörät vievät autoa enemmän oikealle pois ajolinjaltaan. 3.2 Mehiläiset Reynoldsin säännöt eli liikkumissäännöt selittävät parvikäyttäytymistä, kuten kappaleessa 2.3 on todettu. Sen lisäksi mehiläisten käyttäytymistä tutkimalla ymmärretään Reynoldsin sääntöjen vaikutusta parven ongelmanratkaisussa, kun muutaman yksilön on johdatettava mehiläisparvi oikeaan paikkaan. 10

21 Yksittäiset mehiläiset noudattavat Reynoldsin kolmea sääntöä samoin kuin kulkusirkat. Kulkusirkoista poiketen yksittäiset mehiläiset osaavat viestittää toisilleen löytämänsä paikan sijainnin. Michiganin yliopistossa tehty Fred Dyerin tutkimus (Dyer, 2002) on osoittanut, että mehiläistiedustelijat välittävät tiedon muille mehiläisille tanssimalla niiden edessä kahdeksikkoa. Tanssin näkee kuitenkin vain murto-osa mehiläisistä, ja tanssin nähneet mehiläiset lentävät harvoin parven ensimmäisinä ja silti parvella päädytään oikeaan paikkaan. Martin Lindauer (1955) havaitsi ensimmäisenä, että muutamat parven mehiläisistä lentävät suuremmalla nopeudella kuin muut. Viisikymmentä vuotta myöhemmin sama ilmiö mehiläisparvessa vahvistettiin (Beekman et al. 2006). Näytti siltä, että suuremmalla nopeudella lentävät mehiläiset olivat suunnannäyttäjiä muille mehiläisille. Niiden avulla parvi löysi perille kohteeseensa. Tässä vaiheessa ei vielä tiedetty tietävätkö kaikki nopeimmin lentävät mehiläiset reittiä perille. Tietokonesimulaatio (Couzil et al. 2005) osoitti, että mehiläisparvet löytävät perille, vaikkei kaikki nopeimmin lentävistä mehiläisistä tietäisikään reittiä perille. Tietokonesimulaatio osoitti myös, että parven johdattamiseen oikeaan kohteeseen tarvitaan vain muutama informoitu mehiläinen, koska kaikki noudattavat Reynoldsin kolmea sääntöä. Parven johdattamiseen tarvitaan vain muutama partikkeli, joilla on selvä määränpää. Muilla ei ole minkäänlaista määränpäätä, joten muut seuraavat informoituja mehiläisiä niin kauan, kun heillä ei ole omaa päämäärää tavoiteltavanaan. 3.3 Muurahaiset Kulkusirkat ja mehiläiset auttavat meitä ymmärtämään parvikäyttäytymistä ja osittain vastaamaan kysymykseen siitä mitä parviälykkyys on. Tutkimalla muurahaisten käyttäytymistä parviälykkyyttä ymmärretään paremmin. Muurahaisten tutkiminen onkin tarjonnut lukuisia algoritmeja parviälykkyyteen, joista kahta tutkitaan tässä tutkielmassa. Muurahaiset löytävät aina lyhimmän reitin muurahaiskeon ja ruoan välillä ja ilmiön pohjalta on ryhdytty kehittämään muurahaispohjaisia parviälykkyysalgoritmeja (Dorigo et al., 1999). Brysselin yliopistossa ekologisen käyttäytymisen yksikössä 11

22 muurahaisten kyky lyhimmän reitin löytämiseksi muurahaiskeon ja ruoan välillä todistettiin kokeellisesti (Goss et a., 1989). Muurahaiskeon ja ruoan välille tehtiin silta, jota pitkin kulki kaksi eripituista reittiä kohteeseen. Ensin muurahaiset lähtivät sattumanvaraisesti kahta reittiä pitkin ruoan luokse. Muutaman minuutin kuluttua kaikki kulkivat lyhintä reittiä pitkin keolta ruoalle. Muurahaiset löysivät lyhimmän reitin levittämällä feromoneja reiteilleen. Feromonit ovat kemikaaleja, joiden hajua muurahaiset seuraavat (Fisher, 2009). Muurahaiset levittävät feromoneja kulkemilleen reiteilleen ja muurahaiset seuraavat hajun perusteella vahvinta feromonijälkeä. Muurahaiskeolla odottavat muurahaiset lähtevät seuraamana ensimmäisten muurahaisten jättämää feromonijälkeä ruoalle. Aikanaan pidemmiltä reiteiltä takaisin ehtineet muurahaiset lähtevät myös kulkemaan lyhintä reittiä, koska lyhimmällä reitillä on kulkenut enemmän muurahaisia kuin pidemmällä ja siihen on levitetty enemmän feromoneja. Kuva 4 havainnollistaa vaiheittain kohtien a, b, c ja d avulla muurahaista hakeutumisen lyhimmälle reitille. Kohdassa a muurahaiset saapuvat kohtaan, jossa on tehtävä päätös reitistä. Kohta b osoittaa, että muurahaiset valitsevat sattumanvaraisesti jommankumman reitin. Kohdassa c osoitetaan, että lyhemmän reitin valinneet muurahaiset ovat ensimmäisinä perillä, koska kaikki muurahaiset liikkuvat samalla nopeudella. Kohdassa c lyhyempää reittiä on käytetty enemmän ja siihen on levitetty enemmän feromoneja, koska siitä on kulkenut enemmän muurahaisia kuin pidemmällä reitillä. 12

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely)

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Jari Hast xx.12.2013 Ohjaaja: Harri Ehtamo Valvoja: Hari Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

13 Lyhimmät painotetut polut

13 Lyhimmät painotetut polut TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien

Lisätiedot

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 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ätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

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

A 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ätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 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ätiedot

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( ) Königsbergin sillat 1700-luvun Königsbergin (nykyisen Kaliningradin) läpi virtasi joki, jonka ylitti seitsemän siltaa. Sanotaan, että kaupungin asukkaat yrittivät löytää reittiä, joka lähtisi heidän kotoaan,

Lisätiedot

Integrointialgoritmit molekyylidynamiikassa

Integrointialgoritmit molekyylidynamiikassa Integrointialgoritmit molekyylidynamiikassa Markus Ovaska 28.11.2008 Esitelmän kulku MD-simulaatiot yleisesti Integrointialgoritmit: mitä integroidaan ja miten? Esimerkkejä eri algoritmeista Hyvän algoritmin

Lisätiedot

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

Induktiotodistus: 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ätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 3 (31.3.2015) Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö Algoritmit 1 Luento 14 Ke 25.2.2015 Timo Männikkö Luento 14 Heuristiset menetelmät Heuristiikkoja kapsäkkiongelmalle Kauppamatkustajan ongelma Lähimmän naapurin menetelmä Kertaus ja tenttivinkit Algoritmit

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

58131 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ätiedot

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely) Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely) Antti Salmela 03.03.2014 Ohjaaja: Harri Ehtamo Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.

Lisätiedot

j n j a b a c a d b c c d m j b a c a d a c b d c c j

j n j a b a c a d b c c d m j b a c a d a c b d c c j TEKNILLINEN KORKEAKOULU Tietoliikenne- ja tietoverkkotekniikan laitos S-38.115 Liikenneteorian perusteet, Kevät 2008 Demonstraatiot Luento 12 29.2.2008 D12/1 Tarkastellaan verkkoa, jossa on solmua ja linkkiä.

Lisätiedot

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

V. 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ätiedot

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Kokonaislukuoptimointi hissiryhmän ohjauksessa Kokonaislukuoptimointi hissiryhmän ohjauksessa Systeemianalyysin laboratorio Teknillinen Korkeakoulu, TKK 3 Maaliskuuta 2008 Sisällys 1 Johdanto Taustaa Ongelman kuvaus 2 PACE-graafi Graafin muodostaminen

Lisätiedot

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä. POHDIN projekti TIEVERKKO Tieverkon etäisyyksien minimointi ja esimerkiksi maakaapeleiden kokonaismäärän minimointi sekä ylipäätään äärellisen pistejoukon yhdistäminen reitityksillä toisiinsa niin, että

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 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ätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 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

UCOT-Sovellusprojekti. Testausraportti

UCOT-Sovellusprojekti. Testausraportti UCOT-Sovellusprojekti Testausraportti Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 0.02 Julkinen 11. lokakuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

Liikennevalo-ohjatut suojatiet: Tekevätkö liikennevalot suojatiestä turvallisemman?

Liikennevalo-ohjatut suojatiet: Tekevätkö liikennevalot suojatiestä turvallisemman? Liikennevalo-ohjatut suojatiet: Tekevätkö liikennevalot suojatiestä turvallisemman? Perinteisesti arvellaaan, että liikennevalo-ohjatut suojatiet ovat turvallisempia kuin ilman liikennevaloja olevat suojatiet.

Lisätiedot

Harjoitus 7: NCSS - Tilastollinen analyysi

Harjoitus 7: NCSS - Tilastollinen analyysi Harjoitus 7: NCSS - Tilastollinen analyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tilastollinen testaus Testaukseen

Lisätiedot

Datatähti 2019 loppu

Datatä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ätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1 Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,

Lisätiedot

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2013-2014 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2013-2014 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

A* Reitinhaku Aloittelijoille

A* Reitinhaku Aloittelijoille A* Reitinhaku Aloittelijoille Alkuperäisen artikkelin kirjoittanut Patrick Lester, suomentanut Antti Veräjänkorva. Suom. huom. Tätä kääntäessäni olen pyrkinyt pitämään saman alkuperäisen tyylin ja kerronnan.

Lisätiedot

S-114.2720 Havaitseminen ja toiminta

S-114.2720 Havaitseminen ja toiminta S-114.2720 Havaitseminen ja toiminta Heikki Hyyti 60451P Harjoitustyö 2 visuaalinen prosessointi Treismanin FIT Kuva 1. Kuvassa on Treismanin kokeen ensimmäinen osio, jossa piti etsiä vihreätä T kirjainta.

Lisätiedot

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmit 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ätiedot

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut JYVÄSKYLÄN YLIOPISTO 14. Luennon sisältö Kuljetustehtävä esimerkki Verkkoteoria ja optimointi verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut kevät 2012 TIEA382 Lineaarinen ja diskreetti

Lisätiedot

Search space traversal using metaheuristics

Search space traversal using metaheuristics Search space traversal using metaheuristics Mika Juuti 11.06.2012 Ohjaaja: Ville Mattila Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 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ätiedot

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat Luento 2. Kieli merkitys ja logiikka 2: Helpot ja monimutkaiset Helpot ja monimutkaiset ongelmat Tehtävä: etsi säkillinen rahaa talosta, jossa on monta huonetta. Ratkaisu: täydellinen haku käy huoneet

Lisätiedot

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5. Tekijä Pitkä matematiikka 5 7..017 31 Kirjoitetaan yhtälö keskipistemuotoon ( x x ) + ( y y ) = r. 0 0 a) ( x 4) + ( y 1) = 49 Yhtälön vasemmalta puolelta nähdään, että x 0 = 4 ja y 0 = 1, joten ympyrän

Lisätiedot

Reilun Pelin työkalupakki: Kiireen vähentäminen

Reilun Pelin työkalupakki: Kiireen vähentäminen Reilun Pelin työkalupakki: Kiireen vähentäminen Tavoitteet Tämän toimintamallin avulla opit määrittelemään kiireen. Työyhteisösi oppii tunnistamaan toistuvan, kuormittavan kiireen sekä etsimään sen syitä

Lisätiedot

2. 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.

2. 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ätiedot

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Konsensusongelma 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ätiedot

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa Lektio 20.12.2012, Annemari Soranto Tietotekniikan laitos annemari.k.soranto@jyu.fi 1 Agenda Vertaisverkon määritelmä Haku vertaisverkossa

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta 811312A Tietorakenteet ja algoritmit 2018-2019 Kertausta jälkiosasta V Hashtaulukot ja binääriset etsintäpuut Hashtaulukot Perusajatus tunnettava Tiedettävä mikä on tiivistefunktio Törmäysongelman hallinta:

Lisätiedot

Johdatus verkkoteoriaan luento Netspace

Johdatus verkkoteoriaan luento Netspace Johdatus verkkoteoriaan luento 20.3.18 Netspace Kurssin sijainti muussa suunnitellussa kokonaisuudessa Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot, verkon

Lisätiedot

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB Datatähti 2019 alku task type time limit memory limit A Kolikot standard 1.00 s 512 MB B Leimasin standard 1.00 s 512 MB C Taulukko standard 1.00 s 512 MB D Ruudukko standard 1.00 s 512 MB E Sanalista

Lisätiedot

Optimoinnin sovellukset

Optimoinnin sovellukset Optimoinnin sovellukset Timo Ranta Tutkijatohtori TTY Porin laitos OPTIMI 4.12.2014 Mitä optimointi on? Parhaan ratkaisun systemaattinen etsintä kaikkien mahdollisten ratkaisujen joukosta Tieteellinen

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, 652013, vastauksia 1 [6 pistettä] Vastaa jokaisesta alla olevasta väittämästä onko se tosi vai epätosi ja anna lyhyt perustelu Jokaisesta kohdasta

Lisätiedot

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmi 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ätiedot

Laskennallinen älykkyys. Computational Intelligence

Laskennallinen älykkyys. Computational Intelligence Laskennallinen älykkyys Computational Intelligence MITEN PIDÄN TEIDÄT HEREILLÄ? SAMK ja laskennallisen älykkyyden tutkimus Lyhyesti muutamasta ongelmasta Miten jääkiekon SM liigan sarjaohjelma laaditaan?

Lisätiedot

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Valitaan 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ätiedot

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO JOUNI HUOTARI 2005-2010 OLAP-OHJETEKSTIT KOPIOITU MICROSOFTIN OHJATUN OLAP-KUUTION TEKO-OHJEESTA ESIMERKIN KUVAUS JA OLAP-MÄÄRITELMÄ

Lisätiedot

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 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ätiedot

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on 13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu

Lisätiedot

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä OLAP-kuution teko Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta Esimerkin kuvaus ja OLAP-määritelmä Tavoitteena on luoda OLAP-kuutio Northwind-tietokannan tilaustiedoista

Lisätiedot

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita

Lisätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 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ätiedot

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2 Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 8.5.2018 Timo Männikkö Luento 13 Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys Kertaus ja tenttivinkit Algoritmit 2 Kevät

Lisätiedot

Älykäs datan tuonti kuljetusongelman optimoinnissa. Antoine Kalmbach

Älykäs datan tuonti kuljetusongelman optimoinnissa. Antoine Kalmbach Älykäs datan tuonti kuljetusongelman optimoinnissa Antoine Kalmbach ane@iki.fi Sisällys Taustaa Kuljetusongelma Datan tuominen vaikeaa Teoriaa Tiedostojen väliset linkit Mikä sarake on mikäkin? Ratkaisutoteutus

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta 811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta jälkiosasta IV Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden aikakompleksisuus

Lisätiedot

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon

Lisätiedot

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

Oikeasta 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ätiedot

T : Max-flow / min-cut -ongelmat

T : Max-flow / min-cut -ongelmat T-61.152: -ongelmat 4.3.2008 Sisältö 1 Määritelmät Esimerkki 2 Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys 3 Perusajatus Pseudokoodi Tarkastelu 4 T-61.152: -ongelmat Virtausverkko

Lisätiedot

Fibonaccin luvut ja kultainen leikkaus

Fibonaccin luvut ja kultainen leikkaus Fibonaccin luvut ja kultainen leikkaus Avainsanat: Fibonacci, lukujono, kultainen leikkaus, suhde, yhtälö Luokkataso: 6.-9.-luokka, lukio, yliopisto Välineet: Kynä, paperi (kulmaviivain, sakset) Kuvaus:

Lisätiedot

Polkuriippuvuus trade-off-painotuksessa (valmiin työn esittely)

Polkuriippuvuus trade-off-painotuksessa (valmiin työn esittely) Polkuriippuvuus trade-off-painotuksessa (valmiin työn esittely) Riikka Siljander 8.9.2014 Ohjaaja: DI Tuomas Lahtinen Valvoja: prof. Raimo Hämäläinen Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla

Lisätiedot

7.4. Eulerin graafit 1 / 22

7.4. Eulerin graafit 1 / 22 7.4. Eulerin graafit 1 / 22 Viivojen läpikäynti Graafin pisteiden/viivojen läpikäyminen esiintyy usein sovelluksissa: Etsintäalgoritmit, reititykset Läpikäyminen tehdään nopeimmin, kun yhtäkään viivaa/pistettä

Lisätiedot

Johdatus todennäköisyyslaskentaan Todennäköisyyslaskenta ja puudiagrammit. TKK (c) Ilkka Mellin (2005) 1

Johdatus todennäköisyyslaskentaan Todennäköisyyslaskenta ja puudiagrammit. TKK (c) Ilkka Mellin (2005) 1 Johdatus todennäköisyyslaskentaan Todennäköisyyslaskenta ja puudiagrammit TKK (c) Ilkka Mellin (2005) 1 Todennäköisyyslaskenta ja puudiagrammit Puutodennäköisyydet Todennäköisyyslaskennan laskusääntöjen

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 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ätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

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 return

Lisätiedot

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Satunnaisalgoritmit. 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ätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

OMINAISUUS- JA SUHDETEHTÄVIEN KERTAUS. Tavoiteltava toiminta: Kognitiivinen taso: Ominaisuudet ja suhteet -kertaus

OMINAISUUS- JA SUHDETEHTÄVIEN KERTAUS. Tavoiteltava toiminta: Kognitiivinen taso: Ominaisuudet ja suhteet -kertaus Harjoite 12: Tavoiteltava toiminta: Materiaalit: OMINAISUUS- JA SUHDETEHTÄVIEN KERTAUS Kognitiivinen taso: Ominaisuudet ja suhteet -kertaus Toiminnan tavoite ja kuvaus: Oppilaat ratkaisevat paperi- ja

Lisätiedot

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely) Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely) Joonas Lanne 23.2.2015 Ohjaaja: Eeva Vilkkumaa Valvoja: Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Oppilas tunnistaa ympäristöopin eri tiedonalat.

Oppilas tunnistaa ympäristöopin eri tiedonalat. Ympäristöoppi 4.lk Arvioinnin tuki Arvioitavat tavoitteet 5 6-7 6=osa toteutuu 7=kaikki toteutuu T1 synnyttää ja ylläpitää oppilaan kiinnostusta ympäristöön ja opiskeluun sekä auttaa oppilasta kokemaan

Lisätiedot

Liite 2: Verkot ja todennäköisyyslaskenta. Todennäköisyyslaskenta ja puudiagrammit

Liite 2: Verkot ja todennäköisyyslaskenta. Todennäköisyyslaskenta ja puudiagrammit Ilkka Mellin Todennäköisyyslaskenta Liite 2: Verkot ja todennäköisyyslaskenta Todennäköisyyslaskenta ja puudiagrammit TKK (c) Ilkka Mellin (2007) 1 Todennäköisyyslaskenta ja puudiagrammit >> Puutodennäköisyydet

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen

Lisätiedot

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B Sovellettu todennäköisyyslaskenta B Antti Rasila 14. syyskuuta 2007 Antti Rasila () TodB 14. syyskuuta 2007 1 / 21 1 Kokonaistodennäköisyys ja Bayesin kaava Otosavaruuden ositus Kokonaistodennäköisyyden

Lisätiedot

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2012-2013 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2012-2013 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

Aineistoista. Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin

Aineistoista. Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin Aineistoista 11.2.09 IK Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin Muotoilussa kehittyneet menetelmät, lähinnä luotaimet Havainnointi:

Lisätiedot

Verkon värittämistä hajautetuilla algoritmeilla

Verkon 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ätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 4 3.4.017 Tehtävä 1 Tarkastellaan harjoituksen 1 nopeimman reitin ongelmaa ja etsitään sille lyhin virittävä puu käyttämällä kahta eri algoritmia. a) (Primin algoritmi) Lähtemällä

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

SEISKALUOKKA. Itsetuntemus ja sukupuoli

SEISKALUOKKA. Itsetuntemus ja sukupuoli SEISKALUOKKA Itsetuntemus ja sukupuoli Tavoite ja toteutus Tunnin tavoitteena on, että oppilaat pohtivat sukupuolen vaikutusta kykyjensä ja mielenkiinnon kohteidensa muotoutumisessa. Tarkastelun kohteena

Lisätiedot

E-kirjan kirjoittaminen

E-kirjan kirjoittaminen 1 E-kirjan kirjoittaminen Ohjeet e-kirjan kirjoittamiseen Tämän ohjeistuksen tavoitteena on auttaa sinua luomaan yksinkertainen e-kirja (pdftiedosto) asiakkaallesi. Kirja näyttää hänelle kuinka hyvin ymmärrät

Lisätiedot

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 10: Ensimmäisen kertaluvun differentiaaliyhtälö

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 10: Ensimmäisen kertaluvun differentiaaliyhtälö MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 10: Ensimmäisen kertaluvun differentiaaliyhtälö Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos

Lisätiedot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 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ätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 3 7.3.07 Tehtävä Olkoon tilamuuttujat Tällöin saadaan rekursioyhtälö f n (x n ) = max yn {0,} ynwn xn f 0 ( ) = 0. x n = vaiheessa n jäljellä oleva paino, n =,...,N, esine n pakataan

Lisätiedot

Suomen rautatieverkoston robustisuus

Suomen rautatieverkoston robustisuus Suomen rautatieverkoston robustisuus Samu Kilpinen 28.09.2016 Ohjaaja: Eeva Vilkkumaa Valvoja: Ahti Salo Rautatieverkosto Rautatie on erinomainen tapa kuljettaa suuria ihmis- ja hyödykemääriä Käyttöä etenkin

Lisätiedot

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu

Lisätiedot

Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit: Esitiedot

Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit: Esitiedot TKK (c) Ilkka Mellin (2004) 1 Todennäköisyyslaskenta ja puudiagrammit iite: Todennäköisyyslaskenta ja puudiagrammit TKK (c) Ilkka Mellin (2004) 2 Todennäköisyyslaskenta ja puudiagrammit: Mitä opimme? Verkkoteoria

Lisätiedot

Testejä suhdeasteikollisille muuttujille

Testejä suhdeasteikollisille muuttujille Ilkka Mellin Tilastolliset menetelmät Osa 3: Tilastolliset testit Testejä suhdeasteikollisille muuttujille TKK (c) Ilkka Mellin (007) 1 Testejä suhdeasteikollisille muuttujille >> Testit normaalijakauman

Lisätiedot

¼ ¼ joten tulokset ovat muuttuneet ja nimenomaan huontontuneet eivätkä tulleet paremmiksi.

¼ ¼ joten tulokset ovat muuttuneet ja nimenomaan huontontuneet eivätkä tulleet paremmiksi. 10.11.2006 1. Pituushyppääjä on edellisenä vuonna hypännyt keskimäärin tuloksen. Valmentaja poimii tämän vuoden harjoitusten yhteydessä tehdyistä muistiinpanoista satunnaisesti kymmenen harjoitushypyn

Lisätiedot

MONOGRAFIAN KIRJOITTAMINEN. Pertti Alasuutari

MONOGRAFIAN KIRJOITTAMINEN. Pertti Alasuutari MONOGRAFIAN KIRJOITTAMINEN Pertti Alasuutari Lyhyt kuvaus Monografia koostuu kolmesta pääosasta: 1. Johdantoluku 2. Sisältöluvut 3. Päätäntäluku Lyhyt kuvaus Yksittäinen luku koostuu kolmesta osasta

Lisätiedot

Ilkka Mellin Todennäköisyyslaskenta Osa 1: Todennäköisyys ja sen laskusäännöt Verkot ja todennäköisyyslaskenta

Ilkka Mellin Todennäköisyyslaskenta Osa 1: Todennäköisyys ja sen laskusäännöt Verkot ja todennäköisyyslaskenta Ilkka Mellin Todennäköisyyslaskenta Osa 1: Todennäköisyys ja sen laskusäännöt Verkot ja todennäköisyyslaskenta TKK (c) Ilkka Mellin (2005) 1 Verkot ja todennäköisyyslaskenta >> Puudiagrammit todennäköisyyslaskennassa:

Lisätiedot