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

Samankaltaiset tiedostot
Kognitiivinen mallintaminen 1

Kognitiivinen mallintaminen I

Kognitiivinen mallintaminen 1. Kognitiiviset arkkitehtuurit ACT-R

Symbolinen mallintaminen: tausta. Kognitiivinen mallintaminen I. Symbolisysteemin hypoteesi. Symbolisysteemin hypoteesi

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

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

1 Ratkaisuja 2. laskuharjoituksiin

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

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

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

T : Max-flow / min-cut -ongelmat

Algoritmit 1. Luento 9 Ti Timo Männikkö

5. Rajoitelaskenta (Constraint Satisfaction)

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

13 Lyhimmät painotetut polut

Algoritmit 2. Luento 11 Ti Timo Männikkö

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

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

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

Datatähti 2019 loppu

v 8 v 9 v 5 C v 3 v 4

Kombinatorinen optimointi

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

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Harjoitus 6 ( )

Algoritmi on periaatteellisella tasolla seuraava:

JOHDATUS TEKOÄLYYN TEEMU ROOS

Algoritmit 1. Luento 8 Ke Timo Männikkö

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Harjoitus 6 ( )

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

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

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

Malliratkaisut Demot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 1. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö

Haku osittaisen informaation vallitessa

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Algoritmit 1. Luento 7 Ti Timo Männikkö

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

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

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

Silmukkaoptimoinnista

Algoritmit 2. Luento 13 Ti Timo Männikkö

UML -mallinnus TILAKAAVIO

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

Algoritmit 1. Luento 13 Ma Timo Männikkö

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

A TIETORAKENTEET JA ALGORITMIT

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

Algoritmit 2. Luento 10 To Timo Männikkö

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet )

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

Tietorakenteet ja algoritmit

Algoritmit 2. Luento 4 Ke Timo Männikkö

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

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

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

Kieli merkitys ja logiikka. 4: Luovuus, assosiationismi. Luovuus ja assosiationismi. Kielen luovuus. Descartes ja dualismi

Algoritmit 1. Luento 14 Ke Timo Männikkö

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

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

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

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

Diskreetit rakenteet

815338A Ohjelmointikielten periaatteet

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

Tiedon esittäminen ja päättely. Kognitiivinen mallintaminen I. Merkitys. Merkitys. Kognitiivinen mallintaminen I, kevät /13/07

A TIETORAKENTEET JA ALGORITMIT

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

10. Painotetut graafit

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

isomeerejä yhteensä yhdeksän kappaletta.

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

Johdatus verkkoteoriaan luento Netspace

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

Johdatus graafiteoriaan

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

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

Operatioanalyysi 2011, Harjoitus 3, viikko 39

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

811120P Diskreetit rakenteet

Algoritmit 2. Luento 6 Ke Timo Männikkö

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.

Algoritmit 2. Luento 7 Ti Timo Männikkö

4 INFORMOITU ETSINTÄ AHNE PARAS ENSIN -STRATEGIA

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

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Cog311 Resurssit ja monitehtäväsuoritus

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Harjoitus 4 ( )

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Transkriptio:

Rationaalinen agentti Kognitiivinen mallintaminen I Yksinkertainen refleksiagentti Toiminta perustuu ainoastaan agentin havaintoihin kullakin ajanhetkellä. Luento III Symbolinen mallintaminen Ongelmanratkaisu Produktiosysteemit Rationaalinen agentti Ympäristöä mallintava refleksiagentti agentilla on sisäinen representaatio ympäristön tilasta Rationaalinen agentti Päämärätietoinen agentti (goal-based agent) päämäärä ohjaa agentin käyttäytymistä eri tilanteissa Saara Huhmarniemi 1

Rationaalinen agentti Utiliteettiin perustuva agentti jokaiselle agentin tilalle annetaan numeerinen utiliteettiarvo Rationaalinen agentti Oppiminen agentti saa palautteen toiminnastaan Ongelmanratkaisu Rationaalinen agentti Ongelma-avaruus Hakustrategiat ongelma-avaruudessa sokea haku tietoinen haku heuristiikat 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 2

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

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 reitti Aradista Bukarestiin Alkutila: Arad, Romania Lopputila: Bukarest, Romania Seuraajafunktio: autoilu kaupungista toiseen. Pölynimuriagentti Yksinkertainen refleksiagentti (ympäristöä mallintava agentti) Havainnot: sijainti ja sisältö e.g., [A,Dirty] Toiminnot: Left, Right, Suck, NoOp Saara Huhmarniemi 4

Ongelman tila-avaruus Ongelman tila-avaruus muodostuu ongelman tiloista ja siirtymistä jotka muuttavat tilaa. siirtymät esittävät agentin toimintaa tai ympäristön muutosta Tila-avaruus voidaan esittää suunnattuna verkkona tai puuna, jonka solmut vastaavat tiloja ja nuolet siirtymiä tilojen välillä. Ongelma-avaruus Ongelma-avaruus on tila-avaruus laajennettuna alkutilalla ja halutulla lopputilalla. Lopputila annetaan usein ehtoina Onnistunut ongelmanratkaisu on niiden peräkkäisten siirtyminen valitseminen, jotka muuttavat alkutilan halutuksi lopputilaksi. Siirtymille tilasta toiseen voidaan määritellä hinta, jonka avulla ongelmanratkaisua ohjataan. Ongelma-avaruus Ongelma-avaruus Tilat, (alkutila), ehdot lopputilalle, toiminnot (seuraajafunktio), polun hinta? Tila: 0,1 likaisuudelle ja L, R robotin sijainnille (esim. (0,L). Toiminnot: L, R, S Loppuehto: (0,L) & (0,R) Hinta: 1 / toiminto Saara Huhmarniemi 5

Etsintä ongelma-avaruudessa Reitti Aradista Bukarestiin 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 6

Etsintä ongelma-avaruudessa Hakustrategian arviointi: completeness: does it always find a solution if one exists? time complexity: number of nodes generated space complexity: maximum number of nodes in memory optimality: does it always find a least-cost solution? Time and space complexity are measured in terms of b: maximum branching factor of the search tree d: depth of the least-cost solution m: maximum depth of the state space (may be ) 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 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 Saara Huhmarniemi 7

Arviointi Löytääkö ratkaisun? Kyllä (jos b on äärellinen) Aika? 1+b+b 2 +b 3 + +b d + b(b d -1) = O(b d+1 ) Tila? O(b d+1 ) (jokainen solmu on muistissa) Optimaalinen? Kyllä (polun hinta=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 Saara Huhmarniemi 8

Arviointi Löytääkö ratkaisun? Ei, epäonnistuu jos tilaavaruus ei ole äärellinen tai jos polussa on silmukka. Korjataan poissulkemalla toistuvat tilat toimii kun tila-avaruus on äärellinen Aika? O(b m ): paha jos m is on paljon suurempi d (m= maksimisyvyys, d=ratkaisun syvyys) 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 "hinta" hinta kasvaa kun polulla edetään, ja jokin toinen polku voi tulla kannattavammaksi asteittain syvenevä haku 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 9

Asteittain syvenevä haku Asteittain syvenevä haku Asteittain syvenevä haku asteittain syvenevä haku Löytääkö ratkaisun? Kyllä Aika? (d+1)b 0 + d b 1 + (d-1)b 2 + + b d = O(b d ) Tila? O(bd) Optimaalinen? Kyllä. Saara Huhmarniemi 10

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 Saara Huhmarniemi 11

paras ensin -haku Löytääkö ratkaisun? 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 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) = arvioitu polun kokonaishinta n:n kautta lopputilaan A*-haku Saara Huhmarniemi 12

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. hill-climbing hill-climbing Kukkulalle kapuaminen (hill-climbing): Valitaan aina tila, josta on lyhin matka lopputilaan. Alkutilasta riippuen voidaan juuttua lokaaliin maksimiin hill-climbing 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 13

Produktiosysteemit Tarkastellaan erästä keskeistä kognitiivista mallia: produktiosysteemiä. Produktiosysteemejä on käytetty useissa kognitiivisissa arkkitehtuureissa, kuten ACT (Anderson 1983) ja SOAR (Laird et. al. 1987) Produktiosysteemit Produktiosysteemi on sovelluskohteesta riippumaton päätöksenteon ja järkeilyn malli. Kaksi muistivarastoa työmuisti produktiomuisti Prosessointi tapahtuu kahdessa vaiheessa: Tunnistus, jossa systeemi valitsee säännön. Toiminta, jossa systeemi käyttää sääntöä. Sääntö muuttaa työmuistin sisältöä ja/tai aiheuttaa jonkin ulkoisen toiminnon. Produktiosysteemit Työmuisti on tietokanta, joka on joukko toisistaan riippumattomia propositioita p 1, p 2, p 3,... Produktiosäännöt Sääntömuisti sisältää päättelysääntöjä, jotka ovat muotoa: p 1 " p 2... # act 1 " act 2... esim. shorter(anna, beth) Sääntömuisti sisältää päättelysääntöjä, jotka ovat muotoa: p 1 " p 2...# act 1 " act 2... IF : THEN: shorter(x,y) delete shorter(x,y) add taller(y,x) Saara Huhmarniemi 14

Produktiosäännöt Jos työmuistin sisältö on esimerkiksi shorter(anna, beth) voidaan soveltaa produktiosääntöä: IF: THEN: shorter(anna,beth) delete shorter(anna,beth) add taller(beth,anna) Nyt työmuistin uusi sisältö on taller(anna, beth) Produktiosysteemit Mahdollisia toimintoja ovat esimerkiksi elementtien lisääminen ja poistaminen työmuistista. Jokaisella suoritussyklissä systeemi etsii ne säännöt, joiden vasen puoli toteutuu työmuistin sisällön perusteella. (match phase) Tämän jälkeen systeemi päättää, mikä produktioista "laukeaa". (conflict resolution) Jokaisessa syklissä suoritetaan valittujen sääntöjen määrittelemä toiminta. Produktiosysteemit Produktiosysteemiin voidaan lisätä tavoitteita kuvaavia meta-produktioita, jotka ohjaavat ongelmanratkaisua. Konfliktinratkaisussa (conflict resolution) valitaan sopivista produktioista se joka laukeaa. Tähän voidaan käyttää erilaisia strategioita. Produktioille voidaan määritellä esim. että ne laukeavat vain kerran ongelmanratkaisun aikana. Oletetaan seuraava sääntömuisti, jossa kaikki produktiot ovat vain kerran laukeavia: 1. IF: nisäkäs(x) THEN: lisää jalat(x,4) 2. IF: nisäkäs(x) & ihminen(x) THEN: lisää jalat(x,2) 3. IF: jalat(x,2) THEN: lisää seisoo(x) 4. IF: jalat(x) THEN: lisää kävelee(x) 5. IF: kotieläin(x) & ihminen(y) THEN: lisää hoitaa(y,x) Oletetaan työmuisti: { kotieläin(lehmä), ihminen(pekka), nisäkäs(pekka)} Saara Huhmarniemi 15

1. syklissä etsitään sopivat säännöt: 1. IF: nisäkäs(x) THEN: lisää jalat(x,4) 2. IF: nisäkäs(x) & ihminen(x) THEN: lisää jalat(x,2), poista nisäkäs(x) 5. IF: kotieläin(x) & ihminen(y) THEN: lisää hoitaa(y,x) Työmuisti: { kotieläin(lehmä), ihminen(pekka), nisäkäs(pekka)} Säännöt 1 ja 2 muodostavat konfliktin, joka ratkaistaan tässä valitsemalla tarkempi sääntö. Suoritettavat toiminnot: lisää jalat(pekka,2), poista nisäkäs(x), lisää hoitaa(pekka, lehmä) Uusi työmuisti: {kotieläin(lehmä), ihminen(pekka), jalat(pekka,2), hoitaa(pekka,lehmä)} Sääntömuisti, josta käytetyt säännöt on poistettu: 1. IF: nisäkäs(x) THEN: lisää jalat(x,4) 3. IF: jalat(x,2) THEN: lisää seisoo(x) 4. IF: seisoo(x) THEN: lisää kävelee(x) 2. syklissä valitaan sääntö 3 jolloin toiminto on: lisää seisoo(pekka) Uusi työmuisti: {kotieläin(lehmä), ihminen(pekka), jalat(pekka,2), hoitaa(pekka,lehmä), seisoo(pekka)} Produktiosysteemin toiminta jatkuu sykleittäin, kunnes sopivia produktioita ei enää löydy tai päästään haluttuun lopputilaan. Oppiminen Systeemi "oppii" muodostamalla päättelyketjuista produktioita. Edellisessä esimerkissä esimerkiksi päättely: IF: nisäkäs(x) & ihminen(x) THEN: jalat(x,2) IF: jalat(x,2) THEN: seisoo(x) IF: seisoo(x) THEN: kävelee(x) voi päättelyketjun suorituksen jälkeen automatisoitua produktioksi: IF: nisäkäs(x) & ihminen(x) THEN: kävelee(x) Saara Huhmarniemi 16

Produktiosysteemi Produktiosysteemit Havainnot Tietopohjainen mietintä Refleksit Toiminta Nykyaikaiset modernit produktiosyteemit voivat käsitellä reaaliaikaisesti jopa yli miljoonaa sääntöä. Sääntöjen valinta voidaan toteuttaa rinnakkaisesti, joten se on tehokasta. Sen sijaan sääntöjen sovellus on sarjallista. Produktiosysteemit Mitkä produktiosysteemin ominaisuudet mallintavat ihmisen kognitiota? Psykologinen uskottavuus? Psykologinen uskottavuus? työmuisti, pitkäkestoinen muisti? ajattelu nähdään hahmontunnistuksena Tietty kuvio laukaisee pitkäkestoisesta muistista tietyn toiminnon. Vastaavasti, kun tiettyä vihjettä ei ole läsnä, haluttua ajatusta ei saada mieleen tai toimintoa ei pystytä suorittamaan. modulaarinen Saara Huhmarniemi 17

ketjutus ja taaksepäinketjutus Produktiosysteemi on käyttää loogista päättelyä ketjuttamalla (forward chaining): siinä lähdetään atomilauseista soveltaen Modus Ponens -sääntöä ja lisäten faktoja työmuistiin, kunnes kaikki mahdolliset johtopäätökset on tehty. Toinen tapa käyttää loogista päättelyä algoritmissa on taaksepäinketjutus (backward chaining). Tällaiset algoritmit lähtevät lopputilasta taaksepäin, kunnes löytävät faktoja jotka tukevat todistusta. Saara Huhmarniemi 18