Kognitiivinen mallintaminen I Luento II Symbolinen mallintaminen Tausta Symbolinen mallintaminen: tausta Symbolisysteemin hypoteesi LOT von Neumannin arkkitehtuuri (Rationaalinen agentti) Symbolisysteemin hypoteesi Newell ja Simon antoivat formaalin muodon kognitiotieteen komputationaaliselle mallille: symbolisysteemin hypoteesin (symbol system hypothesis). "A physical symbol system has the necessary and sufficient means of general intelligent action." (Newell & Simon 1976: Computer Science as Empirical Inquiry: Symbols and search. Idea symbolisysteemistä syntyi jo aiemmin.) Mitä tarkoitetaan symbolisysteemillä? Symbolisysteemi "A physical symbol system consists of a set of entities, called symbols, which are physical patterns that can occur as components of another type of entity called an expression (or symbol structure). [...] Besides these structures, the system contains also a collection of processes that operate on expression to produce other expressions: process of creation, modification, reproduction and destruction. A physical symbol system is a machine that produces through time an evolving collection of symbol structures." (Newell & Simon 1976) symbolit ja symbolirakenteet prosessit jotka operoivat symbolirakenteilla: prosessit voivat luoda, muuttaa, kopioida ja poistaa symboleja ja symbolirakenteita. Saara Huhmarniemi 1
Symbolisysteemi Newell 1980. Physical symbol systems: Fysikaaliset symbolisysteemit ovat universaalikoneita (en mielessä). Symbolirakenteet voivat olla representaatioita ympäristöstä, tai sitten ne voivat edustaa prosesseja joita symbolisysteemi tulkitsee ja suorittaa (designate objects, interpret processes). Toimiakseen käytännössä symbolisysteemin tulisi myös omaksua tietoa ympäristöstä ja tuottaa toimintoja jotka vaikuttavat ympäristöön. Symbolisysteemin hypoteesi Hypoteesin mukaan ajattelu on siis symbolien ja symbolirakenteiden järjestelyä annetun ohjelman mukaan. Newellille ja Simonille symbolit ja symbolirakenteet ovat todellisia fysikaalisia olioita. Ne ovat aineellisen systeemin merkityksettömiä tiloja. (Erotuksena matematiikan tai logiikan abstrakteille symboleille) Symbolit ja niille suoritettavat operaatiot ovat kuitenkin semanttisesti tulkittavissa. Monitoteutuvuusperiaate Symbolien monitoteutuvuusperiaate: symbolilla voi olla erilaisia fysikaalisia toteutuksia. Näin aivot olisivat orgaaninen symbolisysteemin toteutus. Symbolisysteemin määritelmä on laaja, esimerkiksi tietokoneet (von Neumannin kone) ja ovat fysikaalisia symbolisysteemejä. The Language of Thought Combinatorial syntax Compositional semantics Brain's symbol manipulation is languagelike. Relation of LOT to natural language is an open issue. Saara Huhmarniemi 2
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 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). Ongelman formaali esitys Ongelmalla on potentiaalisesti ääretön joukko syötteitä. (tapauksia) Ongelman ratkaisu on algoritmi, joka liittää jokaiseen syötteeseen sen oikean vastauksen. Syötteiden ja vastausten on oltava äärellisesti esitettäviä. Laskentalaitteesta riippumaton esitys Saara Huhmarniemi 3
Laskennallinen ongelma Laskennallinen ongelma on mikä tahansa kuvaus: " : # * $ % * millä tahansa *,Γ *, jossa * on aakkoston (äärellisten) merkkijonojen joukko. Jokainen! syötejoukon merkkijono siis kuvautuu jollekin tulosjoukon merkkijonolle. Päätösongelma on kuvaus " : # * $ {0,1} ella voidaan laskea kaikki algoritmisesti laskettavat funktiot. Algoritmilla tarkoitetaan kokoelmaa yksinkertaisia sääntöjä, joiden avulla voidaan mekaanisesti ratkaista annettu tehtävä. Historiaa: Tavoitteena oli selvittää vastaus nk. Hilbertin kymmenenteen ongelmaan (David Hilbert 1900): Kehitä yleinen menetelmä, jolla voidaan aina selvittää, onko annetulla usean muuttujan kokonaislukukertoimisella polynomilla sellaista nollakohtaa, jossa kaikki muuttujat ovat kokonaislukuja.! en historiaa Hilbertin 10. ongelma on siis löytää algoritmi joka sanoo polynomista, onko sillä kokonaislukuja nollakohtina. 3 2 Esimerkiksi polynomilla x! 2y vastaus on kyllä (esim. x=2, y=2), sen sijaan polynomilla x 2! 2 vastaus on ei. Monimutkaisilla polynomeilla ei ongelma ole yhtä selvä: 3 2 2 3 6x yz + 3xy! x! 10 en historiaa Nykyään tiedetään, ettei Hilbertin 10. ongelmaan ole ratkaisua, sitä on mahdotonta ratkaista algoritmisesti. Ongelman ratkaisu vaati kuitenkin algoritmin käsitteen tarkemman määrittelyn. 1936 Alonzo Church ja Alan Turing esittelivät molemmat määritelmän algoritmille. Churchin systeemi perustui λ-laskentaan ja Turingin koneisiin. Church-Turing teesi: kaikki algoritmisesti laskettavat funktiot voidaan laskea ella. (Churchin menetelmä on ekvivalentti.) Saara Huhmarniemi 4
Hilbertin ongelma voidaan muotoilla myös seuraavasti: Onko olemassa yleistä ratkaisualgoritmia, jolla voi ratkaista minkä tahansa matemaattisen ongelman? Vastaus on ei. On olemassa ongelmia, joita ei voida ratkaista algoritmisesti. on kuin äärellinen automaatti mutta sen muisti on rajoittamaton. en muisti on äärimmäisilleen yksinkertaistettu muistin malli. Se on nauha, joka sisältää merkkejä. Aluksi koneen nauhalla on ainoastaan syötemerkkijono. Kone lukee muistia tai kirjoittaa muistiin merkki kerrallaan ja voi liikkua yhden askeleen kerrallaan oikealle (R) tai vasemmalle (L). Koneen toiminta voidaan mallintaa tila-automaattina. Jokaisessa tilassa kone lukee yhden merkin, kirjoittaa yhden merkin ja siirtyy joko oikealle tai vasemmalle. Käsiteltyään merkin kone pyyhkii sen yli. Koneen laskenta päätyy joko hyväksyvään tai hylkäävään tilaan, muuten laskenta jatkuu pysähtymättä. Tarkastellaan konetta, joka tunnistaa kielen B = {w#w w on aakkoston {0,1} merkkijono} Eli merkkijonot, jotka sisältävät kaksi samaa merkkijonoa peräkkäin, eroteltu merkillä #. Saara Huhmarniemi 5
B = {w#w w:n aakkosto on {0,1}} nauha: _0 1 1 0 0 0 # 0 1 1 0 0 0 en algoritmi voidaan hahmotella seuraavasti: 1. Liiku nauhalla edestakaisin #-symbolin molemmilla puolilla ja tarkista että merkit ovat samat. Jos ovat, pyyhi merkit yli. Jos ei, hylkää merkkijono. 2. Kun kaikki merkit vasemmalla puolella on käyty läpi, tarkista, ettei #-symbolin oikealla puolella ole enempää merkkejä. Jos on, hylkää merkkijono. Muuten hyväksy merkkijono. B = {w#w w:n aakkosto on {0,1}} _0 1 1 0 0 0 # 0 1 1 0 0 0 _x 1 1 0 0 0 # 0 1 1 0 0 0 _x 1 1 0 0 0 # x 1 1 0 0 0 _x 1 1 0 0 0 # x 1 1 0 0 0 _x x 1 0 0 0 # x 1 1 0 0 0 _x x 1 0 0 0 # x x 1 0 0 0 _x x x x x x # x x x x x x hyväksyvä lopputila. : Tilojen joukko Q aakkosto, joka sisältää tyhjän symbolin _ Nauha Tilasiirtymät, jotka kuvaavat luetun merkin perusteella, mitä kirjoitetaan ja mihin suuntaan siirrytään (L,R). (kone kirjoittaa aina) Esim: A: 1/0, R, B Kun tilassa A luetaan merkki 1: kirjoitetaan merkki 0, siirrytään nauhalla yksi merkki oikealle ja tilaan B. Alkutila hyväksyvä lopputila hylkäävä lopputila B = {w w sisältää täsmälleen yhden merkin #} Aakkosto: {0,1,x,_} Tilojen joukko: Q= {A, B, C, HALT, FINAL} Alkutila: A Hyv. lopputila: FINAL Hylkäävä lopputila: HALT A: 0/0, R, A A: 1/1, R, A A: #/#, R, B B: 0/0, R, B B: 1/1, R, B B: _/_, L, FINAL B: #/#, R, HALT Saara Huhmarniemi 6
B = {w#w w:n aakkosto on {0,1}} Tilojen joukko: Q= {A, B, C, D, E, F, G, H, FINAL, HALT} Tilasiirtymät: A: 0/x, R, B A: 1/x, R, C A: #/#, R, H B: 0/0, R, B B: 1/1, R, B B: #/#, R, D C: 0/0, R, C C: 1/1, R, C C: #/#, R, E D: x/x, R, D D: 0/x, L, F E: x/x, R, E E: 1/x, L, F F: 0/0, L, F F: 1/1, L, F F: x/x, L, F F: #/#, L, G G: 0/0, L, G G: 1/1, L, G G: x/x, L, A H: x/x, R, H H: _/_, L, FINAL Hahmotellaan tilasiirtymäkaavio ongelmalle n B = {0 1 Kieleen kuuluvia merkkijonoja on esimerkiksi 0011, 01, 00001111. n } n n B = {0 1 } nauha 0011... Ratkeavuus M voi jättää hyväksymättä merkkijonon joko joutumalla hylkäävään lopputilaan tai jäämällä ikuiseen silmukkaan. Totaalinen pysähtyy joko hyväksyvään tai hylkäävään lopputilaan. Päätösongelmia kutsutaan ratkeaviksi. (rekursiiviset kielet) Ongelmia, joissa pysähtyy ainoastaan myönteisissä tapauksissa kutsutaan osittain ratkeaviksi. (rekursiivisesti numeroituvat kielet) Saara Huhmarniemi 7
Ratkeamattomuus Algoritmin tai en toimintaa koskevat ongelmat ovat usein ratkeamattomia. en 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 Muodostetaan, jonka avulla voidaan tutkia iden 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. Universaalikone tunnistaa jokaisen kielen, joka voidaan tunnistaa jollain ella. Pysähtymisongelma Annetaan universaalikoneelle syötteenä 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 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. Universaali Universaalilla ella voi simuloida mitä tahansa tietokoneohjelmaa. Ehtona on, että laskenta-aikaan ja muistin määrään ei kiinnitetä huomiota. Universaalin en idea on, että ohjelman suoritusohjeet on kirjoitettu samalle nauhalle kuin ohjelman syöte ja tulos. Saara Huhmarniemi 8
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ä iden joukko on numeroituvasti ääretön. et ovat äärellisiä. siispä voimme luetella kaikki et. 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 en avulla. Church-Turing teesi et on malli sille, mitä voidaan laskea mekaanisesti sääntöjä seuraamalla. Teesi ei ole matemaattinen väittämä Periaatteessa voisi olla olemassa vahvempi laskulaite. (Syötteiden äärettömyys muodostuisi ongelmaksi) Chomskyn kielihierarkia (Chomsky 1956) Tyyppi 0: Rekursiivisesti lueteltavat (ja rekursiiviset) kielet: Tunnistetaan ella. Mallinnetaan rajoittamattomalla kieliopilla. Tyyppi 1: Kontekstiset kielet: Tunnistetaan lin. rajoitetulla ella (syöte rajoittaa nauhatilaa) Mallinnetaan kontekstisella kieliopilla Tyyppi 2: Kontekstittomat kielet: Tunnistetaan pinoautomaatilla (äärellisen autom. lisäksi muistipino) Mallinnetaan kontekstittomalla kieliopilla Tyyppi 3: Säännölliset kielet Tunnistetaan äärellisellä automaatilla Mallinetaan oik. lineaarisella kieliopilla Saara Huhmarniemi 9
Chomskyn kielihierarkia Tyypin 0 kieliin sisältyy kaikki muut tyypit jne. Kielihierarkian avulla voidaan tarkastella erilaisten laskennallisten systeemien ilmaisuvoimaa: Konnektionistiset mallit kuuluvat tyyppiin 3 (Minsky & Papert 1969, myöhemmin myös muita tuloksia) Useimmat tietokoneohjelmat kuuluvat tyyppiin 2 Luonnollinen kieli kuuluu tyyppiin 0. Symbolisessa paradigmassa oletetaan, että ihmisen kognition mallintamiseen tarvitaan oleellisesti tyypin 0 vahvuinen malli. Miksi? 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ä Luku n, joka kuvaa ongelman suoritusaskelien määrää. Polynomissa luku n ei esiinny eksponentiaalissa. Saara Huhmarniemi 10
Kauppamatkustajan ongelma Kauppamatkustajan ongelmassa reittien määrä kasvaa eksponentiaalisesti. Tapahtuu "kombinatorinen räjähdys" Ongelmia, jotka kuuluvat tähän vaikeusluokkaan, kutsutaan NP-tyyppisiksi (nondeterministic polynomial time). Ne ratkaistaan arvaamalla oikeita vastauksia ja testaamalla arvauksen oikeellisuutta polynomisessa ajassa. On siis olemassa hyvin tunnettu luokka ongelmia, jotka ovat liian vaikeita tietokoneelle tai jotka ovat todistettavasti ratkeamattomia. Tarkoittaako tämä että tekoäly on mahdotonta? von Neumannin kone Lähes kaikki nykyiset tietokoneet ovat von Neumannin koneita Rakenne kontrolliyksikkö (CU) 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. Saara Huhmarniemi 11
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 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. RAM (Random Access Memory): muistihaut ovat toisistaan riippumattomia (toisin kuin Turingin koneessa) 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. Aivot ja tietokone? on malli mekaanisesta laskennasta. Universaalissa essa syöte ja tulos esitetään samalla tavoin kuin algoritmi, jonka kone suorittaa. Ohjelma voidaan tulkita osaksi syötettä. Sama pätee von Neumannin koneeseen. Sama idea on symbolisysteemeissä: Symbolirakenteet voivat olla representaatioita ympäristöstä, tai sitten ne voivat edustaa prosesseja joita symbolisysteemi tulkitsee ja suorittaa. Saara Huhmarniemi 12
sarjallinen / rinnakkainen Hermosoluverkot prosessoivat tietoa rinnakkaisesti, mikä tarkoittaa että toiminto suoritetaan osissa, yhtäaikaisesti eri puolilla verkkoa sarjallisessa prosessoinnissa tehtävä jaetaan osiin, jotka prosessoidaan peräkkäin. Aivot ja tietokone? Sarjallinen prosessointi on liian hidasta Keskusyksikkö - data -tyyppinen rakenne on hauras. Esim. yksikin nauhalla oleva virhemerkki johtaa laskennan epäonnistumiseen Digitaalinen prosessointi on joustamatonta Nauhalla oleva merkki on aina tunnistettava oikein tai laskenta epäonnistuu 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 13
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. 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 14