MS-A0401 Diskreetin matematiikan perusteet

Samankaltaiset tiedostot
MS-A0402 Diskreetin matematiikan perusteet

Sanomme, että kuvaus f : X Y on injektio, jos. x 1 x 2 f (x 1 ) f (x 2 ) eli f (x 1 ) = f (x 2 ) x 1 = x 2.

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

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

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

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

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa I

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa I

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

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

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

Johdatus matematiikkaan

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

Johdatus diskreettiin matematiikkaan Harjoitus 1,

MS-A0402 Diskreetin matematiikan perusteet

Relaation ominaisuuksia. Ominaisuuksia koskevia lauseita Sulkeumat. Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,

Diskreetin matematiikan perusteet Laskuharjoitus 3 / vko 10

Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,

Johdatus diskreettiin matematiikkaan Harjoitus 2, Osoita että A on hyvin määritelty. Tee tämä osoittamalla

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto ja esimerkkejä ym., osa I

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

Relaatioista. 1. Relaatiot. Alustava määritelmä: Relaatio on kahden (tai useamman, saman tai eri) joukon alkioiden välinen ominaisuus tai suhde.

811120P Diskreetit rakenteet

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

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

Diskreetin Matematiikan Paja Ratkaisuehdotuksia viikolle 2. ( ) Jeremias Berg

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

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

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto ja esimerkkejä ym., osa I

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto ja esimerkkejä ym., osa I

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto ja esimerkkejä ym., osa I

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

Matematiikan tukikurssi, kurssikerta 1

811120P Diskreetit rakenteet

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto ja esimerkkejä ym., osa I

MS-A0402 Diskreetin matematiikan perusteet

Tietojenkäsittelyteorian alkeet, osa 2

Olkoon R X Y. Sen käänteisrelaatio R 1 on joukosta Y joukkoon X määritelty relaatio, jonka laki on. yr 1 x xry.

Diskreetin Matematiikan Paja Tehtäviä viikolle 2. ( ) Jeremias Berg

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut

Olkoon R X Y. Sen käänteisrelaatio R 1 on joukosta Y joukkoon X määritelty relaatio, jonka laki on. yr 1 x xry.

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

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

1. Logiikan ja joukko-opin alkeet

Joukot. Georg Cantor ( )

Matemaatiikan tukikurssi

Diskreetti matematiikka, syksy 2010 Harjoitus 7, ratkaisuista

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

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

MS-A0402 Diskreetin matematiikan perusteet

MAT Algebra 1(s)

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

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

Johdatus matemaattiseen päättelyyn

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

KOMBINATORIIKKA JOUKOT JA RELAATIOT

Hieman joukko-oppia. A X(A a A b A a b).

Algoritmit 1. Luento 2 Ke Timo Männikkö

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

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Täydellisyysaksiooman kertaus

Funktioista. Esimerkki 1

Johdatus yliopistomatematiikkaan. JYM, Syksy2015 1/195

8 Joukoista. 8.1 Määritelmiä

Matematiikan peruskurssi 2

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

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

1 Joukkojen mahtavuuksista

Diskreetin matematiikan perusteet Laskuharjoitus 3 / vko 39

1. Esitä rekursiivinen määritelmä lukujonolle

1 Reaaliset lukujonot

KOMBINATORIIKKA JOUKOT JA RELAATIOT

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 6: Alkeisfunktioista

x > y : y < x x y : x < y tai x = y x y : x > y tai x = y.

Onko kuvaukset injektioita? Ovatko ne surjektioita? Bijektioita?

Ilkka Mellin Todennäköisyyslaskenta Liite 1: Joukko-oppi

2017 = = = = = = 26 1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

MS-C1340 Lineaarialgebra ja

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko

Esko Turunen Luku 9. Logiikan algebralisointi

Äärellisten mallien teoria

5.6 Yhdistetty kuvaus

X R Matematiikan johdantokurssi, syksy 2016 Harjoitus 5, ratkaisuista

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Kuvaus. Määritelmä. LM2, Kesä /160

Luonnollisten lukujen ja kokonaislukujen määritteleminen

811120P Diskreetit rakenteet

Johdatus matematiikkaan

MS-A0102 Differentiaali- ja integraalilaskenta 1

Transkriptio:

MS-A0401 Diskreetin matematiikan perusteet Osa 2: Relaatiot ja funktiot Riikka Kangaslampi Syksy 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto

Relaatiot

Relaatio Määritelmä 1 Relaatio joukosta A joukkoon B on mikä tahansa joukko R A B. Joukko A on relaation R lähtöjoukko, joukko B sen maalijoukko. Jos A = B, sanotaan, että R on relaatio joukossa A. Huomautus Määritelmää yllä kutsutaan usein myös binääriseksi relaatioksi. (Vastaavasti voidaan määritellä n-paikkainen relaatio joukkojen A 1,..., A n välillä joukon A 1... A n osajoukkona.) Sovelluksia mm. Relaatiotietokannat, ohjelmointikielten kääntäjät. 1 / 35 R. Kangaslampi MS-A0401

Relaatio Esimerkki 2 Olkoon A = {1, 2, 3, 4}. Määritellään relaatio R joukossa A säännöllä R = {(a, b) : a on b:n tekijä}. Tällöin R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 4), (3, 3), (4, 4)}. Huom: Yllä jaollisuutta (a, b) R on tapana merkitä a b. Yleisestikin relaatioon pyritään liittämään sopiva symboli (esim., =,, ) ja merkitsemään vastaavasti. Merkitsemme tällä kurssilla yleistä relaatiota a b emmekä arb kuten lähteissä. 2 / 35 R. Kangaslampi MS-A0401

Relaatio suunnattuna verkkona Esimerkki 3 Olkoon A = {0, 1, 2}, B = {a, b} ja R = {(0, a), (0, b), (1, a), (2, b)}. Tällöin relaatio R voidaan esittää suunnattuna verkkona kuten alla: 0 1 2 a b Kysymys Jos A = m ja B = n, montako relaatiota on olemassa joukosta A joukkoon B? (Vastaus: 2 mn.) 3 / 35 R. Kangaslampi MS-A0401

Relaatioiden luokittelua Määritelmä 4 Relaatio joukossa A (merkitään ) on refleksiivinen, jos x A : x x symmetrinen, jos x, y A : x y y x transitiivinen, jos x, y, z A : (x y ja y z) x z antisymmetrinen, jos x, y A : (x y ja y x) x = y. Esimerkki 5 Joukon Z relaatio = on refleksiivinen, symmetrinen, transitiivinen ja antisymmetrinen. Joukon N relaatio (jaollisuus) on antisymmetrinen, refleksiivinen ja transitiivinen. 4 / 35 R. Kangaslampi MS-A0401

Ekvivalenssirelaatio Määritelmä 6 Jos relaatio on refleksiivinen, symmetrinen ja transitiivinen, sitä kutsutaan ekvivalenssirelaatioksi tai lyhyesti ekvivalenssiksi. Esimerkki 7 C-ohjelmointikielen kääntäjä tarkistaa muuttujien nimistä vain kahdeksan ensimmäistä merkkiä ja mikäli ne ovat samoja, katsoo muuttujat samoiksi. (Lähde: Rosen.) Määritellään äärellisten merkkijonojen joukossa relaatio R asettamalla (x, y) R, jos x = y tai jos x:n ja y:n kahdeksan ensimmäistä merkkiä ovat samat. Tällöin R on ekvivalenssi. 5 / 35 R. Kangaslampi MS-A0401

Ekvivalenssirelaatio Ekvivalenssirelaatio ilmaisee yleistä samuutta. Riippuu tilanteesta, millä kriteereillä samuus määritellään, mutta jokainen ekvivalenssirelaatio jakaa joukkonsa samojen alkioiden muodostamiin ekvivalenssiluokkiin: Määritelmä 8 Olkoon R ekvivalenssirelaatio joukossa A (merkitään ). Alkion a A ekvivalenssiluokka on joukko [a] = {x A : a x}. 6 / 35 R. Kangaslampi MS-A0401

Ekvivalenssirelaatio Pätee Jos joukossa A on annettu ekvivalenssi, niin sen ekvivalenssiluokat jakavat A:n erillisiin osiin. Toisin sanoen kaikille a, b A pätee joko [a] = [b] tai [a] [b] =. Tarkemmin: Book of Proof, 11.2 & 11.3, erityisesti kuva sivulla 184. (Moduloluvut ovat neljännen viikon asiaa.) 7 / 35 R. Kangaslampi MS-A0401

Järjestysrelaatio Vastaavasti määritellään yleinen järjestyksen käsite relaationa, joka on antisymmetrinen ja transitiivinen. Esimerkki 9 Vaatteiden pukemisjärjestys on osittainen järjestys (eng. partial order; poset = partially ordered set): tietyt vaatekappaleet kannattaa pukea ennen toisiaan, mutta ei ole yhtä yksiselitteistä järjestystä. (Kuva taululla.) 8 / 35 R. Kangaslampi MS-A0401

Funktiot

Funktio Määritelmä 10 Funktio joukosta A joukkoon B on relaatio f joukosta A joukkoon B siten, että kullekin lähtöjoukon alkiolle a löytyy täsmälleen yksi maalijoukon alkio b, jolle (a, b) f. Esimerkki 11 lähtöjoukko maalijoukko lähtöjoukko maalijoukko 9 / 35 R. Kangaslampi MS-A0401

Funktio Huomioita Funktio siis rajoittaa relaatiota kahdella tavalla: 1) kaikkien lähtöjoukon alkioiden on oltava relaatiossa jonkun maalijoukon alkion kanssa, 2) maalijoukon alkio on yksikäsitteinen. Tapana on funktion tapauksessa merkitä f (a) = b eikä (a, b) f. Funktiota f joukosta A joukkoon B merkitään lyhyesti f : A B. 10 / 35 R. Kangaslampi MS-A0401

Funktio Huomioita (jatkuu) Määritelmä tarkasti: a A, b, c B : ( f (a) = b ja f (a) = c ) b = c. Joskus funktiolle ei tarvita kirjainta; voidaan esimerkiksi ilmaista reaaliluvun korottaminen neliöön funktiona R R, x x 2. (Tässä f (a) = b on korvattu ilmaisulla a b.) Tarkemmin: Book of Proof, 12.1. 11 / 35 R. Kangaslampi MS-A0401

Funktio Esimerkki 12 Funktion f = {(x, 4x + 5) : x Z} Z Z määrittelyjoukko (domain) on Z maalijoukko (codomain) on Z arvojoukko (range) on {4x + 5 : x Z} = {..., 7, 3, 1, 5, 9,...} Esimerkki 13 Lukujono on funktio N R. Algoritmien nopeuksien vertailukohteena käytetään lukujonoja muotoja f (n) = log k n, f (n) = n k ja f (n) = k n (jollekin k N) sekä näiden yhdistelmiä. 12 / 35 R. Kangaslampi MS-A0401

Injektio, surjektio, bijektio Määritelmä 14 Funktio f : A B on injektio (tai yksi-yhteen ), jos x, y A : x y f (x) f (y) surjektio (tai peittävä ), jos b B a A : f (a) = b bijektio, jos se on sekä injektio että surjektio. Esimerkki 15 injektio surjektio bijektio 13 / 35 R. Kangaslampi MS-A0401

Injektio, surjektio, bijektio Esimerkki 16 Onko kuvaus f : Z Z Z, f (n) = (2n, n + 3), bijektio? Kuvaus on injektio, jos f (n) = f (m) = m = n. Nyt: f (n) = f (m) = (2n, n + 3) = (2m, m + 3) = (2n = 2m) (n + 3 = m + 3) = (n = m) (n = m) = n = m eli kuvaus todellakin on injektio. Kuvaus on surjektio, jos kaikilla (x, y) Z Z on olemassa n Z siten, että f (n) = (x, y), eli että (2n, n + 3) = (x, y). Tämä ei ole totta: esimerkiksi jos (x, y) = (2, 5), pitäisi olla samanaikaisesti 2n = 2 ja n + 3 = 5 eli n = 1 ja n = 2. Kuvaus siis ei ole bijektio. 14 / 35 R. Kangaslampi MS-A0401

Injektio, surjektio, bijektio Bijektiiviset funktiot voidaan kääntää: Määritelmä 17 Bijektiivisen funktion f : A B käänteisfunktio on funktio g : B A, missä g(b) on se yksikäsitteinen luku a, jolle f (a) = b. Huomioita Voidaan osoittaa, että käänteisfunktio on yksikäsitteinen (ts. jos g ja h ovat f :n käänteisfunktioita, niin g = h). Funktion f käänteisfunktiota merkitään f 1. Merkintää f 1 käytetään eri tarkoituksessa alkukuvan käsitteen yhteydessä, tästä lisää hetken kuluttua. 15 / 35 R. Kangaslampi MS-A0401

Injektio, surjektio, bijektio Määritelmä 18 Bijektiivistä funktiota A A (oletetaan A < ), kutsutaan joukon A permutaatioksi. Esimerkki 19 Olkoon A = {1, 2, 3}. Määritellään permutaatio f : A A asettamalla ( f (1) ) = 3, f (2) = 2, f (3) = 1. Tiiviimmin matriisina: 1 2 3 f =. Nyt f 1 = f. 3 2 1 16 / 35 R. Kangaslampi MS-A0401

Yhdistetty funktio Määritelmä 20 Funktioiden f : A B ja g : B C yhdistetty funktio on g f : A C, (g f )(x) = g ( f (x) ). Huomioita Määritelmässä f :n maalijoukko = g:n lähtöjoukko. Määritelmä toimii myös, kun f :n maalijoukko g:n lähtöjoukko. Yhdistäminen ei ole vaihdannainen (eng. commutative): yleensä g f f g. Yhdistäminen on liitännäinen (eng. associative): f (g h) = (f g) h. Tarkemmin: Book of Proof, luku 12.4. 17 / 35 R. Kangaslampi MS-A0401

Yhdistetty funktio Esimerkki 21 Määritellään ( joukon ) {1, 2, ( 3} permutaatiot ) 1 2 3 1 2 3 f = ja g =. Tällöin 3 2 1 2 1 3 ( ) ( ) 1 2 3 1 2 3 g f = ja f g =. 3 1 2 2 3 1 18 / 35 R. Kangaslampi MS-A0401

Kuva ja alkukuva Tilanteessa f (a) = b sanotaan, että b on a:n kuva ja a on b:n alkukuva. (Funktiota kutsutaan joskus nimellä kuvaus.) Sama terminologia on voimassa yleisemmin joukoille: Määritelmä 22 Olkoon f : X Y. Joukon A X kuva on joukko {f (a) : a A} Y. Joukon B Y alkukuva on joukko {x X : f (x) B} X. Joukon A kuvaa merkitään f (A) ja joukon B alkukuvaa merkitään f 1 (B). 19 / 35 R. Kangaslampi MS-A0401

Kuva ja alkukuva Huomioita Kuva ja alkukuva ovat aina hyvin määriteltyjä. Erityisesti alkukuva f 1 (B) on aina olemassa, vaikka f ei olisi bijektio. Kuvan ja alkukuvan määritelmät toimivat myös relaatiolle. Itse asiassa mikä tahansa relaatio voidaan kääntää (ks. BoP luku 12.5), mutta funktion käänteisrelaatio ei ole funktio ellei alkuperäinen funktio ole bijektio. Tarkemmin: Book of Proof, luku 12.6. 20 / 35 R. Kangaslampi MS-A0401

Funktiot ja joukko-operaatiot Lause 23 Kaikille funktioille f ja kaikille lähtö- tai maalijoukon osajoukoille A, B pätee: A B f (A) f (B) A B f 1 (A) f 1 (B) f (A B) = f (A) f (B) f 1 (A B) = f 1 (A) f 1 (B) f 1 (A B) = f 1 (A) f 1 (B) f 1 (A \ B) = f 1 (A) \ f 1 (B). Siis: Alkukuva säilyttää kaikki joukko-operaatiot, mutta kuva vain yhdisteen ja osajoukkouden. 21 / 35 R. Kangaslampi MS-A0401

Funktiot ja joukko-operaatiot Erityisesti siis lauseen kaksi viimeistä eivät yleisesti päde kuvajoukoille, kuten vastaesimerkit etsimällä huomaamme: Esimerkki 24 (Tehtävä) Etsi sellainen esimerkkifunktio ja joukot, joille f (A B) f (A) f (B) f (A \ B) f (A) \ f (B). Ensimmäiseen kohtaan sopii vastaesimerkiksi tilanne, jossa A B on tyhjä joukko, mutta f (A) f (B) ei, ja toiseen vastaavasti tilanne, jossa f (A) \ f (B) on tyhjä joukko, mutta f (A \ B) ei ole. 22 / 35 R. Kangaslampi MS-A0401

Joukon mahtavuus Määritelmä 25 Kaksi joukkoa A ja B ovat yhtä mahtavia, jos on olemassa bijektio A B. Tällöin merkitään A = B. Huomioita A = n tarkoittaa, että on olemassa bijektio A {1, 2,..., n}. Joukko A on äärellinen jos on olemassa n N siten, että A = n. Jos joukko ei ole äärellinen, se on ääretön. Määritelmässä joukkojen A ja B ei tarvitse olla äärellisiä. Joukko A on numeroituva (eli numeroituvasti ääretön) jos A = N ja ylinumeroituva jos A > N. 23 / 35 R. Kangaslampi MS-A0401

Joukon mahtavuus Esimerkki 26 Pätee N = Z = Q R. Joukot N, Z ja Q ovat siis numeroituvia ja R on ylinumeroituva. Todistus: N = Z. Koska funktio f : N Z, missä f (0) = 0, f (2k 1) = k ja f (2k) = k kun k 1, on bijektio, niin joukot ovat yhtä mahtavia. 24 / 35 R. Kangaslampi MS-A0401

Joukon mahtavuus Todistus: N = Q. N = Q, koska voimme järjestää murtoluvut jonoon, ja siis konstruoida bijektion, seuraavalla tavalla: 0 1 1 2 1 3 1 4 1 5 1... 1 1 2 1 3 1 4 1 5 1... 1 2 2 2 3 2 4 2 5 2... 1 2 2 2 3 2 4 2 5 2... 1 3 2 3 3 3 4 3 5 3... Hypäten jo listalla olevien lukujen yli saamme seuraavan bijektion: f (0) = 0, f (1) = 1, f (2) = 2, f (3) = 1, f (4) = 1 2, f (5) = 2, f (6) = 3, f (7) = 4, f (8) = 3, f (9) = 1 2, f (10) = 1 3, f (11) = 3, f (12) = 4, f (13) = 5,... 2 25 / 35 R. Kangaslampi MS-A0401

Joukon mahtavuus Todistus: Q R. Todistus on harjoitustehtävänä. 26 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Lukujono on funktio N R. Esimerkki 27 Funktio f (n) = n antaa lukujonon 0,1,2,3,4,... Funktio g(n) = n 3 antaa lukujonon 0,1,8,27,... Tarkastellaan lukujonoja ja niiden kasvunopeuksia hieman tarkemmin, tavoitteena saada keinoja arvioida laskenta-algoritmien nopeuksia. 27 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Määritelmä 28 Lukujono f : N R on kasvava, jos pätee kaikille n, m N. Esimerkki 29 n m f (n) f (m) Jonot f (n) = 1, f (n) = log n, f (n) = n, f (n) = n log n, f (n) = n 2, f (n) = 2 n ja f (n) = n! ovat kasvavia. Tarkistetaan esimerkkinä f (n) = n 2 : Olkoon n m eli n m 0. Halutaan f (n) f (m) eli n 2 m 2 eli n 2 m 2 0 eli (n m)(n + m) 0. Tämä pätee, koska lähtökohtana oli n m eli n m 0. 28 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Määritelmä 30 Lukujono f : N R kasvaa rajatta, jos M N n 0 N : n n 0 f (n) M. (1) Lukua M tulee ajatella suurena ylärajaehdokkaana. Implikaatio 1 ilmaisee, että f (n) saavuttaa minkä tahansa rajan M, kunhan n kasvaa tarpeeksi suureksi. Esimerkki 31 Osoitetaan, että lukujono f (n) = n 2 kasvaa rajatta: Olkoon M N. Halutaan löytää n 0 N siten, että n n 0 n M. Koska n M n 2 M (f on kasvava), niin luvuksi n 0 kelpaa mikä tahansa luonnollinen luku, joka on suurempi tai yhtä suuri kuin M. 29 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Huom: Rajattoman kasvun määritelmä ei edellytä, että lukujono on kasvava. Lukujono voi heilahdella ja kasvaa keskimäärin. Esimerkiksi f (n) = n + n sin(n) ei ole kasvava, mutta kasvaa rajatta. 40 20 0 10 20 30 40 50-20 -40 30 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Määritelmä 32 Olkoot f (n) ja g(n) kaksi lukujonoa. Sanotaan, että f :n asymptoottinen kasvunopeus on enintään suuruusluokkaa g, jos on olemassa vakiot C N ja n 0 N siten, että n n 0 f (n) Cg(n). Toisin sanoen f (n) ei suurilla n voi kasvaa nopeammin kuin vakio kertaa g(n). Tätä merkitään myös f (n) = O(g(n)). Vastaavia asymptoottisia suuruusluokkamerkintöjä on useita, mutta tämä iso-o ( big-o, ordo-notaatio) lienee yleisin. 31 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Esimerkki 33 Jonon f (n) = n 2 + n asymptoottinen kasvunopeus on enintään suuruusluokkaa n 2, koska n 2 + n n 2 + n 2 = 2n 2 kaikilla n N. Määritelmän 32 vakioksi C voidaan siis ottaa luku 2 ja luvuksi n 0 voidaan ottaa luku 0 (mitkä tahansa suuremmatkin kelpaavat). Esimerkki 34 Ilmaisu f (n) = O(1) tarkoittaa, että jono f on rajoitettu. 32 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Saman ongelman ratkaisuun on usein olemassa monia algoritmeja, joiden nopeus voi vaihdella huomattavasti. Algoritmin aikavaativuus on O(f (n)), jos algoritmin ajankäyttö kasvaa korkeintaan samassa suhteessa kuin funktio f (n), kun muuttuja n kuvaa tiedon määrää. Algoritmin suoritus vie siis aikaa korkeintaan k f (n) jollain vakiolla k, kun n on riittävän suuri. Esimerkki 35 Algoritmien nopeuksien vertailukohteena käytetään usein lukujonoja muotoja f (n) = log k n, f (n) = n k ja f (n) = k n (jollekin k N) sekä näiden yhdistelmiä. 33 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Käsiteltävän tiedon määrän kaksinkertaistuessa (eli n 2n) vakioaikaisen algoritmin O(1) nopeus ei muutu, logaritminen algoritmi O(log n) tarvitsee yhden lisäaskeleen, lineaarinen algoritmi O(n) tarvitsee kaksinkertaisen ajan, neliöllinen algoritmi O(n 2 ) tarvitsee nelinkertaisen ajan, kuutiollinen algoritmi O(n 3 ) tarvitsee kahdeksankertaisen ajan, O(n k )-aikainen algoritmi tarvitsee 2 k -kertaisen ajan, eksponentiaalisen algoritmin O(k n ) ajankäyttö kasvaa räjähdysmäisesti. 34 / 35 R. Kangaslampi MS-A0401

Lukujonojen kasvunopeuksista Esimerkki 36 Mikä on seuraavan algoritmin aikavaativuus? long kertoma (int n) (1) { long k; (2) int i; (3) k = 1; (4) for (i=2; i<=n; i=i+1) (5) { k=k*i; } (6) return (k); (7) } Vast: O(n). (Kukin rivi suoritetaan vakioajassa, toisto riveillä 4-5 suoritetaan n 1 kertaa.) 35 / 35 R. Kangaslampi MS-A0401