Johdatus λ-kalkyyliin

Koko: px
Aloita esitys sivulta:

Download "Johdatus λ-kalkyyliin"

Transkriptio

1 Annika Piiroinen, Kalle Viiri 2014 Johdatus λ-kalkyyliin λ kalkyyli on alunperin Alonzo Chruchin kehittämä Turing täydellinen formaalin laskennan malli. Funktionaaliset ohjelmointikielet perustuvat siihen, ja sillä on sovelluksia myös matematiikan, lingvistiikan ja filosofian aloilla. Käymme tässä esseessä läpi aluksi yleisen johdatuksen ideamaailmaan λ kalkyylin takana, minkä jälkeen esitämme λ kalkyylin formaalin määritelmän selittävien esimerkkien kera. Sovellamme annettuja määritelmiä yksinkertaisen kaksiarvologiikan parissa, minkä jälkeen lukijalla on toivottavasti alustava käsitys λ kalkyylin perustoiminnasta ja hän on valmis siirtymään haastavampien aihetta käsittelevien tekstien pariin. Johdatus λ-ajatteluun Niin kuin kaikki laskennan mallit, kuten Turingin kone, myös λ kalkyyli esittää maailman omanlaisessaan, yksinkertaistetussa muodossa, joka ei ulkoisesti muistuta alkuperäistä kohdettaan. Esimerkiksi Turingin koneessa numerot saatetaan esittää jonona ykkösiä nauhalla, kun taas λ kalkyylissä ne esitetään tietynmuotoisina funktioina. Olennaista kuitenkin on, että mallin sisäisiä laskusääntöjä noudatettaessa nämä numerot käyttäytyvät niin kuin vastineensa. Jos se haisee numerolta kolme ja maistuu numerolta kolme, se on numero kolme. λ kalkyylissä kaikki asiat esitetään jonkinlaisina funktioina. Nyt ei kannata kuitenkaan ajatella funktioita esimerkiksi kuvauksina lukujen joukolta toiselle, vaan yleensä asioina, jotka muuttavat saamansa syötteen johonkin toiseen muotoon. Lisäksi, koska kaikki λ kalkyylin maailman objektit ovat funktioita, voivat funktiot olla kuvauksia vain näiden funktioiden joukolta samaiselle funktioiden joukolle. Turingin koneessa koko maailma kuvataan merkkeinä nauhalla ja maailman tapahtumat koneen toimintana, kun taas λ kalkyylissä maailman asiat ovat funktioita ja tapahtumat sitä, kun nämä funktiot ottavat sisäänsä toisia funktioita ja tekevät niistä joitain toisia funktioita. Miten sitten voi kuvata funktioita ilman referenssejä mihinkään muuhun kuin toisiin funktioihin? Meillä on olemassa käsitteitä, kuten identiteettikuvaus, vakiokuvaus ja yhdistetty kuvaus, jotka riippuvat vain funktion käsitteestä itsestään. Ne riittävät tarpeeksi useilla eri tavoilla yhdessä sovellettuina muodostamaan rikkaan maailman, josta löytyy vastine kaikille niille olennoille, joiden toimintaa haluamme mallintaa.

2 λ-kalkyylin maailma rakentuu Seuraavaksi määrittelemme, minkä muotoisia ovat ne objektit, jotka kuuluvat λ kalkyylin maailmaan. Näitä objekteja kutsutaan λ termeiksi. Formaalia määritelmää selitetään auki pian sen esittämisen jälkeen. λ termin määritelmä 1. Muuttuja a itsessään on λ termi. 2. Jos t on λ termi ja x muuttuja, niin (λx.t) on λ termi. (abstraktio) 3. Jos t ja s ovat λ termejä, niin (ts) on λ termi. (sovellus) Määritelmän ensimmäinen kohta on induktiivisen määritelmämme ensimmäinen askel. Se kertoo, että voimme merkitä λ kalkyylin funktiota yleensä jollain kirjaimella. Tällainen muuttuja a voi siis edustaa mitä tahansa funktiota. Vain funktion esitetty toiminta määrittää sen, mikä funktio se on. Siten siis näitä muuttujasymboleja voi vaihtaa, esimerkiksi a:n sijaan voisimme yhtä hyvin käyttää b:tä ja niin edelleen. Symboleita ei toki saa vaihtaa siten, että merkitys muuttuu. Määritelmän kohta kaksi kertoo funktion toiminnasta. Se on kuin funktion toiminta kirjoitettuna auki. Merkintä (λx.t) tarkoittaa, että λ symbolin ja pisteen välillä oleva asia, tässä tapauksessa siis x, kuvautuu pisteen jälkeen annettuun muotoon, tässä siis muotoon t. Luultavasti termi t sisältää symbolin x, mutta ei välttämättä. Konkretisoidaksemme määritelmää hieman, ajatelkaamme hetken perinteistä funktiota, esimerkiksi funktiota x x+2. Tämän funktion voisi esittää λ kalkyylin hengessä muodossa (λx.x+2). Tässä termiä t vastaisi siis lauseke x+2. λ kalkyylissä ei kuitenkaan ole olemassa symbolia + tai 2, mutta termi t voisi pitää sisällään symbolin x jossain muussa muodossa. Määritelmän kohdan kaksi muotoista λ termiä kutsutaan abstraktioksi, koska se esittää funktion abstraktissa muodossa. Termin uloimmat sulut voi jättää pois tapauksissa, joissa niillä ei ole merkityksellistä arvoa, esimerkiksi sellaisenaan λx.t on sama asia kuin (λx.t). Kun λ termejä kirjoitetaan sisäkkäin, sulut kuitenkin ovat usein tarpeelliset erottimet. Kolmas kohta määritelmästä vastaa perinteisessä funktioajattelussa sitä, että funktiolle annetaan jokin syöte. Konkretisoidakemme ajatusta, käytämme taas λ maailman ulkopuolista esimerkkiä. Olkoon siis termin (ts) termi t = (λx.x+2) ja s=4. Nyt merkintä (ts) eli ( (λx.x+2) 4 ) tarkoittaisi sitä, että funktiolle x x+2 annetaan syötteeksi luku 4. Kun lauseke evaluoidaan, saadaan arvoksi 4+2 = 6. Toisin sanoen ( (λx.x+2) 4 ) = 6. Edelleenkään λ kalkyylin sallittuihin merkkeihin ei kuulu numeroita tai yhteenlaskua, mutta λ termien evaluoiminen tapahtuu samalla tavalla kuin annetussa esimerkissä. ( (λx.x+2) 4 )

3 Kun kaksi λ termiä kirjoitetaan peräkkäin, kuten yllä, saatu uusi λ termi voidaan evaluoida ottamalla ensimmäisen termin pisteen jälkeinen osa (tässä x+2) ja sijoittamalla siihen pistettä edeltävän symbolin (x) paikalle jälkimmäinen λ termi (4). (Saatiin siis 4+2). Voit ajatella tätä toimenpidettä eräänlaisena leikkaa ja liitä operaationa. Tähän evaluointiin palataan vielä useampien esimerkkien kera. Määritelmän kolmannen kohdan mukaista λ termiä kutsutaan sovellukseksi, koska siinä ensimmäistä λ termiä sovelletaan jälkimmäiseen λ termiin. Logiikkaa Ehkä helpoimman esimerkin λ kalkyylin pariin tarjoaa kaksiarvologiikka. Arvot TRUE ja FALSE on määritelty tietynlaisina yksinkertaisina funktioina, ja konnektiivit sopivanlaisina funktioina siten, että kun niitä soveltaa totuusarvoihin, ne palauttavat sen totuusarvon, mikä pitääkin. Totuusarvot λ kalkyylissä TRUE (λx.(λy.x)) ja FALSE (λx.(λy.y)). Kun tarkastelemme määritelmiä, huomaamme, että TRUE on siis funktio, joka palauttaa vakiofunktion, jonka vakio on ensiksi annettu arvo. FALSE puolestaan on funktio, joka palauttaa aina identiteettikuvauksen. Tässä vaiheessa lukijakin ehkä huomaa, että nykyisellä tavalla λ termien induktiivista määritelmää sovellettaessa sulkuja alkaa kertyä melko paljon sisäkkäin. Siksi sovimmekin seuraavanlaisen merkintäsäännön: (λx.(λy.z)) (λxy.z) On tärkeää huomata, että nyt siis (λxy.z)(q) = (λy.z) [x q], missä merkintä (λy.z) [x q] tarkoittaa sitä, että otetaan termi (λy.z) mutta korvataan siitä kaikki x symbolit q termillä. Koska tämän lyhennysmerkinnän käytön hallitseminen ja ymmärtäminen on olennaista myöhemmän seuraamisen kannalta, kannattanee lukijan tässä välissä halutessaan käydä läpi äsken esitetty muunnos. Esimerkiksi lukija voi vaikka evaluoida seuraavan termin, joka muiden konkretisoivien esimerkkiemme tavoin käyttää ei sallittua + merkkiä: (λxy.x+y)(4). Tulokseksi pitäisi saada (λy.4+y). Kiinnitettäköön huomiota siihen, kuinka muuttuja x tippuu lausekkeen edestä ja luku 4 menee sen sisään. Lyhennysmerkintää käyttäen totuusarvot muuttuvat seuraavaan muotoon: TRUE = (λxy.x) ja

4 FALSE = (λxy.y). Määrittelemme sulkujenkarsimissyistä lisäksi, että abc = (ab)c, mutta λa.bc = (λa.bc). Tähän mennessä emme ole lainkaan puuttuneet siihen, voiko λ kalkyylissä olla useamman muuttujan funktioita. Tavallaan kysymys on epäolennainen, sillä Curry muunnoksen avulla kaikki useamman muuttujan funktiot voidaan esittää yhdistettyinä yhden muuttujan funktioina. λ kalkyylissäkin siis esimerkiksi muotoa λab.c olevat funktiot voidaan tulkita kahden muuttujan funktioiksi, ja niin usein kannattaakin tehdä, sillä se helpottaa joidenkin funktioiden toiminnan ymmärtämistä. NOT-funktio Jotta funktio NOT käyttäytyisi niin kuin haluamme sen käyttäytyvän, sen on oltava muotoa NOT = (λpab.pba). Nyt NOT TRUE = (λpab.pba)(λxy.x) = (λab.(λxy.x)ba) = (λab.(λy.b)a) = (λab.b) = FALSE, kuten pitääkin. Muista, että symbolien valinta ei vaikuta funktion toimintaan, joten (λxy.y) = (λab.b). Edellä olevaa oli varmasti hankalaa seurata! λ termien evaluoiminen käsin on tuskallinen tehtävä etenkin, kun lausekkeet pitenevät. Evaluoimisen automatisoiminen (tietokoneohjelman kirjoittaminen) ja erilaisten apukeinojen käyttäminen käyvät helposti mielessä. Jos λ kalkyylin toimintaa haluaa ymmärtää, on hyvä kuitenkin pyöritellä pari laskutoimitusta itse paperilla. Onneksi valmiiksi laskettujen laskujen seuraaminen helpottuu, kun ne värikoodaa. Tässä on merkitty purppuralla sen termin sulut ja λ symboli, jota sovelletaan johonkin. Sinisellä on merkitty korvattava symboli, keltaisella lauseke, johon sijoitetaan sovelluksen kohde, ja vihreällä se, mihin λ termiä sovelletaan. Esimerkiksi sovellus (λx.t) s väritetään muotoon (λx.t) s. 1. (λpab.pba)(λxy.x) = 2. (λab.(λxy.x)ba) = 3. (λab.(λy.b)a) =

5 4. (λab.b) Kohdassa yksi vihreällä merkitty termi sijoitetaan keltaiseen lausekkeeseen niihin kohtiin, missä sinisellä merkitty symboli, eli p, ilmenee. Sinisellä merkitty termi katoaa. Kohdassa kaksi ensimmäisen pisteen jälkeen on kolme λ termiä peräkkäin: (λxy.x), b ja a. Aiemman sopimuksen mukaan tulkitaan abc = (ab)c, minkä vuoksi termiä (λxy.x) sovelletaan vain termiin b. Kolmannessa kohdassa vihreällä merkitty termi, a, sijoitetaan keltaiseen lausekkeeseen niihin kohtiin, missä sinisellä merkitty symboli, y, ilmenee. Symboli y ei kuitenkaan ilmene keltaisessa lausekkeessa, joten a katoaa, jättäen jäljelle vain b:n. Kun λ termejä evaluoi, ei kannata välttämättä ajatella funktioita ja niiden kuvauksia. Yksinkertainen tapa hahmottaa λ kalkyylissä tapahtuvat symbolien muokkaukset on ymmärtää ne leikkaa ja liitä operaatioina. Tässä vihreä termi leikattiin ja liitettiin keltaiseen lausekkeeseen niihin kohtiin, joissa sininen symboli esiintyy. Analysoidaan vielä funktioiden TRUE, FALSE ja NOT toimintaa. FALSE (λxy.y) on kahden muuttujan funktio, joka tiputtaa ensimmäisen syötteen pois ja jättää jälkimmäisen. TRUE (λxy.x) puolestaan säästää ensimmäisen, mutta tiputtaa jälkimmäisen. NOT (λpab.pba) funktio kannattaa ajatella yhden muuttujan funktiona, joka palauttaa kahden muuttujan funktion. Se asettaa syötteensä p termien b ja a eteen. Jos p on FALSE, b tipahtaa ja a säilyy, eli saadaan TRUE, (λab.a). Jos taas p on TRUE, b säilyy ja a tipahtaa. Esittelemme vielä lyhyesti loogiset operaatiot AND ja OR, eli konjunktio ja disjunktio: AND = (λab.ab(λcd.d)) = (λab.ab FALSE) OR = (λab.a(λcd.c)b) = (λab.a TRUE b) Konjunktiomme toimii siis niin, että ensimmäisen operandin ollessa (λab.a) eli TRUE, AND evaluoituu toisen operandin arvoksi. Muussa tapauksessa se evaluoituu suoraan FALSEksi. Disjunktio vastaavasti evaluoituu TRUEksi jos ensimmäinen operandi on TRUE, muussa tapauksessa toisen operandin arvoksi. Muu λ-maailma Lukija voi halutessaan itse ottaa selvää muista λ kalkyylin logiikkafunktioista tai päätellä itse, mitä niiden tulee olla, jotta ne toimisivat halutulla tavalla. Kirjoittajat eivät tarkoita ehdottaa, ettäkö tämä

6 olisi helppo tehtävä. Huomautettakoon, että kahden argumentin funktiot, kuten AND ja OR, toimivat prefix muodossa, esimerkiksi kirjoitetaan ennemmin AND x y kuin x AND y. Luvut esitetään λ kalkyylissä Peanon aksioomien henkisesti. Määritellään 0 (λ ab.b), 1 (λab.b(a)), 2 (λab.b(b(a))), 3 (λab.b(b(b(a)))) jne. Laskutoimitukset määritellään näiden mukaan. Sanottakoon yleisesti, että muodostuvat funktiot ovat melko elegantteja matemaattisesta näkökulmasta. Lukujen koodaustyylin yksi etu on, että lukua kuvaavan funktion soveltaminen toiseen funktioon johtaa toisen funktion monistumiseen : näin ollen λ maailmassa voidaan suorittaa funktio Z x kertaa vain laittamalla ne peräkkäin xz. Rekursio Rekursio tarkoittaa yleisesti funktion soveltamista itseensä. λ kalkyyli tunnetaan runsaasta rekursion käytöstä, sillä se siinä ei ole muuta rakennetta laskutoimitusten mielivaltaiselle toistamiselle (vertaa: silmukat ohjelmointikielissä). Rekursiivinen funktio λ kalkyylissa voi näyttää esimerkiksi seuraavalta: (λa(λb.a(bb))(λb.a(bb)) F (missä F olkoo jokin mielivaltainen funktio) Evaluoimalla λ lauseketta saamme: (λb.f(bb))(λb.f(bb)) F((λb.F(bb))(λb.F(bb))) Kutsukaamme funktiota (λa(λb.a(bb))(λb.a(bb)) nimellä G. Nyt näimme että G F = F(G F). Tällä rekursiolla ei ole pohjatapausta, mutta käyttämällä loogisia funktioita voidaan sellainenkin määritellä sopivan toiston aikaansaamiseksi.

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

Luku 2. Ohjelmointi laskentana. 2.1 Laskento

Luku 2. Ohjelmointi laskentana. 2.1 Laskento Luku 2 Ohjelmointi laskentana Funktio-ohjelmoinnin, olio-ohjelmoinnin ja käskyohjelmoinnin ero on löydettävissä niiden pohjalla olevista laskennan mallista. Automaattisen tietojenkäsittelyn yksi historiallinen

Lisätiedot

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). 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 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: Rekursio Funktio f : N R määritellään yleensä

Lisätiedot

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

Yksinkertaiset tyypit

Yksinkertaiset tyypit Yksinkertaiset tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 13. helmikuuta 2007 Tyypitön puhdas λ-laskento E ::= I E 1 E 2

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

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

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

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

Loogiset konnektiivit

Loogiset konnektiivit Loogiset konnektiivit Tavallisimmat loogiset konnektiivit ovat negaatio ei konjunktio ja disjunktio tai implikaatio jos..., niin... ekvivalenssi... jos ja vain jos... Sulkeita ( ) käytetään selkeyden vuoksi

Lisätiedot

Kesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset

Kesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset Kesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset 2000-08-03T10:30/12:00 Huomaa, että joihinkin kysymyksiin on useampia oikeita vastauksia, joten nämä ovat todellakin vain mallivastaukset. 1 Logiikkaa

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

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Tietyn ominaisuuden samuus -relaatio on ekvivalenssi; se on (1) refleksiivinen,

Lisätiedot

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Arvosanaan 1 2 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä ja yhtälöpareja Osaan muokata

Lisätiedot

Johdatus matematiikkaan

Johdatus matematiikkaan Johdatus matematiikkaan Luento 6 Mikko Salo 6.9.2017 Sisältö 1. Kompleksitaso 2. Joukko-oppia Kompleksiluvut Edellisellä luennolla huomattiin, että toisen asteen yhtälö ratkeaa aina, jos ratkaisujen annetaan

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Esitiedot Arvosanaan 1 2 riittävät Arvosanaan 3 4 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä

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

1. Logiikan ja joukko-opin alkeet

1. Logiikan ja joukko-opin alkeet 1. Logiikan ja joukko-opin alkeet 1.1. Logiikkaa 1. Osoita totuusarvotauluja käyttäen, että implikaatio p q voidaan kirjoittaa muotoon p q, ts. että propositio (p q) ( p q) on identtisesti tosi. 2. Todista

Lisätiedot

Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi

Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi LUKUTEORIA JA TODISTAMINEN, MAA11 Esimerkki a) Lauseen Kaikki johtajat ovat miehiä negaatio ei

Lisätiedot

Pikapaketti logiikkaan

Pikapaketti logiikkaan Pikapaketti logiikkaan Tämän oppimateriaalin tarkoituksena on tutustua pikaisesti matemaattiseen logiikkaan. Oppimateriaalin asioita tarvitaan projektin tekemisessä. Kiinnostuneet voivat lukea lisää myös

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

Kompleksilukujen kunnan konstruointi

Kompleksilukujen kunnan konstruointi Kompleksilukujen kunnan konstruointi Seuraava esitys osoittaa, miten kompleksilukujoukko voidaan määritellä tunnetuista reaalisista käsitteistä lähtien. Määrittelyjen jälkeen on helppoa osoittaa Mathematican

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

1 Logiikkaa. 1.1 Logiikan symbolit

1 Logiikkaa. 1.1 Logiikan symbolit 1 Logiikkaa Tieteessä ja jokapäiväisessä elämässä joudutaan tekemään päätelmiä. Logiikassa tutkimuskohteena on juuri päättelyt. Sen sijaan päätelmien sisältöön ei niinkäään kiinnitetä huomiota. Päätelmät

Lisätiedot

2.4 Normaalimuoto, pohja ja laskentajärjestys 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13

2.4 Normaalimuoto, pohja ja laskentajärjestys 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13 Toisinaan voi olla syytä kirjoittaa α- tai β-kirjain yhtäsuuruusmerkin yläpuolelle kertomaan, mitä muunnosta käytetään. Esimerkki 4 1. (λx.x)y β = y 2.

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

Matemaattisen analyysin tukikurssi

Matemaattisen analyysin tukikurssi Matemaattisen analyysin tukikurssi 4. Kurssikerta Petrus Mikkola 4.10.2016 Tämän kerran asiat Funktion raja-arvo Raja-arvon määritelmä Toispuolinen raja-arvo Laskutekniikoita Rationaalifunktion esityksen

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

Lisätiedot

-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi

-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi -Matematiikka on aksiomaattinen järjestelmä -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi -mustavalkoinen: asia joko on tai ei (vrt. humanistiset tieteet, ei

Lisätiedot

2.2 Muunnosten käyttöön tutustumista

2.2 Muunnosten käyttöön tutustumista 2.2 Muunnosten käyttöön tutustumista Tunnin rakenne: - Esimerkki (min) - Tehtävä -, jokerit tarvittaessa (2 min) - Loppukoonti ja ryhmäarviointi ( min) Tunnin tavoitteet: - Analysoidaan ja pohditaan valmiiksi

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

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

SAT-ongelman rajoitetut muodot

SAT-ongelman rajoitetut muodot SAT-ongelman rajoitetut muodot olemme juuri osoittaneet että SAT on NP-täydellinen perusidea on nyt osoittaa joukolle kiinnostavia ongelmia A NP että SAT p m A, jolloin kyseiset A myös ovat NP-täydellisiä

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

Tehtävä 1. Päättele resoluutiolla seuraavista klausuulijoukoista. a. 1 {p 3 } oletus. 4 {p 1, p 2, p 3 } oletus. 5 { p 1 } (1, 2) 7 (4, 6)

Tehtävä 1. Päättele resoluutiolla seuraavista klausuulijoukoista. a. 1 {p 3 } oletus. 4 {p 1, p 2, p 3 } oletus. 5 { p 1 } (1, 2) 7 (4, 6) Tehtävä 1 Päättele resoluutiolla seuraavista klausuulijoukoista. a. {{p 0 }, {p 1 }, { p 0, p 2 }, {p 1, p 2, p 3 }, { p 2, p 3 }, {p 3 }}, b. {{ p 0, p 2 }, {p 0, p 1 }, {{ p 1, p 2 }, { p 2 }}, c. {{p

Lisätiedot

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja 582206 Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja 1. Esitä tilakaaviona NFA N = (Q, Σ, δ, q 0, F ), missä Q = { q 0, q 1, q 2, q 3, q 4, q 5, q 6, q 7 }, Σ = { a, b, c }, F = { q 4 } ja δ on

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

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2 BM20A5700 - Integraauunnokset Harjoitus 2 1. Laske seuraavat raja-arvot. -kohta ratkeaa, kun pistät sekä yläkerran että alakerran muotoon (z z 1 )(z z 2 ), missä siis z 1 ja z 2 ovat näiden lausekkeiden

Lisätiedot

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Tuntitehtävät 11-12 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 15-16 loppuviikon harjoituksissa. Kotitehtävät 13-14 tarkastetaan loppuviikon

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Kirjoita käyttäen propositiosymboleita, konnektiiveja ja sulkeita propositiologiikan lauseiksi:

Kirjoita käyttäen propositiosymboleita, konnektiiveja ja sulkeita propositiologiikan lauseiksi: 1 Logiikan paja, kevät 2011 Ratkaisut viikolle I Thomas Vikberg Merkitään propopositiosymboleilla p i seuraavia atomilauseita: p 0 : vettä sataa p 1 : tänään on perjantai p 2 : olen myöhässä Valitaan konnektiiveiksi,

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

HY / Avoin yliopisto Lineaarialgebra ja matriisilaskenta II, kesä 2015 Harjoitus 1 Ratkaisut palautettava viimeistään maanantaina klo

HY / Avoin yliopisto Lineaarialgebra ja matriisilaskenta II, kesä 2015 Harjoitus 1 Ratkaisut palautettava viimeistään maanantaina klo HY / Avoin yliopisto Lineaarialgebra ja matriisilaskenta II, kesä 2015 Harjoitus 1 Ratkaisut palautettava viimeistään maanantaina 10.8.2015 klo 16.15. Tehtäväsarja I Tutustu lukuun 15, jossa vektoriavaruuden

Lisätiedot

Nimitys Symboli Merkitys Negaatio ei Konjuktio ja Disjunktio tai Implikaatio jos..., niin... Ekvivalenssi... jos ja vain jos...

Nimitys Symboli Merkitys Negaatio ei Konjuktio ja Disjunktio tai Implikaatio jos..., niin... Ekvivalenssi... jos ja vain jos... 2 Logiikkaa Tässä luvussa tutustutaan joihinkin logiikan käsitteisiin ja merkintöihin. Lisätietoja ja tarkennuksia löytyy esimerkiksi Jouko Väänäsen kirjasta Logiikka I 2.1 Loogiset konnektiivit Väitelauseen

Lisätiedot

Sivu 1 / 8. A31C00100 Mikrotaloustieteen perusteet: matematiikan tukimoniste. Olli Kauppi

Sivu 1 / 8. A31C00100 Mikrotaloustieteen perusteet: matematiikan tukimoniste. Olli Kauppi Sivu 1 / 8 A31C00100 Mikrotaloustieteen perusteet: matematiikan tukimoniste Olli Kauppi Monisteen ensimmäinen luku käsittelee derivointia hieman yleisemmästä näkökulmasta. Monisteen lopussa on kurssilla

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

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

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

8. Kieliopit ja kielet

8. Kieliopit ja kielet 8. Kieliopit ja kielet Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää siipiään" on kieliopillisesti

Lisätiedot

Konformigeometriaa. 5. maaliskuuta 2006

Konformigeometriaa. 5. maaliskuuta 2006 Konformigeometriaa 5. maaliskuuta 006 1 Sisältö 1 Konformigeometria 1.1 Viivan esitys stereograasena projektiona............ 1. Euklidisen avaruuden konformaalinen malli........... 4 Konformikuvaukset

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

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset 1. Päättele resoluutiolla seuraavista klausuulijoukoista: (a) {{p 0 }, {p 1 }, { p 0, p 2 },

Lisätiedot

Matriisit. Määritelmä 1 Reaaliluvuista a ij, missä i = 1,..., k ja j = 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A =

Matriisit. Määritelmä 1 Reaaliluvuista a ij, missä i = 1,..., k ja j = 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A = 1 / 21 Määritelmä 1 Reaaliluvuista a ij, missä i 1,..., k ja j 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A... a k1 a k2 a kn sanotaan k n matriisiksi. Usein merkitään A [a ij ]. Lukuja

Lisätiedot

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö Johdatus diskreettiin matematiikkaan Harjoitus 5, 14.10.2015 1. Ratkaise rekursioyhtälö x n+4 2x n+2 + x n 16( 1) n, n N, alkuarvoilla x 1 2, x 2 14, x 3 18 ja x 4 42. Ratkaisu. Vastaavan homogeenisen

Lisätiedot

Digitaalilaitteen signaalit

Digitaalilaitteen signaalit Digitaalitekniikan matematiikka Luku 3 Sivu 3 (9) Digitaalilaitteen signaalit Digitaalilaitteeseen tai -piiriin tulee ja siitä lähtee digitaalisia signaaleita yksittäisen signaalin arvo on kunakin hetkenä

Lisätiedot

Kompleksilukujen kunnan konstruointi

Kompleksilukujen kunnan konstruointi ckunta.nb Kompleksilukujen kunnan konstruointi Seuraava esitys osoittaa, miten kompleksilukujoukko voidaan määritellä tunnetuista reaalisista käsitteistä lähtien. Määrittelyjen jälkeen on helppoa osoittaa

Lisätiedot

Konnektiivit. On myös huomattava, että vain joillakin luonnollisen kielen konnektiiveilla on vastineensa lauselogiikassa.

Konnektiivit. On myös huomattava, että vain joillakin luonnollisen kielen konnektiiveilla on vastineensa lauselogiikassa. Johdanto Lauselogiikassa tutkitaan sekä syntaktisella että semanttisella tasolla loogisia konnektiiveja ja niiden avulla muodostettuja kaavoja sekä myös formaalia päättelyä. Tarkastelemme aluksi klassisen

Lisätiedot

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Simo K. Kivelä, 15.4.2003 Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Aksioomat Luonnolliset luvut voidaan määritellä Peanon aksioomien avulla. Tarkastelun kohteena on

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Simo K. Kivelä, 15.4.2003 Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Aksioomat Luonnolliset luvut voidaan määritellä Peanon aksioomien avulla. Tarkastelun kohteena on

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

LAUSELOGIIKKA (1) Sanalliset ilmaisut ovat usein epätarkkoja. On ilmaisuja, joista voidaan sanoa, että ne ovat tosia tai epätosia, mutta eivät molempia. Ilmaisuja, joihin voidaan liittää totuusarvoja (tosi,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

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

Johdatus logiikkaan I Harjoitus 4 Vihjeet

Johdatus logiikkaan I Harjoitus 4 Vihjeet Johdatus logiikkaan I Harjoitus 4 Vihjeet 1. Etsi lauseen ((p 0 p 1 ) (p 0 p 1 )) kanssa loogisesti ekvivalentti lause joka on (a) disjunktiivisessa normaalimuodossa, (b) konjunktiivisessa normaalimuodossa.

Lisätiedot

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä Sekalaiset tehtävät, 11. syyskuuta 005, sivu 1 / 13 Tehtäviä Tehtävä 1. Johda toiseen asteen yhtälön ax + bx + c = 0, a 0 ratkaisukaava. Tehtävä. Määrittele joukon A R pienin yläraja sup A ja suurin alaraja

Lisätiedot

Yleistä vektoreista GeoGebralla

Yleistä vektoreista GeoGebralla Vektoreita GeoGebralla Vektoreilla voi laskea joko komentopohjaisesti esim. CAS-ikkunassa tai piirtämällä piirtoikkunassa. Ensimmäisen tavan etuna on, että laskujen tueksi muodostuu kuva. Tästä on varmasti

Lisätiedot

Matemaatiikan tukikurssi

Matemaatiikan tukikurssi Matemaatiikan tukikurssi Kurssikerta 1 1 Funktiot Funktion määritelmä Funktio on sääntö, joka liittää kahden eri joukon alkioita toisiinsa. Ollakseen funktio tämän säännön on liitettävä jokaiseen lähtöjoukon

Lisätiedot

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja. IsoInt Tietokoneiden muisti koostuu yksittäisistä muistisanoista, jotka nykyaikaisissa koneissa ovat 64 bitin pituisia. Muistisanan koko asettaa teknisen rajoituksen sille, kuinka suuria lukuja tietokone

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

Logiikka 1/5 Sisältö ESITIEDOT:

Logiikka 1/5 Sisältö ESITIEDOT: Logiikka 1/5 Sisältö Formaali logiikka Luonnollinen logiikka muodostaa perustan arkielämän päättelyille. Sen käyttö on intuitiivista ja usein tiedostamatonta. Mikäli logiikka halutaan täsmällistää esimerkiksi

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

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Toispuoleiset raja-arvot

Toispuoleiset raja-arvot Toispuoleiset raja-arvot Määritelmä Funktiolla f on oikeanpuoleinen raja-arvo a R pisteessä x 0 mikäli kaikilla ɛ > 0 löytyy sellainen δ > 0 että f (x) a < ɛ aina kun x 0 < x < x 0 + δ; ja vasemmanpuoleinen

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

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14

Lisätiedot

Lukujonon raja-arvo 1/7 Sisältö ESITIEDOT: lukujonot

Lukujonon raja-arvo 1/7 Sisältö ESITIEDOT: lukujonot Lukujonon raja-arvo 1/7 Sisältö Esimerkki lukujonon raja-arvosta Lukujonossa a 1,a 2,a 3,... (jossa on äärettömän monta termiä) voivat luvut lähestyä jotakin arvoa, kun jonossa edetään yhä pidemmälle.

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

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

Osa IX. Z muunnos. Johdanto Diskreetit funktiot Osa IX Z muunnos A.Rasila, J.v.Pfaler () Mat-.33 Matematiikan peruskurssi KP3-i 9. lokakuuta 2007 298 / 322 A.Rasila, J.v.Pfaler () Mat-.33 Matematiikan peruskurssi KP3-i 9. lokakuuta 2007 299 / 322 Johdanto

Lisätiedot

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta: MATP00 Johdatus matematiikkaan Ylimääräisten tehtävien ratkaisuehdotuksia. Osoita, että 00 002 < 000 000. Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa. Lähdetään sieventämään epäyhtälön

Lisätiedot

TIES542 kevät 2009 Aliohjelmien formalisointia lambda-kieli

TIES542 kevät 2009 Aliohjelmien formalisointia lambda-kieli TIES542 kevät 2009 Aliohjelmien formalisointia lambda-kieli Antti-Juhani Kaijanaho 3. helmikuuta 2009 Lambda-kielen taustalla on 1900-luvun alkuvuosikymmenien matematiikan perusteiden tutkimus ja siihen

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

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä

Lisätiedot

Ratkaisu: Yksi tapa nähdä, että kaavat A (B C) ja (A B) (A C) ovat loogisesti ekvivalentit, on tehdä totuustaulu lauseelle

Ratkaisu: Yksi tapa nähdä, että kaavat A (B C) ja (A B) (A C) ovat loogisesti ekvivalentit, on tehdä totuustaulu lauseelle HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 3 Ratkaisuehdotukset 1. Olkoot A, B ja C propositiolauseita. Näytä, että A (B C) (A B) (A C). Ratkaisu: Yksi tapa

Lisätiedot

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos September 13, 2017 Pekka Alestalo,

Lisätiedot

Johdatus reaalifunktioihin P, 5op

Johdatus reaalifunktioihin P, 5op Johdatus reaalifunktioihin 802161P, 5op Osa 2 Pekka Salmi 1. lokakuuta 2015 Pekka Salmi FUNK 1. lokakuuta 2015 1 / 55 Jatkuvuus ja raja-arvo Tavoitteet: ymmärtää raja-arvon ja jatkuvuuden määritelmät intuitiivisesti

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

2.3 Virheitä muunnosten käytössä

2.3 Virheitä muunnosten käytössä 2.3 Virheitä muunnosten käytössä Esimerkissä 1 yhtälönratkaisuprosessi näytetään kokonaisuudessaan. Yhtälön rinnalla ovat muunnokset ja sanallinen selitys, johon oppilaat täydentävät esimerkissä käytetyt

Lisätiedot

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB Datatähti 2019 alku task type time limit memory limit A Kolikot standard 1.00 s 512 MB B Leimasin standard 1.00 s 512 MB C Taulukko standard 1.00 s 512 MB D Ruudukko standard 1.00 s 512 MB E Sanalista

Lisätiedot

1. Esitä rekursiivinen määritelmä lukujonolle

1. Esitä rekursiivinen määritelmä lukujonolle Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)

Lisätiedot

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on 13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33 Numeeriset menetelmät TIEA381 Luento 12 Kirsi Valjus Jyväskylän yliopisto Luento 12 () Numeeriset menetelmät 25.4.2013 1 / 33 Luennon 2 sisältö Tavallisten differentiaaliyhtälöiden numeriikasta Rungen

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

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

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos 14.9.2016 Pekka Alestalo, Jarmo Malinen

Lisätiedot

=p(x) + p(y), joten ehto (N1) on voimassa. Jos lisäksi λ on skalaari, niin

=p(x) + p(y), joten ehto (N1) on voimassa. Jos lisäksi λ on skalaari, niin FUNKTIONAALIANALYYSI, RATKAISUT 1 KEVÄT 211, (AP) 1. Ovatko seuraavat reaaliarvoiset funktiot p : R 3 R normeja? Ovatko ne seminormeja? ( x = (x 1, x 2, x 3 ) R 3 ) a) p(x) := x 2 1 + x 2 2 + x 2 3, b)

Lisätiedot

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat M-A010{2,3,4,5} (CI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: arjat Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos eptember 12, 2018 Pekka

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