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

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Rajoittamattomat kieliopit (Unrestricted Grammars)

Muita vaativuusluokkia

Algoritmin määritelmä [Sipser luku 3.3]

Kognitiivinen mallintaminen 1

Lisää pysähtymisaiheisia ongelmia

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

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

5.3 Ratkeavia ongelmia

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

Kognitiivinen mallintaminen I

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

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

Algoritmit 1. Luento 2 Ke Timo Männikkö

1. Universaaleja laskennan malleja

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

1 Kurssin asema opetuksessa

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

Täydentäviä muistiinpanoja laskennan rajoista

Laskennan teoria

Muodolliset kieliopit

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

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

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

2. Laskettavuusteoriaa

Rekursiiviset palautukset [HMU 9.3.1]

Laskennan teoria

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Algoritmit 2. Luento 13 Ti Timo Männikkö

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

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

Turingin koneen laajennuksia

2. Laskettavuusteoriaa

ICS-C2000 Tietojenkäsittelyteoria

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

Laskennan perusmallit (LAP)

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

Säännöllisen kielen tunnistavat Turingin koneet

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

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

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

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

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

Rajoittamattomat kieliopit

Muita universaaleja laskennan malleja

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

Chomskyn hierarkia ja yhteysherkät kieliopit

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Luento 6. June 1, Luento 6

Kieli merkitys ja logiikka

Esimerkki 1: Kahviautomaatti.

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

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013

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

ongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä

Induktio kaavan pituuden suhteen

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Kolmogorov-kompleksiteetti

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


Laskennan vaativuus ja NP-täydelliset ongelmat

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

1. Universaaleja laskennan malleja

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

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

Algoritmit 2. Luento 1 Ti Timo Männikkö

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011

Numeeriset menetelmät

10. Satunnaisalgoritmit

4. Laskennan universaaleja malleja

Automaatit. Muodolliset kielet

811312A Tietorakenteet ja algoritmit I Johdanto

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

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

4.3. Matemaattinen induktio

Kieli merkitys ja logiikka

Algoritmit 1. Luento 3 Ti Timo Männikkö

"Mallit" tieteessä Kuvaileva ja selittävä malli

Tietorakenteet ja algoritmit

Aluksi Kahden muuttujan lineaarinen epäyhtälö

Johdatus diskreettiin matematiikkaan Harjoitus 7,

4. Lausekielinen ohjelmointi 4.1

Matematiikan tukikurssi

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

811120P Diskreetit rakenteet

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

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

The CCR Model and Production Correspondence

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

C++11 seminaari, kevät Johannes Koskinen

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

Transkriptio:

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