TIES542 kevät 2009 Denotaatio

Koko: px
Aloita esitys sivulta:

Download "TIES542 kevät 2009 Denotaatio"

Transkriptio

1 TIES542 kevät 2009 Denotaatio Antti-Juhani Kaijanaho (korjauksia ) Denotationaalisessa merkitysopissa kukin (ohjelmointi)kielen konstrktiolle määritellään matemaattinen otus, jota sanotaan kyseisen konstruktion tarkoitukseksi (engl. denotation). Ajatuksena on antaa kielelle sisältö, joka on riippumaton mistään konkreetista (taikka abstraktista) tietokoneesta. Keskeinen lähtökohta on seuraava ns. kompositionaalisuusvaatimus: Ohjelmointikielen konstruktion tarkoitus saa riippua vain sen osien tarkoituksesta. Denotationaalisen merkitysopin alulle panevana voimana oli toisaalta Christopher Stracheyn ohjelmointikielen periaatteiden pohdinta [3] sekä toisaalta laskennan teorian alan erään ongelman (lambdalaskennon merkitysoppi) ratkaiseminen. Ratkaisevaa oli Dana Scottin alueteorian (engl. domain theory) kehittyminen. Denotationaalisesta merkityopista ks. tarkemmin esimerkiksi Allison [1] taikka Reynolds [2] 1 Perusidea Jotta esityksestä ei tule sekavaa, on tapana erottaa kohdekieli (tarkasteltavana oleva ohjelmointikieli) metakielistä (se kieli, jolla tarkastelu kirjoitetaan). Luonnollisten kielten tapauksessa tähän käytetään lainausmerkkejä englannin kielen sana cat tarkoittaa kissaa, mutta ei ole kissa mutta denotationaalisen merkitysopin tapauksessa on tapana käyttää erityisiä sulkeita (semanttiset sulkeet, semantic brackets). Niitä käytettäessä on hyvä noudattaa seuraavaa kahta nyrkkisääntöä: 1. Semanttisten sulkeiden sisällä oleva ilmaisu on aina kohdekieltä. 1

2 2. Semanttisten sulkeiden sisällä esiintyvä muuttuja on kuitenkin aina ns. metamuuttuja (engl. metavariable) ei siis kohdekielen muuttuja, vaan se edustaa jotakin kohdekielen ilmaisua. Näinpä esimerkiksi int v; edustaa C-kielistä kokonaislukumuuttujan v esittelyä (missa v on tuntematon tai kontekstista määrittyvä muuttujan nimi). Määritelläänpä harjoituksen vuoksi yksinkertaisen kielen denotationaalinen merkitysoppi. Tässä kielessä ei ole mitään muuta kuin aritmeettiset lausekkeet, joten abstrakti syntaksi on yksinkertainen: c N e, f, g Expr e, f, g ::= c e e + f e f e f Määrittelyn ensimmäinen rivi kertoo, että nonterminaali c edustaa luonnollisten lukujen kieltä (siis kokonaislukuvakioita). Sen täsmällinen määrittely jätetään avoimeksi, koska se toisaalta oletetaan tunnetuksi ja toisaalta sen täsmällinen määrittely ei olisi mielenkiintoista. Määrittelyn toinen rivi tarkoittaa, että nonterminaalit e, f ja g määrittelevät saman kielen (joukon merkkijonoja taikka joukon rakennepuita taikka... ), ja kielen nimi on Expr. Loput rivit määrittelevät kyseisen kielen abstraktin kieliopin. Tämän kielen denotationaalinen merkitysoppi voitaisiin määritellä vaikkapa näin: E : Expr Q E c = c E e = E e E e + f = E e + E f E e f = E e E f E e f = E e E f Tässä määritellään semanttinen funktio E : Expr Q paloittain ja rekursiivisesti. Semanttisen funktion määritteleminen paloittain ja rekursiivisesti vaatii seuraavien ehtojen täyttymisen 1 : 1. Ehdot sanovat, että semanttinen funktio on homomorfismi abstraktin kieliopin määrittelemästä initiaalialgebrasta johonkin toiseen saman operaattoriston algebraan. 2

3 1. Määrittelyssä tulee olla täsmälleen yksi yhtälö jokaista abstraktin kieliopin produktiota ja jokaista määriteltävänä olevaa semanttista funktiota kohti. 2. Kussakin yhtälössä on vasemman puolen oltava määriteltävänä olevan semanttisen funktion kutsu, jossa semanttisten sulkeiden sisällä esiintyy kyseisen produktion oikea puoli sellaisenaan (nonterminaaleista tulee näin metamuuttujia 2 ). 3. Kussakin yhtälössä oikealla puolella saadaan kutsua määriteltävänä olevaa semanttista funktiota vain siten, että semanttisten sulkeiden sisällä on jokin vasemmalla puolella esiintyvä (meta)muuttuja. Yllä annettu määritelmä täyttää nämä ehdot. 2 Muuttujat ja ympäristö Tilanne monimutkaistuu hieman, jos kielessä on muuttujia: c N x, y, z Var e, f, g Expr e, f, g ::= c x e e + f e f e f Tällöin semanttinen funktio ei voi kuvata lausekkeita suoraan arvoiksi, vaan lausekkeiden arvo riippuu muuttujilla lausekkeen ympäristössä olevasta arvoista. Ympäristö voidaan mallittaa yksinkertaisesti kuvauksena muuttujilta arvoil- 2. Jos produktion oikealla puolella esiintyy sama nonterminaali useampaan kertaan, erotellaan sen esiintymät toisistaan antamalla niille eri nimet esimerkiksi alaindeksoinnin avulla. 3

4 le. Tämän jälkeen määrittely onkin jo helppoa: Env = Var Q E : Expr Env Q E c σ = c E x σ = σ(x) E e σ = E e σ E e + f σ = E e σ + E f σ E e f σ = E e σ E f σ E e f σ = E e σ E f σ Näissä yhtälöissä on käytetty Gottlob Fregen ja Moses Schönfinkelin pioneroimaa tapaa, jossa funktion paluuarvo on toinen funktio. Tässä ajattelutavassa funktionuoli assosioi oikealle, joten Expr Env Q tarkoittaa samaa kuin Expr (Env Q). Funktion kutsu puolestaan assosioi vasemmalle, joten E c σ tarkoittaa samaa kuin (E c )σ (eli perinteisemmin ilmaistuna E( c )(σ)). Vaikka tämä temppu onkin Fregen ja Schönfinkelin keksimä, siitä käytetään tavallisesti englannin kielen termiä currying idean popularisoijan, Haskell Curryn, mukaan. 3 Suoraviivaohjelmat Suoraviivaohjelmat koostuvat peräkkäin laitetuista sijoituslauseista sekä siirräntäkäskyistä (jotka tässä vaiheessa vielä jätetään huomiotta). Niinpä voimme määritellä suoraviivaohjelmien abstraktin kieliopin seuraavasti: c N x, y, z Var e, f, g Expr s, t Stmt s, t ::= x e s ; t Lausekkeet on käsitelty edellä, joten niistä ei tässä tarvitse sanoa enempää. Suoraviivaohjelman lauseet eivät palauta arvoja, vaan niillä on sivuvaikutuksia (engl. side-effects). Ainoa sivuvaikutus, joka on tässä tilanteessa mahdollinen, on 4

5 muuttujan arvon muuttuminen. Kun edellä muuttujien arvo määräytyy ympäristön (Env) perusteella, on lauseen muutettava ympäristöä. Näin ollen lauseen semanttinen tulkinta on kuvaus ympäristöltä ympäristölle: C : Stmt Env Env ( ) E e σ jos x = y C x e σ = λy σ(y) jos x y C s ; t σ = C t (C s σ) Tässä notaatio λxe tarkoittaa lauseketta E muuttujan x funktiona. 4 Valinnat Valinnat tuovat kieleen mukaan ehtolausekkeet ja valintalauseen: c N x, y, z Var e, f, g Expr p, q, r Cond p, q, r ::= e = f e f e < f e f e > f e f p q p q s, t Stmt s, t ::= x e s ; t if p then s else t Semanttisesti tässä ei ole juurikaan mitään yllättävää: P : Cond Env 0, 1} 1 jos E e σ = E f σ P e = f σ = 5

6 1 jos E e σ E f σ P e f σ = 1 jos E e σ < E f σ P e < f σ = 1 jos E e σ E f σ P e f σ = 1 jos E e σ > E f σ P e > f σ = 1 jos E e σ E f σ P e f σ = 1 jos P p σ = 1 ja P q σ = 1 P p q σ = 1 jos P p σ = 1 tai P q σ = 1 P p q σ = C : Stmt Env Env ( ) C e σ jos x = y C x e σ = λy σ(y) jos x y C s ; t σ = C t (C s σ) C s σ jos P p σ = 1 C if p then s else t σ = C t σ jos P p σ = 0 5 While-kieli While-kieli tuo abstraktiin syntaksiin vain pienen muutoksen suoraviivaohjelmiin nähden: c N x, y, z Var p, q, r Cond e, f, g Expr s, t Stmt s, t ::= x e s ; t if p then s else t while p do s 6

7 Mutta denotationaalisen semantiikan se monimutkaistaa selvästi. Luonnolliselta tuntuisi toki määritellä C while p do s (C s σ) jos P p σ = 1 C while p do s σ = σ jos P p σ = 0 mutta se rikkoo aiemmin esitettyä ehtoa, jonka mukaan yhtälön oikealla puolella saa määriteltävä semanttinen funktio (tässä C) esiintyä vain siten, että semanttisten sulkeiden sisällä on jokin vasemmalla puolella esiintyvä (meta)muuttuja. Tässähän C:lle annetaan parametriksi koko vasemmalla puolella esiintyvä whilerakenne! Tilanne on sikälikin kestämätön, että while-rakenteella on mahdollista kirjoittaa umpiluuppi, ja niinpä tämä yhtälö on huono määritelmä. Tuo huono määritelmä voidaan kuitenkin kirjoittaa myös näin: missä C while p do s = F C while p do s F fσ = f(c s σ) jos P p σ = 1 σ jos P p σ = 0 Niinpä C while p do s on (ei-rekursiivisen) funktion F kiintopiste. Jos olisi olemassa operaattori µ, jolle pätee µf = f(µf) toisin sanoen µf on f:n kiintopiste voitaisiin while-lauseen semantiikka määritellä seuraavasti: C while p do s = µf missä F on sama kuin edellä. Onko µ-operaattori olemassa? Siitä seuraavassa. 6 Kiintopisteteoriaa Määritelmä 1 (Osittaisjärjestys). Olkoon X joukko ja ( ) X X sen binäärinen relaatio. Jos kaikilla x, y, z X 1. x x, 2. x y y x x = y ja 3. x y y z x z pätevät, ( ) on osittaisjärjestys ja (X, ) on osittain järjestetty joukko (engl. poset). 7

8 Määritelmä 2 (Join ja kansi). Olkoon (X, ) osittain järjestetty joukko, olkoon S X epätyhjä ja olkoon j X. Jos 1. s S : s j ja 2. y X : ( s S : s y) j y pätevät, j on S:n join (merkitään j = S). Jos X on olemassa ja on X:n alkio, se on X:n kansi, merkitään. Määritelmä 3 (Meet ja pohja). Olkoon (X, ) osittain järjestetty joukko, olkoon S X epätyhjä ja olkoon m X. Jos 1. s S : m s ja 2. y X : ( s S : y s) y m pätevät, m on S:n meet (merkitään m = S). Jos X on olemassa ja on X:n alkio, se on X:n pohja, merkitään. Määritelmä 4 (Hilat). Olkoon (X, ) osittain järjestetty joukko ja X epätyhjä. Tällöin 1. jos X:n jokaisella äärellisellä osajoukolla on join, (X, ) on join-puolihila; 2. jos X:n jokaisella äärellisellä osajoukolla on meet, (X, ) on meet-puolihila; 3. jos (X, ) on sekä join-puolihila että meet-puolihila, se on hila; ja 4. jos join ja meet on X:n jokaisella osajoukolla, (X, ) on täydellinen hila. Määritelmä 5 (Monotoninen funktio). Olkoon (X, ) osittain järjestetty joukko ja olkoon f : X X. Jos kaikilla x, y X pätee x y f(x) f(y), on f järjestyksen säilyttävä eli monotoninen. Määritelmä 6 (Kiintopiste). Olkoon (X, ) osittain järjestetty joukko, olkoon f : X X ja olkoon x X. Tällöin 1. x on f-suljettu, jos f(x) x, 2. x on f-konsistentti, jos x f(x) ja 3. x on f:n kiintopiste, jos se on sekä f-suljettu että f-konsistentti eli jos x = f(x). Teoreema 7 (Knaster Tarski). Olkoon (X, ) täydellinen hila ja olkoon f : X X monotoninen. Tällöin f:llä on ainakin yksi kiintopiste, ja sen kiintopisteiden joukko P on itse täydellinen hila. Erityisesti P = x x f(x) } ja P = x f(x) x } pätevät ja ovat itse f:n kiintopisteitä. Määritelmä 8 (µ ja ν). Olkoon (X, ) täydellinen hila, olkoon f : X X monotoninen ja olkoon f:n kiintopisteiden joukko P. Tällöin merkitään µf = P ( f:n pienin kiintopiste) ja νf = P ( f:n suurin kiintopiste). Määritelmä 9. Olkoon f : X X funktio ja olkoon S X. Tällöin merkintä f[s] tarkoittaa joukkoa f(x) x S }. Määritelmä 10. Olkoon f : X X funktio. Tällöin f on Scott-jatkuva, jos sille pätee f[s] = f( S) kaikilla S X. 8

9 Teoreema 11 (Kiintopisteiteraatio). Olkoon (X, ) täydellinen hila, olkoon f : X X monotoninen ja Scott-jatkuva, olkoon s 0 = ja olkoot s i+1 = f(s i ) kaikilla i N. Jos s n on f:n kiintopiste, niin s n = µf pätee. Todistus. Todetaan aluksi, että jos µf =, on lause triviaalisti tosi. Voidaan siksi olettaa, että µf. Todistuksen muoto on reductio ad absurdum. Olkoon s n f:n kiintopiste ja olkoon s n µf. Koska kiintopisteet muodostavat hilan, täytyy olla µf s n. Olkoon k N, k < n, siten että s k µf ja s k+1 µf. Nyt s k, µf} = µf ja f(µf) = µf. Toisaalta f(s k ), f(µf)} = s k+1, µf} µf! Oletuksesta s n µf seuraa siis, että f ei ole Scott-jatkuva. Koska f on Scottjatkuva, täytyy olla s n = µf. Teoreema Vakiofunktio on Scott-jatkuva. 2. Identiteettifunktio f(x) = x on Scott-jatkuva. 3. Kahden Scott-jatkuvan funktion f ja g yhdistetty funktio f g (määritellään (f g)(x) = f(g(x))) on Scott-jatkuva. 4. Jos f on Scott-jatkuva funktio, niin funktiot λg(g f) ja λg(f g) ovat Scott-jatkuvia. 7 Informaatiojärjestys Denotationaalisessa merkitysopissa tarkasteltava osittaisjärjestys on ns. informaatiojärjestys, jossa s t tarkoittaa, että toisaalta s:ssä on vähemmän informaatiota kuin t:ssä mutta toisaalta t:ssä oleva informaatio on konsistenttia s:ssä olevan informaation kanssa. Perusdatan, kuten lukujen, kanssa informaatiojärjestys on varsin tylsä. Lisätään rationaalilukujen joukkoon Q erityinen pohja-alkio niin, että Q = Q } ja Q pätevät. Tällöin informaatiojärjestys on seuraavanlainen: a a b kun a Pohja-alkion tulkinta on, että ei tiedetä, mikä luku on kyseessä. Jotta saataisiin täydellinen hila, on lisättävä vastaavanlainen kattoalkio, mutta se yleensä jätetään huomiotta, koska sillä ei ole järkevää tulkintaa. 9

10 Mikään ei pakota siihen, että f( ) = pätisi. Mikäli se pätee, f:n sanotaan olevan tarkka (engl. strict). Mikäli se ei päde, f:n sanotaan olevan epätarkka (engl. nonstrict). Funktioille määritellään informaatiojärjestys siten, että samantyyppisillä funktioilla f ja g pätee f g jos ja vain jos f(x) g(x) pätee kaikilla f:n ja g:n määrittelyjoukon alkioilla x. Varsin helppo on havaita, että pohjafunktiolle pätee (x) = kaikilla x. 8 While-kieli, uudestaan Nyt voidaan määritellä while-kielen denotationaalinen merkitysoppi: C : Stmt Env Env ( ) C e σ jos x = y C x e σ = λy σ(y) jos x y C s ; t σ = C t (C s σ) C s σ jos P p σ = 1 C if p then s else t σ = C t σ jos P p σ = 0 C while p do s σ = µf σ f(c s σ) jos P p σ = 1 F fσ = σ jos P p σ = 0 Huomaa, kuinka lauseen suoritus saattaa johtaa pohjaan. Ainoa tilanne, jossa näin voi tapahtua, on jos while-silmukka juuttuu umpiluuppiin. (Suhteellisen hankalaksi harjoitustehtäväksi kävisi sen osoittaminen, että näin todella on.) 9 Muita virhetilanteita Edellä esitelty kieli ei sisällä jakolaskua. Syy tähän on selvä: nollalla jakaminen on kielletty, joten semanttisen funktion määritteleminen kielelle, jossa nollalla jako on kieliopillisesti mahdollinen, on hieman hankalaa. Tarvitaan jokin tapa hallita virhetilanteita. 10

11 Denotationaalisessa merkitysopissa nollalla jaon kaltaiset virhetilanteet (joista toipuminen ei ole mielekästä) mallitetaan pohjaksi. Näin varustettuna jakolaskukin on helppo lisätä kieleen: c N x, y, z Var p, q, r Cond s, t Stmt e, f, g Expr e, f, g ::= c x e e + f e f e f e/f Env = Var Q E : Expr Env Q E c σ = c E x σ = σ(x) E e σ = E e σ E e + f σ = E e σ + E f σ E e f σ = E e σ E f σ E e f σ = E e σ E f σ ( ) jos E f σ = 0 E e/f σ = E e σ muuten E f Semanttisiin funktioihin C ja P pitää luonnollisestikin lisätä -arvoisen lausekkeen käsittely. Pohjan käsittelyssä on huomattava, että se edustaa sellaista virhetilannetta, josta ohjelmoija ei voi toipua, joten sellaisen konstruktion määritteleminen, joka antaa ohjelman huomata pohjan, ei ole asianmukaista. Toipumisen salliva virhetilanne tarvitsee oman erillisen poikkeusarvonsa. 11

12 Viitteet [1] Lloyd Allison. A practical introduction to denotational semantics. Number 23 in Cambridge Computer Science Texts. Cambridge University Press, [2] John C. Reynolds. Theories of Programming Languages. Cambridge University Press, Cambridge, [3] Christopher Strachey. Fundamental concepts in programming languages. Higher-Order and Symbolic Computation, 13:11 49, Perustuu Stracheyn vuonna 1967 pitämiin luentoihin. 12

Rekursiiviset tyypit

Rekursiiviset tyypit Rekursiiviset tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 20. helmikuuta 2007 Hiloista Kiintopisteet (Ko)rekursio Rekursiiviset

Lisätiedot

Luku 3. Syntaktisia kysymyksiä. 3.1 Lausekkeet

Luku 3. Syntaktisia kysymyksiä. 3.1 Lausekkeet Luku 3 Syntaktisia kysymyksiä Syntaksi eli kielioppi käsittelee ohjelmien muodollista oikeellisuutta pohtimatta merkitysopillisia eli semanttisia kysymyksiä. Kieliopilliset ominaisuudet ovat (useimmiten)

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

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

järjestys, jossa ohjelman suoritus etenee ohjelmatekstissä jollakin tietyllä suorituskerralla (dynaaminen kontrollivuo)

järjestys, jossa ohjelman suoritus etenee ohjelmatekstissä jollakin tietyllä suorituskerralla (dynaaminen kontrollivuo) Luku 5 Kontrollivuon ohjaus Useimmat nykykielet ovat luonteeltaan peräkkäistäviä (sequential): ohjelmatekstissä mainitut tehtävät tehdään yksi kerrallaan toinen toisensa jälkeen. Jotkin kielet tukevat

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 3: Funktiot 4.3 Funktiot Olkoot A ja B joukkoja. Funktio joukosta A joukkoon B on sääntö, joka liittää yksikäsitteisesti määrätyn

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

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

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

DFA:n käyttäytyminen ja säännölliset kielet

DFA:n käyttäytyminen ja säännölliset kielet säännölliset kielet TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. marraskuuta 2015 Sisällys toiminta formaalisti Olkoon M = (Q, Σ, δ, q 0, F) deterministinen

Lisätiedot

FORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus

FORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus FORMAALI SYSTEEMI (in Nutshell): Formaali kieli: aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus esim. SSM:n tai EBNF:n avulla Semantiikka:

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4

Lisätiedot

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) 31.1.-4.2.2011 OT 1. Määritellään kokonaisluvuille laskutoimitus n m = n + m + 5. Osoita, että (Z, ) on ryhmä.

Lisätiedot

Matemaattisten työvälineiden täydentäviä muistiinpanoja

Matemaattisten työvälineiden täydentäviä muistiinpanoja Matemaattisten työvälineiden täydentäviä muistiinpanoja Antti-Juhani Kaijanaho 7 maaliskuuta 0 Deduktiivinen ja induktiivinen päättely Deduktiivisessa päättelyssä johtopäätös seuraa aukottomasti premisseistä

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

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

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 9 Kombinaattoreista Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 Currying Haskell-funktio ottaa aina vain yhden

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. syyskuuta 2016 Sisällys Neuvoja opintoihin tee joka päivä ainakin vähän uskalla mennä epämukavuusalueelle en

Lisätiedot

Tenttiin valmentavia harjoituksia

Tenttiin valmentavia harjoituksia Tenttiin valmentavia harjoituksia Alla olevissa harjoituksissa suluissa oleva sivunumero viittaa Juha Partasen kurssimonisteen siihen sivuun, jolta löytyy apua tehtävän ratkaisuun. Funktiot Harjoitus.

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

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

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

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

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012 TIEA241 Automaatit ja, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 2. helmikuuta 2012 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti lueteltava

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015 ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:

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

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

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara Kuvauksista ja relaatioista Jonna Makkonen Ilari Vallivaara 20. lokakuuta 2004 Sisältö 1 Esipuhe 2 2 Kuvauksista 3 3 Relaatioista 8 Lähdeluettelo 12 1 1 Esipuhe Joukot ja relaatiot ovat periaatteessa äärimmäisen

Lisätiedot

Onko kuvaukset injektioita? Ovatko ne surjektioita? Bijektioita?

Onko kuvaukset injektioita? Ovatko ne surjektioita? Bijektioita? Matematiikkaa kaikille, kesä 2017 Avoin yliopisto Luentojen 2,4 ja 6 tehtäviä Päivittyy kurssin aikana 1. Olkoon A = {0, 1, 2}, B = {1, 2, 3} ja C = {2, 3, 4}. Luettele joukkojen A B, A B, A B ja (A B)

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

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

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

Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.

Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos. TIE303 Formaalit menetelmät, kevät 2005 Logiikan kertausta Antti-Juhani Kaijanaho antkaij@mit.jyu.fi Jyväskylän yliopisto Tietotekniikan laitos TIE303 Formaalit mentetelmät, 2005-01-27 p. 1/17 Luento2Luentomoniste

Lisätiedot

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen

Lisätiedot

[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko

[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko 3. Tekijälaskutoimitus, kokonaisluvut ja rationaaliluvut Tässä luvussa tutustumme kolmanteen tapaan muodostaa laskutoimitus joukkoon tunnettujen laskutoimitusten avulla. Tätä varten määrittelemme ensin

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

Reaalilukuvälit, leikkaus ja unioni (1/2)

Reaalilukuvälit, leikkaus ja unioni (1/2) Luvut Luonnolliset luvut N = {0, 1, 2, 3,... } Kokonaisluvut Z = {..., 2, 1, 0, 1, 2,... } Rationaaliluvut (jaksolliset desimaaliluvut) Q = {m/n m, n Z, n 0} Irrationaaliluvut eli jaksottomat desimaaliluvut

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

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

1 Lineaariavaruus eli Vektoriavaruus

1 Lineaariavaruus eli Vektoriavaruus 1 Lineaariavaruus eli Vektoriavaruus 1.1 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä V epätyhjä joukko. Oletetaan, että joukossa V on määritelty laskutoimitus

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy 2015. Antti-Juhani Kaijanaho. 3. joulukuuta 2015

TIEA241 Automaatit ja kieliopit, syksy 2015. Antti-Juhani Kaijanaho. 3. joulukuuta 2015 TIEA241 Automaatit ja, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Formaalisti Määritelmä Nelikko G = (V, Σ, P, S) on kontekstiton kielioppi (engl. context-free

Lisätiedot

1 Määrittelyjä ja aputuloksia

1 Määrittelyjä ja aputuloksia 1 Määrittelyjä ja aputuloksia 1.1 Supremum ja infimum Aluksi kerrataan pienimmän ylärajan (supremum) ja suurimman alarajan (infimum) perusominaisuuksia ja esitetään muutamia myöhemmissä todistuksissa tarvittavia

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

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

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus 1 / 51 Lineaarikombinaatio Johdattelua seuraavaan asiaan (ei tarkkoja määritelmiä): Millaisen kuvan muodostaa joukko {λv λ R, v R 3 }? Millaisen

Lisätiedot

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21 säilyy Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla c b a 1 2 3 5 1 / 21 säilyy Esimerkkirelaatio R = {(1, b), (3, a), (5, a), (5, c)} c b a 1

Lisätiedot

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista Antti-Juhani Kaijanaho 15. maaliskuuta 2012 1 Apumääritelmä Määritelmä 1. Olkoon Σ merkistö, jolla on olemassa täydellinen järjestys ( ) Σ 2.

Lisätiedot

Algebra I, Harjoitus 6, , Ratkaisut

Algebra I, Harjoitus 6, , Ratkaisut Algebra I Harjoitus 6 9. 13.3.2009 Ratkaisut Algebra I Harjoitus 6 9. 13.3.2009 Ratkaisut (MV 6 sivua 1. Olkoot M ja M multiplikatiivisia monoideja. Kuvaus f : M M on monoidihomomorfismi jos 1 f(ab = f(af(b

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

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

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

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. kesäkuuta 2013 Sisällys Aikataulumuutos Tämänpäiväinen demotilaisuus on siirretty maanantaille klo 14:15 (Ag Delta).

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

Säännöllisten kielten sulkeumaominaisuudet

Säännöllisten kielten sulkeumaominaisuudet Säännöllisten kielten sulkeumaominaisuudet Osoitamme nyt, että säännöllisten kielten joukko on suljettu yhdisteen, konkatenaation ja tähtioperaation suhteen. Toisin sanoen jos A ja B ovat säännöllisiä,

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013 TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti

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

5.5 Jäsenninkombinaattoreista

5.5 Jäsenninkombinaattoreista 5.5. JÄSENNINKOMBINAATTOREISTA 67 type Env α = FiniteMap String α data EnvT m α = MkE (Env Integer m (Env Integer, α)) instance Transformer EnvT where promote mp = MkE $ λenv mp λr return $(env, r) instance

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

Derivaatat lasketaan komponenteittain, esimerkiksi E 1 E 2

Derivaatat lasketaan komponenteittain, esimerkiksi E 1 E 2 MS-C50 Osittaisdifferentiaaliyhtälöt Harjoitukset syksy 07. Oletetaan että vektorikenttä E E E E : R R on kaksi kertaa jatkuvasti derivoituva E C R. Näytä että E E. Derivaatat lasketaan komponenteittain

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia

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

Pinoautomaatit. Pois kontekstittomuudesta

Pinoautomaatit. Pois kontekstittomuudesta TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Pinoautomaatti NFA:n yleistys automaatilla on käytössään LIFO-muisti 1 eli pino Pino

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x

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

Ratkaisuehdotus 2. kurssikokeeseen

Ratkaisuehdotus 2. kurssikokeeseen Ratkaisuehdotus 2. kurssikokeeseen 4.2.202 (ratkaisuehdotus päivitetty 23.0.207) Huomioitavaa: - Tässä ratkaisuehdotuksessa olen pyrkinyt mainitsemaan lauseen, johon kulloinenkin päätelmä vetoaa. Näin

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

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

Matematiikan tukikurssi, kurssikerta 1

Matematiikan tukikurssi, kurssikerta 1 Matematiikan tukikurssi, kurssikerta 1 1 Joukko-oppia Matematiikassa joukko on mikä tahansa kokoelma objekteja. Esimerkiksi joukkoa A, jonka jäseniä ovat numerot 1, 2 ja 5 merkitään A = {1, 2, 5}. Joukon

Lisätiedot

Avaruuden R n aliavaruus

Avaruuden R n aliavaruus Avaruuden R n aliavaruus 1 / 41 Aliavaruus Esimerkki 1 Kuva: Suora on suljettu yhteenlaskun ja skalaarilla kertomisen suhteen. 2 / 41 Esimerkki 2 Kuva: Suora ei ole suljettu yhteenlaskun ja skalaarilla

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. toukokuuta 2011 Sisällys engl. random-access machines, RAM yksinkertaistettu nykyaikaisen (ei-rinnakkaisen)

Lisätiedot

Insinöörimatematiikka A

Insinöörimatematiikka A Insinöörimatematiikka A Mika Hirvensalo mikhirve@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2018 Mika Hirvensalo mikhirve@utu.fi Luentoruudut 3 1 of 23 Kertausta Määritelmä Predikaattilogiikan

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

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. marraskuuta 2015 Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4 a 5 00 k 11 i

Lisätiedot

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto FUNKTIONAALIANALYYSIN PERUSKURSSI 1. Johdanto Funktionaalianalyysissa tutkitaan muun muassa ääretönulotteisten vektoriavaruuksien, ja erityisesti täydellisten normiavaruuksien eli Banach avaruuksien ominaisuuksia.

Lisätiedot

802320A LINEAARIALGEBRA OSA I

802320A LINEAARIALGEBRA OSA I 802320A LINEAARIALGEBRA OSA I Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LINEAARIALGEBRA 1 / 72 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä

Lisätiedot

x > y : y < x x y : x < y tai x = y x y : x > y tai x = y.

x > y : y < x x y : x < y tai x = y x y : x > y tai x = y. ANALYYSIN TEORIA A Kaikki lauseet eivät ole muotoiltu samalla tavalla kuin luennolla. Ilmoita virheistä yms osoitteeseen mikko.kangasmaki@uta. (jos et ole varma, onko kyseessä virhe, niin ilmoita mieluummin).

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

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut T-79.1001 Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut Lemma (Säännöllisten kielten pumppauslemma). Olkoon A säännöllinen kieli. Tällöin on olemassa n 1

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

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus

Lisätiedot

TIE448 Kääntäjätekniikka, syksy 2009. Antti-Juhani Kaijanaho. 7. joulukuuta 2009

TIE448 Kääntäjätekniikka, syksy 2009. Antti-Juhani Kaijanaho. 7. joulukuuta 2009 TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 7. joulukuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe F maanantai 14.12. klo 12 rekisteriallokaatio Arvostelukappale

Lisätiedot

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe E tiistai 1.12. klo 10 koodigenerointi (ilman rekisteriallokaatiota)

Lisätiedot

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa. Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa. Vastaus 2. Vertaillaan

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

5.6 Yhdistetty kuvaus

5.6 Yhdistetty kuvaus 5.6 Yhdistetty kuvaus Määritelmä 5.6.1. Oletetaan, että f : æ Y ja g : Y æ Z ovat kuvauksia. Yhdistetty kuvaus g f : æ Z määritellään asettamalla kaikilla x œ. (g f)(x) =g(f(x)) Huomaa, että yhdistetty

Lisätiedot

Ratkaisuehdotus 2. kurssikoe

Ratkaisuehdotus 2. kurssikoe Ratkaisuehdotus 2. kurssikoe 4.2.202 Huomioitavaa: - Tässä ratkaisuehdotuksessa olen pyrkinyt mainitsemaan lauseen, johon kulloinenkin päätelmä vetoaa. Näin opiskelijan on helpompi jäljittää teoreettinen

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 3 Joukko-oppia 4 Funktioista Funktio eli kuvaus on matematiikan

Lisätiedot

DIFFERENTIAALI- JA INTEGRAALILASKENTA I.1. Ritva Hurri-Syrjänen/Syksy 1999/Luennot 6. FUNKTION JATKUVUUS

DIFFERENTIAALI- JA INTEGRAALILASKENTA I.1. Ritva Hurri-Syrjänen/Syksy 1999/Luennot 6. FUNKTION JATKUVUUS DIFFERENTIAALI- JA INTEGRAALILASKENTA I.1 Ritva Hurri-Syrjänen/Syksy 1999/Luennot 6. FUNKTION JATKUVUUS Huomautus. Analyysin yksi keskeisimmistä käsitteistä on jatkuvuus! Olkoon A R mielivaltainen joukko

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

HY, MTL / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIb, syksy 2017 Harjoitus 1 Ratkaisuehdotuksia

HY, MTL / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIb, syksy 2017 Harjoitus 1 Ratkaisuehdotuksia HY, MTL / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIb, syksy 07 Harjoitus Ratkaisuehdotuksia Tehtäväsarja I Osa tämän viikon tehtävistä ovat varsin haastavia, joten ei todellakaan

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetesimerkkejä,

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

Algebra I, harjoitus 5,

Algebra I, harjoitus 5, Algebra I, harjoitus 5, 7.-8.10.2014. 1. 2 Osoita väitteet oikeiksi tai vääriksi. a) (R, ) on ryhmä, kun asetetaan a b = 2(a + b) aina, kun a, b R. (Tässä + on reaalilukujen tavallinen yhteenlasku.) b)

Lisätiedot

Predikaattilogiikan malli-teoreettinen semantiikka

Predikaattilogiikan malli-teoreettinen semantiikka Predikaattilogiikan malli-teoreettinen semantiikka February 4, 2013 Muistamme, että predikaattilogiikassa aakkosto L koostuu yksilövakioista c 0, c 1, c 2,... ja predikaattisymboleista P, R,... jne. Ekstensionaalisia

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 014 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteetesimerkkejä,

Lisätiedot

7 Vapaus. 7.1 Vapauden määritelmä

7 Vapaus. 7.1 Vapauden määritelmä 7 Vapaus Kuten edellisen luvun lopussa mainittiin, seuraavaksi pyritään ratkaisemaan, onko annetussa aliavaruuden virittäjäjoukossa tarpeettomia vektoreita Jos tällaisia ei ole, virittäjäjoukkoa kutsutaan

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys Harjoitustehtävät loppukurssilla luentojen 14 18 harjoitustehtävistä on tehtävä yksi

Lisätiedot

TIES542 kevät 2009 Rekursiiviset tyypit

TIES542 kevät 2009 Rekursiiviset tyypit TIES542 kevät 2009 Rekursiiviset tyypit Antti-Juhani Kaijanaho 17. helmikuuta 2009 Edellisessä monisteessa esitetyt tietue- ja varianttityypit eivät yksinään riitä kovin mielenkiintoisten tietorakenteiden

Lisätiedot

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2 HY, MTO / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIa, syksy 208 Harjoitus 4 Ratkaisuehdotuksia Tehtäväsarja I. Satunnaismuuttuja U Exp(2) ja V = U/(3 + U). Laske f V käyttämällä muuttujanvaihtotekniikkaa.

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot

Lisätiedot