Kognitiivinen mallintaminen 1

Samankaltaiset tiedostot
Kognitiivinen mallintaminen I

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

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

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

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

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

Haku osittaisen informaation vallitessa

13 Lyhimmät painotetut polut

Algoritmit 1. Luento 9 Ti Timo Männikkö

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

v 8 v 9 v 5 C v 3 v 4

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

Harjoitus 6 ( )

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

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

1 Ratkaisuja 2. laskuharjoituksiin

Tietorakenteet, laskuharjoitus 7, ratkaisuja

5. Rajoitelaskenta (Constraint Satisfaction)

Unify( Tuntee(Jussi, x), Tuntee(y, z) ) { y/jussi, z/x } { y/jussi, x/jussi, z/jussi }

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

Malliratkaisut Demot

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

Silmukkaoptimoinnista

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

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 14 Ke Timo Männikkö

Algoritmi on periaatteellisella tasolla seuraava:

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

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku

Harjoitus 6 ( )

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

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

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

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

4 INFORMOITU ETSINTÄ AHNE PARAS ENSIN -STRATEGIA

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

Luku 8. Aluekyselyt. 8.1 Summataulukko

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

Algoritmit 2. Luento 11 Ti Timo Männikkö

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

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 13 Ma Timo Männikkö

T : Max-flow / min-cut -ongelmat

Miten käydä läpi puun alkiot (traversal)?

Diskreetit rakenteet

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

A TIETORAKENTEET JA ALGORITMIT

Algoritmit 1. Luento 13 Ti Timo Männikkö

Koe ma 1.3 klo salissa A111, koeaika kuten tavallista 2h 30min

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

Mat Lineaarinen ohjelmointi

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

Algoritmit 2. Luento 10 To Timo Männikkö

Kombinatorinen optimointi

A TIETORAKENTEET JA ALGORITMIT

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

Datatähti 2019 loppu

10. Painotetut graafit

Algoritmit 1. Luento 7 Ti Timo Männikkö

A*-algoritmi ja siihen pohjautuvat muistirajoitetut heuristiset reitinhakualgoritmit

Turingin koneen laajennuksia

Algoritmit 2. Luento 7 Ti Timo Männikkö

Lyhin kahden solmun välinen polku

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

TIE Tietorakenteet ja algoritmit 261

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

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

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

Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Tuntemattomassa ympäristössä etsiminen

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

811120P Diskreetit rakenteet

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl.

Algoritmit 2. Luento 12 Ke Timo Männikkö

TIEA382 Lineaarinen ja diskreetti optimointi

Algoritmit 2. Luento 6 Ke Timo Männikkö

Mat Lineaarinen ohjelmointi

Pienin virittävä puu (minimum spanning tree)

Informaation arvo. Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

Algoritmit 2. Luento 2 To Timo Männikkö

811120P Diskreetit rakenteet

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.

Johdatus verkkoteoriaan luento Netspace

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Hakumenetelmät ja ongelmanratkaisu

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

Johdatus verkkoteoriaan 4. luento

Algoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Johdatus graafiteoriaan

Transkriptio:

Kognitiivinen mallintaminen 1 Uutta infoa: Kurssin kotisivut wikissä: http://wiki.helsinki.fi/display/kognitiotiede/cog241 Suorittaminen tentillä ja laskareilla (ei välikoetta 1. periodissa)

Ongelmanratkaisu Sisältöä: Hyvinmääritellyt ongelmat Ongelma-avaruus (tila-avaruus) Hakustrategiat ongelma-avaruudessa hakupuu sokea haku tietoinen haku heuristiikat

Hyvinmääritellyt ongelmat 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 Esimerkkejä (hyvinmääriteltyjä & tietoon perustuvia) Shakki Lähetyssaarnaaja ja ihmissyöjä ongelma(laskareissa) Hanoin torni Aritmetiikan ongelmat

Ongelman tila-avaruus Ongelmat kuvataan tilasiirtyminä ongelman tila-avaruudessa (lyhyesti: ongelma-avaruudessa) 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ää. Tila-avaruus voidaan esittää suunnattuna verkkona tai puuna, jonka solmut vastaavat tiloja ja nuolet siirtymiä tilojen välillä Esim: osa ristinollan tila-avaruutta

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.

Etsi reitti Aradista Bukarestiin

reitti Aradista Bukarestiin Alkutila: Arad, Romania Lopputila: Bukarest, Romania Seuraajafunktio: autoilu kaupungista toiseen. Hyvinmääritelty & tietoon perustuva: Yksikäsitteinen ja täydellinen informaatio, sekä ongelmanratkaisijan vaihtoehdot kussakin tilanteessa. Lopputila Ratkaisuun tarvitaan vain rajattu määrä tietoa

Pölynimuriagentti refleksiagentti (ympäristöä mallintava agentti) Havainnot: sijainti ja sisältö e.g., [A,Dirty] Toiminnot: Left, Right, Suck, NoOp

Ongelma-avaruus Tilat, (alkutila), ehdot lopputilalle, toiminnot (seuraajafunktio), polun kustannus?

Tila: 0,1 likaisuudelle ja L, R robotin sijainnille Alkutila esim. (1,1;L). Toiminnot: L, R, S Loppuehto: (0,0;L) & (0,0;R) Kustannus: 1 / toiminto

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.

Reitti Aradista Bukarestiin

Hakupuu

Etsintä ongelma-avaruudessa Hakustrategian arviointi: täydellinen: jokin maalitila voidaan saavuttaa alkutilasta aikavaativuus: puuhun luotujen solmujen lkm tilavaativuus: yhtäaikaa muistissa pidettävien solmujen lkm optimaalinen: löytää aina parhaan ratkaisun Muita ominaisuuksia: b: haarautumisaste d: matalimmalla olevan maalisolmun syvyys m: tila-avaruuden pisin pituus (voi olla )

Hakustrategia On olemassa useita algoritmeja lyhimmän polun löytämiseen. Sokeat hakustrategiat (uninformed search, blind search) Tietoinen haku (informed search, heuristic search) 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)

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

leveyshaku

Arviointi b: haarautumisaste d: matalimmalla olevan maalisolmun syvyys m: tila-avaruuden pisin pituus Täydellinen? Kyllä Aika?1+b+b 2 +b 3 + +b d + b(b d -1) = O(b d+1 ) Tila?O(b d+1 )(jokainensolmuon muistissa) Optimaalinen? Kyllä(polun kustannus=1) Tilankäyttö on ongelma.

syvyyshaku laajentaa aina puussa syvimmällä olevan solmun ensin käyttää vain vähän muistia (vain yhden polun kerrallaan

syvyyshaku

syvyyshaku

Arviointi Täydellinen?Ei, epäonnistuujostila-avaruuseiole äärellinen tai jos polussa on silmukka. Korjataan poissulkemalla toistuvat tilat toimii kun tila-avaruus on äärellinen Aika?O(b m ): pahajosmis on paljonsuurempid (m= maksimipituus, d=ratkaisun pituus) Tila? O(bm), eli lineaarinen tilavaatimus! Optimaalinen? Ei

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 kustannus kustannus kasvaa kun polulla edetään, ja jokin toinen polku voi tulla kannattavammaksi

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

Asteittain syvenevä haku

Asteittain syvenevä haku

Asteittain syvenevä haku

Asteittain syvenevä haku

asteittain syvenevä haku Täydellinen? Kyllä Aika?(d+1)b 0 + d b 1 + (d-1)b 2 + + b d = O(b d ) Tila? O(bd) Optimaalinen? Kyllä.

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

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 h(n) voisi olla esimerkiksi matka linnuntietä kaupungista n Bukarestiin.

reitti Aradista Bukarestiin

Ahne paras-ensin haku

Täydellinen?Ei, voi jäädä silmukkaan, esim. Iasi Neamt Iasi Neamt Aika?O(b m ), mutta parempi heuristiikka parantaa tuloksia dramaattisesti Tila?O(b m ) --kaikki solmut muistissa Optimaalinen? Ei

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 g(n) = jo kuljetun polun hinta solmussa n h(n) = arvioitu hinta solmusta n lopputilaan f(n) =g(n)+h(n) arvioitu polun kokonaishinta n:n kautta lopputilaan

A*-haku

Etsintä ongelma-avaruudessa Ihmiset eivät yleensä käytä sokeaa hakua vaan käyttävät jotain heuristiikkaa. Esim. Taaksepäinketjutus (backward chaining): edetään lopputilasta kohti alkuehtoja. Välitavoite-analyysi (Means-Ends analysis): valitaan välitavoite johon pyritään lopputilan sijaan.

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