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

Samankaltaiset tiedostot
Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

Ensimmäinen induktioperiaate

Ensimmäinen induktioperiaate

811120P Diskreetit rakenteet

1. Esitä rekursiivinen määritelmä lukujonolle

Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa. väite P(n) on totta kaikille n = 0,1,2,...

4 Matemaattinen induktio

Tietojenkäsittelyteorian alkeet, osa 2

Johdatus matematiikkaan

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

Determinantti 1 / 30

4.3. Matemaattinen induktio

Miten osoitetaan joukot samoiksi?

= 3 = 1. Induktioaskel. Induktio-oletus: Tehtävän summakaava pätee jollakin luonnollisella luvulla n 1. Induktioväite: n+1

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

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

Johdatus matemaattiseen päättelyyn

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

Matematiikan tukikurssi, kurssikerta 5

(2n 1) = n 2

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.

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

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

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)

Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

(a) Kyllä. Jokainen lähtöjoukon alkio kuvautuu täsmälleen yhteen maalijoukon alkioon.

Todistusmenetelmiä Miksi pitää todistaa?

Johdatus diskreettiin matematiikkaan (syksy 2009) Harjoitus 3, ratkaisuja Janne Korhonen

Matemaattisen analyysin tukikurssi

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

Luonnollisen päättelyn luotettavuus

Säännöllisten kielten sulkeumaominaisuudet

Perustehtävät. Kompleksitehtävät, 10/9/2005, sivu 1 / 10. Tehtävä 1. Sievennä 1.

Johdatus matemaattiseen päättelyyn

Johdatus lukuteoriaan Harjoitus 11 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

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

DFA:n käyttäytyminen ja säännölliset kielet

Johdatus matematiikkaan

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

Induktio, jonot ja summat

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

Analyysi III. Jari Taskinen. 28. syyskuuta Luku 1

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

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

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III

Johdatus logiikkaan I Harjoitus 4 Vihjeet

1 Lineaariavaruus eli Vektoriavaruus

MS-A0102 Differentiaali- ja integraalilaskenta 1

Diskreetin matematiikan perusteet Esimerkkiratkaisut 3 / vko 10

a k+1 = 2a k + 1 = 2(2 k 1) + 1 = 2 k+1 1. xxxxxx xxxxxx xxxxxx xxxxxx

Logiikka I. Kaarlo Reipas 17. huhtikuuta 2012 Ψ. Tämä materiaali on vielä keskeneräinen. 1 Johdanto Mitä logiikka on?... 3

802320A LINEAARIALGEBRA OSA I

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

Loogiset konnektiivit

1 Sisätulo- ja normiavaruudet

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

Todista raja-arvon määritelmään perustuen seuraava lause: Jos lukujonolle a n pätee lima n = a ja lima n = b, niin a = b.

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

811120P Diskreetit rakenteet

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO

802320A LINEAARIALGEBRA OSA II

Predikaattilogiikan malli-teoreettinen semantiikka

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

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

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.

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

1. Logiikan ja joukko-opin alkeet

isomeerejä yhteensä yhdeksän kappaletta.

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Vieruskaverisi on tämän päivän luennolla työtoverisi. Jos sinulla ei ole vieruskaveria, siirry jonkun viereen. Esittäytykää toisillenne.

Tietorakenteet, laskuharjoitus 1,

Insinöörimatematiikka A

Surjektion käsitteen avulla kuvauksia voidaan luokitella sen mukaan, kuvautuuko kaikille maalin alkioille jokin alkio vai ei.

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

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

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

Tehtävä 1. Oletetaan että uv on neliö ja (u, v) = 1. Osoita, että kumpikin luvuista u ja v on. p 2j i. p j i

Induktio kaavan pituuden suhteen

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012

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

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Jonot. Lukujonolla tarkoitetaan ääretöntä jonoa reaalilukuja a n R, kun indeksi n N. Merkitään. (a n ) n N = (a n ) n=1 = (a 1, a 2, a 3,... ).

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

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

Matematiikan tukikurssi

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa I

Transkriptio:

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 f (0),..., f (k 1). 2 (Rekursiokaava) Kun n k, esitetään, miten f (n) riippuu luvuista f (n k), f (n k + 1),..., f (n 1). Usein funktion sijasta ajatellaan lukujonoa, jolloin käytetään merkintää f n tai y n funktiomerkinnän f (n) sijasta.

Esimerkki Fibonaccin luvut. Alkuarvot: Asetetaan f 0 = 0 ja f 1 = 1. Rekursiokaava: Kun n 2, asetetaan f n = f n 2 + f n 1. Lasketaan rekursiokaavan avulla Fibonaccin luvut f 2,..., f 8 : f 2 = f 0 + f 1 = 0 + 1 = 1, f 3 = f 1 + f 2 = 1 + 1 = 2, f 4 = 1 + 2 = 3, f 5 = 2 + 3 = 5, f 6 = 3 + 5 = 8, f 7 = 5 + 8 = 13, f 8 = 8 + 13 = 21.

Rekursio ja induktio Jos lukujono (f n ) n N on määritelty rekursiolla, niin sen ominaisuuksia voidaan aina todistaa induktiolla. Jos tehtävänä on todistaa, että P(f n ) pätee jokaisella n N, niin menetellään seuraavasti: 1 (Perusaskel) Todistetaan P(f 0 ),..., P(f k 1 ). 2 (Induktioaskel) Tehdään IO: P(f n k ),..., P(f n 1 ) tosia IO:n avulla todistetaan IV: P(f n ) on tosi. 3 (Johtopäätös) Induktioperiaatteen nojalla n N : P(f n ) on tosi. (Huom: tässä käytetään toista induktioperiaatetta.)

Esimerkki Tarkastellaan lukujonoa, joka määritellään rekursiolla seuraavasti: f 0 = 1 f n = 2f n 1 + 1, kun n > 0. Todistetaan induktiolla, että f n = 2 n+1 1 jokaisella n N. (Toisin sanoen, osoitetaan, että f n = 2 n+1 1, n N, on rekursioyhtälön/differenssiyhtälön f n = 2f n 1 + 1 ratkaisu alkuarvolla f 0 = 1.)

Esimerkki jatkuu Perusaskel: Kun n = 0, on f 0 = 1 = 2 1 = 2 0+1 1, joten väite on tosi. Induktioaskel: Olkoon n > 0. IO: f n 1 = 2 (n 1)+1 1 = 2 n 1. IV: f n = 2 n+1 1. IV:n todistus: f n = 2f n 1 + 1 IO = 2(2 n 1) + 1 = 2 2 n + 2 1 = 2 n+1 + 1.

Esimerkki Määritellään lukujono (e n ) n N rekursiolla seuraavasti: e 0 = 1, e 1 = 2 e n = e n 2 e n 1, kun n 2. Todistetaan induktiolla, että e n = 2 fn on Fibonaccin luku. jokaisella n N, missä f n (Perusaskel) e 0 = 1 = 2 0 = 2 f 0 ja e 1 = 2 = 2 1 = 2 f 1. (Induktioaskel) Oletetaan, että n 2, ja väite pätee luvuilla n 2 ja n 1. Tällöin e n = e n 2 e n 1 = 2 f n 2 2 f n 1 = 2 (f n 2+f n 1 ) = 2 fn.

Rekursio ja kolme pistettä Kun matemaattisessa määritelmässä käytetään symbolia, kysymys on lähes poikkeuksetta rekursiivisesta määritelmästä, jota ei vain kirjoiteta auki. Esimerkiksi kertoman määritelmä kirjoitetaan tavallisesti muotoon n! = 1 2 n. Tyhjä tulo tulkitaan ykköseksi eli 0! = 1. Tämä on vain lyhennysmerkintä kertoman rekursiiviselle määritelmälle: 0! = 1, n! = n(n 1)!.

Rekursio ja kolme pistettä Vastaavasti potenssin a n tavallinen määritelmä on a n = aa }{{ a}, n kertaa missä tyhjä tulo (tapaus n = 0) on yksi, kunhan a 0. (0 0 on joko 1 tai määrittelemätön riippuen yhteydestä.) Rekursiivinen määritelmä potenssille a n on a 0 = 1, a n = aa n 1. (Alkuarvo kirjoitetaan a 1 = a, jos a = 0 ja 0 0 ei ole määritelty.)

Rekursio ja kolme pistettä Myös summa- ja tulomerkinnät ovat piilotettuja rekursiivisia määritelmiä: Kun a 1, a 2, a 3,... ovat (reaali)lukuja, kirjoitetaan tavallisesti n a i = a 1 + + a n i=1 Näiden rekursiiviset määritelmät ovat 0 a i = 0 i=1 n+1 ja n a i = a 1 a n. i=1 0 a i = 1 i=1 a i = ( n n+1 ) a i + an+1 a i = ( n ) a i an+1 i=1 i=1 i=1 i=1

Esimerkki Olkoon (f n ) n N Fibonaccin lukujono. Todistetaan induktiolla, että n i=0 f i = f n+2 1 jokaisella n N. (Perusaskel) 0 i=0 f i = f 0 = 0 = f 2 1 (Induktioaskel) Oletetaan, että n 1, ja n 1 i=0 f i = f n+1 1. Tällöin n f i = (n 1 ) f i + fn = (f n+1 1) + f n = f n+2 1. i=0 i=0

Rekursiosta yleisemmin Paitsi funktioita tai lukujonoja, rekursiolla voidaan määritellä matemaattisia käsitteitä yleisemminkin. Otetaan lähtökohdaksi luonnollisten lukujen joukon perusominaisuus: N on pienin sellainen joukko A, jolla pätee ehdot (i) 0 A (ii) jos n A, niin n + 1 A Tämä voidaan muotoilla joukon N määritelmäksi joukko-opissa. (Operaatio +1 pitää ensin korvata joukko-opillisella vastineella.)

Esimerkki: bittijonot Bittijono on merkkijono b = b 1 b n, missä n N ja b i {0, 1}, kun 1 i n. Tapauksessa n = 0, b on tyhjä jono, jolloin sitä merkitään symbolilla ε. Kaikkien bittijonojen joukko B voidaan määritellä samaan tapaan kuin luonnollisten lukujen joukko: B on pienin sellainen joukko A, jolla pätee ehdot (i) ε A (ii) jos b A, niin b0 A ja b1 A. (Tässä b0 tarkoittaa merkkijonoa, joka saadaan lisäämällä jonon b perään merkki 0.)

Esimerkki: aakkoston sanojen joukko Yleistetään edellinen esimerkki. Olkoon Σ on äärellinen aakkosto, eli joukko symboleja (merkkejä). Aakkoston Σ sanojen joukko Σ on tällöin pienin joukko A, jolla pätee ehdot (i) ε A (ii) jos w A ja a Σ, niin wa A. Erityisesti siis bittijonojen joukko B on siis sama kuin {0, 1}.

Rekursiosta induktioon Edelläolevan kaltaisiin rekursiivisiin määritelmiin liittyy aina automaattisesti vastaava induktioperiaate. Esimerkiksi jos tarkoituksena on todistaa, että jokaisella sanalla w Σ on ominaisuus P, niin voidaan menetellä seuraavasti: 1 (Perusaskel). Osoitetaan, että P(ε) on tosi. 2 (Induktioaskel). Tehdään induktio-oletus, että P(w) on tosi. Todistetaan induktioväite, että P(wa) on tällöin tosi jokaisella a Σ. Tällöin tulee osoitetuksi, että joukko A = {w Σ P(w)} toteuttaa joukon Σ määritelmän ehdot (i) ja (ii), joten on oltava A = Σ.

Esimerkki Määritellään rekursiolla funktio f : {0, 1} Z + Z + : f (ε) = (1, 1) { f (b0) = (r, r + s) f (b1) = (r + s, s) kun f (b) = (r, s). Käytetään merkintöjä f 1 (b) ja f 2 (b) lukuparin f (b) koordinaateille. Siis f 1 (b) = r ja f 2 (b) = s, kun f (b) = (r, s). Todistetaan induktiolla, että syt(f 1 (b), f 2 (b)) = 1 kaikilla b {0, 1}.

Esimerkki jatkuu (Perusaskel) Kun b = ε, on f 1 (b) = f 2 (b) = 1, joten syt(f 1 (b), f 2 (b)) = 1. (Induktioaskel) Oletetaan, että syt(f 1 (b), f 2 (b)) = 1. Olkoon f 1 (b) = r ja f 2 (b) = s. Tällöin f 1 (b0) = r ja f 2 (b0) = r + s. Oletetaan, että m Z + on lukujen r ja r + s yhteinen tekijä. Tällöin m on myös lukujen r ja s yhteinen tekijä, joten m = 1. Siispä syt(f 1 (b0), f 2 (b0)) = 1. Samalla tavalla osoitetaan, että syt(f 1 (b1), f 2 (b1)) = 1.

Rekursio lauselogiikassa Lauselogiikan kaavojen joukko K voidaan määritellä rekursiolla seuraavasti: K on pienin sellainen joukko A, jolla pätee ehdot (i) p i A jokaisella i N. (ii) Jos ϕ, ψ A, niin (a) ϕ A (b) (ϕ ψ) A (c) (ϕ ψ) A (d) (ϕ ψ) A (e) (ϕ ψ) A Huomaa, että K Σ, missä Σ on aakkosto {p i i N} {,,,,, (, )}.

Induktio kaavan rakenteen suhteen Kun pitää todistaa, että jokaisella kaavalla ϕ K on ominaisuus P, menetellään seuraavasti. 1 (PA) Osoitetaan, että P(p i ) on tosi jokaisella i N. 2 (IA) Tehdään induktio-oletus: P(ϕ) ja P(ψ) ovat tosia. Todistetaan induktioväitteet: (a) P( ϕ) on tosi. (b) P((ϕ ψ)) on tosi. (c) P((ϕ ψ)) on tosi. (d) P((ϕ ψ)) on tosi. (e) P((ϕ ψ)) on tosi.

Esimerkki Todistetaan induktiolla, että jokaisessa kaavassa on yhtä monta vasenta sulkua kuin oikeata sulkua. Tätä varten kannattaa ensin määritellä vasempien sulkujen ja oikeiden sulkujen lukumäärät rekursiolla: v(p i ) = 0 o(p i ) = 0 v( ϕ) = v(ϕ) o( ϕ) = o(ϕ) v(ϕ ψ) = v(ϕ)+v(ψ)+1 o(ϕ ψ) = o(ϕ)+o(ψ)+1 v(ϕ ψ) = v(ϕ)+v(ψ)+1 o(ϕ ψ) = o(ϕ)+o(ψ)+1 v(ϕ ψ) = v(ϕ)+v(ψ)+1 o(ϕ ψ) = o(ϕ)+o(ψ)+1 v(ϕ ψ) = v(ϕ)+v(ψ)+1 o(ϕ ψ) = o(ϕ)+o(ψ)+1

Esimerkki jatkuu Nyt on helppo todistaa induktiolla, että v(ϕ) = o(ϕ) jokaisella ϕ K: (PA) v(p i ) = 0 = o(p i ) jokaisella i N. (IA) Oletetaan, että v(ϕ) = o(ϕ) ja v(ψ) = o(ψ). Tällöin (a) v( ϕ) = v(ϕ) = o(ϕ) = o( ϕ) (b) v(ϕ ψ) = v(ϕ)+v(ψ)+1 = o(ϕ)+o(ψ)+1 = o(ϕ ψ) (c) v(ϕ ψ) = v(ϕ)+v(ψ)+1 = o(ϕ)+o(ψ)+1 = o(ϕ ψ) (d) v(ϕ ψ) = v(ϕ)+v(ψ)+1 = o(ϕ)+o(ψ)+1 = o(ϕ ψ) (e) v(ϕ ψ) = v(ϕ)+v(ψ)+1 = o(ϕ)+o(ψ)+1 = o(ϕ ψ)

Totuusjakaumat ja totuusarvot Totuusjakauma on funktio v, joka liittää jokaiseen propositiosymboliin p i totuusarvon v(p i ), joka on 0 (epätosi) tai 1 (tosi). Siis v : {p i i N} {0, 1}. Kaavan ϕ K totuusarvo V (ϕ) {0, 1} totuusjakaumalla v määritellään rekursiolla seuraavasti: (i) V (p i ) = v(p i ) jokaisella i N. (ii) Oletetaan, että V (ϕ) ja V (ψ) on määritelty. (a) V ( ϕ) = 1 jos ja vain jos V (ϕ) = 0. (b) V (ϕ ψ) = 1 jos ja vain jos V (ϕ) = V (ψ) = 1. (c) V (ϕ ψ) = 1 jos ja vain jos V (ϕ) = 1 tai V (ψ) = 1. (d) V (ϕ ψ) = 1 jos ja vain jos V (ϕ) = 0 tai V (ψ) = 1. (e) V (ϕ ψ) = 1 jos ja vain jos V (ϕ) = V (ψ).