Cog101 Johdatus Kognitiotieteeseen KOTITEHTÄVÄ 2: KOMPUTAATIO. Otto Lappi
|
|
- Anna Sipilä
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Cog101 Johdatus Kognitiotieteeseen KOTITEHTÄVÄ 2: KOMPUTAATIO Otto Lappi
2 Laskennan teorian perusteet, komputationaalinen kompleksisuus ja algoritmit saattavat vaikuttaa hyvin abstrakteilta käsitteiltä, ja niiden relevanssia mielen/aivojen toiminnan ymmärtämisen kannalta on ehkä vaikea aluksi hahmottaa. Syynä on se, että käsitteet ja tapa tarkastella tiedon esittämistä ja käsittelyä on hyvin abstrakti. Käsitteet ovat kuitenkin relevantteja kognitiotieteen kannalta, ja kuuluvat kognition ymmärtämisen kannalta välttämättömiin käsitteellisiin perustyökaluihin. Relevanssi on helpoin hahmottaa suhteessa komputationaaliseen hypoteesiin mielestä/aivoista: mielen/aivojen ajatellaan olevan jonkinlainen laskennallinen automaatti, informaation esittämiseen ja prosessointiin perustuva, mekaanista laskentaa suorittava systeemi. Tämä tarkoittaa fysikaalisesti implementoitua formaalia systeemiä, l. komputationaalista järjestelmää, joka muuttaa tietoesityksiä (representaatiotia) toisikseen niiden formaalin rakenteen ja tämän rakenteen suhteen sensitiivisten sääntöjen mukaisesti. Tiedon käsittelyn ajatellaan tapahtuvan mekaanisesti tai automaattisesti siinä erityisessä mielessä että systeemin toiminta (tai sen täsmällinen kuvaaminen) ei edellytä sitä että systeemi muodostaisi tulkinnan käsittelemiensä merkkien merkityksestä, tai että systeemin tarvitsisi konsultoida jotain itsensä ulkopuolista mentaalista avustajaa. Hypoteesi siitä että aivot on mekaanista laskentaa suoritaava automaatti on klassisen kognitiotieteen (ks. esim. Haugeland, 1981, Block & Segal, 1998), perusoletus. Se on tietenkin myös perusidea erään tärkeän teknisen sovelluksen, modernin digitaalisen tietokoneen toiminnan taustalla. Automaattien teoria määrittelee arkkitehtuuriltaan erilaisia laskennallisia, formaaleja systeemejä. Automaateista tarkastellaan tässä ns. Turingin konetta, joka on perinteinen tapa esittää a) mekaanisen laskennan käsite täsmällisessä eli eksaktissa muodossa 1 b) universaalin laskennallisen systeemin idea Kognitiotieteen kannalta kiinnostavaa laskennan teoriassa on se, että se antaa käsitteelliset välineet ymmärtää miten materiaalinen systeemi (mekanismi) voi olla siten organisoitunut että se pystyy suorittamaan näköjään älyä vaativia tehtäviä. 1 Turingin kone oli matemaatikko Alan Turingin muotoilema tapa jäsentää mekaanisen laskennan idea täsmällisemmässä muodossa. Mekaaninen tässä tarkoittaa laskentaa joka voidaan pelkistää niin yksinkertaisiin ja yksikäsitteisiin rutiineihin että ne voidaan antaa tehtäväksi laskijalle tai mekaaniselle automaatille (computer) joka ei osaa tulkita merkkejä. Mekanismin tai rutiinin käsite sinällään on intuitiivinen, ei täsmällinen, samoin kuin tulkinnan käsitekin. Turingin koneen spesifikaatio ei sisällä mitään oletuksia merkkien tulkinnasta. Voidaan siis esittää, että oikeasti tietyn funktion laskeva kone implisiittisesti antaa käsittelemilleen merkeille tulkinnan. Huomaa että tämän väitteen esittäminen ei kuitenkaan ole sama asia kuin täsmällinen kognitiivinen teoria tulkinnan antamisesta ilmiönä.
3 On kuitenkin tärkeää ymmärtää, että kun väitetään mielen/aivojen toimivan kuten Turing kone, on kysymys erittäin abstraktin tason matemaattisesta samankaltaisuudesta. Oletus ei siis tarkoita, että aivoissa olisi fyysisesti yksiulotteisia nauhoja, ja näillä liikkuvia lukupäitä. Väite tulee erottaa tietokonemetaforasta, jonka mukaan aivot ovat kuin tietokone siinä mielessä niissä on prosessoreita, nopea mutta rajallinen työmuisti, tallennuskapasiteetiltaan hyvin paljon suurempi pitkäkestoinen muisti jne Algoritmit & komputaatio Informaatiota voidaan paitsi siirtää paikasta toiseen signaalien välityksellä, myös prosessoida komputationaalisesti. Komputationaalinen eli laskennallinen tarkoittaa tässä monisteessa syntaktista eli formaalia tiedon prosessointia. Syntaktinen sääntö formaalin systeemin hyvinmuodostettujen ilmaisujen (symbolien) johtamiseksi järjestelmän toisista ilmaisuista on sääntö, joka sanoo että kun meillä on käsillä ilmaisuja joilla on tietty rakenne, voidaan näiden nojalla johtaa ("päätellä mekaanisesti") lisää ilmaisuja joilla on tietty toinen rakenne. Säännön oikein soveltaminen ei edellytä symbolien merkityksen tuntemista tai ymmärtämistä. Säännön ilmaisuun soveltaminen muodostaa päättelyjärjestelmässä sallitun "päättelyaskeleen", t. komputaation.
4 Laskettavuus & kompleksisuus Laskennan teoria juontaa juurensa matemaatikoihin kuten Kurt Gödel, Alan Turing ja Alonzo Church, jotka osoittivat, että tietyt ongelmat ovat sellaisia että niitä ei voi ylipäätään ratkaista laskennallisesti - vaikka ne ovat täsmällisesti määritelyjä, ja niihin on olemassa ratkaisuja 2. Tällä tarkoitetaan siis sellaisia tehtäviä, joiden suorittamiseen ei ole olemassa (matemaattisessa mielessä) yleistä mekaanista ratkaisumenetelmää, säännöstöä tai algoritmia jonka soveltaminen yleisessä tapauksessa takaisi halutun lopputuloksen. Laskennan teoriassa ongelmat luokitellaan täsmällisesti niihin, jotka voidaan ratkaista tietokoneella ja niihin, joita ei voida. Ratkeavat ongelmat voidaan vastaavasti luokitella sen mukaan miten vaikeita ne ovat. Tehtävän laskennallisella kompleksisuudella tarkoitetaan yksinkertaisesti sitä, kuinka vaikea se on ratkaista, kuinka paljon mentaalista laskutyötä tai laskennallisia resursseja minimissään tarvitaan ratkaisun löytämiseksi 3. Kätevä mittayksikkö on esimerkiksi se, kuinka monta perusoperaatiota (aikaaskelta) Turingin kone vaatii tehtävän suorittamiseen syötteen pituuden funktiona, tai kuinka monessa nauhan eri ruudussa se käy (tarvittava muistikapasiteetti). Kompleksisuusteoria siis kysyy, miten laskentatyö eli komputaation määrä tulisi määritellä kvantitatiivisesti, miten tehtävän (tai informaation) kompleksisuus voitaisiin arvioida (mielellään niin että määrä on mahdollista laskea), ja mikä ylipäätään tekee joistakin ongelmista komputationaalisesti vaikeita ja toisista helppoja. Tehtävien kompleksisuuden analysointia varten on luotu järjestelmä, jonka mukaan tehtävät luokitellaan niiden kompleksisuuden mukaan matemaattisessa mielessä helppoihin ja vaikeisiin. Kompleksisuus on siis tehtävän itsensä ominaisuus, ei automaatin tai valitun mekaanisuuden käytännön määritelmän ominaisuus. Laskennallisten systeemien välillä on eroja siinä miten vahvoja ne ovat (s.o. mitä niilla voidaan laskea). Automaattien teoria käsittelee matemaattisten laskennan mallien määritelmiä ja ominaisuuksia. Laskennan teoria ja kompleksisuusteoria vaativat täsmällisen määritelmän laskentaa suorittavalle koneelle; intuitiivisen mekaanisuuden idean ja sen että tulkintaa ei tarvita muotoilemisen matemaattisen täsmällisesti. Tulkinnan ja mekaanisuuden käsite eivät sinällään ole täsmällisiä, vaan intuitiivisia arkikäsitteitä. Automaattien teoria tarjoaa formaalin määritelmän tietokoneelle, ja eri vahvuisille laskennallisille systeemeille. 2 Matemaattisen olemassaolon mielessä. Samassa mielessä kuin ääretön määrä luonnollisia lukuja on olemassa. Ne ovat kuitenkin abstrakteja olioita ne eivät ole olemassa missään päin fyysistä maailmankaikkeutta. 3 Esimerkiksi numerolistan järjestäminen nousevaan suuruusjärjestykseen on helppo tehtävä. Sen sijaan esimerkiksi sopivien yliopiston luentoaikataulun laatiminen niin ettäkaksi luentoa ei satu päällekkäin samaan luokkaan on paljon kompleksisempi rajoitelaskennallinen (constraint satisfaction) tehtävä johon tuskin on olemassa kovinkaan tehokasta efektiivistä menetelmää - joten yrittäkää ymmärtää amanuensseja.
5 TIETO MÄÄRITTELY -JOUKKO (argumentit) laskettava funktio (relaatio) ARVO- JOUKKO (arvot) koodi, formaali jäsennys TIEDON ESITTÄ- MINEN & KÄSITTELY symbolirakenne 1 algoritmi (säännöstö) symbolirakenne 2 TOTEU- TUS fyysinen tila 1 prosessi (mekanismi) fyysinen tila 2 KUVA1 Komputationaalisen systeemin idea.komputaatio, representaatio & implementaatio viittaavat David Marrin (1982) tapaan erotella kolme tapaa tarkastella kognitiivisia systeemejä. Esimerkki Ajatellaan vaikkapa funktiota: f(x,y) = x+y Siis esimerkiksi: (1,1) 2 (1,2) 3 (1,3) 4 jne. Se että jokin järjestelmä on tietokone t. komputationaalinen systeemi tarkoittaa juuri tätä: systeemin tilasiirtymien ja jonkin matemaattisen funktion välillä on systemaattinen yhteys. Funktion määrittelyjoukko ja arvojoukko vastaavat systeemin representaatiotiloja, ja systeemi on siten organisoitu, että tietty input-representaatio (esimerkissä numeropari joka edustaa l. representoi kahta lukua) johtaa vastaavaan output representaatioon (numero joka edustaa edellisten lukujen summaa).
6 Tässä yleisimmässä mahdollisessa muotoilussa myös taulukko on tietokone. Jos määrittelyjoukko ja arvojoukko ovat äärellisiä, funktio voidaan toteuttaa tilasiirtymätaulukkona, jossa jokainen määrittelyjoukon alkion (lukuparin) representaatio on assosioitu vastaavaan arvojoukon representaatioon. Äärettömien joukkojen tapauksessa tämä ei ole mahdollista. (0,0) 0 (0,1) 1 (1,1) 2 (1,2) 3 (2,2) 4 (1,3) 4 (2,3) 5 (3,3) 6 Taulukko josta voidaan lukea funktion f(x,y) = x+y arvot kun x:n ja y:n arvot on rajattu välille [0,3] ja [0,6]. HUOM. parit eivät ole järjestettyjä pareja, siten esim. (0,1) ja (1,0) eivät tarvitse erillisiä rivejä. Funktion arvoja eri syötteillä voidaan kuitenkin ratkaista myös laskennallisesti l. algoritmisesti. Algortimilla tarkoitetaan säännöstöä askel askeleelta etenevän symbolimanipulaation suorittamiseksi, niin sääntöjen toistuva soveltaminen tuottaa tulosteen (output) joka on syötteen (input) funktio. Algoritmin säännöstön tulee olla siten laadittu, että: a) säännön noudattaminen on mekaanisesti toteutettavissa - ts. se ei vaadi "älykkyyttä", ja voidaan muotoilla formaalisti siten ettei prosessoinnin suorittaminen edellytä symbolien merkityksen tuntemista tai tulkintaa. Sääntöjen noudattaminen voidaan koodata fysikaalisen informaationprosessointijärjestelmän toimintaan ilman että järjestelmän oikea toiminta edellyttää missään vaiheessa "mentaalista interventiota", sillä järjestelmän ei tarvitse koskaan aidosti päättää mitä tehdä seuraavaksi, algoritmisäännöstön määrätessä yksikäsitteisesti kunkin askeleen 4. b) symbolimanipulaatioiden (t. näiden representoimien tiedonkäsittelyoperaatioiden) sarja toteuttaa annetun matemaattisen funktion, niin että voidaan taata että algoritmi kuhunkin syöte (input) symboliin tai symbolikonstruktioon sovellettuna tuottaa tuloste (output) symbolin tai symbolikonstruktion, ka että tulosteen suhde syötteeseen on systemaattisesti 4 Huom. Mekaanisen toteutettavuuden käsitteen matemaattista muotoilua ei ole luotu kognitiotieteen, psykologian tai neurotieteen tarpeita silmälläpitäen, eikä se varsinaisesti perustu syvällisemmälle ja yleisemmälle kognitiiviselle taustateorialle älykkyyden (mentaalisen) ja mekaanisuuden (fysikaalisen) metafyysisestä olemuksesta. Sen perusta ruohonjuuritasolla on symbolinen logiikka (Boole, Hilbert, Frege, Russell & Whitehead, Wittgenstein).
7 annetun funktion mukainen. Tällöin sanotaan, että funktio voidaan komputoida (laskea, suorittaa laskennallisesti) kyseisen algoritmin avulla. Esimerkiksi jokainen meistä on ala-asteella oppinut algoritmit luonnollisten lukujen yhteenlaskua varten ( allekkainlasku ). Harjoitustehtävissä esitellään toinen niinikään jo satoja vuosia vanha algoritmi. On ihmeellistä, että jo 5-10 vuotiaana ihmisen aivot kykenevät ymmärtämään tällaisen potentiaalisesti äärettömän laskennallisen periaatteen. Mikään muu eläinlaji ei näytä pystyvän samaan; syytä tähän ei tiedetä. Olennaista on oivaltaa, että laskumenetelmä on siinä mielessä ääretön, että säännöstö ei aseta mitään ylärajaa sille miten suuria lukuja voidaan laskea yhteen: Arabialainen numerojärjestelmä sallii minkä tahansa luonnollisen luvun 5 esittämisen numerojonona, vain kymmentä perussymbolia (0,,9) ja näiden paikkaa numerojonossa käyttämällä (paikkasysteemi perustuu kantaluvun kymmenen potenssien käyttöön: esim. luku 42 = 4x x10 0 merkitään 42 ) 6, ja niin kauan kuin käytettävissä on riittävän suuri ruutupaperi ja riittävästi aikaa, voidaan muutamaa yksinkertaista sääntöä noudattaen tuottaa mikä tahansa mielivaltaisen suuri numero, joka vastaa täsmälleen allekkain kirjoitettujen lukujen summaa (samassa systeemissä). Usein komputationaalisella tarkoitetaankin nimenomaan formaalia systeemiä (tai sen fysikaalista implementaatiota) joka kykenee tällaiseen vahvempaan, kompleksisiin konstituenttirakenteisiin perustuvaan laskentaan s.o. informaation prosessointiin, ei vain valmiiden ratkaisuiden listamuistista lukemiseen Turingin kone Turingin koneen määrittelyn taustalla oli pyrkimys määritellä mekaanisen laskennan käsite niin täsmällisesti, että olisi mahdollista matemaattisen järkeilyn avulla löytää vastaus seuraavaan peruskysymykseen: Mitkä ovat mekaanisin, s.o. algoritmisin, menetelmin tapahtuvan laskennan perustavat rajoitukset? Onko olemassa sellaisia täsmällisiä formaaliin muotoon puettavissa olevia ongelmia joihin kuitenkaan ei ole mahdollista tuottaa täsmälleen oikeita vastauksia laskennallisesti? Tehtävän ratkeavuudella t. laskettavuudella (computability) tarkoitetaan sitä, onko tehtävä lainkaan suoritettavissa minkään äärellisen algoritmisen menetelmän avulla (jos äärettömän suuri taulukko sallitaan, voidaan kaikki ongelman instanssit assosioida suoraan vastaavaan vastaukseen). 5 Luonnolliset luvut: 1, 2, 3, 4, joukko on ääretön, koska ei ole olemassa suurinta luonnollista lukua. Jokainen luku itse (ja vastaavasti sen desimaalisysteemiin perustuva esitys l. representaatio) on kuitenkin äärellinen. 6 Lainausmerkkien käyttö erottaa toisistaan numeron käytön ja maininnan. Ensimmäisessä tapauksessa luku mainitaan, ja sen nimeä (numeroa) käytetään. Toisessa tapauksessa mainitaan luvun nimi, ja käytetään numeron nimeä 42 (tässä on käytetty luvun nimen nimen nimeä luvun nimen nimen mainitsemiseen). Sama luku voidaan mainita myös käyttämällä jotain toista nimeä (esim. XLII), tai määräistä kuvausta (esim. luku joka on vastaus suureen kysymykseen elämästä, maailmankaikkeudesta ja kaikesta muusta sellaisesta).
8 Turingin kone (Turing machine) on matemaattinen (abstrakti) kuvaus algoritmeja toteuttavasta symboliprosessointijärjestelmästä. Turingin kone on abstrakti spesifikaatio laskentajärjestelmästä, konetta ei siis ole tarkoitettu kuvaukseksi mistään konkreettisesta symboliprosessointijärjestelmän implementaatiosta 7. Kone koostuu rajattoman pitkästä nauhasta, ja lukupäästä joka pystyy lukemaan ja kirjoittamaan symboleja nauhalta/nauhalle, ja liikkumaan nauhaa pitkin molempiin suuntiin. Symbolit voivat olla esimerkiksi 0 ja 1, mutta mikä tahansa äärellinen diskreetti aakkosto kelpaa periaatteessa. Merkkien määrän kasvattaminen ei lisää koneen laskentavoimaa. Mikä tahansa formaali representaatio voidaan uudelleen koodata l. palauttaa biteiksi. Jokaisena ajan hetkenä lukupää on täsmälleen yhden symbolin kohdalla, ja täsmälleen tietyssä sisäisessä tilassa, joita lukupäällä on niinikään äärellinen määrä. Periaatteessa kone voisi lukea useitakin symboleja yhtä aikaa, mutta Turing osoitti, että tämän tarkkaavaisuuden ikkunan kasvattaminen ei lisää koneen laskentavoimaa, koska useamman merkin lukeminen/kirjoittaminen yhtä aikaa voidaan palauttaa yhden merkin kerrallaan lukemiseksi/kirjoittamiseksi. Lukupää on äärellinen tilasiirtymätaulukko. Lukupään toimintasäännöt voidaan ilmaista äärellisesti (ne voidaan antaa esim. taulukkona joka määrää jokaista mahdollista tilan ja symbolin yhdistelmää vastaavan toiminnon). Jokaista luettua symboli/lukupään tila paria vastaa siis tietty toiminto (nauhalla oleva symboli voidaan poistaa tai korvata toisella symbolilla, ja/tai voidaan siirtyä askel oikealle ja vasemmalle ja/tai lukupää siirtyy uuteen tilaan). Mahdollisia lukupään tiloja on äärelleinen määrä. Lukupään kohdalla oleva symboli ja lukupään tila yhdessä määräävät sen, mihin tilaan kone seuraavaksi siirtyy - lukupää voi korvata symbolin toisella, muuttaa sisäistä tilaansa, ja siirtyä yhden askeleen vasemmalle tai oikealle tai pysähtyä (ks. Kuva 2). Turingin kone suorittaa komputaatioita siten, että se muuntaa annetun syötteen ("syöteinformaatio", symbolirakenne nauhalla ennen ensimmäistä laskennan askelta) tulosteeksi (symbolirakenne nauhalla koneen pysähtyessä) systemaattisesti, aina tiettyä matemaattista funktiota noudattaen. 7 Myös formaalina systeeminä se on kovin kömpelö käytännön sovelluksiin tämän takia teknisiä sovelluksia laadittaessa laskennalliset menetelmät käytännössä spesifioidaan käyttäen jotain ohjelmointikieltä (kuten Java, Lisp tai Prolog).
9 Lukupää i0:0 * H i#:# * H i1:1 a a0:1 b a1:1 a b1:1 b b#:# c c1:# * H i Lukupään toimintaohjeet ( viisikot ) Koneen tila Nauha KUVA 2 Yksinkertainen Turingin kone. Koneen tilat ovat i, a, b, c,, sekä H joka on erityinen pysähtymistila. Merkit joita voidaan lukea/kirjoittaa koostuvat aakkostosta 0, 1, lisäksi viisikoissa on erillinen merkki tyhjälle ruudulle #. tarkoittaa oikealle siirtymistä, vasemmalle siirtymistä vastaavasti, ja * tarkoittaa sitä että kone pysyy paikallaan. (huom. kaksoispiste : on ylimääräinen merkki jonka on vain tarkoitus helpottaa viisikoiden lukemista, kone itse ei siis näe sitä. Se erottaa viisikon ehto- ja toimintaosat toisistaan). Viisikot luetaan siten, että ensin haetaan koneen tilaa vastaavalla merkillä alkava viisikko, ja näistä se jonka toinen merkki vastaa nauhalta luettua merkkiä. Esimerkiksi yllä kone on tilassa i ja lukee merkin 1, viisokko jonka ehto-osaa tämä vastaa on siis i1 kolmannella rivillä.tämän jälkeen nauhalle kirjoitetaan viisikossa kolmantena oleva merkki (tässä 1), minkä jälkeen kone siirtyy vasemmalle, oikealle (kuten esimerkin kone), tai pysyy paikallaan ja muuttaa lukupään tilaksi viisikon viimeisen merkin (a). Koneen toiminnasta lisää harjoitustehtivässä. (Turingin koneen perustoimintaperiaate käydään myös Cog101 Johdatus kognitiotieteeseen monisteessa; ks. myös Davis (2000) jonka merkintätapaa käytetään tässä). Turingin kone määrittelee hyvin vahvan, tila-automaatteja vahvemman, laskennallisen arkkitehtuurin. Opintomonisteessa myös esiteltyjä äärellisten tilojen automaatteja sivutaan tällä kurssilla vain lyhyesti lintujen laulun ja luonnollisen kielen yhteydessä (mutta niistä kerrotaan lisää kurssilla Cog131 Kieli Merkitys & Logiikka). Ns. Church-Turing teesin mukaan Turingin kone spesifioi laskennallisen arkkitehruurin (menetelmien luokan) jonka avulla on laskea kaikki funktiot jotka ylipäätään ovat mekaanisesti laskettavissa. S.o. mille tahansa laskettavalle funktiolle ja vain niille voidaan laatia Turingin kone M, joka laskee funktion arvoja. Universaalin Turingin koneen idea perustuu siihen, että koska lukupää on vain äärellinen taulukko, voidaan se itse koodata jonkin toisen koneen nauhalle. Universaali Turing kone on kone, jolle voidaan antaa syöteinformaationa minkä tahansa Turingin koneen M lukupään informaatio (viisikot sopivasti koodattuna), ja tämän koneen M ymmärtämä syöteinformaatio x (s.o. sellainen hyvin muodostettu symbolirakenne joka kuuluu koneen M komputoiman funktion määrittelyjoukkoon), jolloin kone tuottaa
10 tulosteena täsmälleen sen tulosteinformaation jonka kyseinen kone M kyseisellä syötteellä x olisi tuottanut, tai jos k.o. kone ei kyseisellä syötteellä pysähdy, ei myöskään UTM pysähdy. Jos Church-Turing teesi on tosi, Universaali Turingin kone (Universal Turing Machine UTM) pystyy komputoimaan kaikki ne funktiot jonka suorittamiseksi on ylipäätään mahdollista laatia algoritminen suoritusmekanismi, ja vain ne. Universaalin Turing koneen idea on siis ohjelmoitavan tietokoneen idea ohjelman (program) ollessa emuloitavan Turing koneen lukupään viisikoiden koodi, ja datan ollessa ko. koneen ymmärtämä koodi. (Turingin diskreetti ja symbolinen kone on ehkä kovin keinotekoiselta vaikuttava tapa esittää asia; itse periaate on kuitenkin hyvin yleinen: UTM on systeemi joka voi erilaisiin alkutiloihin perustuen toimia minä tahansa digitaalisena tietokoneena). Lukupäässä ja nauhalla oleva informaatio (ohjelma ja data) ovat jossain mielessä vaihdannaisia. Lukupäätä voidaan yksinkertaistaa jos se tehdään samalla universaaliksi: tehtävien oikea suorittaminen edellyttää silloin paitsi datan myös ohjelman ( alkutila ) spesifiointia. Nauha (siis se että toisin kuin lukupäässä olevan informaaiton kohdalla, nauhalle voidaan lukea/kirjoittaa) antaa systeemille rajoittamattoman suuren dynaamisen muistin ja tekee koneesta tila-automaatteja vahvemman systeemin joka pystyy laskemaan arvoja äärettömien funktioiden mukaisesti (vaikka lukupää ja nauhalla olevat tietoesitykset ovatkin aina äärellisiä). Tämä on olennainen sisältö kun sanotaan ihmismielen/aivojen olevan laskennallisesti Turingin kone, eikä tila-automaatti. Kyseessä on siis väite siitä että aivojen kognitiivinen kapasiteetti sisältää kontrollirakenteen (voidaan esittään vuokaaviona tai taulukkona, lukupää ) lisäksi dynaamisen muistin ( nauha ) ja ohjelmoitavuuden periaatteen - eri asia kuin se että aivoissa olisi keskusprosessori ja muisti implementaatiotason komponentteina siten kuin tietokoneissa.
11 Tehtävät 2.1. Seuraavilla sivuilla on kuvattu viisi Turingin konetta (A-E). Koneet toimivat siten kuin opintomonisteessa kuvan 2 kuvatekstissä selitetään. Kone käynnistetään aina siten että lukupää nauhalle kirjoitetun symbolijonon vasemmassa reunassa. Mitkä koneista A-D pysähtyvät kuvassa annetuilla syötteillä? Perustele vastauksesi lyhyesti (a) Pysähtyykö kone A? Perustele. (b) Pysähtyykö B? Perustele. (c) Pysähtyykö C? Perustele. (d) Pysähtyykö D? Perustele. Pysähtymisjoukolla (halting set) tarkoitetaan kaikkia niitä syötteitä, joilla käynnistettynä kone päätyy pysähtymistilaan H. Millainen on koneen E pysähtymisjoukko? Mitä voit sanoa koneen antamasta tulosteesta, joka on nauhalla koneen pysähdyttyä?
12 Turingin koneet A-E tehtäviin 1 & 2 Lukupään toimintaohjeiden tulkinta: i, a, b, c, Koneen tilat (Kone käynnistyy aina tilassa i, tila H on erityinen d, H pysähtymistila, koska yksikään viisikko ei ala H:lla). 0, 1, # Koneen lukema/kirjoittama aakkosto, # on tyhjä ruutu Ennen seuraavan merkin lukemista, kone siirtyy yhden ruudun verran oikealle Ennen seuraavan merkin lukemista, kone siirtyy yhden ruudun verran vasemmalle * Ennen seuraavan merkin lukemista, kone ei liiku Kone A Kone B
13 Kone C Kone D Kone E
14 2.3. Olemme kiinnostuneita oheisen koneen käyttäytymisestä, kun se saa syötteinä merkkijonoja jotka ovat muotoa [=, 1 n, x, 1 m, x]. Indeksit n ja m ovat positiivisia kokonaislukuja Luetaan: =, n kappaletta ykkösiä, x, ja sen jälkeen m kappaletta ykkösiä, toinen x, ja tämän rakenteen molemmin puolin vain tyhjiä ruutuja. Koneen käyttäytymisestä muilla syötteillä ei tarvitse välittää. Kone käynnistyy aina tilassa i, symbolin = kohdalta. Koneella on hiukan laajempi aakkosto kuin koneiden A-D {0, 1, #}; x ja = ovat kuitenkin vain merkkejä siinä missä 0 ja 1. Miten koneen käyttäytyminen voidaan tulkita? Perustele vastauksesi. (Käy läpi koneen käyttäytymistä erilaisilla syötteillä ja selitä vastauksessasi omin sanoin mitä se tekee ). Kone on muodostettu lähteessä (Wells, 1998) esitetyn koneen pohjalta. i1 : 1 i im : M b ix : x a i= : = i a1 : M b am : M a ax : x*d b1: M c bm : M b bx : x b b= : = c c1 : 1 c cm : 1 c cx : x a c= : = c c# : 1 i dx : # d d1 : # d dm : # d d= : #*H i = 1 1 x 1 x
15 Lähteet: Alkuperäisiä lähteitä: Turing, A. (1936) On Computable Numbers, with an application to the Entscheidungsproblem, Proceedings of the London Mathematical Society 42 (2): Correction (1937); ibid. 43: Lisälukemista: Block, N. & Segal, D. (1998). The Philosophy of Psychology. Teoksessa A.C.Garyling (toim.). Philosophy 2: further through the Subject. Davies, P. (2000). Engines of logic. New York: Norton. Haugeland, J. (1981). Semantic Engines: An Introduction to Mind Design. Teoksessa J. Haugeland (toim.) Mind Design. MIT Press. Pylyshyn, Z. (1984). Computation and Cognition: Toward a Foundation for Cognitive Science. MIT Press. Russell, S. & Norvig, P. (2003). Artificial Intelligence, A Modern Approach. 2 nd ed. Pearson Education inc. Wells, A.J. (1998). Turing s Analysis of Computation and Theories of Cognitive Architecture. Cognitive Science, 22 (3):
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016
ja ja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys ja ja Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/
Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?
Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita
1. Universaaleja laskennan malleja
1. Universaaleja laskennan malleja Laskenta datan käsittely annettuja sääntöjä täsmällisesti seuraamalla kahden kokonaisluvun kertolasku tietokoneella, tai kynällä ja paperilla: selvästi laskentaa entä
Täydentäviä muistiinpanoja laskennan rajoista
Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen
Turingin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 7. joulukuuta 2015 Sisällys Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/
Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. kesäkuuta 2013 Sisällys Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton kontekstinen
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016
ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.
Lisää pysähtymisaiheisia ongelmia
Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti
Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
Automaatit. Muodolliset kielet
Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten
Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja
581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen
Rajoittamattomat kieliopit (Unrestricted Grammars)
Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli
Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.
Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,
4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:
T-79.148 Kevät 2004 Tietojenkäsittelyteorian perusteet Harjoitus 12 Demonstraatiotehtävien ratkaisut 4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: Hyväksyykö annettu Turingin kone
vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters
Tietojenkäsittelyteorian alkeet, osa 2
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. syyskuuta 2016 Sisällys vs Ovat eri asioita! Älä sekoita niitä. Funktiot Funktio f luokasta A luokkaan B, merkitään
Algoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. joulukuuta 2015 Sisällys TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1.
Rekursiiviset palautukset [HMU 9.3.1]
Rekursiiviset palautukset [HMU 9.3.1] Yleisesti sanomme, että ongelma P voidaan palauttaa ongelmaan Q, jos mistä tahansa ongelmalle Q annetusta ratkaisualgoritmista voidaan jotenkin muodostaa ongelmalle
Johdatus matemaattiseen päättelyyn
Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 2 3 Joukko-oppia Tässä luvussa tarkastellaan joukko-opin
T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )
T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen
Algoritmin määritelmä [Sipser luku 3.3]
Algoritmin määritelmä [Sipser luku 3.3] Mitä algoritmilla yleensä tarkoitetaan periaatteessa: yksiselitteisesti kuvattu jono (tietojenkäsittely)operaatioita, jotka voidaan toteuttaa mekaanisesti käytännössä:
9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko
9.5. Turingin kone Turingin kone on järjestetty seitsikko TM = (S, I, Γ, O, B, s 0, H), missä S on tilojen joukko, I on syöttöaakkosto, Γ on nauha-aakkosto, I Γ, O on äärellinen ohjeiden joukko, O S Γ
TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut
TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut Pisteytys on ilmoitettu välikoevaihtoehdon mukaan (joko tehtävät 1, 2 ja 3 välikokeen 1 uusintana tai tehtävät 4, 5 ja 6 välikokeen 2 uusintana).
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen
Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja
582206 Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja 1. Seuraavissa laskennoissa tilat on numeroitu sarakkeittain ylhäältä alas jättäen kuitenkin hyväksyvä tila välistä. Turingin koneen laskenta
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
5.3 Ratkeavia ongelmia
153 5.3 Ratkeavia ongelmia Deterministisen äärellisten automaattien (DFA) hyväksymisongelma: hyväksyykö annettu automaatti B merkkijonon w? Ongelmaa vastaava formaali kieli on A DFA = { B, w B on DFA,
Hahmon etsiminen syotteesta (johdatteleva esimerkki)
Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux
δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.
42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen
Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista
Matematiikan johdantokurssi, syksy 06 Harjoitus, ratkaisuista. Valitse seuraaville säännöille mahdollisimman laajat lähtöjoukot ja sopivat maalijoukot niin, että syntyy kahden muuttujan funktiot (ks. monisteen
Tietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
on rekursiivisesti numeroituva, mutta ei rekursiivinen.
6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti
M = (Q, Σ, Γ, δ, q 0, q acc, q rej )
6. LASKETTAVUUSTEORIAA Churchin Turingin teesi: Mielivaltainen (riittävän vahva) laskulaite Turingin kone. Laskettavuusteoria: Tarkastellaan mitä Turingin koneilla voi ja erityisesti mitä ei voi laskea.
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
582206 Laskennan mallit
582206 Laskennan mallit luennot syksylla 2006, periodit I{II Jyrki Kivinen tietojenkasittelytieteen aineopintokurssi, 6 op, paaaineopiskelijoille pakollinen esitietoina Tietorakenteet (ja sen esitiedot)
Turingin koneen laajennuksia
Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k
Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 17.10.2016 klo 15:07 passed waiting redo submitters
Luonnollisten lukujen ja kokonaislukujen määritteleminen
Luonnollisten lukujen ja kokonaislukujen määritteleminen LuK-tutkielma Jussi Piippo Matemaattisten tieteiden yksikkö Oulun yliopisto Kevät 2017 Sisältö 1 Johdanto 2 2 Esitietoja 3 2.1 Joukko-opin perusaksioomat...................
Matematiikan tukikurssi, kurssikerta 2
Matematiikan tukikurssi kurssikerta 1 Relaatioista Oletetaan kaksi alkiota a ja b. Näistä kumpikin kuuluu johonkin tiettyyn joukkoon mahdollisesti ne kuuluvat eri joukkoihin; merkitään a A ja b B. Voidaan
Chomskyn hierarkia ja yhteysherkät kieliopit
Chomskyn hierarkia ja yhteysherkät kieliopit Laskennan teorian opintopiiri Tuomas Hakoniemi 21. helmikuuta 2014 Käsittelen tässä laskennan teorian opintopiirin harjoitustyössäni muodollisten kielioppien
Joukot. Georg Cantor ( )
Joukot Matematiikassa on pyrkimys määritellä monimutkaiset asiat täsmällisesti yksinkertaisempien asioiden avulla. Tarvitaan jokin lähtökohta, muutama yleisesti hyväksytty ja ymmärretty käsite, joista
Kieli merkitys ja logiikka. 4: Luovuus, assosiationismi. Luovuus ja assosiationismi. Kielen luovuus. Descartes ja dualismi
Luovuus ja assosiationismi Kieli merkitys ja logiikka 4: Luovuus, assosiationismi Käsittelemme ensin assosiationismin kokonaan, sen jälkeen siirrymme kombinatoriseen luovuuteen ja konstituenttimalleihin
Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.
Ei-säännöllisiä kieliä [Sipser luku 1.4] Osoitamme, että joitain kieliä ei voi tunnistaa äärellisellä automaatilla. Tulos ei sinänsä ole erityisen yllättävä, koska äärellinen automaatti on äärimmäisen
3. Laskennan vaativuusteoriaa
3. Laskennan vaativuusteoriaa tähän asti puhuttu siitä, mitä on mahdollista laskea äärellisessä ajassa siirrytään tarkastelemaan laskemista kohtuullisessa ajassa vaihtoehtoisesti voidaan laskenta-ajan
Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.
Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion. Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa
MS-A0402 Diskreetin matematiikan perusteet
MS-A040 Diskreetin matematiikan perusteet Osa : Relaatiot ja funktiot Riikka Kangaslampi 017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Relaatiot Relaatio Määritelmä 1 Relaatio joukosta A
Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
Esimerkki 1: Kahviautomaatti.
Esimerkki 1: Kahviautomaatti. ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET 2.1 Tilakaaviot ja tilataulut Tarkastellaan aluksi tietojenkäsittelyjärjestelmiä, joilla on vain äärellisen monta mahdollista tilaa.
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. kesäkuuta 2013 Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on muotoa Onko
Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.
Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion. Vastaavuus puolestaan on erikoistapaus relaatiosta.
TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013
TIEA24 Automaatit ja kieliopit, kesä 3 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 22. toukokuuta 3 Sisällys Äärellisiä automaatteja ON PUSH PUSH OFF Q T J Q C C H S C,Q C,Q 0 40 60 80 00, 70 90 Deterministinen
811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto
811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien
Reaaliarvoisen yhden muuttujan funktion raja arvo LaMa 1U syksyllä 2011
Neljännen viikon luennot Reaaliarvoisen yhden muuttujan funktion raja arvo LaMa 1U syksyllä 2011 Perustuu Trench in verkkokirjan lukuun 2.1. Esko Turunen esko.turunen@tut.fi Funktion y = f (x) on intuitiivisesti
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015
TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen
(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3
T-79.48 Tietojenkäsittelyteorian perusteet Tentti 25..23 mallivastaukset. Tehtävä: Kuvaa seuraavat kielet sekä säännölisten lausekkeiden että determinististen äärellisten automaattien avulla: (a) L = {w
Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.
Injektio Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim. Funktio f on siis injektio mikäli ehdosta f (x 1 ) = f (x 2 ) seuraa, että x 1 = x 2.
TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. tammikuuta 2012 Sisällys Sisällys Äärellisiä automaatteja PUSH ON PUSH OFF Q T Q J C C H S C,Q C,Q 0 50s 1e
Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }
135 4.3 Algoritmeista Churchin ja Turingin formuloinnit laskennalle syntyivät Hilbertin vuonna 1900 esittämän kymmenennen ongelman seurauksena Oleellisesti Hilbert pyysi algoritmia polynomin kokonaislukujuuren
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon
Pysähtymisongelman ratkeavuus [Sipser luku 4.2]
Pysähtymisongelman ratkeavuus [Sipser luku 4.2] Osoitamme nyt vihdoin, että jotkin Turing-tunnistettavat kielet ovat ratkeamattomia ja jotkin kielet eivät ole edes Turing-tunnistettavia. Lisäksi toteamme,
Todistusmenetelmiä Miksi pitää todistaa?
Todistusmenetelmiä Miksi pitää todistaa? LUKUTEORIA JA TO- DISTAMINEN, MAA11 Todistus on looginen päättelyketju, jossa oletuksista, määritelmistä, aksioomeista sekä aiemmin todistetuista tuloksista lähtien
uv n, v 1, ja uv i w A kaikilla
2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko
Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman
9. Matemaattisista koneista.
9. Matemaattisista koneista. Monia tietojenkäsittelytehtäviä, digitaalisia komponetteja, ohjelmia jne. voidaan mallintaa äärellistilaisella matemaattisella koneella. Matemaattinen kone on myös tietojenkäsittelijän
Säännöllisen kielen tunnistavat Turingin koneet
186 Säännöllisen kielen tunnistavat Turingin koneet Myös säännöllisen kielen hyväksyvien Turingin koneiden tunnistaminen voidaan osoittaa ratkeamattomaksi palauttamalla universaalikielen tunnistaminen
M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)
Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 7 Demonstraatiotehtävien ratkaisut 1. Pinoautomaatti M = K Σ Γ s F missä K Σ s ja F on määritelty samalla tavalla kuin tilakoneellekin.
LUKU II HOMOLOGIA-ALGEBRAA. 1. Joukko-oppia
LUKU II HOMOLOGIA-ALGEBRAA 1. Joukko-oppia Matematiikalle on tyypillistä erilaisten objektien tarkastelu. Tarkastelu kohdistuu objektien tai näiden muodostamien joukkojen välisiin suhteisiin, mutta objektien
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. maaliskuuta 2012 Sisällys Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna
Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,
Muita vaativuusluokkia
Muita vaativuusluokkia Käydään lyhyesti läpi tärkeimpiä vaativuusluokkiin liittyviä tuloksia. Monet tunnetuista tuloksista ovat vaikeita todistaa, ja monet kysymykset ovat vielä auki. Lause (Ladner 1975):
(2n 1) = n 2
3.5 Induktiotodistus Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa väite P (n) on totta kaikille n =0, 1, 2,... Tässä väite P (n) riippuu n:n arvosta. Todistuksessa
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden
TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. maaliskuuta 2012 Sisällys Ongelma-analyysiä Sisällys Ongelma-analyysiä Hypoteettinen ongelma The Elite Bugbusters
Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit
Chomskyn hierarkia Noam Chomskyn vuonna 1956 esittämä luokittelu kieliopeille niiden ilmaisuvoiman mukaan tyyppi kieli kielioppi tunnistaminen 0 rekurs. lueteltava rajoittamaton Turingin kone 1 kontekstinen
TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013
ja ja TIEA241 Automaatit ja kieliopit, kesä 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. kesäkuuta 2013 Sisällys ja ja on yksi vanhimmista tavoista yrittää mallittaa mekaanista laskentaa. Kurt
S BAB ABA A aas bba B bbs c
T-79.148 Kevät 2003 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S) tuottama
Talousmatematiikan perusteet ORMS.1030
orms.1030 Vaasan avoin yliopisto / kevät 2013 1 Talousmatematiikan perusteet Matti Laaksonen Matemaattiset tieteet Vaasan yliopisto Vastaanotto to 11-12 huone D110/Tervahovi Sähköposti: matti.laaksonen@uva.fi
2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)
Approbatur 3, demo, ratkaisut Sovitaan, että 0 ei ole luonnollinen luku. Tällöin oletusta n 0 ei tarvitse toistaa alla olevissa ratkaisuissa. Se, pidetäänkö nollaa luonnollisena lukuna vai ei, vaihtelee
Talousmatematiikan perusteet ORMS.1030
kevät 2014 Talousmatematiikan perusteet Matti Laaksonen, (Matemaattiset tieteet / Vaasan yliopisto) Vastaanotto to 11-12 huone D110/Tervahovi Sähköposti: matti.laaksonen@uva.fi Opettajan kotisivu: http://lipas.uwasa.fi/
Johdatus matematiikkaan
Johdatus matematiikkaan Luento 7 Mikko Salo 11.9.2017 Sisältö 1. Funktioista 2. Joukkojen mahtavuus Funktioista Lukiomatematiikassa on käsitelty reaalimuuttujan funktioita (polynomi / trigonometriset /
T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut
T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama
Laskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. maaliskuuta 2011 Sisällys Sisällys Väitelauseet lause (tai virke), joka sanoo jonkin asian pitävän paikkaansa
Talousmatematiikan perusteet ORMS.1030
s16 Talousmatematiikan perusteet ORMS.1030 Matti Laaksonen, (Matemaattiset tieteet / Vaasan yliopisto) Sähköposti: matti.laaksonen@uva.fi Opettajan kotisivu: http://lipas.uwasa.fi/ mla/ puh. 044 344 2757
Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin
Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 1 Määrittelyjoukoista Tarkastellaan funktiota, jonka määrittelevä yhtälö on f(x) = x. Jos funktion lähtöjoukoksi määrittelee vaikkapa suljetun välin [0, 1], on funktio
1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.
HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon
Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )
Injektio (1/3) Määritelmä Funktio f on injektio, joss f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Seurauksia: Jatkuva injektio on siis aina joko aidosti kasvava tai aidosti vähenevä Injektiolla on enintään
Tietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
Kertausta 1. kurssikokeeseen
Kertausta. kurssikokeeseen. kurssikoe on to 22.0. klo 9 2 salissa A (tai CK2). Koealueena johdanto ja säännölliset kielet luentokalvot 3 ja nämä kertauskalvot harjoitukset 6 Sipser, luvut 0 ja Edellisvuosien.
Laskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa
1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.
Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen
Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:
Datatähti 2019 loppu
Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio
Kieli merkitys ja logiikka
Assosiaatiot, konstituentit Kieli merkitys ja logiikka Luento 5: Assosiaatiot, konstituentit Luento 5 125-134,, Konstituentit 104-107, Turingin kone Huom! Lukua 5.2, Assosiationismin teoriaa, ja siihen
Vaihtoehtoinen tapa määritellä funktioita f : N R on
Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: 1 (Alkuarvot) Ilmoitetaan funktion arvot
MS-A0402 Diskreetin matematiikan perusteet
MS-A0402 Diskreetin matematiikan perusteet Osa 4: Modulaariaritmetiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Modulaariaritmetiikka Jakoyhtälö Määritelmä 1 Luku