Tietotekniikka ja diskreetti matematiikka Tietotekniikassa Epäjatkuvan matematiikan (diskreetin matematiikan) välineitä. Ongelmien ja ratkaisujen kuvaus. Tavoite: Perehdytään tavanomaisimpiin käytetyistä välineistä ja niiden tavanomaisimpiin ominaisuuksiin. Lukutaidon saavuttaminen, ei matemaattisiin teorioihin perehtyminen. Ajattelun matematiikka Logiikka = "oppi oikeasta ajattelusta". Logiikka kehittää välineitä pohdittavan asian (=lause) totuusarvon määräämiseksi. Logiikan säännöt Tarkka merkitys matemaattisille väittämille. Tietotekniikassa: Piirisuunnittelu, ohjelmointi, ohjelmien oikeaksi todistaminen, tekoälytutkimus jne.
Logiikka ei puutu siihen, onko jokin perusväite sellaisenaan tosi. Se pyrkii tilanteessa, jossa tietyt väitteet on hyväksytty tosiksi, ratkaisemaan mitä muita näitä väitteestä johdettuja väitteitä on pidettävä tosina. Esimerkki. Olkoot A: Opiskelijat lukevat paljon. B: Teekkarit ovat opiskelijoita. C: Teekkarit lukevat paljon. Ovatko A ja B totta? Logiikka ei anna vastausta Jos tiedetään, että A ja B ovat tosia, niin logiikan mukaan myös C on tosi Totuusarvojen lukumäärä Yksinkertaisessa muodossa katsotaan totuusarvoja olevan kaksi: tosi ja epätosi 2-arvoinen logiikka. Arkipäivän tilanteissa käytetään n-arvoista logiikkaa, n 3 Moniarvoinen logiikka Epävarmuus lauseen totuusarvosta Sumea logiikka
Kurssilla käsitellään: lauselogiikkaa (propositiologiikkaa) (2-arvoinen) predikaattilogiikkaa (2-arvoinen) Pohdittava asia on lause logiikan mielessä (=LLM), jos ko. asian totuusarvo (looginen arvo) voidaan määrätä yksikäsitteisesti. Kaikki luonnollisen kielen lauseet eivät ole logiikan mielessä lauseita. Esimerkki. Ovatko seuraavat luonnollisen kielen lauseet lauseita logiikan kannalta? a) "Tietotekniikan matematiikan kurssissa on viisi välikoetta" b) "Salissa on videotykki" c) "USA:n presidentinvaalikampanja on hillitty ja sivistynyt" d)"onko verosuunnittelu sallittua?" e)"x 3 + 4 = 12" Ratk.... Tarkastellaan 2-arvoista logiikkaa. Totuusarvot ovat tosi (=T) ja epätosi (=E).
Määritelmä Lauseita yhdistellä erityisillä yhdistäjillä (konnektiiveilla, toimituksilla). Yhdistäjiä (toimituksia): on 1- ja 2- paikkaisia. Tavallisten yhdistäjien vastineet luonnollisessa kielessä: 2- paikkaiset: ja, tai, jos..., niin..., nämä toimitukset koskevat aina kahta lausetta 1- paikkaiset: ei, toimitus koskee yhtä lausetta kerrallaan. Symbolit Suusanalliset lauseet korvataan merkeillä A, B,... Yhdistäjät: = ja = tai = jos, niin = ei Lauseelle merkkimuotoinen (=symbolimuotoinen) esitys. Lause Aurinko paistaa tai vesi on kylmää. on symbolimuotoisena: A B, kun merkitään: A: Aurinko paistaa B: Vesi on kylmää.
Muut merkinnät Yleisimmät merkinnät toimituksille: Toimitus Matem. nimitys Merkki Muita merkintöjä EI Negaatio ja NOT JA Konjunktio &, ja AND TAI Disjunktio + ja OR JOS... NIIN Implikaatio Esimerkki Esimerkki 2.2. Olkoot lauseet: A:"Iltapäivällä sataa " B:"Yöllä on hallaa". Lausu symbolimuodossa lauseet: a)"iltapäivällä ei sada ja yöllä on hallaa" b)"jos iltapäivällä sataa, niin yöllä ei ole hallaa." Ratk. a) A (B) b) A (B ).
Määritelmiä Yhdistetty lause: Lause, joka on pantu kokoon muista lauseista toimitusten avulla. Alkeislause: Lause, joka ei ole yhdistetty lause. Määrättäessä yhdistetyn lauseen totuusarvoa, lause puretaan alkeislauseisiin ja niitä yhdistäviin toimituksiin. Totuustaulut Lauseiden A B, A B ja A totuustaulut: A B A B T T T T E E E T E E E E A B A B T T T T E T E T T E E E A A T E E T A B on tosi vain kun sekä A että B ovat tosia. A B on tosi vain kun jompikumpi tai molemmat lauseista A ja B ovat tosia.
Jos, niin rakenne "Tavallisessa"päättelyssä esiintyy "jos... niin-päätelmiä. Sen vastine lauselogiikassa on implikaatio A B. Miten määritellään implikaation A B totuusarvo? Esimerkki 2.3. C: "Jos saan ison lottovoiton, niin annan 100 000 euroa hyväntekeväisyyteen" Merkitään: A:"Saan ison lottovoiton" B:"Annan 100 000 euroa hyväntekeväisyyteen" Silloin C on symbolimuodossa A B. C on tosi jos sekä A, että B ovat tosia C on epätosi, jos A on tosi ja B epätosi. Lauseella C on merkitystä vain kun A on tosi. Lauselogiikan lauseilla aina totuusarvo, myös tapauksessa A on epätosi. Yhdistetyn lauseen C totuusarvon tapauksessa A on epätosi, ei saa "estää"lauseen todenperäisyyttä. Lausetta C ei voida pitää epätotena vain sen perusteella, että lottovoittoa ei tule. Tämän vuoksi lause A B on tosi aina kun A on epätosi.
Implikaation totuustaulu Lauseen A B totuustaulu on seuraava: A B A B T T T T E E E T T E E T A B on tosi, vain kun A on epätosi tai sekä A, että B ovat tosia. "Jos tänään on perjantai, niin 2+3=5"on tosi joka päivä. "Jos tänään on perjantai, niin 2+3=6"on tosi muina päivinä, paitsi perjantaina. Implikaation osat Lauseessa A B A = oletus B=johtopäätös.
Esimerkki 2.4. "Jos saan ison lottovoiton, niin annan 100 000 euroa hyväntekeväisyyteen" Muita vastaavia ilmaisuja: a)"annan 100 000 euroa hyväntekeväisyyteen, jos saan ison lottovoiton." b)"ison lottovoiton saamisesta seuraa 100 000 euron anto hyväntekeväisyyteen." c) "Olen saanut ison lottovoiton vain jos annan 100 000 euroa hyväntekeväisyyteeen." d) "Riittävä ehto 100 000 euron antamiselle hyväntekeväisyyteen on ison lottovoiton saaminen." e) "Annan 100 000 euroa hyväntekeväisyyteen silloin kun saan ison lottovoiton." f)"välttämätön ehto ison lottovoiton saamiselle on 100 000 euron antaminen hyväntekeväisyyteen." Implikaation ilmaisut Implikaatio A B: jos A niin B A:sta seuraa B A vain jos B A on riittävä ehto B:lle B jos A B on välttämätön ehto A:lle
If then rakenne Ohjelmointikielten if A then S rakenteessa ei pohdita lauseen if A then S totuusarvoa, vaan kysymyksessä on toimintakäsky: jos A tosi, niin suorita S jos A epätosi, älä suorita S:ää Jos ja vain jos Muita toimituksia:. A B on tosi jos A:lla ja B:llä samat totuusarvot ja muulloin epätosi. Totuustaulu: A B A B T T T T E E E T E E E T Toimituksen suusanallisia ilmaisuja: jos ja vain jos täsmälleen silloin kun.
Muut toimitukset Kaksipaikkaisia toimituksia on kaikkiaan 2 4 eli 16 kpl. Yleisimmin ovat käytössä NAND, NOR ja EXOR (=eksklusiivinen tai). A B A NAND B A NOR B A EXOR B T T E E E T E T E T E T T E T E E T T E Yhdistetyn lauseen totuusarvo Yhdistetyssä lauseessa jokainen alkeislause voi saada 2 mahdollista totuusarvoa. Lauseessa m alkeislausetta totuusarvoyhdistelmää. 2 2 2 2 = 2 m Totuustaulu on melko tehoton laskuväline.
Hyvin muodostetut ilmaisut Alkeislauseita ja toimituksia voidaan yhdistellä suluilla. Näin saadaan uusia yhdistettyjä lauseita. Hyvin muodostettu ilmaisu (=hmi, well-formed formula): Oikealla tavalla suluista toimituksista ja alkeislauseista muodostettu lause. (A B) (B A) on hmi B))8 (A)(((( ei ole Sopimus: Sulkujen määrän vähentämiseksi seuraavassa negaatio suoritetaan ennen muita toimituksia ja muut toimitukset toteutetaan järjestyksessä vasemmalta oikealle. Lause (A B ) C on sama kuin lause (A (B )) C, mutta eri kuin lause (A B) C. Esimerkki 2.5. Laske lauseen (A B) (A B) totuusarvot totuustaulujen avulla. Ratk....
Tautologia Seuraavassa kehitetään totuustaulua tehokkaampi algoritmi lauseen totuusarvon löytämiseksi: Tautologia on lause, joka on tosi jokaisella alkeislauseiden totuusarvojen yhdistelmällä.(=aina tosi). Tautologia A A : A A A (A ) T E T E T T Looginen yhtäpitävyys Lauseet A ja B ovat loogisesti yhtäpitäviä jos A:lla ja B:llä on aina samat totuustaulut. Tällöin merkitään A B. Toisin: A ja B loogisesti yhtäpitävät, jos A B on tautologia. ilmaisee kahden lauseen välisen suhteen; ei ole konnektiivi (=yhdiste, toimitus). Lause B seuraa loogisesti lauseesta A (merkittynä A B; ei ole konnektiivi (=yhdiste, toimitus)), jos B on tosi aina silloin kun A on tosi.
Looginen yhtäpitävyys 2 Huom. Jos A B ja B A niin tällöin A:n ja B:n totuustaulut ovat samat, siis A B. Hyvin usein looginen yhtäpitävyys korvataan merkillä = ja tällöin saadaan (merkinnällisiä) yhtälöitä. Esimerkki A B A B B A T T T T T E T T E T T T E E E E Siis eli A B B A A B = B A.
Loogisia yhtäpitävyyksiä Seuraavassa: 0 aina epätosi lause 1 on aina tosi lause. Silloin: 1a A B = B A 1b A B = B A 2a (A B) C = A (B C) 2b (A B) C = A (B C) 3a A (B C) = (A B) (A C) 3b A (B C) = (A B) (A C) 4a A 0 = A 4b A 1 = A 5a A (A ) = 1 5b A (A ) = 0 Todistus totuustaulujen avulla. Lauseiden korvaaminen Jos A = B, niin niin lauseilla A ja B on aina sama totuusarvo Siis A voidaan aina korvata B:llä (ja B A:lla) yhdistetyssä lauseessa. Näin voidaan osoittaa uusia loogisia yhtäpitävyyksiä.
Esimerkiksi: B (A B ) = (B A) (B B ) = (B A) 0 = B A. Siis B (A B ) = B A. Totuustaulujen avulla todistettiin aikaisemmin ns. Implikaatiosääntö: A B = A B. Esimerkki 2.6. Osoita de Morganin kaavat: (1) (A B) = A B (2) (A B) = A B Ratk. Kaava (1): A B A B (A B) A B (A ) (B ) T T T E E E E T E T E E T E E T T E T E E E E E T T T T
Esimerkki jatkoa Kaava (2): A B A B (A B) A B A B T T T E E E E T E E T E T T E T E T T E T E E E T T T T Eri tait on inklusiivinen (mukaansa sulkeva): A B on tosi myös silloin, kun sekä A ja B ovat tosia. Exklusiivinen tai (poissulkeva) (kts. toimitus EXOR): Joko A tai B mutta ei molemmat. Totuustauluilla voidaan osoittaa: A EXOR B = (A B) (A B). Esimerkki 2.7. Lausu eksklusiivinen tai inklusiivisen tain ja negaation avulla. Ratk....
Logiikka ja ohjelmointi On tilanteita, joissa logiikan merkintöjä käytetään hyväksi. Esimerkiksi algoritmien vuokaavioissa käytetään merkintöjä: missä tulos E määritellään Q P :ksi ja tulos T Q P:ksi. Esimerkki 2.8. Yksinkertaista alla oleva säätöjärjestelmää kuvaava ohjelman osa. If((Ulosvirtaus > Sisäänvirtaus)AND NOT((Ulosvirtaus>Sisäänvirtaus) AND (PAINE<1000)) Tee jotain ELSE Tee jotain muuta; Ratk. Olkoot A: Ulosvirtaus > Sisäänvirtaus B: Paine < 1000 If-lauseen ehto on symbolimuodossa A [(A B) ].
Nyt A [(A B) ] = A (A B ) = (A A ) (A B ) = A B Ohjelman osa yksinkertaisemmin: If((Ulosvirtaus > Sisäänvirtaus)AND NOT(PAINE<1000)) Tee jotain ELSE Tee jotain muuta; Logiikka ja luonnollinen kieli Luonnollisen kielen lauseet eivät välttämättä ole yksikäsitteisiä logiikan mielessä. Armoa ei Siperiaan Armoa ei, Siperiaan Armoa, ei Siperiaan
Esimerkki 2.9. Olkoot A: "Ulkona on aurinkoista", B: "Ilma on lämmin"ja C: "Ville pyöräilee Linnanmaalle". Muuta suusanalliseen muotoon lauseet: a)a (B C) b)(a B) C. Ratk. a) Ulkona on aurinkoista täsmälleen silloin, kun ilma on lämmin ja Ville pyöräilee Linnanmaalle. b) Ulkona on aurinkoista täsmälleen silloin kun ilma on lämmin, ja Ville pyöräilee Linnanmaalle. Lauseiden yksinkertaistaminen Edellä useita toimituksia ja tautologioita erilaisten lauseiden välillä. Voidaanko lauseissa käytettäviä toimituksia vähentää? Voidaanko lauseiden muotoa saattaa yhdenmukaiseksi?
DNF-muoto Logiikan lause on disjunktiivisessa normaalimuodossa=(dnf), jos se on muotoa D 1 D 2 D n, missä kukin disjunkti D i on muotoa D i = A i1 A i2 A imi, missä puolestaan jokainen literaali A ij on joko alkeislause tai alkeislauseen negaatio. A B (C D E ) (A B C ) on DNF-muodossa, kun A, B, C, D, E ovat alkeislauseita Jokainen logiikan lause voidaan muuntaa alkuperäisen lauseen kanssa loogisesti yhtäpitäväksi DNF-muotoiseksi lauseeksi. DNF-algoritmin kuvaus Input: Logiikan lause Output: Loogisesti yhtäpitävä DNF-lause Toiminnan kuvaus: Poista kaikki toimitukset ja yhtäpitävyyksien A B = (A B) (B A) ja A B = A B avulla. Muodosta literaaleja siirtämällä toimitus sulkujen sisälle käyttämällä De Morganin kaavoja (1) (A B) = A B ja (2) (A B) = A B Sovella osittelulakeja 3a) A (B C) = (A B) (A C) ja 3b) A (B C) = (A B) (A C) muodostaaksesi DNF-muodon.
Esimerkki 2.10 Määrää DNF muoto lauseelle (A B) (C (C A)). Ratk. (A B) (C (C A)) = [(A B) ] [(C (C A)] = A B [(C C ) (C A)] = (A B ) (C A) CNF-muoto Logiikan lause on konjunktiivisessa normaalimuodossa=(cnf), jos se on muotoa C 1 C 2 C n, missä kukin konjunkti C i on muotoa A ij :t ovat literaaleja. C i = A i1 A i2 A imi, A B (C D E ) (A B C ) on CNF-muodossa, kun A, B, C, D, E ovat alkeislauseita Voidaan osoittaa, että jokainen logiikan lause voidaan muuntaa alkuperäisen lauseen kanssa loogisesti yhtäpitäväksi CNF-muotoiseksi lauseeksi.
Esimerkki Esimerkki 2.11. Määrää CNF muoto lauseelle Ratk. (A B) (C (C A)) = [(A B) ] [(C (C A)] = (A B ) (C A) (A B) (C (C A)). = [A (C A)] [B (C A)] = (A C) [(B C) (B A)] = (A C) (B C) (B A). Klausa Huom.Disjunkteista ja konjunkteista käytetään usein yhteistä nimeä klausa(clause).
Päättelystä Arkielämän päättely: Esitämme faktoja Teemme niiden perusteella johtopäätöksen. Käytämme sanoja: Siksi, siis, koska, silloin, sen takia,... Johtopäätöstä esittäessä käytämme päättelysääntöjä joiden perusteella johtopäätös on tosi. Modus Ponens Modus Ponens: Yleisimmin käytetty päättelysääntö. A ja B lauseita: Lauseet A ja A B ovat tosia. Silloin myös B on tosi. Esimerkki: A: "Sataa", B: "Taivaalla on pilviä" A: "Sataa" A B: "Jos sataa, niin taivaalla on pilviä" tosia. B: "Taivaalla on pilviä"on tosi. Esimerkki: A: "Tukistan pikkusisarta", B: "Saan rangaistuksen" A: "Tukistan pikkusisarta"ja A B: "Jos tukistan pikkusisarta, niin saan rangaistuksen"tosia B: "Saan rangaistuksen"on tosi.
Non Sequitur Non Sequitur (=Ei seuraa): Valitettavan yleinen "päättelysääntö". Tosista väittämistä päätellään lause todeksi, vaikka sillä ei ole mitään tekemistä alkuperäisten väittämien kanssa. "Esimerkki": "Io on Jupiterin kuu"tosi. "Titan on Saturnuksen kuu Tosi. Siis "Maa on auringosta katsoen kolmas planeetta. "Esimerkki": "Yksikköni on ylivelkaantunut" "Yksikköni tulos on romahtanut" "Alaiseni irtisanoutuvat ja sairastelevat" Siis "Tarvitsen ylennyksen" Henkilökohtainen päättelymekanismi Jokaisella meistä oma päättelymekanismi: Asiat joita pidämme totena Säännöt joilla yritämme vakuuttaa toisille että jokin asia on tosi. Ihmisten välinen erimielisyys: Eroa Asioissa joita pidetään totena. Päättelysäännöissä Kommunikaatiokatkos!!
Kysymyksiä Onko olemassa yhteistä pohjaa päättelylle? Mitä päättely on? Milloin päättely on oikea? Voidaanko päättely formalisoida? Tarvitsenko minä tätä? Logiikka vastaa ainakin joihinkin yo. kysymyksiin. Totuustaulut/Päättely Totuustaulujen avulla voidaan löytää minkä tahansa lauseen totuusarvo. Tehoton mekanismi. Logiikan sovelluksissa (esim. tekoälysovelluksissa)tarvitaan yleensä muita päättelymekanismeja totuusarvon määrittämiseksi kuin totuustaulut. Tarvitaan menetelmiä kuvata muotoa "Jos A 1, A 2,..., A n,niin B"(eli (A 1 A 2 A n ) B) tyyppisiä päättelyjä. Päättelyn on oltava pitävä eli se on voitava todistaa oikeaksi (esimerkiksi totuustauluilla). Päättely vain tietyillä niin sanotuilla päättelysäännöillä.
Modus Ponens Jos A ja A B ovat tosia, niin välttämättä myös B on tosi (A (A B)) B on tautologia eli (A (A B)) B. Päättelysääntö Modus ponens: "Jos A on tosi ja A B on tosi, niin B on tosi"