Kognitiivinen mallintaminen I Symbolinen mallintaminen: 2. luento Ongelmanratkaisu Ongelmanratkaisu Rationaalinen agentti Ongelma-avaruus Hakustrategiat ongelma-avaruudessa sokea haku tietoinen haku heuristiikat Saara Huhmarniemi 1
Rationaalinen agentti Agentti on jokin joka toimii. Joitain ominaisuuksia: autonominen kontrolli ympäristön havainnointi muutokseen sopeutuminen Rationaalinen agentti saavuttaa parhaan lopputuloksen olosuhteet huomioon ottaen. Rationaalinen agentti Rationaalinen = tehdä "järkevin" valinta Rationaalisuus kullakin ajanhetkellä riippuu neljästä asiasta: Suoritusarvo, joka määrää onnistumisen Agentin a priori tieto Agentin toimenpidevalikoima Agentin havaintohistoria Järkevyyden kriteeri = suoritusarvo (performance measure), jonka perusteella agentti arvioi toimintaansa. Saara Huhmarniemi 2
Rationaalinen agentti Esimerkiksi asuntoa imuroivan agentin suoritusarvo voisi olla asunnon puhtaus ajan funktiona. Suoritusarvon valinta vaikuttaa siihen, miten agentti toimii. Miten toimii agentti, jonka suoritusarvo on suorittaa mahdollisimman paljon imurointia ajan funktiona? Rationaalinen agentti Rationaalinen agentti valitsee jokaiselle havaintohistorialle toimenpiteen, joka maksimoi suoritusarvon odotusarvon. Toimenpiteen valinnassa agentti käyttää havaintohistoriaa sekä agentin a priori tietoa. Saara Huhmarniemi 3
Rationaalisuus? Rationaalisuus Kaikkitietävyys Ei ole mahdollista todellisuudessa Selvänäköisyys Ongelmanratkaisu Kuinka saavuttaa päämäärä joka ei ole itsestään selvästi saatavilla? suunnittelu, aikataulutus vian etsintä pelit "palapeliongelmat" Mitä kognitiivisia kykyjä tarvitaan ongelmanratkaisussa? Saara Huhmarniemi 4
Tehtävä Mitä kognitiivisia kykyjä tarvitaan ongelmanratkaisussa? Ongelmanratkaisu Ongelmanratkaisu yleisesti: miten saavuttaa jokin päämäärä, joka ei ole heti saatavilla? suunnittelu, aikataulutus, vianetsintä, pelit, muut pähkinät kuten ristisanat "Älykäs" toimija ratkaisee ongelmat joko nopeasti tai jonkun "näkemyksen" avulla. Saara Huhmarniemi 5
Hyvinmääritellyt ongelmat Hyvinmääritellyt ja tietoon perustuvat ongelmat: Shakki Lähetyssaarnaaja ja ihmissyöjä -ongelma Hanoin torni Aritmetiikan ongelmat Hyvinmääritelty tietoon perustuva ongelma Hyvinmääritelty ongelma: määrittelee yksiselitteisesti ja kokonaan ongelmanratkaisijalle annetun informaation ongelmanratkaisijan vaihtoehdot halutun lopputilan Tietoon perustuva ongelma: ratkaisuun tarvitaan vain rajattu määrä tietoa ratkaisuun ei tarvita ulkopuolista tietoa. Saara Huhmarniemi 6
Tila-avaruus ja ongelmaavaruus Ongelmat kuvataan tilasiirtyminä ongelmaavaruudessa. Ongelma-avaruuden tila on ote ongelmanratkaisutilanteesta tietyllä ajanhetkellä. kuvaus objekteista ja relaatioista objektien välillä Esimerkiksi shakkipelin alkutila kuvaa nappuloiden värin ja sijainnin laudalla sekä sen että on valkoisen vuoro siirtää. Ongelman tila-avaruus Ongelmanratkaisu on alkutilan muuttaminen halutuksi lopputilaksi käymällä läpi sarja tilasiirtymiä. Usein mahdolliset tilasiirtymät voidaan jakaa luokkiin. sotilaan siirtäminen yhden eteenpäin lähetin siirtäminen diagonaalisesti Siirtymiä kutsutaan seuraajafunktioiksi. Saara Huhmarniemi 7
Hyvinmääritelty tietoon perustuva ongelma Täydellisesti määritelty alkutila Seuraajafunktiot Täydellinen määritelmä halutusta lopputilasta tai ne ehdot, jotka halutulla lopputilalla tulee olla. reitti Aradista Bukarestiin Saara Huhmarniemi 8
reitti Aradista Bukarestiin Alkutila: Arad, Romania Lopputila: Bukarest, Romania Seuraajafunktio: autoilu kaupungista toiseen. Ongelman tila-avaruus Ongelman tila-avaruus muodostuu ongelman tiloista ja siirtymistä jotka muuttavat tilaa. Tila-avaruus voidaan esittää suunnattuna verkkona tai puuna, jonka solmut vastaavat tiloja ja nuolet siirtymiä tilojen välillä. Saara Huhmarniemi 9
Ongelma-avaruus Ongelma-avaruus on tila-avaruus laajennettuna alkutilalla ja halutulla lopputilalla. Onnistunut ongelmanratkaisu on niiden peräkkäisten siirtyminen valitseminen, jotka muuttavat alkutilan halutuksi lopputilaksi. Etsintä ongelma-avaruudessa Usein ongelma-avaruuden tilassa on useita mahdollisia siirtymiä. Miten löydetään siirtymät, jotka ovat mahdollisia kulloisessakin tilassa? Millä perusteella oikea siirtymä valitaan? Ongelmanratkaisu voidaan nähdä etsintänä (search) ongelma-avaruudessa. Ratkaistakseen ongelman, systeemin on etsittävä oikea polku alkutilasta haluttuun tilaan. Saara Huhmarniemi 10
Etsintä ongelma-avaruudessa Kaikkein tehokkain ratkaisu ongelmaan on lyhin polku alkutilasta haluttuun tilaan. On olemassa useita algoritmeja lyhimmän polun löytämiseen. Sokeat hakustrategiat (uninformed search, blind search) Tietoinen haku (informed search, heuristic search) Saara Huhmarniemi 11
Hakustrategia Sokeita hakustrategioita syvyyshaku (depth-first) halvin ensin haku (uniform cost) leveyshaku (breadth-first search) rajoitettu syvyyshaku (depth-limited) asteittain syvenevä haku (iterative deepening) kaksisuuntainen haku (bidirectional) syvyyshaku laajentaa aina puussa syvimmällä olevan solmun ensin käyttää vain vähän muistia (vain yhden polun kerrallaan ongelma: väärän polun valinta voi johtaa pitkään harhapolkuun. Saara Huhmarniemi 12
syvyyshaku hakustrategioita rajoitettu syvyyshaku asetetaan raja, johon syvyyshaku pysäytetään kullakin polulla ongelma on optimaalisen syvyyden valinta halvin ensin -haku valitaan seuraavaksi laajennettava solmu sen perusteella, mikä on polun "hinta" hinta kasvaa kun polulla edetään, ja jokin toinen polku voi tulla kannattavammaksi Saara Huhmarniemi 13
leveyshaku puun alkusolmu (juuri) laajennetaan ensin kaikki laajennetut solmut käydään läpi ja laajennetaan ennenkuin edetään syvemmälle puussa. algoritmin suoritus vaatii kaikkien solmujen pitämisen muistissa asteittain syvenevä haku yhdistää leveys- ja syvyyshaut algoritmi tekee syvyyshakua, mutta etsinnän syvyys on rajoitettu kun koko puu on etsitty rajoitettuun syvyyteen asti, aloitetaan etsintä alusta lisäten etsinnän syvyyttä puu generoidaan uudestaan jokaista syvyyttä varten algoritmi on kuitenkin tehokas Saara Huhmarniemi 14
asteittain syvenevä haku kaksisuuntainen haku kaksi hakua; toinen eteenpäin alkutilasta ja toinen taaksepäin halutusta lopputilasta haut kohtaavat toisensa lyhimmällä polulla vaatii sen, että mahdolliset lopputilat on eksplisiittisesti listattu siirtyminen ongelma-avaruudessa taaksepäin ei aina ole helppoa Saara Huhmarniemi 15
Tehtävä Mitä hakualgoritmia käyttäisit itse? Mitä ongelmia näet esitellyissä hakualgoritmeissa? Millaista heuristiikkaa tehtävässä voisi käyttää, millaisesta tiedosta olisi apua? Tietoinen haku Tietoisessa haussa käytettävissä on lisätietoa ongelmasta. paras ensin -haku (best first -search) laajennettava solmu valitaan heuristisen funktion avulla. h(n) = halvimman polun arvioitu hinta solmusta n haluttuun lopputilaan. Esimerkkitapauksessa heuristinen funktio voisi olla esimerkiksi suoran viivan pituus kaupungista n Bukarestiin. Saara Huhmarniemi 16
reitti Aradista Bukarestiin Saara Huhmarniemi 17
paras ensin -haku valittu heuristinen funktio voi yhä antaa huonon alun haulle haku voi eksyä harhapolulle, eikä enää palaa takaisin A*-haku minimoi polun kokonaiskustannuksen: siinä otetaan huomioon jo kuljetun polun hinta solmussa n heuristisen funktion arvioiman hinnan solmusta n lopputilaan Saara Huhmarniemi 18
Etsintä ongelma-avaruudessa Ihmiset eivät yleensä käytä sokeaa hakua vaan käyttävät jotain heuristiikkaa. Esim. Kukkulalle kapuaminen (hill-climbing): Valitaan aina tila, josta on lyhin matka lopputilaan. Taaksepäinketjutus (backward chaining): edetään lopputilasta kohti alkuehtoja. Välitavoite-analyysi (Means-Ends analysis): valitaan välitavoite johon pyritään lopputilan sijaan. Saara Huhmarniemi 19
Tehtävä Vertaile heuristiikkoja; mitä heuristiikkaa itse käyttäisit kun valitset lyhintä tietä kaupungista toiseen (tietämättä tarkkoja välimatkoja)? Malleja Logic Theorist (LT) Newell et. al. (1958) General Problem Solver (GPS) Ernst ja Newell (1969) Universal Weak Method (implemented in Soar) Laird et. al. (1987) produktiosysteemi Saara Huhmarniemi 20
Hankalat ongelmat Ongelmat, jotka vaativat "näkemystä" Pienoislentokoneen suunnitteleminen alkutila: tyhjä paperi lopputila: sama paperi, jossa on piirros pienoislentokoneen rakenteesta Ongelmat, joiden ratkaiseminen vaatii liikaa tietoa rikkinäisen television korjauttaminen ja muut reaalimaailman monivaiheiset ongelmat ongelmanratkaisija Ongelmanratkaisu voidaan siis nähdä matkana ongelma-avaruudessa seuraavien tilojen löytäminen, evaluointi ja oikean tilan valinta tavoitteiden ja välitavoitteiden asettaminen ja hallinta heuristiikkojen käyttö ongelman representaatio Saara Huhmarniemi 21
Hanoin Torni Tehtävä määrittele ongelma-avaruus ja siirtymäfunktiot Tehtävä Kirjoita totuustaulut propositiologiikan kaavoille Saara Huhmarniemi 22
Tehtävä Anna totuustaulu propositiologiikan kaavalle: Saara Huhmarniemi 23