TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. syyskuuta 2016
Sisällys
vs Ovat eri asioita! Älä sekoita niitä.
Funktiot Funktio f luokasta A luokkaan B, merkitään f : A B, on mikä tahansa, joka yhdistää jokaisen A:n alkion a yksiselitteisesti johonkin B:n alkioon (merkitään f (a)). kutsutaan myös kuvaukseksi engl. function, mapping f : A B on surjektio joss b B: a A: f (a) = b injektio joss 1 a 1, a 2 A: f (a 1 ) = f (a 2 ) a 1 = a 2 bijektio joss se on injektio ja surjektio Moniparametrinen funktio kirjoitetaan f : A 1... A n B ja f (a 1,..., a n ). 1 Korjattu kirjoitusvirhe luennon jälkeen.
Relaatiot Relaatio R luokkien A 1,..., A n välillä on mikä tahansa, jolle a 1,..., a n ovat relaatiossa R (merkitään R(a 1..., a n )) on väite jokaiselle a 1 A 1,..., a n A n. jos n = 1, kyseessä on unaarirelaatio eli ominaisuus jos n = 2, kyseessä on binäärirelaatio ja R(a 1, a 2 ) merkitään usein a 1 R a 2 jos A 1 = = A n niin relaatio on homogeeninen tällöin sanotaan, että R on n-paikkainen relaatio A:ssa (engl. n-ary relation in A)
Binäärirelaatioiden erityistapauksia Olkoon S luokka ja R homogeeninen binäärirelaatio S:ssä. R on refleksiivinen joss x R x symmetrinen joss x R y y R x antisymmetrinen joss (x R y y R x) x = y transitiivinen joss (x R y y R z) x R z totaali joss x R y y R x pätee kaikille x, y, z S. Lisäksi R on esijärjestys joss se on refleksiivinen ja transitiivinen osittaisjärjestys joss se on antisymmetrinen esijärjestys (täydellinen) järjestys jos se on totaali osittaisjärjestys ekvivalenssi joss se on refleksiivinen, transitiivinen ja symmetrinen
Järjestetyt joukot eli jonot Jonolla x on kaksi perusoperaatiota: pituus x, joka voi olla ei-negatiivinen kokonaisluku tai ääretön ( ) indeksoitu alkio x i jokaiselle indeksille i N, i < x tai i Z +, i x Indeksointi voi joissakin tapauksissa alkaa myös jostakin muusta kuin nollasta tai ykkösestä. Joka tapauksessa indeksoinnin alun tulee selvitä asiayhteydestä. Jonon voi kirjoittaa usein tyyliin (x 1,..., x n ). Äärellistä jonoa sanotaan usein myös monikoksi (engl. tuple). (järjestetty) pari (jonon pituus 2) (järjestetty) kolmikko (jonon pituus 3)...
Karteesinen tulo Jos S 1,..., S n ovat joukkoja, niin n S i i=1 = S 1 S n = { (x 1,..., x n ) x 1 S 1 x n S n } on myös joukko. Vastaavasti äärettömällä jonolla: S i i=1 on joukko jos S 1,... ovat joukkoja.
(Matemaattinen) induktio Toimii, kun väite on (tai voidaan tulkita olevan) muotoa n N: P(n) Esim. väite joka koskee kaikkia merkkijonoja voidaan tulkita koskemaan kaikkia merkkijonojen pituuksia (induktio merkkijonon pituuden suhteen) 1. Perusaskel: Osoita, että väite on tosi nollan tapauksessa, P(0). 2. Induktioaskel: Tee induktio-oletus, että väite pätee mielivaltaisella luvulla n. Johda siitä, että väite pätee luvulla n + 1. Toisin sanoen, osoita n N: P(n) P(n + 1). Voit myös tehdä induktio-oletuksen, että väite pätee n:n lisäksi kaikilla n:ää pienemmillä luvuilla. 3. Johtopäätös: Päättele tästä, että väite pätee kaikilla kokonaisluvuilla.
Yleisiä (deduktiivisen) päättelyn virheitä Todennäköisyyteen vetoaminen: Ei riitä osoittaa, että väite on todennäköisesti tai melkein aina tosi. Virheellinen käänteinen päättely: Osoitetaan, että väitteestä seuraa oletukset. Käsittelemättä jäänyt tapaus: Tapauksittaisessa todistuksessa jokin mahdollinen tapaus jää käsittelemättä. Kehäpäätelmä: Otetaan oletuksiin mukaan se, mitä ollaan todistamassa. Huom! Matemaattinen induktio ei ole kehäpäätelmä. Virheellinen (matemaattinen) induktio: Unohdetaan todistaa perustapaus. Induktioaskel ei ulotu perustapaukseen asti.
Pejoratiivinen laskento 2 Lause? Kaikki äärellisessä hevosjoukossa olevat hevoset ovat samanvärisiä. 2 http://www.fortfreedom.org/b19.htm
Todistuksen tarkkuustasot Täsmällinen (formaali) Todistus kirjoitetaan niin, että se voidaan antaa tietokoneen tarkastettavaksi (ks. esim Isabelle tai Coq) Matemaatikon tarkkuus Todistus esitetään siten, että sen vakuuttaa (ihmis)lukijansa. Vaadittu tarkkuustaso vaihtelee sen mukaan, kuinka kokeneeksi lukija oletetaan. Tarvittaessa todistusta tarkennetaan tai korjataan. 3 Idea Esitetään todistuksen keskeinen oivallus, mutta niin paljon jätetään sanomatta, että vakuuttavaksi (matemaatikon tarkkuuden) todistukseksi sitä ei voi vielä laskea. 3 Ks. esim. Imre Lakatos: Proofs and Refutations: The Logic of Mathematical Discovery. Cambridge University Press, 1976.
Merkistö eli aakkosto (engl. alphabet) on mikä tahansa epätyhjä äärellinen joukko. merkitään tavallisesti Σ Merkistön Σ epätyhjien merkkijonojen joukko Σ + muodostetaan seuraavan kahden operaation avulla: jokaiselle c Σ yhden merkin merkkijono c Σ + jokaiselle v, w Σ + niiden konkatenaatio vw Σ + Merkkijonojen samuus (=) on ekvivalenssirelaatio Σ + :ssa, jolle pätee kaikilla v, u, w Σ + (vu)w = v(uw) Erikseen määritellään tyhjä merkkijono (merkitään ε, joissakin lähteissä λ) ja kaikkien Σ-merkkijonojen joukko Σ seuraavasti: ε Σ + Σ = Σ + {ε} v = εv = vε kaikilla v Σ
Induktio merkkijonon rakenteen suhteen Todistettava väite on muotoa v Σ : P(v). Riittää todistaa seuraavat kolme väitettä: Perustapaukset P(ε) c Σ : P(c) Induktioaskel 4 5 v Σ + : ( w, u Σ : v = wu (P(w) P(u))) P(v) }{{} induktio-oletus 4 Yleistyy myös useammalle kuin kahdelle osamerkkijonolle. 5 Korjattu luennon jälkeen.
Merkkijonon pituus Lause Olkoon Σ merkistö. Jokaiselle v Σ + on olemassa yksikäsitteinen positiivinen kokonaisluku n Z + ja yksikäsitteinen funktio v[ ] : {1,..., n} Σ siten, että v[1] v[n] = v pätee. Huomautus Lauseen n:ää kutsutaan merkkijonon v pituudeksi, merkitään v. Sovitaan erityistapauksena ε = 0.
Formaali kieli On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman hölmöä kyllä, sillä kieleen liittyy oikeasti myös sen tulkinta mitä sen merkkijonot tarkoittavat. Tällä kurssilla (ja ylipäätään formaalien kielten teoriassa) kuitenkin jätetään merkitysoppi pääosin huomiotta! luonnollisten kielten (suomi, englanti) osalta kielitieteen puolella ohjelmointikielten osalta TIES542 Ohjelmointikielten periaatteet