815338A Ohjelmointikielten periaatteet
|
|
- Otto Aho
- 7 vuotta sitten
- Katselukertoja:
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
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ätiedotProlog 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ätiedotLOGIIKKA 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ätiedot811120P 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ätiedotFI3 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ätiedotPredikaattilogiikkaa
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ätiedotInsinöö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ätiedotNimitys 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ätiedotLoogiset 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ätiedotLAUSELOGIIKKA (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 -mustavalkoinen: asia joko on tai ei (vrt. humanistiset tieteet, ei
LisätiedotLisää 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ätiedotPROPOSITIOLOGIIKAN 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ätiedotT 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ätiedot815338A 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ätiedotLogiikan 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ätiedotDiskreetit 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ätiedotT 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ätiedot811120P 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ätiedotLogiikka 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ätiedot815338A 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ätiedotPikapaketti 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ätiedotJohdatus 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ätiedotKesä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ätiedotT 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ätiedotHY / 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ätiedotMS-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ätiedotT 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ätiedotTIEA241 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ätiedotLuonnollisen 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ätiedot1 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ätiedotRatkaisu: 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ätiedotT 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ätiedot13. 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ätiedotApprobatur 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ätiedot3. 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ätiedotT 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ätiedot811120P 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ätiedotmissä 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ätiedotPredikaattilogiikan 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ätiedotKirjoita 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ätiedot1. 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ätiedot5.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ätiedotT 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ätiedotT 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ätiedotAlgebralliset 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ätiedotMatematiikan 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ätiedot13. 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ätiedotT 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ätiedot815338A 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ätiedotTodistamisessa 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ätiedotMS-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ätiedotRatkaisu: 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ätiedotT 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ätiedotToinen 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ätiedotMS-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ätiedotTAMPEREEN 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ätiedotMS-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ätiedotJohdatus 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ätiedotTehtä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ätiedotLOGIIKKA, 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ätiedotRakenteiset 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ätiedotTehtä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ätiedotTodistusmenetelmiä 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ätiedotUnify( 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ätiedotmissä 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ätiedotTodistusteoriaa. 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ätiedotEntscheidungsproblem
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ätiedot811120P 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ätiedotITKP102 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ätiedot2. 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ätiedotEntscheidungsproblem
Entscheidungsproblem Antti-Juhani Kaijanaho 10. joulukuuta 2015 Entscheidungsproblem eli ratkaisuongelma kysyy, millä mekaanisella menetelmällä voisi selvittää, onko mielivaltainen annettu ensimmäisen
LisätiedotKarteesinen 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ätiedotRekursio. 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ätiedotMS-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ätiedotb) 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ätiedotVaihtoehtoinen 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ätiedot4 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ätiedot815338A 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ätiedotPropositiot: 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ätiedotLauselogiikka 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ätiedotOpintomoniste 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ätiedotKieli 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ätiedotTIEA241 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ätiedotJohdatus 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ätiedotVastaoletuksen 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ätiedotReaalifunktioista 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ätiedotAlgoritmit. 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ätiedotReaalilukuvä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ätiedotALGORITMI- 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ätiedotAlkuarvot 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ätiedotTAMPEREEN 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ätiedotLause 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ätiedotMatematiikan 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ätiedotTIEA341 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ätiedotKonnektiivit. 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ätiedot11.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ätiedotMatematiikan 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ätiedotMatematiikan 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ätiedotHY / 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