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

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

Kognitiivinen mallintaminen 1. Kognitiiviset arkkitehtuurit ACT-R

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Kognitiivinen mallintaminen I

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Muita vaativuusluokkia

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

5.3 Ratkeavia ongelmia

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Algoritmit 2. Luento 13 Ti Timo Männikkö

Täydentäviä muistiinpanoja laskennan rajoista

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Lisää pysähtymisaiheisia ongelmia

1. Universaaleja laskennan malleja

Rajoittamattomat kieliopit (Unrestricted Grammars)

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

2. Laskettavuusteoriaa

Säännöllisen kielen tunnistavat Turingin koneet

Algoritmit 1. Luento 1 Ti Timo Männikkö

Ratkeavuus ja efektiivinen numeroituvuus

Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.

2. Laskettavuusteoriaa

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.

Algoritmit 1. Luento 2 Ke Timo Männikkö

ICS-C2000 Tietojenkäsittelyteoria

Turingin koneen laajennuksia

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

Output. Input Automaton

Kombinatorinen optimointi

Algoritmin määritelmä [Sipser luku 3.3]

811312A Tietorakenteet ja algoritmit I Johdanto

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

Laskennan teoria

Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi

Turingin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

Rekursiiviset palautukset [HMU 9.3.1]

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

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Kognitiivinen mallintaminen 1

Eero Hyvönen Helsingin yliopisto

Laskennan vaativuus ja NP-täydelliset ongelmat

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria)

3. Laskennan vaativuusteoriaa

Cog101 Johdatus Kognitiotieteeseen KOTITEHTÄVÄ 2: KOMPUTAATIO. Otto Lappi

Chomskyn hierarkia ja yhteysherkät kieliopit

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Laskennan teoria

kaikki kielet tunnistettavat A TM HALT TM { a n } { a n b n } { a n b n c n } TOTAL TM EQ TM

3SAT-ongelman NP-täydellisyys [HMU ]

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

T : Max-flow / min-cut -ongelmat

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

uv n, v 1, ja uv i w A kaikilla

Automaatit. Muodolliset kielet

The CCR Model and Production Correspondence

1. Universaaleja laskennan malleja

7. Aikavaativuus. Ohjelmistotekniikan laitos OHJ-2300 Johdatus tietojenkäsittelyteoriaan, syksy

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Toinen muotoilu. {A 1,A 2,...,A n,b } 0, Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun 1 / 13

Johdatus matematiikkaan

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

Tietotekniikan valintakoe

Algoritmit 2. Luento 1 Ti Timo Männikkö

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


Algoritmit 2. Luento 13 Ti Timo Männikkö

Datatähti 2019 loppu

Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit

1 Ratkaisuja 2. laskuharjoituksiin

Kertausta 1. kurssikokeeseen

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs

Rajoittamattomat kieliopit

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet

Kieli merkitys ja logiikka

Esitietoja? Kognitiivinen mallintaminen I. "Mallit" tieteessä. Kognitiivinen mallintaminen. Kognitiivinen mallintaminen I, kevät /18/08

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Algoritmit 2. Luento 14 To Timo Männikkö

Luonnollisen päättelyn luotettavuus

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

Transkriptio:

Symbolinen mallintaminen: tausta Kognitiivinen mallintaminen I Symbolinen mallintaminen 1 Tausta Symbolisysteemin hypoteesi von Neumannin arkkitehtuuri LOT Esimerkki kognitiivisesta mallista: produktiosysteemit Rationaalinen agentti Symbolisysteemin hypoteesi 1961 Newell ja Simon antoivat formaalin muodon kognitiotieteen komputationaaliselle mallille: symbolisysteemin hypoteesin (symbol system hypothesis). Hypoteesin mukaan kognitio on informaatiota prosessoiva systeemi (information-processing system). Ajattelu on symbolien ja symbolirakenteiden järjestelyä annetun ohjelman mukaan. Symbolisysteemin hypoteesi Newellille ja Simonille symbolit ja symbolirakenteet ovat todellisia fysikaalisia olioita. Ne ovat aineellisen systeemin merkityksettömiä tiloja. Symbolit ja niille suoritettavat operaatiot ovat kuitenkin semanttisesti tulkittavissa. Saara Huhmarniemi 1

Monitoteutuvuusperiaate Symbolien monitoteutuvuusperiaate: salla symbolilla voi olla erilaisia fysikaalisia toteutuksia. Näin aivot olisivat orgaaninen symbolisysteemin toteutus. Tarkastellaan seuraavaksi toista symbolisysteemin toteutusta: von Neumannin konetta. von Neumannin kone Turingin koneen materiaalinen toteutus Lähes kaikki nykyiset tietokoneet ovat von Neumannin koneita Rakenne kontrolliyksikkö (CU, control unit) aritmeettis- looginen yksikkö (ALU) rekisterit muisti ja I/O (input-output) Data von Neumannin kone Data esitettään bittijonoina (1100001) (bit=binary unit) Esimerkiksi kirjain A esitetään yhden tavun avulla (tavu (byte) on esim. 8 bittiä). Tietokoneessa bittijonot esitetään sähköisesti rekistereissä. Laskenta tapahtuu bittijonolta toiselle. Rekisteri von Neumannin kone Rekisteriin tallennetaan loogisten operaatioiden syötteet ja vasteet, ennen ja jälkeen muuhun muistiin siirtämistä. Aritmeettis-looginen yksikkö Sisältää toteutukset tärkeimmistä toiminnoista, kuten loogisista operaatioista ja yhteen- ja vähennyslaskusta Saara Huhmarniemi 2

von Neumannin kone Kontrolliyksikkö Automaatti, joka toteuttaa koneen primitiiviset käskyt, joiden avulla laajempia ohjelmia voidaan toteuttaa. Muisti ja I/O Joukko osoitteita, joihin on sijoitettu toimintalaitteiden rekisterejä tai muistia. Jokaisella datayksiköllä ja ohjelmakomennolla on representaatio muistiyksikössä ja yksilöllinen sijainti tai osoite. von Neumannin kone Kontrolliyksikkö siirtää tietoa muistista rekistereihin ja valitsee seuraavan toiminnon muistista siirretyn informaation mukaan. Bittijonoja kopioidaan muistirekistereistä eri työrekistereihin, vertaillaan työrekisterien sisältöjä ja kirjoittetaan laskennan tuloksia edelleen rekisteriin. Tehtävä Tietokone on symbolisysteemi. Mitä mieltä olet tietokonemetaforasta von Neumannin arkkitehtuurin perusteella? GOFAI Tekoälyä, joka suoritetaan vonneumann-tyyppisessä koneessa kutsutaan nimellä "Good Old Fashioned Artificial Intelligence" (GOFAI). Saara Huhmarniemi 3

Turingin kone Turingin kone on eräs yksinkertainen malli symboleja prosessoivasta systeemistä. b#:# c i Turingin kone (Turing Machine, TM) koostuu äärettömän (so. rajattoman) pitkästä nauhasta, ja lukupäästä joka pystyy lukemaan ja kirjoittamaan symboleja nauhalta/nauhalle, ja liikkumaan nauhaa pitkin molempiin suuntiin. Symbolit ovat yleensä 0 ja 1, mutta periaatteessa mikä tahansa äärellinen diskreetti aakkosto kelpaa. 1 0 1 b#:# c i 1 0 1 Jokaisena ajan hetkenä lukupää on täsmälleen yhden symbolin kohdalla, ja täsmälleen tietyssä tilassa, joita lukupäällä on niinikään äärellinen määrä. Lukupään kohdalla oleva symboli ja lukupään tila yhdessä määräävät sen, mihin tilaan kone seuraavaksi siirtyy lisäksi lukupää voi korvata symbolin b#:# c toisella, muuttaa sisäistä tilaansa, ja siirtyä yhden askeleen vasemmalle tai oikealle tai pysähtyä. a Lukupään toimintasäännöt voidaan ilmaista äärellisesti (ne voidaan antaa esim. taulukkona joka määrää jokaista mahdollista tilan ja symbolin yhdistelmää vastaavan toiminnon). 1 0 1 Saara Huhmarniemi 4

b#:# c a b#:# c a 1 0 1 1 1 1 b#:# c b b# :# c b 1 1 1 1 1 1 Saara Huhmarniemi 5

b# :# c c b# :# c c 1 1 1 1 1 1 1 b# :# c H Turingin kone suorittaa komputaatioita siten, että se muuntaa annetun syötteen tulosteeksi systemaattisesti, aina tiettyä matemaattista funktiota noudattaen. input, "syöteinformaatio", symbolirakenne/merkkijono nauhalla ennen ensimmäistä laskennan askelta output, "tulosteinformaatio", symbolirakenne/merkkijono nauhalla koneen pysähtyessä Universaali Turingin kone 1936 Alan Turing osoitti, että oli olemassa yleinen kone, joka voi suorittaa minkä tahansa laskettavan funktion. Koneella voi simuloida mitä tahansa tietokoneohjelmaa. Ehtona on, että laskenta-aikaan ja muistin määrään ei kiinnitetä huomiota. Universaalin Turingin koneen idea on, että ohjelman suoritusohjeet on kirjoitettu samalle nauhalle kuin ohjelman syöte ja tulos. Saara Huhmarniemi 6

Universaali Turingin kone Church-Turing -teesi: Universaali symbolisysteemi voi simuloida mitä tahansa algoritmisesti laskettavaa systeemiä. (Churchin menetelmä on ekvivalentti.) Systeemi on algoritmisesti laskettava, jos on olemassa jokin algoritmi, joka kuvaa sen toiminnan. (algoritmi, joka kuvaa systeemin tuloksen kaikilla mahdollisilla syötteillä) Esimerkiksi neuraaliverkot ovat algoritmisesti laskettavia systeemejä. Ratkeavuus Turingin kone M voi jättää hyväksymättä merkkijonon joko joutumalla hylkäävään lopputilaan tai jäämällä ikuiseen silmukkaan. Totaalinen Turingin kone pysähtyy joko hyväksyvään tai hylkäävään lopputilaan. Päätösongelmia kutsutaan ratkeaviksi. Ongelmia, joissa Turingin kone pysähtyy ainoastaan myönteisissä tapauksissa kutsutaan osittain ratkeaviksi. Ratkeamattomuus Algoritmin tai Turingin koneen toimintaa koskevat ongelmat ovat usein ratkeamattomia. Turingin koneen M toimintaa koskevia ominaisuuksia ovat esimerkiksi: M pysähtyy kaikilla syötejonoilla M hyväksyy jonkin syötejonon n kappaleessa askeleita. M hyväksyy äärettömän monta merkkijonoa Universaali Turingin kone Muodostetaan Turingin kone, joka tutkii Turingin koneiden ominaisuuksia: universaalikone. saa syötteenään koneen M koodin ja tämän syötteen w. pysähtyy vain jos M pysähtyy syötteellä w. tulostaa saman kuin M tulostaa syötteellä w. Universaalikone simuloi siis mitä tahansa Turingin konetta. Ja tunnistaa jokaisen kielen, joka voidaan tunnistaa jollain Turingin koneella. Saara Huhmarniemi 7

Pysähtymisongelma Annetaan universaalikoneelle syötteenä Turingin kone M ja kysytään, pysähtyykö M syötteellä w. Universaalikone suorittaa tehtävän simuloimalla M:n laskentaa syötteellä w. Kone pysähtyy hyväksyvään lopputilaan jos koneen M suoritus pysähtyy. Jos Turingin kone M pysähtyy syötteellä w, myös universaalikone pysähtyy. Kuitenkin jos M ei pysähdy jollain syötteellä w, ei universaalikonekaan pysähdy. Ratkeamattomuus Pysähtymisongelma on osittain ratkeava ongelma. (osittain ratkeavatkin kuuluvat ratkeamattomiin) Joitain ratkeamattomia ongelmia: Predikaattikalkyylin ratkeamattomuus Church/Turing 1936: Ei ole olemassa algoritmia, joka ratkaisisi onko annettu ensimmäisen kertaluvun predikaattikalkyylin kaava s loogisesti tosi. Hilbertin 10. ongelma Ei ole olemassa algoritmia, joka ratkaisisi, onko annetulla kokonaislukukertoimisella polynomilla kokonaislukuratkaisuja. Ratkeamattomuus Ratkeamattomien ongelmien olemassaolo voidaan päätellä myös siitä, että Turingin koneiden joukko on numeroituvasti ääretön. Turingin koneet ovat äärellisiä. siispä voimme luetella kaikki Turingin koneet. Toisaalta kaikkien ongelmien joukko ei voi olla numeroituva (kaikkien päätösongelmien joukko on ylinumeroituva). Esimerkiksi jo reaalilukujen joukko on ylinumeroituva. Seuraus: on olemassa ongelmia, joita ei voida ratkaista Turingin koneen avulla. Church-Turing -teesi Church-Turing -teesistä seuraa, että jos kognitiiviset prosessit ovat algoritmisesti laskettavia, niitä voidaan simuloida tietokoneella. Ovatko kognitiiviset prosessit algoritmisesti laskettavia? Vaikka kognitiivisia prosesseja voitaisiin simuloida universaalikoneella, se voi olla käytännössä mahdotonta. Saara Huhmarniemi 8

Laskennallisesti vaikeat ongelmat Laskennan vaativuusteoria käsittelee ongelmien ratkaisumenetelmien aikavaatimuksia. Esimerkki: kauppamatkustajan ongelma, lähde: http://www.cs.helsinki.fi/u/tmielika/opetus/tkte/orponen.pdf Kauppamatkustajan on löydettävä annetun tiekartan avulla lyhin reitti, joka kulkee jokaisen kaupungin kautta. Kauppamatkustajan ongelma Ratkaisu: kokeillaan kaikki mahdolliset reitit ja valitaan lyhin. Ei onnistu käytännössä, esimerkiksi jos kaupunkeja on 22, reittejä on Jos yhden reitin laskeminen kestää 1ms, algoritmin suoritus kestää 36 mrd vuotta. P-tyyppiset ongelmat Ongelmaluokka on P-tyyppinen (polynomial time) jos sen suoritusaika kasvaa polynomisesti. Sanotaan, että funktiolla on polynominen kasvu, jos on olemassa jokin polynomi p(n), siten että Kauppamatkustajan ongelma Kauppamatkustajan ongelmassa reittien määrä kasvaa eksponentiaalisesti. Tapahtuu "kombinatorinen räjähdys" Luku n, joka kuvaa ongelman suoritusaskelien määrää. Polynomissa luku n ei esiinny eksponentiaalissa. Ongelmia, jotka kuuluvat tähän vaikeusluokkaan, kutsutaan NP-tyyppisiksi (nondeterministic polynomial time). Ne ratkaistaan arvaamalla oikeita vastauksia ja testaamalla arvauksen oikeellisuutta polynomisessa ajassa. Saara Huhmarniemi 9

Tehtävä On olemassa hyvin tunnettu luokka ongelmia, jotka ovat liian vaikeita tietokoneelle tai jotka ovat todistettavasti ratkeamattomia. Tarkoittaako tämä että tekoäly on mahdotonta? The Language of Thought Combinatorial syntax Compositional semantics Brain's symbol manipulation is languagelike. Relation of LOT to natural language is an open issue. The Language of Thought Combinatorial syntax: Formal properties of representations are such that constituent representations can be combined according to rules specifying allowed modes of combination into complex representations (cf. wff). Rules are specified over representational elements that are shared by different complex representations and different individuals. The Language of Thought Compositional semantics: the meaning of a complex representation is determined by the meanings of its constituents and its mode of combination (and only them) what determines the meaning of primitive representations? conceptual role? representation-world relation? teleological function? grounding problem, problem of intrinsic intentionality, narrow vs. broad content, naturalizing semantic properties Saara Huhmarniemi 10

The Language of Thought Accounts for productivity and systematicity of cognition productivity: it is possible (in principle) to represent an infinite number of propositions with a finite architecture systematicity: being able to represent proposition P guarantees being able to represent a certain class of propositions Q, but not others R. An account of systematicity tells you which propositions Q, R are or are not thus systematically related to P (and what it is about the architecture that makes it so). Vahva symbolisysteemin hypoteesi Strong Symbol System Hypothesis Ainoastaan universaalit symbolisysteemit ovat kykeneviä ajattelemaan. Informaatio Aivot ja analogia Mitä ihmisen kognitiivisia ominaisuuksia voidaan mallintaa? Mitä ei voida? Laadullisesti erilaisia kognition ominaisuuksia Niille ominaisuuksille, joita on yritetty mallintaa yhteistä on se, että ne käsittelevät informaatiota. Aivot voidaan nähdä informaatiota prosessoivina systeemeinä laajassa merkityksessä, ainoastaan symbolien laskennallisen manipuloinnin sijaan. (Tällöin saadaan mukaan määritelmään myös hermoverkot ym.) Esimerkkejä analogia-representaatioista: Arkkitehti rakentaa pienoismallin talosta. Kaaviot ovat analogia-representaatioita. Kaavioissa viiva voi tarkoittaa kappaleen massaa, matkaa, nopeutta, ym. On ehdotettu, että aivot muodostavat ulkomaailmasta analogia-representaatiota, eräänlaisia "malleja", joita voi manipuloida kuten fysikaalisia objekteja (yhdistellä, käännellä, jne.) Analogia-representaatio olisi siis hyvin erilainen kuin kielellinen representaatio. Saara Huhmarniemi 11

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 12

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 13

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 14

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. Tehtävä 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 15

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. Rationaalinen agentti Agentti on jokin joka toimii. Joitain ominaisuuksi: 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. 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? Saara Huhmarniemi 16

Rationaalinen agentti Rationaalinen agentti valitsee jokaiselle havaintohistorialle toimenpiteen, joka maksimoi suoritusarvon odotusarvon. Toimenpiteen valinnassa agentti käyttää havaintohistoriaa sekä agentin a priori tietoa. Rationaalisuus? Rationaalisuus Kaikkitietävyys Ei ole mahdollista todellisuudessa Selvänäköisyys Saara Huhmarniemi 17