815338A Ohjelmointikielten periaatteet

Koko: px
Aloita esitys sivulta:

Download "815338A Ohjelmointikielten periaatteet"

Transkriptio

1 815338A Ohjelmointikielten periaatteet VII Logiikkaohjelmointi

2 Sisältö 1. Johdanto 2. Predikaattilogiikan käsitteistöä 3. Prolog A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 2

3 VII.1. Johdanto Logiikkaohjelmointi = symboliseen logiikkaan perustuva ohjelmointi Käytetty kieli = logiikkaohjelmointikieli Joissakin yhteyksissä deklaratiivinen kieli = logiikkaohjelmointikieli A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 3

4 VII.1. Johdanto (2) Ohjelmoija ei määrittele ratkaisuun johtavia toimenpiteitä, vaan ratkaisuun johtavia ominaisuuksia eli väittämiä Ohjelma pyrkii päättelemään oikeellisuuden vertailemalla niitä tunnettuihin tosiasioihin Tulos: true -> väittämä on oikea, false -> väittämää ei pystytty todistamaan oikeaksi Tavoite: ohjelmoijan ei tarvitse keskittyä ratkaisuun johtavien toimenpiteiden ohjelmoimiseen vaan ratkaisun löytämisen logiikkaan A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 4

5 VII.1. Johdanto (3) Perustuu vahvasti symbolisen logiikan käyttöön Sovelluskohteita Tekoälysovellukset: Luonnollisen kielen käsittely, Asiantuntijajärjestelmät Relaatiotietokantojen käsittely A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 5

6 VII.2. Predikaattilogiikan käsitteistöä Predikaattilogiikkaa käsitellään Diskreettien rakenteiden kurssissa (moniste, luku 3) Propositio on looginen väittämä, jolla on totuusarvo Propositio- eli lauselogiikka, ei muuttujia Propositio on suljettu lause Symbolinen logiikka: esitetään propositioiden välisiä suhteita ja johdetaan uusia väittämiä olemassa olevista A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 6

7 VII.2. Predikaattilogiikan käsitteistöä (2) Propositiosymbolit Usein jokin tulkinta, esimerkiksi On kylmä tai Sataa Yhdistellään käyttämällä loogisia konnektiiveja (negaatio, konjunktio, disjunktio, ekvivalenssi ja implikaatio) Päättelyoperaattoreiden => ja <=> avulla päättelyketjuja, joista uusia lauseita A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 7

8 VII.2. Predikaattilogiikan käsitteistöä (2) Loogiset konnektiivit Nimi Symboli Esimerkki Semantiikka Negaatio a ei a Konjunktio a b a ja b Disjunktio a b a tai b Implikaatio tai a b a b a:sta seuraa b b:stä seuraa a Ekvivalenssi a b a ja b yhtäpitävät A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 8

9 VII.2. Predikaattilogiikan käsitteistöä (2) Päättelystä: Päättelyoperaattorit => ja <=> Näiden avulla päättelyketjuja: On kylmä Palelee On kylmä => Palelee A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 9

10 VII.2. Predikaattilogiikan käsitteistöä (2) Predikaattilogiikka Tarvitaan logiikkaohjelmoinnissa Voidaan muodostaa ilmauksia, jotka koskevat propositiojoukkoja Käytetään muuttujia ja kvanttoreita ja Kvanttorit universaalikvanttori eksistenssikvanttori Esimerkki. Y:P Kaikilla arvoilla Y P on tosi Z:Q On olemassa sellainen Z että Q on tosi Predikaatti on avoin lause (sisältää muuttujia) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 10

11 VII.2.1. Predikaattilogiikan perusosat Vakiot Edustavat tunnettuja alkioita Merkitään pienillä kirjaimilla alkavilla tunnisteilla Kokonaisluvut Muuttujat Edustavat tuntemattomia alkioita Merkitään isoilla kirjaimilla alkavilla tunnisteilla A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 11

12 VII.2.1. Predikaattilogiikan perusosat (2) Funktiosymbolit eli funktorit Predikaattisymbolit eli predikaatit Muodostetaan alkioiden väliset relaatiot Voidaan tulkita totuusarvon tuottavan funktion nimeksi Esim. > : p(x,y) = X > Y Termit Lausekkeita jotka koostuvat vakioista, muuttujista ja funktoreista (ei kvanttoreita tai predikaatteja) Esim. f(x) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 12

13 VII.2.1. Predikaattilogiikan perusosat (3) Atomikaavat Koostuvat predikaatista, jonka argumenttina voi olla termi Esim. Z < 0 f(y)-2 > 1 Kaavat Saadaan yhdistelemällä atomikaavoja loogisilla konnektiiveilla ja kvanttoreillla Esim. (f(x) < 1) (Y > 0) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 13

14 VII.2.2. Atomiset propositiot Yksinkertaisimpia logiikkaohjelmoinnin lauseita Koostuvat yhdistetyistä termeistä Yhdistetty termi muodostuu kahdesta osasta; funktorista ja järjestetystä parametrilistasta: lammas(dolly) syö(dolly,ruoho) -> relaatio lammas sisältää alkion {dolly} ja relaatio syö järjestetyn kaksikon {dolly,ruoho} Eivät sisällä tulkintaa Voivat sisältää muuttujia A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 14

15 VII.2.3. Kootut propositiot *x++=*y++ Muodostetaan atomisista propositioista konnektiivien avulla: lammas(dolly) nisäkäs(dolly) syö(dolly,x) liha(x) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 15

16 VII.2.4. Logiikkaohjelmoinnin mekanismeista *x++=*y++ Logiikkaohjelmoinnin sisällettävä mekanismeja, joiden avulla johdetaan uusia sääntöjä Sääntö voidaan johtaa annetuista tosista lauseista soveltamalla niihin äärellistä määrää peräkkäisiä päättelyjä Logiikkaohjelmoinnissa päättelymekanismit perustuvat modus ponens-sääntöön ja universaalikvanttorin eliminointiin. Modus ponens: A (A B) voidaan korvata B :llä A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 16

17 VII.2.4. Logiikkaohjelmoinnin mekanismeista (2) Universaalikvanttorin eliminoimissääntö: X:A(X) voidaan korvata lauseella, jossa kaikki muuttujan X vapaat esiintymät on korvattu jollakin termillä Koneellisen loogisen päättelyn ongelma: keskenään ekvivalenttien lauseiden joukko (kooltaan valtava) -> tarvitaan standardimuoto, propositioille -> klausuuli B 1 B 2... B N A 1 A 2... A M A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 17

18 VII.2.4. Logiikkaohjelmoinnin mekanismeista (2) Hornin klausuuli: B A 1 A 2... A M Siis klausuulin erikoistapaus Jos oikea puoli tyhjä, kyseessä fakta Esimerkki Hornin klausuulista syö(dolly,timotei) syö(dolly,ruoho) ruoho(timotei) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 18

19 VII Resoluutio Resoluutioperiaate: Alan Robinson vuonna 1965 Tutki mahdollisuuksia automatisoida lauseiden todistusmekanismeja Päättelymekanismi, jonka avulla annetuista propositioista johdetaan uusia A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 19

20 VII Resoluutio (2) Periaate yksinkertaisesti: säännöt P Q (1) R P (2) Saadaan sääntö: R Q (3) Mekaanisesti supistamissääntö yhdistetään säännöt 1 ja 2: P R Q P Supistetaan P pois ja saadaan sääntö A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 20

21 VII Resoluutio (2) Mekanismilla voidaan mekaanisesti todistaa lauseita Logiikkaohjelmoinnissa tarvitaan vielä universaalikvanttorin eliminointia Käyttö, kun halutaan todistaa jokin väite: 1.Esitetään väite Hornin klausuulin oikeana puolena 2.Klausuuli yhdistetään tunnettuihin sääntöihin 3.Resoluutiolla tyhjä klausuuli -> väite on tosi Väitettä voidaan myös nimittää kyselyksi (query) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 21

22 VII Resoluutio (Esimerkki) Oletetaan säännöt (1) jalat(x,2) nisäkäs(x) kädet(x,2) (2) jalat(x,4) nisäkäs(x) kädet(x,0) (3) nisäkäs(lammas) (4) kädet(lammas,0) Halutaan todistaa väite jalat(lammas,4) 1. Kirjoitetaan Hornin klausuulin oikeana puolena jalat(lammas,4) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 22

23 VII Resoluutio (Esimerkki) 2. Yhdistellään tunnettuihin sääntöihin. Yhdistetään sääntöön (2) jalat(x,4) nisäkäs(x) kädet(x,0) jalat(lammas,4) Korvataan x vakiolla lammas jalat(lammas,4) nisäkäs(lammas) kädet(lammas,0) jalat(lammas,4) Resoluutio, supistetaan jalat(lammas,4) nisäkäs(lammas) kädet(lammas,0) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 23

24 VII Resoluutio (Esimerkki) Yhdistetään sääntöön (3) nisäkäs(lammas) nisäkäs(lammas) kädet(lammas,0) Resoluutio, supistetaan nisäkäs(lammas) kädet(lammas,0) Yhdistetään sääntöön (4) kädet(lammas,0) kädet(lammas,0) 3. Resoluutio, supistetaan kädet(lammas,0) Saatiin tyhjä lause, joten väite on tosi A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 24

25 VII.3. Prolog Yleisin logiikkaohjelmointikieli Suunnittelijat Colmerauer, Roussel ja Kowalski Ensimmäinen Prolog tulkki implementoitiin Marseillessa vuonna 1972 Monia murteita, syntaksit vaihtelevat Edinburghin yliopiston versio jonkinlaisen standardin asemassa Olemassa myös ISO-standardi Ei puhtaasti logiikkaohjelmointikieli Imperatiivisia piirteitä A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 25

26 VII.3. Prolog (2) Perustuu Hornin klausuuleihin Notaatio: esi_isa(x,y) vanhempi(x,z) esi_isa(z,y) kirjoitetaan Prologissa esi_isa(x,y) :- vanhempi(x,z), esi_isa(z,y). Nimeäminen: Muuttujien nimet alkavat isolla kirjaimella Muuten alkukirjain pieni Prologin jokainen lause päättyy pisteeseen A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 26

27 VII.3.1. Prolog-ohjelmoinnin perusteet Peruslauseista oletetun tiedon tietokanta Voidaan johtaa uutta tietoa Prologin peruslausetyypit Lauseet, jotka vastaavat Hornin klausuulien vasenta puolta Katsotaan faktoiksi, ts. tulkitaan loogisesti tosiksi lauseiksi Lauseet jotka vastaavat varsinaisia Hornin klausuuleja Sanotaan myös säännöiksi Kysely (query) eli maalilause (goal) Väite, joka halutaan todistaa Esitetään tulkille samassa muodossa kuin faktat A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 27

28 VII.3.1. Prolog-ohjelmoinnin perusteet (2) Esimerkki. Oletetaan, että tietokantaan on syötetty lauseet esi_isa(x,y) :- vanhempi(x,z), esi_isa(z,y). esi_isa(x,x). vanhempi(nooa,haam). Kyselyt esi_isa(nooa,haam) -> yes esi_isa(haam,nooa) -> no esi_isa(x,haam) -> X=nooa A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 28

29 VII.3.1. Prolog-ohjelmoinnin perusteet (3) Aritmetiikka Prologissa Sisältää määrittelyt aritmeettisille operaatiolle ja lausekkeiden evaluoinnille On kerrottava, milloin aritmeettista lauseketta tarkastellaan lausekkeena ja milloin se on evaluoitava, esim. write(5+6). -> (5+6) X is 5+6, write(x). -> X= = 5+3 -> no (vertaillaan lausekkeina) Voidaan kirjoittaa vertailupredikaatti sama_arvo(termi1,termi2) :- X is Termi1, Y is Termi2, X=Y. sama_arvo(3+5,5+3) -> yes A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 29

30 VII.3.2. Prologin toimintamekanismista Instantiointi (instantiation) Muuttujalle annetaan tyyppi ja arvo Liittäminen (unification) Prosessi, jolla kaksi muuttujaa instantioidaan niin, että muuttujat täsmäävät resoluutiossa -> Ovat jossakin mielessä samat Ilmaistaan yhtäsuuruudella (=) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 30

31 VII.3.2. Prologin toimintamekanismista (2) Esimerkkejä liittämisestä a = a -> yes (liittäminen onnistui) *x++=*y++ a = b -> no (eri vakioiden liittäminen ei onnistu) a = X -> X = a (muuttuja, jota ei ole instantioitu, liittyy mihin tahansa ja instantioituu tällä) f(a,z) = f(y,b) -> Z = b -> Y = a (liittäminen onnistuu kun Z=b ja Y = a) f(x) = g(x) -> no (kahden eri funktion liittäminen ei onnistu) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 31

32 VII.3.2. Prologin toimintamekanismista (3) Resoluutio Prologissa Strategia, jolla johdetaan kyselyn tulos Hakustrategia syvyyssuntainen (depth-first) Resoluutiota sovelletaan täysin lineaarisesti siten, että maaleja korvataan vasemmalta oikealle ja tietokannan klausuuleja käydään läpi ylhäältä alaspäin Tehokas menetelmä *x++=*y A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 32

33 Esimerkki. Tietokannassa lauseet (1) esi_isa(x,y) :- vanhempi(x,z), esi_isa(z,y). (2) esi_isa(x,x). (3) vanhempi(nooa,haam). Annettu maali esi_isa(x,haam) -> saadaan alimaalien hakupuu Lause 3 Lause 1 Lause 1 vanhempi(x,z), esi_isa(z,haam) esi_isa(haam,haam) {X=nooa} esi_isa(x,haam) Lause 2 Lause 2 {X=haam} success vanhempi(haam,z), esi_isa(z,haam) fail {X=nooa} success A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 33

34 VII.3.2. Prologin toimintamekanismista (4) Perääntyminen (backtracking) Prolog palauttaa ensimmäisen vastaantulevan ratkaisun *x++=*y++ Jos ratkaisuja halutaan lisää, puussa peräydytään kunnes löydetään uusia haaroja, joita voidaan kulkea Peräytymismekanismia voidaan käyttää silmukoiden ja toistuvien hakujen toteuttamiseen Pakotetaan etsinnän jatkaminen, vaikka ratkaisu löytyykin (predikaatti fail) Haku katkaistaan operaattorilla! -> ikuiset hakuprosessit voidaan ehkäistä A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 34

35 VII.3.3. Prologin listat Perusrakenteita Prologissa Muistuttavat syntaksiltaan Haskellin listoja Lista = [eka, toka, kolmas]. Listojen purkumekanismi: merkintä [H T] lista, jonka pää on H ja häntä T. Listojen yhdistäminen: funktio append append($lista,[nelj],klista). -> Klista = [eka, toka, kolmas, nelj] A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 35

36 VII.3.3. Prologin listat (2) Voidaan käyttää liittämistä:?-append(x,y,[1,2]). X = [], Y = [1, 2]; X = [1], Y = [2]; X = [1, 2], Y = []; false A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 36

37 VII.3.3. Prologin listat (3) Esimerkki. Listan kääntämisoperaatio kaanna([],[]). kaanna([h T],K) :- kaanna(t,k1),append(k1,[h],k) A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 37

38 VII.3.4. Prologin puutteita Syvyyssuuntaisen hakustrategian puutteet Tehokas, mutta ei kestä vasemmanpuoleista rekursiota Liittämisalgoritmin ongelmat Prologin liittämisalgoritmi oikeastaan epäkorrekti Joutuu tietyissä tapauksissa ikuiseen rekursioon Tehokkaat korrektit algoritmit monimutkaisia A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 38

39 VII.3.3. Prologin puutteita (2) Negaatio ei ole looginen negaatio Suljetun maailman oletus : Jos väitettä ei voida todistaa oikeaksi, se oletetaan vääräksi Vastaus no tarkoittaa ainoastaan, että lausetta ei voitu johtaa -> ei tarkoita että olisi epätosi Ratkaisun spesifiointi ei yleensä riitä Voi johtaa verrattoman tehottomiin ratkaisuihin (esimerkiksi lajittelussa) -> Ohjelmoijan kirjoitettava ratkaisun yksityiskohdat -> Alkaa muistuttaa perinteisempää ohjelmointia A Ohjelmointikielten periaatteet, Logiikkaohjelmointi 39

815338A Ohjelmointikielten periaatteet: Logiikkaohjelmointi. Logiikkaohjelmointi

815338A Ohjelmointikielten periaatteet: Logiikkaohjelmointi. Logiikkaohjelmointi Logiikkaohjelmointi Tässä osassa käsitellään toista deklaratiivisen ohjelmoinnin paradigmaa eli logiikkaohjelmointia. Pääasiallisena lähteenä on käytetty Sebestan ([Seb]) lukua 16. Maarit Harsun teoksen

Lisätiedot

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010 kielenä 9. joulukuuta 2010 Historia kielenä Historia Sovelluksia kehitettiin vuonna 1972 Kehittäjinä ranskalaiset Pääkehittäjä Alain Colmerauer Philippe Roussel programmation en logique Robert Kowalski

Lisätiedot

LOGIIKKA johdantoa

LOGIIKKA johdantoa LOGIIKKA johdantoa LUKUTEORIA JA TO- DISTAMINEN, MAA11 Logiikan tehtävä: Logiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat päättelyt

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 3. Logiikka 3.1 Logiikka tietojenkäsittelyssä Pyritään formalisoimaan terveeseen järkeen perustuva päättely Sovelletaan monella alueella tietojenkäsittelyssä, esim.

Lisätiedot

FI3 Tiedon ja todellisuuden filosofia LOGIIKKA. 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan:

FI3 Tiedon ja todellisuuden filosofia LOGIIKKA. 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan: LOGIIKKA 1 Mitä logiikka on? päättelyn tiede o oppi muodollisesti pätevästä päättelystä 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan: sisältö, merkitys: onko jokin premissi

Lisätiedot

Predikaattilogiikkaa

Predikaattilogiikkaa Predikaattilogiikkaa UKUTEORIA JA TO- DISTAMINEN, MAA11 Kertausta ogiikan tehtävä: ogiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat

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

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

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

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

-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

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

PROPOSITIOLOGIIKAN RIITTÄMÄTTÖMYYS

PROPOSITIOLOGIIKAN RIITTÄMÄTTÖMYYS 67 PROPOSITIOLOGIIKAN RIITTÄMÄTTÖMYYS Jo äärimmäisen yksinkertaisessa peliesimerkissämme propositiologiikan ilmaisuvoima osoittautuu riittämättömäksi Tietämyskannan alustamiseksi pelin säännöillä meidän

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

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

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

Diskreetit rakenteet. 3. Logiikka. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1

Diskreetit rakenteet. 3. Logiikka. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1 811120P 3. 5 op Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1 ja laskenta tarkastelemme terveeseen järkeen perustuvaa päättelyä formaalina järjestelmänä logiikkaa sovelletaan

Lisätiedot

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet ) T-79.144 Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3-3.4) 2 5.11.2005 1. Olkoon R kaksipaikkainen predikaattisymboli, jonka tulkintana on relaatio R A

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2017-2018 Yhteenveto Yleistä kurssista Kurssin laajuus 5 op Luentoja 30h Harjoituksia 21h Itsenäistä työskentelyä n. 80h 811120P Diskreetit rakenteet, Yhteenveto 2 Kurssin

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

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

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

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

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

T Kevät 2006 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

T Kevät 2006 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet ) T-79.3001 Kevät 2006 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3 3.4) 21. 24.3.2006 1. Olkoon R kaksipaikkainen predikaattisymboli, jonka tulkintana on relaatio

Lisätiedot

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

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset 1. Etsi lauseen (p 0 (p 1 p 0 )) p 1 kanssa loogisesti ekvivalentti lause joka on (a) disjunktiivisessa

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet MS-A0402 Diskreetin matematiikan perusteet Osa 1: Joukko-oppi ja logiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kiitokset Nämä luentokalvot perustuvat Gustaf

Lisätiedot

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (Predikaattilogiikka )

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (Predikaattilogiikka ) T-79.3001 Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (Predikaattilogiikka 10.3. 11.4) 26. 30.3. 2009 Ratkaisuja demotehtäviin Tehtävä 10.5 Allaolevat kolme graafia pyrkivät selventämään

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

Luonnollisen päättelyn luotettavuus

Luonnollisen päättelyn luotettavuus Luonnollisen päättelyn luotettavuus Luotettavuuden todistamiseksi määrittelemme täsmällisesti, milloin merkkijono on deduktio. Tässä ei ole sisällytetty päättelysääntöihin iteraatiosääntöä, koska sitä

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

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 2 Ratkaisuehdotukset 1. Olkoon totuusjakauma v sellainen että v(p i ) = 1 kaikilla i N ja A propositiolause, jossa

Lisätiedot

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut T-79.5101 kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun juureen

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

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat. Approbatur 3, demo 1, ratkaisut 1.1. A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat. Käydään kaikki vaihtoehdot läpi. Jos A on rehti, niin B on retku, koska muuten

Lisätiedot

3. Predikaattilogiikka

3. Predikaattilogiikka 3. Predikaattilogiikka Muuttuja mukana lauseessa. Ei yksikäsitteistä totuusarvoa. Muuttujan kiinnittäminen määrän ilmaisulla voi antaa yksikäsitteisen totuusarvon. Esimerkki. Lauseella x 3 8 = 0 ei ole

Lisätiedot

T Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut

T Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut T-79.146 Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 Kertausta toiseen välikokeeseen Yhteenveto Kurssin sisältö 1. Algoritmin käsite 2. Lukujärjestelmät ja niiden muunnokset; lukujen esittäminen tietokoneessa 3. Logiikka

Lisätiedot

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen! Matematiikan johdantokurssi Kertausharjoitustehtävien ratkaisuja/vastauksia/vihjeitä. Osoita todeksi logiikan lauseille seuraava: P Q (P Q). Ratkaisuohje. Väite tarkoittaa, että johdetut lauseet P Q ja

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

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

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

5.1 Semanttisten puiden muodostaminen

5.1 Semanttisten puiden muodostaminen Luku 5 SEMNTTISET PUUT 51 Semanttisten puiden muodostaminen Esimerkki 80 Tarkastellaan kysymystä, onko kaava = (( p 0 p 1 ) (p 1 p 2 )) toteutuva Tätä voidaan tutkia päättelemällä semanttisesti seuraavaan

Lisätiedot

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C. T-79.3001 Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka 6.1 7.2) 27. 29.2.2008 Ratkaisuja demotehtäviin Tehtävä 6.1 a) A (B C) Poistetaan lauseesta ensin implikaatiot.

Lisätiedot

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

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet ) T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet 9.1 9.5) 30.11. 3.12.2004 1. Osoita lauselogiikan avulla oheisten ehtolausekkeiden ekvivalenssi. (a)!(a

Lisätiedot

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...

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

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

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 11 (predikaattilogiikka )

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 11 (predikaattilogiikka ) T-79.3001 Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 11 (predikaattilogiikka 14.1 14.5) 23. 25.4.2008 Ratkaisuja demotehtäviin Tehtävä 14.1 Herbrand-universumi U muodostuu termeistä,

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

Todistamisessa on tärkeää erottaa tapaukset, kun sääntö pätee joillakin tai kun sääntö pätee kaikilla. Esim. On olemassa reaaliluku x, jolle x = 5.

Todistamisessa on tärkeää erottaa tapaukset, kun sääntö pätee joillakin tai kun sääntö pätee kaikilla. Esim. On olemassa reaaliluku x, jolle x = 5. 3.4 Kvanttorit Todistamisessa on tärkeää erottaa tapaukset, kun sääntö pätee joillakin tai kun sääntö pätee kaikilla. Esim. On olemassa reaaliluku x, jolle x = 5. Kaikilla reaaliluvuilla x pätee x+1 >

Lisätiedot

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa I

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa I MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa I G. Gripenberg Aalto-yliopisto 30. syyskuuta 2015 G. Gripenberg (Aalto-yliopisto) MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, 30.

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

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka ) T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 opetusmoniste, lauselogiikka 2.1-3.5) 21 24.9.2004 1. Määrittele lauselogiikan konnektiivit a) aina epätoden lauseen ja implikaation

Lisätiedot

Toinen muotoilu. {A 1,A 2,...,A n,b } 0, Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun 1 / 13

Toinen muotoilu. {A 1,A 2,...,A n,b } 0, Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun 1 / 13 2 3 Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun {A 1,A 2,...,A n,b } 0, jatkoa jatkoa 1 / 13 2 3 Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin

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

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Roosa Niemi. Riippuvuuslogiikkaa

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Roosa Niemi. Riippuvuuslogiikkaa TAMPEREEN YLIOPISTO Pro gradu -tutkielma Roosa Niemi Riippuvuuslogiikkaa Informaatiotieteiden yksikkö Matematiikka Syyskuu 2011 Tampereen yliopisto Informaatiotieteiden yksikkö ROOSA NIEMI: Riippuvuuslogiikkaa

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

Johdatus matematiikkaan

Johdatus matematiikkaan Johdatus matematiikkaan Luento 3 Mikko Salo 1.9.2017 Sisältö 1. Logiikasta 2. Suora ja epäsuora todistus 3. Jaollisuus ja alkuluvut Todistus Tähän asti esitetyt todistukset ovat olleet esimerkinomaisia.

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

LOGIIKKA, TIETÄMYS JA PÄÄTTELY

LOGIIKKA, TIETÄMYS JA PÄÄTTELY 36 LOGIIKKA, TIETÄMYS JA PÄÄTTELY Ryhdymme nyt tarkastelemaan tietämyskannan (knowledge base, KB omaavia agentteja KB:n avulla agentti pyrkii pitämään yllä tietoa vain osittain havainnoimastaan maailmasta

Lisätiedot

Rakenteiset päättelyketjut ja avoin lähdekoodi

Rakenteiset päättelyketjut ja avoin lähdekoodi Rakenteiset päättelyketjut ja avoin lähdekoodi Mia Peltomäki Kupittaan lukio ja Turun yliopiston IT-laitos http://crest.abo.fi /Imped Virtuaalikoulupäivät 24. marraskuuta 2009 1 Taustaa Todistukset muodostavat

Lisätiedot

Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan erilaisia todistustekniikoita. Luentokalvoista 11, sekä voi olla apua.

Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan erilaisia todistustekniikoita. Luentokalvoista 11, sekä voi olla apua. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 2 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan erilaisia todistustekniikoita. Luentokalvoista 11, 15-17

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

Unify( Tuntee(Jussi, x), Tuntee(y, z) ) { y/jussi, z/x } { y/jussi, x/jussi, z/jussi }

Unify( Tuntee(Jussi, x), Tuntee(y, z) ) { y/jussi, z/x } { y/jussi, x/jussi, z/jussi } 98 Ongelman edellä aiheuttaa saman muuttujanimen käyttö Toisaalta eri lauseiden muuttujanimillä ei ole merkitystä (ennen sidontaa) ja muuttujien nimentä voidaan standardoida Mahdollisia samaistuksia on

Lisätiedot

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen! Matematiikan johdantokurssi Kertausharjoitustehtävien ratkaisuja/vastauksia/vihjeitä. Osoita todeksi logiikan lauseille seuraava: P Q (P Q). Ratkaisuohje. Väite tarkoittaa, että johdetut lauseet P Q ja

Lisätiedot

Todistusteoriaa. Kun kielen syntaksi on tarkasti määritelty, voidaan myös määritellä täsmällisesti, mitä pätevällä päättelyllä tarkoitetaan.

Todistusteoriaa. Kun kielen syntaksi on tarkasti määritelty, voidaan myös määritellä täsmällisesti, mitä pätevällä päättelyllä tarkoitetaan. Todistusteoriaa Kun kielen syntaksi on tarkasti määritelty, voidaan myös määritellä täsmällisesti, mitä pätevällä päättelyllä tarkoitetaan. Todistusteoriassa annetaan joukko aksioomia ja päättely- sääntöjä,

Lisätiedot

Entscheidungsproblem

Entscheidungsproblem Entscheidungsproblem Antti-Juhani Kaijanaho 24. kesäkuuta 2013 Entscheidungsproblem eli ratkaisuongelma kysyy, millä mekaanisella menetelmällä voisi selvittää, onko mielivaltainen annettu ensimmäisen kertaluvun

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

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

2. Minkä joukon määrittelee kaava P 0 (x 0 ) P 1 (x 0 ) mallissa M = ({0, 1, 2, 3}, P M 0, P M 1 ), kun P M 0 = {0, 1} ja P M 1 = {1, 2}?

2. Minkä joukon määrittelee kaava P 0 (x 0 ) P 1 (x 0 ) mallissa M = ({0, 1, 2, 3}, P M 0, P M 1 ), kun P M 0 = {0, 1} ja P M 1 = {1, 2}? HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan II, syksy 2018 Harjoitus 4 Ratkaisuehdotukset 1. Mitkä muuttujat esiintyvät vapaina kaavassa x 2 ( x 0 R 0 (x 1, x 2 ) ( x 3 R 0 (x 3, x 0

Lisätiedot

Entscheidungsproblem

Entscheidungsproblem Entscheidungsproblem Antti-Juhani Kaijanaho 10. joulukuuta 2015 Entscheidungsproblem eli ratkaisuongelma kysyy, millä mekaanisella menetelmällä voisi selvittää, onko mielivaltainen annettu ensimmäisen

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

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

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa I

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa I MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetyhteenveto, 3. osahuhtikuuta

Lisätiedot

b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu.

b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu. Johdatus yliopistomatematiikkaan Helsingin yliopisto, matematiikan ja tilastotieteen laitos Kurssikoe 23.10.2017 Ohjeita: Vastaa kaikkiin tehtäviin. Ratkaisut voi kirjoittaa samalle konseptiarkille, jos

Lisätiedot

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

Vaihtoehtoinen tapa määritellä funktioita f : N R on Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: 1 (Alkuarvot) Ilmoitetaan funktion arvot

Lisätiedot

4 Matemaattinen induktio

4 Matemaattinen induktio 4 Matemaattinen induktio Joidenkin väitteiden todistamiseksi pitää näyttää, että kaikilla luonnollisilla luvuilla on jokin ominaisuus P. Esimerkkejä tällaisista väitteistä ovat vaikkapa seuraavat: kaikilla

Lisätiedot

815338A Ohjelmointikielten periaatteet

815338A Ohjelmointikielten periaatteet 815338A Ohjelmointikielten periaatteet 2015-2016 VI Funktionaalinen ohjelmointi Sisältö 1. Johdanto ja peruskäsitteitä 2. LISP- ja Scheme-kielet 3. Haskell 4. IO funktionaalisissa kielissä 5. Muita funktionaalisia

Lisätiedot

Propositiot: Propositiot ovat väitelauseita. Totuusfunktiot antavat niille totuusarvon T tai E.

Propositiot: Propositiot ovat väitelauseita. Totuusfunktiot antavat niille totuusarvon T tai E. Propositiot: Propositiot ovat väitelauseita. Totuusfunktiot antavat niille totuusarvon T tai E. Perusaksioomat: Laki 1: Kukin totuusfunktio antaa kullekin propositiolle totuusarvoksi joko toden T tai epätoden

Lisätiedot

Lauselogiikka Tautologia

Lauselogiikka Tautologia Lauselogiikka Tautologia Hannu Lehto Tautologia Annetuista lauseista loogisilla konnektiiveillä saatu yhdistetty lause on on tautologia(pätevä), jos se on aina tosi siis riippumatta annettujen lauseiden

Lisätiedot

Opintomoniste logiikan ja joukko-opin perusteista

Opintomoniste logiikan ja joukko-opin perusteista TAMPEREEN YLIOPISTO Pro gradu -tutkielma Kari Lammi Opintomoniste logiikan ja joukko-opin perusteista Luonnontieteiden tiedekunta Matematiikka Toukokuu 2018 2 Tampereen yliopisto Luonnontieteiden tiedekunta

Lisätiedot

Kieli merkitys ja logiikka

Kieli merkitys ja logiikka Luento 8 Kieli merkitys ja logiikka Luento 8: Merkitys ja logiikka Luku 10: Luennon 7 kertaus: propositiologiikka predikaattilogiikka Kvanttorit ja looginen muoto Määritelmät, analyyttisyys ja synteettisyys

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 matemaattiseen päättelyyn

Johdatus matemaattiseen päättelyyn Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä Luonnollisten lukujen joukko N on joukko N = {1, 2, 3,...} ja kokonaislukujen

Lisätiedot

Vastaoletuksen muodostaminen

Vastaoletuksen muodostaminen Vastaoletuksen muodostaminen Vastaoletus (Antiteesi) on väitteen negaatio. Sitä muodostettaessa on mietittävä, mitä tarkoittaa, että väite ei ole totta. Väite ja vastaoletus yhdessä sisältävät kaikki mahdolliset

Lisätiedot

Reaalifunktioista 1 / 17. Reaalifunktioista

Reaalifunktioista 1 / 17. Reaalifunktioista säilyy 1 / 17 säilyy Jos A, B R, niin funktiota f : A B sanotaan (yhden muuttujan) reaalifunktioksi. Tällöin karteesinen tulo A B on (aiempia esimerkkejä luonnollisemmalla tavalla) xy-tason osajoukko,

Lisätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.

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

ALGORITMI- MATEMATIIKKA. Keijo Ruohonen

ALGORITMI- MATEMATIIKKA. Keijo Ruohonen ALGORITMI- MATEMATIIKKA Keijo Ruohonen 1993 Kirjallisuutta ANDERSON, I.: A First Course in Combinatorial Mathematics. Oxford University Press (1979) GRAHAM, R.L. & KNUTH, D.E. & PATASHNIK, O.: Concrete

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Heidi Luukkonen. Sahlqvistin kaavat

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Heidi Luukkonen. Sahlqvistin kaavat TAMPEREEN YLIOPISTO Pro gradu -tutkielma Heidi Luukkonen Sahlqvistin kaavat Informaatiotieteiden yksikkö Matematiikka Maaliskuu 2013 Tampereen yliopisto Informaatiotieteiden yksikkö LUUKKONEN, HEIDI: Sahlqvistin

Lisätiedot

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat jen Kahden joukon A ja B samuutta todistettaessa kannattaa usein osoittaa, että A on B:n osajoukko ja että B on A:n osajoukko. Tällöin sovelletaan implikaation ja ekvivalenssin yhteyttä. Lause 5. (s. 50).

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

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 10 Todistamisesta Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 Samuuden todistaminen usein onnistuu ihan laskemalla

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

11.4. Context-free kielet 1 / 17

11.4. Context-free kielet 1 / 17 11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä

Lisätiedot

Matematiikan peruskurssi 2

Matematiikan peruskurssi 2 Matematiikan peruskurssi Tentti, 9..06 Tentin kesto: h. Sallitut apuvälineet: kaavakokoelma ja laskin, joka ei kykene graaseen/symboliseen laskentaan Vastaa seuraavista viidestä tehtävästä neljään. Saat

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

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