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

Koko: px
Aloita esitys sivulta:

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

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

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/

Lisätiedot

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? 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

Lisätiedot

1. Universaaleja laskennan malleja

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ä

Lisätiedot

Täydentäviä muistiinpanoja laskennan rajoista

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

Lisätiedot

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

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/

Lisätiedot

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

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

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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ätiedot

Lisää pysähtymisaiheisia ongelmia

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

Lisätiedot

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

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,

Lisätiedot

Automaatit. Muodolliset kielet

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

Lisätiedot

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

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

Lisätiedot

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

Lisätiedot

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

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,

Lisätiedot

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

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

Lisätiedot

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

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

Lisätiedot

Tietojenkäsittelyteorian alkeet, osa 2

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

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

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

Lisätiedot

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

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.

Lisätiedot

Rekursiiviset palautukset [HMU 9.3.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

Lisätiedot

Johdatus matemaattiseen päättelyyn

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

Lisätiedot

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

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

Lisätiedot

Algoritmin määritelmä [Sipser luku 3.3]

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ä:

Lisätiedot

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

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 Γ

Lisätiedot

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

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

Lisätiedot

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

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

Lisätiedot

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

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

Lisätiedot

811120P Diskreetit rakenteet

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

Lisätiedot

5.3 Ratkeavia ongelmia

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,

Lisätiedot

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

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

Lisätiedot

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

δ : (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

Lisätiedot

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

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

Lisätiedot

Tietotekniikan valintakoe

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

Lisätiedot

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

Lisätiedot

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

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.

Lisätiedot

811120P Diskreetit rakenteet

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

Lisätiedot

582206 Laskennan mallit

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)

Lisätiedot

Turingin koneen laajennuksia

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

Lisätiedot

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

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

Lisätiedot

Luonnollisten lukujen ja kokonaislukujen määritteleminen

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

Lisätiedot

Matematiikan tukikurssi, kurssikerta 2

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

Lisätiedot

Chomskyn hierarkia ja yhteysherkät kieliopit

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

Lisätiedot

Joukot. Georg Cantor ( )

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

Lisätiedot

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

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

Lisätiedot

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

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

Lisätiedot

3. Laskennan vaativuusteoriaa

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

Lisätiedot

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 havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion. Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

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

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on 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

Lisätiedot

Esimerkki 1: Kahviautomaatti.

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.

Lisätiedot

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

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

Lisätiedot

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 havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion. Vastaavuus puolestaan on erikoistapaus relaatiosta.

Lisätiedot

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

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

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

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

Lisätiedot

Reaaliarvoisen yhden muuttujan funktion raja arvo LaMa 1U syksyllä 2011

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

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

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

Lisätiedot

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

(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

Lisätiedot

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

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

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

Lisätiedot

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

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

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

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

Lisätiedot

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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,

Lisätiedot

Todistusmenetelmiä Miksi pitää todistaa?

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

Lisätiedot

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

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

Lisätiedot

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

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

Lisätiedot

9. Matemaattisista koneista.

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

Lisätiedot

Säännöllisen kielen tunnistavat Turingin koneet

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

Lisätiedot

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

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.

Lisätiedot

LUKU II HOMOLOGIA-ALGEBRAA. 1. Joukko-oppia

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

Lisätiedot

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

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

Lisätiedot

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

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

Lisätiedot

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

Lisätiedot

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 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ää,

Lisätiedot

Muita vaativuusluokkia

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):

Lisätiedot

(2n 1) = n 2

(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

Lisätiedot

Matematiikan tukikurssi

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

Lisätiedot

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

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

Lisätiedot

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

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

Lisätiedot

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

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

Lisätiedot

S BAB ABA A aas bba B bbs c

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

Lisätiedot

Talousmatematiikan perusteet ORMS.1030

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

Lisätiedot

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

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

Lisätiedot

Talousmatematiikan perusteet ORMS.1030

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/

Lisätiedot

Johdatus matematiikkaan

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 /

Lisätiedot

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

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

Lisätiedot

Laskennan teoria

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ä

Lisätiedot

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

Lisätiedot

Talousmatematiikan perusteet ORMS.1030

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

Lisätiedot

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

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.

Lisätiedot

Matematiikan tukikurssi

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

Lisätiedot

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

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

Lisätiedot

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) 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

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

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ä

Lisätiedot

Kertausta 1. kurssikokeeseen

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.

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa

Lisätiedot

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.

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

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

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:

Lisätiedot

Datatähti 2019 loppu

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

Lisätiedot

Kieli merkitys ja logiikka

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

Lisätiedot

Vaihtoehtoinen tapa määritellä funktioita f : N R on

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

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

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

Lisätiedot