4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

Samankaltaiset tiedostot
5. Rajoitelaskenta (Constraint Satisfaction)

Kognitiivinen mallintaminen 1

Kognitiivinen mallintaminen I

3. Ongelmanratkonta haun avulla. Eero Hyvönen Helsingin yliopisto

Haku osittaisen informaation vallitessa

Rationaalinen agentti. Kognitiivinen mallintaminen I. Rationaalinen agentti. Rationaalinen agentti. Kognitiivinen mallintaminen I, kevät /1/08

Mat Lineaarinen ohjelmointi

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

Eero Hyvönen Helsingin yliopisto

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

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

Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

4 INFORMOITU ETSINTÄ AHNE PARAS ENSIN -STRATEGIA

JOHDATUS TEKOÄLYYN TEEMU ROOS

Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto:

Algoritmit 2. Luento 12 Ke Timo Männikkö

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Algoritmit 2. Luento 11 Ti Timo Männikkö

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

Kombinatorinen optimointi

Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

JOHDATUS TEKOÄLYYN TEEMU ROOS

Pohdiskeleva ajattelu ja tasapainotarkennukset

10. Painotetut graafit

JOHDATUS TEKOÄLYYN TEEMU ROOS

Search space traversal using metaheuristics

Algoritmit 2. Luento 12 To Timo Männikkö

3.4 Peruutus (backtracking)

Algoritmit 2. Luento 14 Ke Timo Männikkö

TIEA382 Lineaarinen ja diskreetti optimointi

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Algoritmit 1. Luento 7 Ti Timo Männikkö

Mat Lineaarinen ohjelmointi

811312A Tietorakenteet ja algoritmit, VI Algoritmien suunnitteluparadigmoja

A TIETORAKENTEET JA ALGORITMIT

Algoritmit 2. Luento 13 Ti Timo Männikkö

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

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

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

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

Edellä on tarkasteltu luettelointimenetelmiä, jotka ainakin periaatteessa

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

Geneettiset algoritmit

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

Mat Lineaarinen ohjelmointi

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy?

JOHDATUS TEKOÄLYYN TEEMU ROOS

Yhden muuttujan funktion minimointi

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Luento 8: Epälineaarinen optimointi

Harjoitus 6 ( )

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö

Luento 9: Newtonin iteraation sovellus: optimointiongelma

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

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy?

Algoritmit 2. Luento 10 To Timo Männikkö

Sekalukuoptimointi. Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, Tietojenkäsittelytieteen laitos Helsingin Yliopisto

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.

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

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

Algoritmit 1. Luento 13 Ti Timo Männikkö

TEK: Tekoäly kevät 2008

Algoritmit 1. Luento 9 Ti Timo Männikkö

Harjoitus 6 ( )

Matematiikan tukikurssi

Aircraft Maintenance Scheduling with Multi- Objective Simulation- Optimization

Monitavoiteoptimointi

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

Optimaalisen polun haku graafista A* -algoritmilla

Puumenetelmät. Topi Sikanen. S ysteemianalyysin. Laboratorio Aalto-yliopiston teknillinen korkeakoulu

1 Rajoitettu optimointi I

v 8 v 9 v 5 C v 3 v 4

Matematiikan tukikurssi

A TIETORAKENTEET JA ALGORITMIT

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Tietorakenteet, laskuharjoitus 7, ratkaisuja

13 Lyhimmät painotetut polut

Luentorunko perjantaille

Malliratkaisut Demot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Katkonnanohjaus evoluutiolaskennan keinoin

JOHDATUS TEKOÄLYYN TEEMU ROOS

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

A*-algoritmi ja siihen pohjautuvat muistirajoitetut heuristiset reitinhakualgoritmit

(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

Monilähetysreititys. Paketti lähetetään usealle vastaanottajalle Miksi? Monet sovellukset hyötyvät

Cabas liitännän käyttö AutoFutur ohjelmassa

Johdatus verkkoteoriaan 4. luento

JOHDATUS TEKOÄLYYN TEEMU ROOS

Johdanto peliteoriaan Kirja kpl. 2

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

OptimePortal ja OptimeEvent versioiden yhteenveto joulukuu

Transkriptio:

4 Heuristinen haku Eero Hyvönen Helsingin yliopisto

Strategioita: - Breath-first - Uniform-cost - Depth-first - Depth-limited - Iterative deepening - Bidirectional Tekoäly, Eero Hyvönen, 2004 2

Heuristisen haun idea Uninformed search Hakustrategia perustuu tietoon tilaavaruuteen Ongelma: seuraavaksi laajennettavaa solmua ei aina pystytä valitsemaan järkevästi vain tila-avaruuden perusteella Ilman hyvää valintastrategiaa haku harhailee Informed / heuristic search Tila-avaruuden ulkopuolisen tiedon hyödyntäminen hakustrategiassa Tekoäly, Eero Hyvönen, 2004 3

Solmun valinnan kriteerejä Arvofunktio (evalution function) f(n) Solmun kautta kulkevan ratkaisupolun kustannusarvio f(n) on sellainen, että se helppo laskea lokaalisti f(n) ei siksi välttämättä johda oikeaan valintaan! Jos f(n) laskettaisiin globaalisti, ei hakua edes tarvittaisi! Paras polku löytyisi ilman erehdyksiä Hakua voidaan eliminoida hyvällä f;llä ja huonoa f:a kompensoida haulla Kokonaiskustannus ratkaisee haun tehokkuuden Heuristinen funktio (heuristic function) h(n) Kustannusarvio solmusta n tavoite solmuun f(n) = g(n) + h(n) Tekoäly, Eero Hyvönen, 2004 4

Paras ensin -haku (best-first) Idea: puu tai verkkohaku, jossa lavennetaan aina paras solmu ensin Best-first search Valintaan aina solmu, jolla pienin f(n) Greedy best-first search f(n)=h(n) Eli välitetä aiemmista kustannuksista g(n) A* search Huomioidaan myös aiemmat kustannukset f(n) = g(n) + h(n) Tekoäly, Eero Hyvönen, 2004 5

Esimerkki: f(n) 234 Tekoäly, Eero Hyvönen, 2004 6

Matka linnuntietä Bukarestiin on tilaavaruuden ulkopuolinen tieto Sitä ei voida laskea ongelmasta Linnuntiemitta korreloi todellisen matkan kanssa Eli se on heuristiikka Tekoäly, Eero Hyvönen, 2004 7

Tekoäly, Eero Hyvönen, 2004 8

Tekoäly, Eero Hyvönen, 2004 9

Tekoäly, Eero Hyvönen, 2004 10

Tekoäly, Eero Hyvönen, 2004 11

Tekoäly, Eero Hyvönen, 2004 12

b = haarautumiskerroin m = tila-avaruuden maksimisyvyys d = matalimman ratkaisun syvyys Tekoäly, Eero Hyvönen, 2004 13

Tekoäly, Eero Hyvönen, 2004 14

Tekoäly, Eero Hyvönen, 2004 15

(vrt. greedy best-first haku) Tekoäly, Eero Hyvönen, 2004 16

Tekoäly, Eero Hyvönen, 2004 17

Tekoäly, Eero Hyvönen, 2004 18

Tekoäly, Eero Hyvönen, 2004 19

Huom: tämä ei ole ratkaisu! Solmu ei jää avoimen listan (fringe) kärkeen. Tekoäly, Eero Hyvönen, 2004 20

Tämä on eri ratkaisu kuin greedy best-first haussa ja optimaalinen Tekoäly, Eero Hyvönen, 2004 21

Tekoäly, Eero Hyvönen, 2004 22

Tekoäly, Eero Hyvönen, 2004 23

Tekoäly, Eero Hyvönen, 2004 24

Tekoäly, Eero Hyvönen, 2004 25

Suhteellinen virhe siis pienentää eksponentiaalisuutta: jos virhe on 0 eksponentiaalisuus häviää (= osataan aina tehdä aina oikea valinta) Tekoäly, Eero Hyvönen, 2004 26

Tekoäly, Eero Hyvönen, 2004 27

Tekoäly, Eero Hyvönen, 2004 28

Verkkohaun optimaalisuus A* on optimaalinen puuhaulle, kun h(n) on admissible (salliva, optimistinen) Verkkohaussa aiemmin lavennetun solmun hylkääminen voi karsia optimiratkaisun Tämä ongelma voidaan korjata Yksi ratkaisu: järjestetään haku niin, että optimipolku jokaiseen toisteiseen tilaan löydetään aina ensin Onnistuu valitsemalla sopiva h(n) Verkkohaku on optimaalinen, jos h(n) on konsistentti (consistent) eli monotoninen (monotonic) Tekoäly, Eero Hyvönen, 2004 29

- Esimerkiksi linnuntieheuristiikka on konsistentti (monotoninen) - Optimistinen (admissible) ei ole kuitenkaan välttämättä monotoninen - Consistent => Admissible Tekoäly, Eero Hyvönen, 2004 30

A* karsii hakupuuta, kun f(n)> optimi ratkaisu A* on optimally efficient Ei ole olemassa vähempää solmuja laventavaa algoritmia (Poislukien strategiat, kun f(n) sama monelle solmulle) Ongelmia kuitenkin jää Exponentiaalinen määrä solmuja listalla Exponentiaalinen aika ja tilakompleksisuus Erityisesti tilakompleksisuus on ongelma käytännössä Tekoäly, Eero Hyvönen, 2004 31

Muistinrajoitus heuristisessa haussa A*:n tilaongelman ratkaisumalleja IDA* = Iterative Deepening + A* Iteraatioiden rajoitus f-arvolla (eikä syvyydellä) Recursive Best-First Search (RNFS) Muistaa muiden solmujen f-arvojen minimin ja voi keskeyttää kalliimman polun tutkimisen Memory-Bounded A* (MA*), Simplified MA* Pyrkivät käyttämään muistia maksimaalisesti, muttei liikaa Tekoäly, Eero Hyvönen, 2004 32

Recursive Best-First Search (RBFS) Solmun kohdalla ylläpidetään tietoa toiseksi parhaan haaran minimikustannuksesta (laatikko) ja päivitetään solmun miniarvoa Tekoäly, Eero Hyvönen, 2004 33

Rimnicu Vilcean kustannus (alisolmussa) ylitti laatikon arvo, joten jatketaan hakua tätä vastaavasta solmusta (toiseksi paras solmu) Tekoäly, Eero Hyvönen, 2004 34

Samoin käy Fagarasille, joten jatketaan uudelleen Rimnicu Vilceasta, jolla taas minimikustannus. Nyt Timisoaran kustannus on toiseksi paras. Bucharestilla pienempi arvo kuin toiseksi parhaalla, joten se on ratkaisu. Tekoäly, Eero Hyvönen, 2004 35

Tekoäly, Eero Hyvönen, 2004 36

Tekoäly, Eero Hyvönen, 2004 37

Tekoäly, Eero Hyvönen, 2004 38

Tekoäly, Eero Hyvönen, 2004 39

Tekoäly, Eero Hyvönen, 2004 40

Tekoäly, Eero Hyvönen, 2004 41

Tekoäly, Eero Hyvönen, 2004 42

Local Search (Tilahaku)

Sisältö Tilahaun idea Hill climbing Simulated annealing (simuloitu jäähdytys) Geneettiset algoritmit Haku jatkuvilla arvoilla Tekoäly, Eero Hyvönen, 2004 44

Tilahaun idea Lopputila = ratkaisu Hakupolku ei kiinnosta! Esim. n kuningattaren sijoittaminen shakkiruudukkoon ilman uhkausta (n-queens) Tila-avaruuden tilat: Täydellisiä ratkaisukandidaatteja Esim. kuningattaret ruudukolla, aikataulut Iteratiivisen parantamisen idea Otetaan ratkaisukandidaatti ja parannetaan sitä Edellyttää, että kandidaatteja on helppo luoda Optimointiongelmat Parhaan ratkaisun löytäminen arvofunktion (objective function) suhteen Tekoäly, Eero Hyvönen, 2004 45

Tekoäly, Eero Hyvönen, 2004 46

Tekoäly, Eero Hyvönen, 2004 47

Tekoäly, Eero Hyvönen, 2004 48

Tekoäly, Eero Hyvönen, 2004 49

Esimerkki: lokaali optimi h=1, jokainen kuningattaren siirto sarakkeella => h>1 Tekoäly, Eero Hyvönen, 2004 50

Jos T pienenee riittävän hitaasti, SA löytää lopulta optimin Tekoäly, Eero Hyvönen, 2004 51

Suvuton lisääntyminen Tekoäly, Eero Hyvönen, 2004 52

Geneettiset algoritmit Idea: luonnossa tapahtuva darwinilainen suvullinen lisääntyminen ja luonnonvalinta tuottaa yhä parempia ratkaisuja Soveltuu mm. hankalasti muotoiltavien optimointiongelmien ratkaisuun Esim. tarkkaa tavoitetta voi voida tietää Tekoäly, Eero Hyvönen, 2004 53

Geneettinen algoritmi Yksilön koodaus geeninä Tekoäly, Eero Hyvönen, 2004 54

Eräs sovellus Rikollisen tunnistekuvan interaktiivinen konstruointi Kasvokuvan parametrointi Nenän pituus, silmien väri, jne Kone tuottaa kasvopopulaatioita Silminäkijä toimii luonnonvalintana Valitsee aina eniten rikollisen näköiset Lopputuloksena rikollisen tunnistekuva Hakua ei voi soveltaa, kun lopputila on tuntematon! Tekoäly, Eero Hyvönen, 2004 55

Tekoäly, Eero Hyvönen, 2004 56

Tekoäly, Eero Hyvönen, 2004 57

Tekoäly, Eero Hyvönen, 2004 58

Lähteet S. Russell, P. Norvig: Artificial Intelligence, a Modern Approach. Prentice-Hall, 2003. S. Russell, Tekoälykurssin kalvot Berkleyn yliopistossa, 2004. Tekoäly, Eero Hyvönen, 2004 59