811312A Tietorakenteet ja algoritmit II Algoritmien analyysi

Koko: px
Aloita esitys sivulta:

Download "811312A Tietorakenteet ja algoritmit II Algoritmien analyysi"

Transkriptio

1 811312A Tietoraketeet ja algoritmit II Algoritmie aalyysi

2 Sisältö 1. Algoritmie oikeellisuus 2. Algoritmie suorituskyvy aalyysi 3. Master Theorem A TRA, Algoritmie aalyysi 2

3 II.1. Algoritmie oikeellisuus Yksi osa algoritmie aalyysistä Varmistaa, että algoritmi toimii oikei Osittaie oikeellisuus Jos algoritmi päättyy, se tuottaa oikea tulokse Täydellie oikeellisuus Algoritmi päättyy ja tuottaa oikea tulokse Algoritmi oikeaksi todistamie = Todistettava osittaie oikeellisuus ja algoritmi päättymie A TRA, Algoritmie aalyysi 3

4 II.1.1 Algoritmi oikeaksi todistamie Tällä kurssilla ei käytetä formaaleja meetelmiä Oikea tulokse varmistamie: käytetää väitteitä, jotka osoitetaa oikeaksi ja joista seuraa algoritmi oikeellisuus Usei ivariatteja = omiaisuuksia, jotka ovat voimassa tietyssä kohdassa koko algoritmi suoritukse aja Päättymise varmistamie: käytetää kovergetteja Yleesä arvoja, jotka pieeevät tai kasvavat ja päättävät algoritmi, ku saavat joku tiety arvo A TRA, Algoritmie aalyysi 4

5 II Esimerkki: Kolme luvu maksimi Syöte: Luvut a,b ja c Tulostus: Suuri luvuista a,b ja c MAKSIMI3a,b,c) 1. x = a 2. if b > x 3. x = b 4. // VÄITE 1: x = maxa,b) 5. if c > x 6. x = c 7. // VÄITE 2: x = maxa,b,c) 8. retur x A TRA, Algoritmie aalyysi 5

6 II Esimerkki: Tauluko arvoje miimi Syöte: Taulukko A[1,..,], >= 1 Tulostus: Piei luvuista A[1],, A[] MINIMIA) 1. i = 2 i o kovergetti 2. x = A[1] 3. while i <= do Silmukkaivariatti: 4. if A[i] < x Ku i=k, rivillä 3 muuttuja 5. x = A[i] 6. i = i+1 x arvo o piei tauluko 7. retur x arvoista A[1],, A[k-1] A TRA, Algoritmie aalyysi 6

7 II Esimerkki: Haoi torit Alkutilae: N kiekkoa Tavoite: Sääöt: 1. Kiekkoja siirretää yksi kerrallaa paalusta toisee 2. Vai pieemmä kieko saa siirtää toise päälle Keksi siirtosarja tuottava algoritmi A TRA, Algoritmie aalyysi 7

8 II Esimerkki: Haoi torit 2) Syöte: Luku N >= 1 ja paaluje umerot A, B ja C Tulostus: Siirtojärjestys N:lle kiekolle paalusta A paaluu B käyttämällä apua paalua C SIIRRÄN,A,B,C) 1. if N==1 2. tulosta A -> B 3. else 4. SIIRRÄN-1,A,C,B) 5. tulosta A -> B 6. SIIRRÄN-1,C,B,A) 7. retur N o kovergetti Väite: Mistä tahasa laillisesta asemasta, jossa N pieitä kiekkoa ovat paalussa A, algoritmi tulostaa laillise siirtosarja, missä ämä N pieitä kiekkoa paaluu B käyttäe apua paalua C eikä siiä siirretä mitää muita kiekkoja A TRA, Algoritmie aalyysi 8

9 II Esimerkki: Lisäyslajittelu Syöte: Taulukko A[0,1,..,-1], >= 1 Tulostus: Järjestys A[0] <= <= A[-1] INSERTION_SORTA) 1. for j = 1 to k = A[j] 3. i = j-1 4. while i>=0 ad A[i]>k 5. A[i+1] = A[i] 6. i = i-1 7. A[i+1] = k Ivariatti: Rivillä 1 alkiot A[0, j-1] samat kui alkup. taulukossa, mutta suuruusjärjestyksessä A[0] <= <= A[j-1] i o kovergetti: while päättyy joka for-kierroksella A TRA, Algoritmie aalyysi 9

10 II.2 Algoritmie suorituskyvy aalyysi Tällä kurssilla ollaa kiiostueita aikakompleksisuudesta = algoritmi vaatima suoritusaja suhteesta algoritmi syöttee kokoo Tarvitaa abstrakti malli koeelle, joka suorittaa algoritmia Tässä käytetää hajasaatikoetta radom-access machie) A TRA, Algoritmie aalyysi 10

11 II.2.1 Hajasaatikoe Samalaisista muistipaikoista koostuva muisti Prosessori, jolla käytettävissää rekistereitä Dataa mielivaltaisista muistipaikoista rekistereihi Arvoja rekistereistä takaisi muistii Rekistereissä loogisia ja aritmeettisia operaatioita Ohjelma käskyjoukko Em. muisti- ja aritmeettisia operaatioita Suoritusta ohjaavia kotrollikäskyjä Käskyt suoritetaa peräkkäi, ts. ei riakkaista suorittamista A TRA, Algoritmie aalyysi 11

12 II.2.1 Hajasaatikoe 2) Kaikki perusoperaatiot vaativat sama aja Eroaa reaalikoeista Reaalikoeissa o muitaki perusoperaatioita kui hajasaatikoeessa Aalyysitulokset silti yleesä melko hyviä reaalikoeilleki A TRA, Algoritmie aalyysi 12

13 II.2.2 Aalyysi: Iteratiiviset algoritmit II Esimerkki: tauluko summa HUOM! Tässä oletetaa, että koodiriveillä eri suoritusajat c 1,c 2,c 3 Syöte: Taulukko A[1,..,], >= 1 Tulostus: Tauluko alkioide summa SUMMAA) kust. suorituskerrat 1. sum = 0 c for j = 1 to c2 3. sum = sum+a[j] c3 4. retur sum A TRA, Algoritmie aalyysi 13

14 II Esimerkki: tauluko summa 2) Saadaa suoritusajaksi c 3 1 c2 c ) Siis muotoa A + B Tällaisia algoritmeja saotaa lieaarisiksi Voidaa suorittaa erittäi suurilla taulukoilla A TRA, Algoritmie aalyysi 14

15 II Esimerkki: vaihtolajittelu HUOM! Tässä oletetaa, että koodiriveillä eri suoritusajat c 1,c 2,,c 6 Syöte: Taulukko A[1,..,], >= 1 Tulostus: Tauluko luvut järjestyksessä A[1] <= <= A[] VAIHTOLAJITTELUA) kust. suorituskerrat 1. for i = 1 to c1 2. for j = 1 to c2 = 2 3. if i<j && A[i]>A[j] c x = A[i] c4 i, j 5. A[i] = A[j] c5 i, j 6. A[j] = x c6 i, j ti, j) ti, j) ti, j) ti,j) = 1, jos ehto A[i] > A[j] o tosi ja ti,j) =0 muute A TRA, Algoritmie aalyysi 15

16 II Esimerkki: vaihtolajittelu 2) Saadaa suoritusajaksi 2 c1 c2 c3) c4 c5 c6 ) ti, j) Riippuu tauluko alkuperäisestä järjestyksestä Paras tapaus c c2 c3) Huooi tapaus c2 c3 c4 c5 c6)/2) c1 -c4 c5 c6)/2) Keskimääräie tapaus 2 c2 c3 c4 c5 c6)/4) c1 -c4 c5 c6)/4) i,j A TRA, Algoritmie aalyysi 16

17 II Esimerkki: vaihtolajittelu 4) Paraettu versio: Syöte: Taulukko A[1,..,], >= 1 Tulostus: Luvut järjestyksessä A[1] <= <= A[] VAIHTOLAJITTELU2A) 1. for i = 1 to for j = i+1 to 3. if A[i] > A[j] 4. x = A[i] 5. A[i] = A[j] 6. A[j] = x A TRA, Algoritmie aalyysi 17

18 II Esimerkki: vaihtolajittelu 5) Paraettu algoritmi oi puolet opeampi kui alkuperäie Suoritusaika silti luokkaa A 2 + B Paratuiko oleellisesti? Tällaiset algoritmit eliöllisiä Suoritusaika pitkä erittäi suurilla taulukoilla A TRA, Algoritmie aalyysi 18

19 II.2.3 Aalyysi: Asymptoottie merkitätapa Työlästä ja useimmite vaikeaa) laskea tarkkaa suoritusaikaa -> Samaistetaa suoritusajat, jotka ovat samaa luokkaa Esim. ajat 2+3 ja 7+9 samaa luokkaa Esim. ajat ja samaa luokkaa Kummassaki tapauksessa aikafuktiot kasvavat samalla tavalla Aikakompleksisuude käsittelyssä Käytetää s. asymptoottista tarkastelua Käytettävät merkiät: O-merkitä, Θ-merkitä ja - merkitä A TRA, Algoritmie aalyysi 19

20 II.2.3 Aalyysi: Asymptoottie merkitätapa II O-merkitä Olkoo g) joki fuktio. Silloi Og)) o iide fuktioide joukko, joita voidaa rajoittaa ylhäältä fuktiolla g: O g )) { f positiiviset vakiot 0 f ) ) ja c g ),aia O olemassa c 0 ku,että sellaiset Fuktio g o fuktio f asymptoottie yläraja Merkitää f) Є Og)) HUOM! Cormei kirjassa epätarkasti f) = Og)) 0 } A TRA, Algoritmie aalyysi 20

21 c g) f) 0 Fuktio f kasvua voidaa ylhäältä rajoittaa fuktiolla g, jote f) Є Og))

22 II O-merkitä 2) Esimerkkejä: f) = f) Є O 2 ), f) Є O 3 ), f) Є O) f) = lg) f) Є O 2 ) A TRA, Algoritmie aalyysi 22

23 II merkitä Olkoo g) joki fuktio. Silloi g)) o iide fuktioide joukko, joita voidaa rajoittaa sekä ylhäältä että alhaalta fuktiolla g: g )) { f ) O olemassa sellaiset positiiviset vakiot c 1 g ) f ) c 2 c 1, c 2 ja 0,että g ),aia ku 0 } Fuktio g asymptoottisesti tarkka raja fuktiolle f Merkitää f) Є g)) HUOM! Cormei kirjassa epätarkasti f) = g)) A TRA, Algoritmie aalyysi 23

24 c 2 g) f) c 1 g) 0 Fuktio f kasvua voidaa ylhäältä ja alhaalta rajoittaa fuktiolla g, jote f) Є g))

25 II merkitä 2) Esimerkkejä: f) = f) Є 2 ), f) Є 3 ), vaikka f) Є O 3 ) f) = lg) f) Є 2 ), vaikka f) Є O 2 ) A TRA, Algoritmie aalyysi 25

26 II merkitä Olkoo g) joki fuktio. Silloi g)) o iide fuktioide joukko, joita voidaa rajoittaa alhaalta fuktiolla g: g )) { f positiiviset vakiot 0 c g ) ) O olemassa c ja f ),aia 0 ku,että sellaiset Fuktio g o fuktio f asymptoottie alaraja Merkitää f) Є g)) HUOM! Cormei kirjassa epätarkasti f) = g)) 0 } A TRA, Algoritmie aalyysi 26

27 f) c g) 0 Fuktio f kasvua voidaa alhaalta rajoittaa fuktiolla g, jote f) Є g))

28 II Merkitöje omiaisuuksia Kaikki merkiät trasitiivisia: Jos f ) O g )) ja g ) O h )), ii f ) O h )) Jos f ) g )) ja g ) h )), ii f ) h )) Jos f ) g )) ja g ) h )), ii f ) h )) A TRA, Algoritmie aalyysi 28

29 II Esimerkki: vaihtolajittelu Aiemmassa vaihtolajitteluesimerkissä aikakompleksisuus kaikissa tapauksissa luokkaa Θ 2 ) Paraettu algoritmi oi puolet opeampi kui alkuperäie: kompleksisuus silti luokkaa Θ 2 ) Ei siis paratuut oleaisesti ku tarkastellaa asymptoottisesti HUOM! Jos tarkastellaa vai aikakompleksisuusluokkaa, ei kustauksilla c 1,, c 6 ole merkitystä! Seuraus: Voidaa olettaa vakiokestoiset operaatiot samaarvoisiksi -> Tarkastelu helpottuu A TRA, Algoritmie aalyysi 29

30 II Esimerkki: vaihtolajittelu 2) Kaikki suoritusajat luokkaa Θ 2 ) Yleesä keskitytää huooimma tapaukse tarkasteluu Yläraja suoritusajalle Joskus myös keskimääräie tapaus kiiostava Esim. Quicksort, huooi tapaus Θ 2 ), keskimääräie Θ lg)) Yleesä paras tapaus ei oleellie Usei harviaie erikoistapaus A TRA, Algoritmie aalyysi 30

31 II Sisäkkäiste silmukoide kompleksisuus Tutkitaa algoritmia ALGORITMI) 1. for i1 = 1 to 2. for i2 = 1 to... k. for ik = 1 to k+1. k sisäkkäistä silmukkaa. // Joki vakioaikaie operaatio HUOM! Kaikki ideksit kulkevat 1.. eivätkä riipu toisistaa. Muute seuraava tarkastelu ei välttämättä päde A TRA, Algoritmie aalyysi 31

32 II Sisäkkäiste silmukoide kompleksisuus 2) Algoritmi suoritusaika muotoa a k k Miksi? a k-1 k-1 a 1 Aioastaa korkei termi vaikuttaa kompleksisuusluokkaa -> Algoritmi luokkaa Θ k ) Jos algoritmi kompleksisuusluokka o O k ) sitä saotaa polyomiaikaiseksi Polyomiaikaisia algoritmeja pidetää laskeallisesti sovellettavia a A TRA, Algoritmie aalyysi 32

33 II.2.4 Aalyysi: Rekursiiviset algoritmit Rekursiivisille algoritmeille tarvitaa uusia meetelmiä: 1. Rekursiopuu avulla tarkastelu 2. Iduktiivie päättely 3. Rekursioyhtälö muodostamie ja Master Theorem A TRA, Algoritmie aalyysi 33

34 II Esimerkki: Haoi torit Syöte: Luku N >= 1 ja paaluje umerot A, B ja C Tulostus: Siirtojärjestys N:lle kiekolle paalusta A paaluu B käyttämällä apua paalua C SIIRRÄN,A,B,C) 1. if N==1 the 2. tulosta A -> B 3. else 4. SIIRRÄN-1,A,C,B) 5. tulosta A -> B 6. SIIRRÄN-1,C,B,A) 7. ed if 8. retur A TRA, Algoritmie aalyysi 34

35 II Esimerkki: Haoi torit 2) Rekursiopuu: Ku N>1, haaraatuu kahtee osaa ja tekee yhde vakioaikaise operaatio vertailu + tulostus) je Tasolla N-1 loppuu, kuki haara tekee yhde vakioaikaise operaatio Koska jakaatuu kahtia, tasolla k tehdää 2 k operaatiota -> Kaikkiaa N-1 = 2 N -1 operaatiota Algoritmi kompleksisuusluokka o Θ2 N ) Piirrä kuva! A TRA, Algoritmie aalyysi 35

36 II Esimerkki: Haoi torit 3) Iduktiivie päättely: Merkitää algoritmi askelmäärä = TN), ku kiekkoja N Selvästi T1) = 1 Jos TN-1) tuetaa, TN) = TN-1) Ns. rekursioyhtälö Arvataa TN) = 2 N -1 ja todetaa iduktiivisesti, että pitää paikkasa A TRA, Algoritmie aalyysi 36

37 811312A TRA, Algoritmie aalyysi 37 II Master Theorem )). ) ii arvoilla, luvu suurilla riittävä 1 ja jollaki vakiolla ) ) / jos ja 0 jollaki vakiolla ) ) Jos 3) ) lg ) ii ), ) Jos 2) ). ) ii 0, jollaki vakiolla ) ) Jos 1) ratkaisulle pätee: ) ) ) / ) tai ) ) / ) Rekursio fuktio. ja 1 kokoaislukuvakioita 1, Lause M.Olkoot log log log log log f T c f c b f a f T f T O f f b T a T f b T a T f b a a a a a a b b b b b

38 II Master Theorem 2) Lausetta M voidaa soveltaa atamaa rekursiivise algoritmi kompleksisuusluokka, kuha rekursioyhtälö o muodostettu HUOM! Ei sovellu kaikkii tapauksii Esimerkiksi Haoi torie yhtälö ei ratkea lauseella M A TRA, Algoritmie aalyysi 38

39 II Master Theorem 2) Ratkaise lausee M avulla a) Rekursio T ) 4T / 2) 2 Vastaus: T ) ) b) Rekursio T ) 4T / 2) 2 Vastaus: T ) lg ) c) Rekursio T ) 4T / 2) 3 Vastaus: T ) ) d) Rekursio T ) 2T / 2) Vastaus: Lausetta ei voi soveltaa tähä tapauksee 2 3 lg A TRA, Algoritmie aalyysi 39

40 II Esimerkki: Lomituslajittelu Syöte: Taulukko A[1,..,], >= 1, luvut 1 <= p <= q <= Tulostus: Tauluko alkiot A[p..q] suuruusjärjestyksessä LOMITUSLAJITTELUA,p,q) 1. if p < q 2. r = p q) / 2 3. LOMITUSLAJITTELUA,p,r) 4. LOMITUSLAJITTELUA,r+1,q) 5. LOMITAA,p,r,q) 6. retur LOMITA: A[p] A[r] A[r+1] A[q] A TRA, Algoritmie aalyysi 40

41 II Esimerkki: Lomituslajittelu 2) Algoritmi rekursiivie: aluksi lajitellaa lista alkiot A[p..r] ja A[r+1..q], sitte lomitetaa järjestyksessä olevat osalistat ii, että A[p..q] järjestyksessä Selvästi lomittamie voidaa tehdä lieaarisessa ajassa Kumpiki osalista käydää kerra läpi Saadaa rekursio T ) 2T / 2) c Lauseella M: T ) lg ) A TRA, Algoritmie aalyysi 41

2. Algoritmien analyysi

2. Algoritmien analyysi . Algoritmie aalyysi Tässä osassa käsitellää algoritmie aalyysia, joka tarkoittaa algoritmie oikeellisuustarkasteluja sekä iide suorituskyvy aalysoitia. Joskus algoritmie aalyysi katsotaa sisältävä aioastaa

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 4, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 4, Ratkaisu 81112A Tietoraketeet ja algoritmit, 217-218, Harjoitus 4, Ratkaisu Harjoitukse aiheita ovat algoritmie aikakompleksisuus ja lajittelualgoritmit Tehtävä 4.1 Selvitä seuraavie rekursioyhtälöide ratkaisuje

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2015-2016, Harjoitus 2, Ratkaisu

811312A Tietorakenteet ja algoritmit, 2015-2016, Harjoitus 2, Ratkaisu 8111A Tietoraketeet ja algoritmit, 15-16, Harjoitus, Ratkaisu Harjoituksessa käsitellää asymptoottista merkitätapaa ja algoritmie aikakompleksisuutta. Tehtävä.1 a Oko f ( O( tai f (, ku 1 f ( f, 4 ( 5

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 111A Tietoraketeet ja algoritmit, 016-017, Harjoitus, Ratkaisu Harjoitukse aiheita ovat algoritmie aikakompleksisuus ja lajittelualgoritmit Tehtävä.1 Selvitä seuraavie rekursioyhtälöide ratkaisuje kompleksisuusluokat

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta kurssin alkuosasta II Algoritmien analyysi: oikeellisuus Algoritmin täydellinen oikeellisuus = Algoritmi päättyy ja tuottaa määritellyn tuloksen

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden

Lisätiedot

811312A Tietorakenteet ja algoritmit , Harjoitus 1 ratkaisu

811312A Tietorakenteet ja algoritmit , Harjoitus 1 ratkaisu 83A Tietoraketeet ja algoritmit 06-07, Harjoitus ratkaisu Harjoitukse aiheea o algoritmie oikeellisuus. Tehtävä. Kahvipurkkiogelma. Kahvipurkissa P o valkoisia ja mustia kahvipapuja, yhteesä vähitää kaksi

Lisätiedot

T Datasta tietoon, syksy 2005 Laskuharjoitus 8.12., ratkaisuja Jouni Seppänen

T Datasta tietoon, syksy 2005 Laskuharjoitus 8.12., ratkaisuja Jouni Seppänen T-1.1 Datasta tietoo, syksy 5 Laskuharjoitus.1., ratkaisuja Joui Seppäe 1. Simuloidaa tasoittaista algoritmia. Esimmäisessä vaiheessa ehdokkaia ovat kaikki yhde muuttuja joukot {a}, {b}, {c} ja {d}. Aaltosulkeide

Lisätiedot

811312A Tietorakenteet ja algoritmit III Lajittelualgoritmeista

811312A Tietorakenteet ja algoritmit III Lajittelualgoritmeista 811312A Tietorakenteet ja algoritmit 2016-2017 III Lajittelualgoritmeista Sisältö 1. Johdanto 2. Pikalajittelu 3. Kekolajittelu 4. Lajittelualgoritmien suorituskyvyn rajoista 811312A TRA, Lajittelualgoritmeista

Lisätiedot

Algoritmit 2. Luento 8 To Timo Männikkö

Algoritmit 2. Luento 8 To Timo Männikkö Algoritmit 2 Luento 8 To 4.4.2019 Timo Männikkö Luento 8 Algoritmien analysointi Algoritmien suunnittelu Rekursio Osittaminen Rekursioyhtälöt Rekursioyhtälön ratkaiseminen Master-lause Algoritmit 2 Kevät

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

MATP153 Approbatur 1B Harjoitus 1, ratkaisut Maanantai

MATP153 Approbatur 1B Harjoitus 1, ratkaisut Maanantai MATP53 Approbatur B Harjoitus, ratkaisut Maaatai..05. (Lämmittelytehtävä.) Oletetaa, että op = 7 tutia työtä. Kuika mota tutia Oili Opiskelija työsketelee itseäisesti kurssilla, joka laajuus o 4 op, ku

Lisätiedot

Algoritmit 1. Luento 11 Ti Timo Männikkö

Algoritmit 1. Luento 11 Ti Timo Männikkö Algoritmit 1 Luento 11 Ti 14.2.2017 Timo Männikkö Luento 11 Algoritminen ongelmanratkaisu Osittaminen Lomituslajittelu Lomituslajittelun vaativuus Rekursioyhtälöt Pikalajittelu Algoritmit 1 Kevät 2017

Lisätiedot

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu 811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,

Lisätiedot

4 Tehokkuus ja algoritmien suunnittelu

4 Tehokkuus ja algoritmien suunnittelu TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 2 1.-2.2.2017 Timo Männikkö Tehtävä 1 (a) Ei-rekursiivinen algoritmi: laskesumma(t, n) sum = t[0]; for (i = 1; i < n; i++) sum = sum + t[i]; return sum; Silmukka suoritetaan n 1 kertaa

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 ari.vesanen (at) oulu.fi 5. Rekursio ja induktio Rekursio tarkoittaa jonkin asian määrittelyä itseensä viittaamalla Tietojenkäsittelyssä algoritmin määrittely niin,

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

Algoritmit 1. Luento 12 Ti Timo Männikkö

Algoritmit 1. Luento 12 Ti Timo Männikkö Algoritmit 1 Luento 12 Ti 19.2.2019 Timo Männikkö Luento 12 Osittamisen tasapainoisuus Pikalajittelun vaativuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu Algoritmit

Lisätiedot

Algoritmit 1. Luento 12 Ke Timo Männikkö

Algoritmit 1. Luento 12 Ke Timo Männikkö Algoritmit 1 Luento 12 Ke 15.2.2017 Timo Männikkö Luento 12 Pikalajittelu Pikalajittelun vaativuus Osittamisen tasapainoisuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu

Lisätiedot

Tehtäviä neliöiden ei-negatiivisuudesta

Tehtäviä neliöiden ei-negatiivisuudesta Tehtäviä epäyhtälöistä Tehtäviä eliöide ei-egatiivisuudesta. Olkoo a R. Osoita, että 4a 4a. Ratkaisu. 4a 4a a) a 0 a ) 0.. Olkoot a,, R. Osoita, että a a a. Ratkaisu. Kerrotaa molemmat puolet kahdella:

Lisätiedot

1.4 Funktioiden kertaluokat

1.4 Funktioiden kertaluokat 1.4 Funktioiden kertaluokat f on kertaluokkaa O(g), merk. f = O(g), jos joillain c > 0, m N pätee f(n) cg(n) aina kun n m f on samaa kertaluokkaa kuin g, merk. f = Θ(g), jos joillain a, b > 0, m N pätee

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2015-2016. VI Algoritmien suunnitteluparadigmoja

811312A Tietorakenteet ja algoritmit, 2015-2016. VI Algoritmien suunnitteluparadigmoja 811312A Tietorakenteet ja algoritmit, 2015-2016 VI Algoritmien suunnitteluparadigmoja Sisältö 1. Hajota ja hallitse-menetelmä 2. Dynaaminen taulukointi 3. Ahneet algoritmit 4. Peruuttavat algoritmit 811312A

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava

Lisätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 2. Luento 14 Ke Timo Männikkö Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan

Lisätiedot

Insinöörimatematiikka IA

Insinöörimatematiikka IA Isiöörimatematiikka IA Harjoitustehtäviä. Selvitä oko propositio ( p q r ( p q r kotradiktio. Ratkaisu: Kirjoitetaa totuustaulukko: p q r ( p q r p q r ( p q r ( p q r 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Lisätiedot

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 5 (6 sivua)

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 5 (6 sivua) Algebra I Matematiika ja tilastotietee laitos Ratkaisuehdotuksia harjoituksii 5 (6 sivua) 14.2. 17.2.2011 1. Määritellää kuvaus f : S 3 S 3, f(α) = (123) α. Osoita, että f o bijektio. Mikä o se kääteiskuvaukse

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku

Lisätiedot

1 Eksponenttifunktion määritelmä

1 Eksponenttifunktion määritelmä Ekspoettifuktio määritelmä Selvitimme aikaisemmi tällä kurssilla, millaie potessisarja säilyy derivoiissa muuttumattomaa. Se perusteella määritellää: Määritelmä. Ekspoettifuktio exp : R R määritellää lausekkeella

Lisätiedot

Analyysi A. Harjoitustehtäviä lukuun 1 / kevät 2018

Analyysi A. Harjoitustehtäviä lukuun 1 / kevät 2018 Aalyysi A Harjoitustehtäviä lukuu / kevät 208 Ellei toisi maiita, tehtävissä esiityvät muuttujat ja vakiot ovat mielivaltaisia reaalilukuja.. Aa joki ylä- ja alaraja joukoille { x R x 2 + x 6 ja B = {

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 2 7.-8.2.2018 Timo Männikkö Tehtävä 1 (a) Ei-rekursiivinen algoritmi: etsipienin(t, n) { pnn = t[0]; for (i = 1; i < n; i++) { pnn = min(pnn, t[i]); return pnn; Silmukka suoritetaan

Lisätiedot

( ) k 1 = a b. b 1) Binomikertoimen määritelmän mukaan yhtälön vasen puoli kertoo kuinka monta erilaista b-osajoukkoa on a-joukolla.

( ) k 1 = a b. b 1) Binomikertoimen määritelmän mukaan yhtälön vasen puoli kertoo kuinka monta erilaista b-osajoukkoa on a-joukolla. Kombiatoriikka, kesä 2010 Harjoitus 2 Ratkaisuehdotuksia (RT) (5 sivua) Käytä tehtävissä 1-3 kombiatorista päättelyä. 1. Osoita, että kaikilla 0 b a pätee ( ) a a ( ) k 1 b b 1 kb Biomikertoime määritelmä

Lisätiedot

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 1.1. (a) Jaettava m, jakaja n. Vähennetään luku n luvusta m niin kauan kuin m pysyy ei-negatiivisena. Jos jäljelle jää nolla, jaettava oli tasan jaollinen. int m,

Lisätiedot

5 Kertaluokkamerkinnät

5 Kertaluokkamerkinnät TIE-20100 Tietorakenteet ja algoritmit 75 5 Kertaluokkamerkinnät Tässä luvussa käsitellään asymptoottisessa analyysissa käytettyjä matemaattisia merkintätapoja Määritellään tarkemmin Θ, sekä kaksi muuta

Lisätiedot

RATKAISUT x 2 3 = x 2 + 2x + 1, eli 2x 2 2x 4 = 0, joka on yhtäpitävä yhtälön x 2 x 2 = 0. Toisen asteen yhtälön ratkaisukaavalla saadaan

RATKAISUT x 2 3 = x 2 + 2x + 1, eli 2x 2 2x 4 = 0, joka on yhtäpitävä yhtälön x 2 x 2 = 0. Toisen asteen yhtälön ratkaisukaavalla saadaan RATKAISUT 8 17 8 a) Paraabelie y x ja y x + x + 1 leikkauspisteet saadaa määritettyä, ku esi ratkaistaa yhtälö x x + x + 1, eli x x, joka o yhtäpitävä yhtälö x x. Toise astee yhtälö ratkaisukaavalla saadaa

Lisätiedot

Ryhmän osajoukon generoima aliryhmä ja vapaat ryhmät

Ryhmän osajoukon generoima aliryhmä ja vapaat ryhmät Ryhmä osajouko geeroima aliryhmä ja vapaat ryhmät LuK-tutkielma Joose Heioe Matemaattiste tieteide tutkito-ohjelma Oulu yliopisto Kevät 2017 Sisältö Johdato 2 1 Ryhmät ja aliryhmät 2 1.1 Ryhmä.................................

Lisätiedot

On annettu jono lukuja tai muita alkioita, joiden välille on määritelty suuruusjärjestys. Tehtävänä on saattaa alkiot suuruusjärjestykseen.

On annettu jono lukuja tai muita alkioita, joiden välille on määritelty suuruusjärjestys. Tehtävänä on saattaa alkiot suuruusjärjestykseen. 6. Järjestäminen On annettu jono lukuja tai muita alkioita, joiden välille on määritelty suuruusjärjestys. Tehtävänä on saattaa alkiot suuruusjärjestykseen. Tämä on eräs klassisimpia tietojenkäsittelyongelmia,

Lisätiedot

Kertaa tarvittaessa induktiota ja rekursiota koskevia tietoja.

Kertaa tarvittaessa induktiota ja rekursiota koskevia tietoja. MATEMATIIKAN JA TILASTOTIETEEN LAITOS Aalyysi I Harjoitus 5. 0. 2009 alkavalle viikolle Ratkaisuehdotuksia ( sivua) (Rami Luisto) Laskuharjoituksista saa pistettä, jos laskettu vähitää 50 tehtävää; 3 pistettä,

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Matematiikan tukikurssi. Kertausta 1. välikokeeseen. Tehtävät

Matematiikan tukikurssi. Kertausta 1. välikokeeseen. Tehtävät Matematiika tukikurssi Kertausta. välikokeesee Tehtävät Algebraa Tämä kappale sisältää rusaasti harjoitustehtäviä. Suurimpaa osaa tehtävistä löytyy ratkaisut lopusta. Syyä rusaasee tehtävämäärää o, että

Lisätiedot

Äärettämän sarjan (tai vain sarjan) sanotaan suppenevan eli konvergoivan, jos raja-arvo lims

Äärettämän sarjan (tai vain sarjan) sanotaan suppenevan eli konvergoivan, jos raja-arvo lims 75 4 POTENSSISARJOJA 4.1 ÄÄRETTÖMÄT SARJAT Lukujoo { a k } summaa S a a a a a k 0 1 k k0 saotaa äärettömäksi sarjaksi. Summa o s. osasumma. S a a a a a k 0 1 k0 Äärettämä sarja (tai vai sarja) saotaa suppeeva

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiika tukikurssi Kurssikerta 1 Iduktiotodistus Iduktiotodistukse logiikka Tutkitaa tapausta, jossa haluamme todistaa joki väittee P() site, että se pätee kaikilla luoollisissa luvuilla. Eli halutaa

Lisätiedot

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö Johdatus diskreettiin matematiikkaan Harjoitus 5, 14.10.2015 1. Ratkaise rekursioyhtälö x n+4 2x n+2 + x n 16( 1) n, n N, alkuarvoilla x 1 2, x 2 14, x 3 18 ja x 4 42. Ratkaisu. Vastaavan homogeenisen

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiika tukikurssi Kertauslueto. välikokeesee Algebraa Tämäkertaie kurssimoiste sisältää rusaasti harjoitustehtäviä. Syyä tähä o se, että matematiikkaa oppii parhaite itse tekemällä ja laskemalla.

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015)

58131 Tietorakenteet ja algoritmit (syksy 2015) 58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Diskreetin Matematiikan Paja Ratkaisuja viikolle 4. ( ) Jeremias Berg. n(n + 1) 2. k =

Diskreetin Matematiikan Paja Ratkaisuja viikolle 4. ( ) Jeremias Berg. n(n + 1) 2. k = Diskreeti Matematiika Paja Ratkaisuja viikolle 4. (7.4-8.4) Jeremias Berg. Osoita iduktiolla että k = ( + ) Ratkaisu: Kute kaikissa iduktiotodistuksissa meidä täytyy siis osoittaa asiaa. Ns. perustapaus,

Lisätiedot

2.2.1 Ratkaiseminen arvausta sovittamalla

2.2.1 Ratkaiseminen arvausta sovittamalla 2.2.1 Ratkaiseminen arvausta sovittamalla Esimerkki: lomitusjärjestäminen (edellä) Yleistys: Ratkaistava T (1) c T (n) g(t (1),..., T (n 1), n) missä g on n ensimmäisen parametrin suhteen kasvava. (Ratkaisu

Lisätiedot

LIITTEET Liite A Stirlingin kaavan tarkkuudesta...2. Liite B Lagrangen kertoimet...3

LIITTEET Liite A Stirlingin kaavan tarkkuudesta...2. Liite B Lagrangen kertoimet...3 LIITTEET... 2 Liite A Stirligi kaava tarkkuudesta...2 Liite B Lagrage kertoimet... 2 Liitteet Liitteet Liite A Stirligi kaava tarkkuudesta Luoollista logaritmia suureesta! approksimoidaa usei Stirligi

Lisätiedot

Tietorakenteet, laskuharjoitus 2,

Tietorakenteet, laskuharjoitus 2, Tietorakenteet, laskuharjoitus, 6.-9.1 Muista TRAKLA-tehtävien deadline 31.1. 1. Tarkastellaan ensin tehtävää yleisellä tasolla. Jos funktion T vaativuusluokka on O(f), niin funktio T on muotoa T (n) =

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT ALGORITMIEN ANALYYSISTÄ 1.ratkaisu Laskentaaika hakkeri - optimoitu ALGORITMIANALYYSIÄ hyvä algoritmi hakkeri -optimoitu hyvä algoritmi Tehtävän koko Kuva mukailtu

Lisätiedot

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä

Lisätiedot

S Laskennallinen systeemibiologia

S Laskennallinen systeemibiologia S-4250 Laskeallie systeemibiologia Harjoitus Mittaustuloksea o saatu havaitoparia (x, y ),, (x, y ) Muuttuja y käyttäytymistä voidaa selittää muuttuja x avulla esimerkiksi yksikertaise lieaarise riippuvuude

Lisätiedot

Algoritmit 2. Demot Timo Männikkö

Algoritmit 2. Demot Timo Männikkö Algoritmit 2 Demot 1 27.-28.3.2019 Timo Männikkö Tehtävä 1 (a) 4n 2 + n + 4 = O(n 2 ) c, n 0 > 0 : 0 4n 2 + n + 4 cn 2 n n 0 Vasen aina tosi Oikea tosi, jos (c 4)n 2 n 4 0, joten oltava c > 4 Kokeillaan

Lisätiedot

Tarkennamme geneeristä painamiskorotusalgoritmia

Tarkennamme geneeristä painamiskorotusalgoritmia Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Nopea kertolasku, Karatsuban algoritmi

Nopea kertolasku, Karatsuban algoritmi Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa

Lisätiedot

2 avulla. Derivaatta on nolla, kun. g( 3) = ( 3) 2 ( 3) 5 ( 3) + 6 ( 3) = 72 > 0. x =

2 avulla. Derivaatta on nolla, kun. g( 3) = ( 3) 2 ( 3) 5 ( 3) + 6 ( 3) = 72 > 0. x = TAMMI PYRAMIDI NUMEERISIA JA ALGEBRALLISIA MENETELMIÄ PARITTOMAT RATKAISUT 7 Tiedosto vai hekilökohtaisee käyttöö. Kaikelaie sisällö kopioiti kielletty. a) g( ) = 5 + 6 Koska g o eljäe astee polyomi, ii

Lisätiedot

Algoritmit 1. Luento 5 Ti Timo Männikkö

Algoritmit 1. Luento 5 Ti Timo Männikkö Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti

Lisätiedot

Solmu 3/2010 1. toteutuu kaikilla u,v I ja λ ]0,1[. Se on aidosti konveksi, jos. f ( λu+(1 λ)v ) < λf(u)+(1 λ)f(v) (2)

Solmu 3/2010 1. toteutuu kaikilla u,v I ja λ ]0,1[. Se on aidosti konveksi, jos. f ( λu+(1 λ)v ) < λf(u)+(1 λ)f(v) (2) Solmu 3/200 Epäyhtälöistä, osa 2 Markku Halmetoja Mätä lukio Välillä I määriteltyä fuktiota saotaa koveksiksi, jos se kuvaaja o alaspäi kupera, eli jos kuvaaja mitkä tahasa kaksi pistettä yhdistävä jaa

Lisätiedot

1 Erilaisia tapoja järjestää

1 Erilaisia tapoja järjestää TIE-20100 Tietorakenteet ja algoritmit 1 1 Erilaisia tapoja järjestää Käsitellään seuraavaksi järjestämisalgoritmeja, jotka perustuvat muihin kuin vertailuun alkioiden oikean järjestyksen saamiseksi. Lisäksi

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiika tukikurssi Kurssikerta 3 1 Lisää iduktiota Jatketaa iduktio tarkastelua esimerki avulla. Yritetää löytää kaava : esimmäise (positiivise) parittoma luvu summalle eli summalle 1 + 3 + 5 + 7 +...

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit 811312A Tietorakenteet ja algoritmit 2015-2016 V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi

Lisätiedot

Luento 6 Luotettavuus Koherentit järjestelmät

Luento 6 Luotettavuus Koherentit järjestelmät Lueto 6 Luotettavuus Koheretit järjestelmät Ja-Erik Holmberg Systeemiaalyysi laboratorio PL 00, 00076 Aalto ja-erik.holmberg@riskpilot.fi ja-erik.holmberg@aalto.fi Määritelmä Tarkasteltava yksikö luotettavuus

Lisätiedot

Algoritmit 2. Luento 1 Ti Timo Männikkö

Algoritmit 2. Luento 1 Ti Timo Männikkö Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia

Lisätiedot

1. (Jatkoa Harjoitus 5A tehtävään 4). Monisteen esimerkin mukaan momenttimenetelmän. n ne(y i Y (n) ) = 2E(Y 1 Y (n) ).

1. (Jatkoa Harjoitus 5A tehtävään 4). Monisteen esimerkin mukaan momenttimenetelmän. n ne(y i Y (n) ) = 2E(Y 1 Y (n) ). HY / Matematiika ja tilastotietee laitos Tilastollie päättely II, kevät 018 Harjoitus 5B Ratkaisuehdotuksia Tehtäväsarja I 1. (Jatkoa Harjoitus 5A tehtävää ). Moistee esimerki 3.3.3. mukaa momettimeetelmä

Lisätiedot

3 x < < 3 x < < x < < x < 9 2.

3 x < < 3 x < < x < < x < 9 2. Matematiika johdatokurssi Kertaustehtävie ratkaisuja 1. Ratkaise epäyhtälöt: a) 3 x < 3, b) 5x + 1. Ratkaisu. a) Ratkaistaa epäyhtälö poistamalla esi itseisarvot: 3 x < 3 3 < 3 x < 3 9 < x < 3 3 < x

Lisätiedot

Epäyhtälöoppia matematiikkaolympialaisten tehtäviin

Epäyhtälöoppia matematiikkaolympialaisten tehtäviin Epäyhtälöoppia matematiikkaolympialaiste tehtävii Jari Lappalaie ja Ae-Maria Ervall-Hytöe 0 Johdato Epäyhtälöitä reaaliluvuille Cauchy epäyhtälö Kaikille reaaliluvuille a, a,, a ja b, b,, b pätee Cauchy

Lisätiedot

Luento 7 Luotettavuus Koherentit järjestelmät

Luento 7 Luotettavuus Koherentit järjestelmät Lueto 7 Luotettavuus Koheretit järjestelmät Ja-Erik Holmberg Systeemiaalyysi laboratorio Aalto-yliopisto perustieteide korkeakoulu PL 00, 00076 Aalto ja-erik.holmberg@riskpilot.fi Määritelmä Tarkasteltava

Lisätiedot

5. Lineaarisen optimoinnin perusprobleemat

5. Lineaarisen optimoinnin perusprobleemat 2 5. Lieaarise optimoii perusprobleemat Optimoitiprobleema o lieaarise optimoii tehtävä, jos kohdefuktio o lieaarie fuktio ja rajoitusehdot ovat lieaarisia yhtälöitä tai lieaarisia epäyhtälöitä. Yleisessä

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

3 10 ei ole rationaaliluku.

3 10 ei ole rationaaliluku. Harjoitukset / 011 RATKAISUT Lukuteoria 1. Etsi Eratostheee seulalla samatie kaikki lukua 400 pieemmät alkuluvut. (Tai ohjelmoi tietokoeesi etsimää paljo lisää.) Kirjoita rivii kaikki luvut 1-00. Poista

Lisätiedot

4 KORKEAMMAN KERTALUVUN LINEAARISET DIFFERENTIAALIYHTÄLÖT. Kertaluvun n lineaarinen differentiaaliyhtälö ns. standardimuodossa on

4 KORKEAMMAN KERTALUVUN LINEAARISET DIFFERENTIAALIYHTÄLÖT. Kertaluvun n lineaarinen differentiaaliyhtälö ns. standardimuodossa on 4 4 KORKEAAN KERTAUVUN INEAARISET DIFFERENTIAAIYHTÄÖT Kertalukua olevassa differetiaalihtälössä F(x,,,, () ) = 0 esiit :e kertaluvu derivaatta () = d /dx ja mahdollisesti alempia derivaattoja, :tä ja x:ää.

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

Lisätiedot

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26

Lisätiedot

8. Lajittelu, joukot ja valinta

8. Lajittelu, joukot ja valinta 8. Lajittelu, joukot ja valinta Yksi tietojenkäsittelyn klassisista tehtävistä on lajittelu (järjestäminen) (sorting) jo mekaanisten tietojenkäsittelylaitteiden ajalta. Lajiteltua tietoa tarvitaan lukemattomissa

Lisätiedot

4.3. Matemaattinen induktio

4.3. Matemaattinen induktio 4.3. Matemaattinen induktio Matemaattinen induktio: Deduktion laji Soveltuu, kun ominaisuus on osoitettava olevan voimassa luonnollisilla luvuilla. Suppea muoto P(n) : Ominaisuus, joka joka riippuu luvusta

Lisätiedot

Otantajakauma. Otantajakauman käyttö päättelyssä. Otantajakauman käyttö päättelyssä

Otantajakauma. Otantajakauman käyttö päättelyssä. Otantajakauman käyttö päättelyssä Otatajakauma kuvaa tarkasteltava parametri jakauma eri otoksista laskettua parametria o joki yleesä tuusluku, esim. keskiarvo, suhteellie osuus, riskisuhde, korrelaatiokerroi, regressiokerroi, je. parametria

Lisätiedot

Sormenjälkimenetelmät

Sormenjälkimenetelmät Sormejälkimeetelmät Matti Risteli mristeli@iksula.hut.fi Semiaariesitelmä 23.4.2008 T-106.5800 Satuaisalgoritmit Tietotekiika laitos Tekillie korkeakoulu Tiivistelmä Sormejälkimeetelmät ovat satuaisuutta

Lisätiedot

9 Erilaisia tapoja järjestää

9 Erilaisia tapoja järjestää TIE-20100 Tietorakenteet ja algoritmit 198 9 Erilaisia tapoja järjestää Käsitellään seuraavaksi järjestämisalgoritmeja, jotka perustuvat muihin kuin vertailuun alkioiden oikean järjestyksen saamiseksi.

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

1 sup- ja inf-esimerkkejä

1 sup- ja inf-esimerkkejä Alla olevat kohdat (erityisesti todistukset) ovat lähinnä oheislukemista reaaliluvuista, mutta joihinkin niistä palataan myöhemmin kurssilla. 1 sup- ja inf-esimerkkejä Kaarenpituus. Olkoon r: [a, b] R

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Algoritmianalyysin perusteet

Algoritmianalyysin perusteet Tietorakenteet ja algoritmit Algoritmianalyysin perusteet Ari Korhonen 1 5. ALGORITMIANALYYSI 5.1 Johdanto 5.2 Tavoitteet 5.3 Algoritmien luokittelu 5.4 Kertaluokkamerkinnät (Big Oh Notation) 5.5 Kertaluokkamerkinnöillä

Lisätiedot

4.3 Signaalin autokorrelaatio

4.3 Signaalin autokorrelaatio 5 4.3 Sigaali autokorrelaatio Sigaali autokorrelaatio kertoo kuika paljo sigaali eri illä korreloi itsesä kassa (josta imiki). Se o Fourier-muuokse ohella yksi käyttökelpoisimmista sigaalie aalysoitimeetelmistä.

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa I

MS-A0402 Diskreetin matematiikan perusteet Yhteenveto, osa I MS-A0402 Diskreeti matematiika perusteet Yhteeveto, osa I 1 Joukko-oppi ja logiikka Iduktioperiaate G. Gripeberg 2 Relaatiot ja fuktiot Aalto-yliopisto 3. huhtikuuta 2014 3 Kombiatoriikka ym. G. Gripeberg

Lisätiedot

Otantajakauman käyttö päättelyssä

Otantajakauman käyttö päättelyssä Keskiarvo otatajakauma Toisistaa tietämättä kaksi tutkijaa tutkii samaa ilmiötä, jossa perusjoukko koostuu kuudesta tutkittavasta ja tarkoituksea o laskea keskiarvo A: Kokoaistutkimus B: Otatatutkimus

Lisätiedot

MATEMATIIKAN JA TILASTOTIETEEN LAITOS

MATEMATIIKAN JA TILASTOTIETEEN LAITOS f ( ) JYVÄSKYLÄN YLIOPISTO Harjoituste 3 ratkaisut MATEMATIIKAN JA TILASTOTIETEEN LAITOS Topologiset vektoriavaruudet 3.1. Jokaie kompakti joukko K R määrää fuktioavaruudessa E = C(R ) = {f : R R f o jatkuva}

Lisätiedot