Hierarkkinen ryvästäminen

Koko: px
Aloita esitys sivulta:

Download "Hierarkkinen ryvästäminen"

Transkriptio

1 Hierarkkinen ryvästäminen Juho Rousu Laskennallinen Data-Analyysi I,

2 Ryvästyshierarkia & dendrogrammi Hierakkiset ryvästysmenetelmien tulos voidaan visualisoida nk. dendrogrammipuuna Puun lehtinä kaikki datapisteet eli yhden pisteen pisteryhmät Alhaalta ylöspäin edetessä yhdistetään lähimmät pisteryhmät toisiinsa; tässä pisteryhmien välinen etäisyys ryhmien kauimmaisten pisteiden etäisyys Vaakaviivat sijaitsevat etäisyydellä, jolla kytketyt pisteryhmät yhdistettiin x kytkettyjen pisteryhmien välinen etäisyys

3 Ryvästysten eristäminen dendrogrammista Dendrogrammista voidaan eristää erilaisia ryvästyksiä valitsemalla suurin yhdistämisetäisyys sopivasti: d = 20 = K = 1, d = 10 = K = 2, d = 5 = K = 3, d = 0 = K = 9 Sama toimii myös päinvastoin: annettuna ryppäiden määrä, saadaan yhdistämisetäisyydelle ylä- ja alaraja x x kytkettyjen pisteryhmien välinen etäisyys datapisteen indeksi

4 Miten valita ryppäiden määrä K? Hierarkkinen ryvästys ei vapauta meitä täysin ryppäiden määrän valinnan ongelmasta, mutta dendrogrammi auttaa tekemään informoidun valinnan. Vaihtoehtoja Leikataan etukäteen kiinnitellyllä etäisyystasolla d Leikataan kohdasta, jossa kahden peräkkäisen yhdistämisen etäisyyksien ero on suurin. d gap (t) = d t+1 d t Käytetään K :n keskiarvon ryvästyksen yhteydessä esiteltyjä kriteerejä (kyynärpääkriteeri, MDL,...)

5 Hierarkkiset ryvästämismenetelmät Hierarkkinen ryvästysalgoritmi voi olla joko Koostava (agglomerative), jolloin algoritmi muodostaa vähittäin yhä suurempia ryppäitä liittämällä toisiinsa lähekkäin olevia ryppäitä Osittava (divisive), jolloin algoritmi muodostaa vähittäin yhä pienempiä osittamalla löyhiä ryppäitä kahteen osaan esim. K -means -algoritmilla (K = 2)

6 Koostava hierarkkinen ryvästäminen Koostava hierarkkinen ryvästämisen alkutilanne on se, jossa kukin datapiste on oma ryppäänsä Ryppäiden yhdistäminen perustuu ryppäiden välisen etäisyyteen d(c i, C j ): joka vaiheessa toisiaan lähinnä olevat ryppäät yhdistetään Tavallisesti monotonisuusominaisuus on toivottava: d 1 d 2... d k, missä d t on askeleessa t yhdistettyjen ryppäiden etäisyys.

7 Algoritmi: koostava hierarkkinen ryvästäminen % alusta kukin esimerkki omaan ryppääseensä C i = {x i }, i = 1,..., n; % laske ryppäiden väliset etäisyydet taulukkoon D D ij = d(c i, C j ), i, j = 1,..., n while vähintään kaksi rypästä jäljellä do % etsi kaksi toisiaan lähinnä olevaa rypästä {i, j } = argmin {i,j C i,c j C} D ij; % liitä rypäs C j ryppääseen C i C i = C i C j ; C = C \ {C j }; % päivitä etäisyydet D i,k = d(c i, C k ), C k C, C k C i ; end while

8 Algoritmin aikavaativuus Joka iteraatiossa algoritmi liittää kaksi ryvästä toisiinsa, joten while-silmukka suoritetaan tasan n 1 kertaa, missä n on datapisteiden määrä Toisiaan lähinnä olevien ryppäiden löytämiseksi O(n 2 ) kokoinen ryppäiden pareittaisten etäisyyksien taulukko käydään kokonaan läpi joka askeleessa: O(n 3 ) etäisyysvertailua algoritmin suorituksen aikana tämä voidaan pudottaa aikaan O(n 2 log n) tai O(n 2 ) ryppäiden etäisyysfunktiosta riippuen Jos taulukoidaan ryppäiden pareittaiset etäisyydet, tarvitsee vain laskea uuden ryppään etäisyydet vanhoihin ryppäisiin, yhteensä O(n 2 ) etäisyyslaskuoperaatiota. nämä voidaan toteuttaa O(1) ajassa per operaatio

9 Ryppäiden etäisyysfunktiot (1/3) Etäisyysfunktiota vaihtamalla saadaan seuraavat variantit: Keskipisteryvästys (centroid clustering): d(c i, C j ) = d(r i, r j ), missä r i ryppään C i edustajavektori Lähinaapuriryvästys (nearest neighbor clusteting, single-link clustering): d(c i, C j ) = min d(x i, x j ) x i C i,x j C j Kauimmaisen naapurin ryvästys (complete-link clustering): d(c i, C j ) = max d(x i, x j ) x i C i,x j C j Keskimääräisen etäisyyden ryvästys (average-link clustering): d(c i, C j ) = 1 d(x i, x j ) (n i + n j )(n i + n j 1) x i,x j C i C j,x i x j

10 Ryppäiden etäisyysfunktiot (2/3) Visualisoituna lähinaapuriryvästys (a), kauimmaisen naapurin ryvästys (b), keskipisteryvästys (c) ja keskimääräisen etäisyyden ryvästys (d)

11 Ryppäiden etäisyysfunktiot (3/3) Ryppäiden etäisyysfunktion valinta vaikuttaa ainakin seuraaviin ominaisuuksiin: Syntyvien ryppäiden muoto Implementaatio/aikavaativuus Monotonisuus yhdistämisetäisyyden suhteen Optimaalisuus

12 Ryppäiden muoto Lähinaapuriryvästyksellä on taipumus tuottaa ketjumaisia ryppäitä Kauimmaisen naapurin ryvästys tuottaa kompakteja ryppäitä, mutta on sensitiivinen yksittäisten kaukana olevien pisteiden (outlier) suhteen Keskimääräisen etäisyyden ryvästys ja keskipisteryvästys ovat näiden kahden ääripään välissä

13 Ryvästyssimulaatio: Iris Tarkastellaan Iris-datan hierarkkista ryvästystä MATLAB:ssa funktioilla Y = pdist(x,etaisyys_tyyppi) - erimerkkien parietäisyydet Z = linkage(y,yhdistamis_tyyppi) - hierarkian rakentaminen dendrogram(z) - dendrogrammin piirtäminen

14 Algoritmi: koostava hierarkkinen ryvästäminen % alusta kukin esimerkki omaan ryppääseensä C i = {x i }, i = 1,..., n; % laske ryppäiden väliset etäisyydet taulukkoon D D ij = d(c i, C j ), i, j = 1,..., n while vähintään kaksi rypästä jäljellä do % etsi kaksi toisiaan lähinnä olevaa rypästä {i, j } = argmin {i,j C i,c j C} D ij; % liitä rypäs C j ryppääseen C i C i = C i C j ; C = C \ {C j }; % päivitä etäisyydet D i,k = d(c i, C k ), C k C, C k C i ; end while

15 Etäisyysfunktio & aikavaativuus Etäisyysfunktion ominaisuuksia voidaan hyödyntää Ryppäiden välisten parietäisyyksien nopeassa päivittämisessä Toisiaan lähinnä olevien ryppäiden löytämisessä nopeasti

16 Parietäisyyksien nopea päivitys Tarkastellaan etäisyyksien D ik, k j päivitystä kun ryppääseen C i on liitetty C j : C i = C i C j Seuraaville etäisyyksille päivitys voidaan tehdä O(1) ajassa taulukoitujen etäisyyksien D ik, D jk perusteella: Lähinaapuri: D ik = min(d ik, D jk ) Kauimmainen naapuri: D ik = max(d ik, D jk ) Keskimääräinen etäisyys: D ik = 1 (p p ik D ik ijk + p jk D jk + p ij D ij p i D ii p j D jj p k D kk ), missä kertoimet p k, p ik ja p ijk ovat ryppäiden C k, C i C k ja C i C j C k sisältäminen esimerkkiparien määrät. Entä keskipisteryvästys? Luennoija ei heti keksinyt O(1) päivitystä, mutta sellainen voi silti olla olemassa...

17 Yhdistettävän parin nopea etsintä Talletetaan kunkin ryppään etäisyydet muihin ryppäisiin prioriteettijonoon (esim. kekorakenne) O(1) ajassa löydetään (keon päältä) tiettyä rypästä lähinnä oleva rypäs ja vastaava etäisyys O(log n) ajassa kunkin keon päivitys, yhteensä O(n log n) aika per iteraatio Koko algoritmin aikana kuluu aikaa O(n 2 log n)

18 Yhdistämisetäisyyden monotonisuus Hierakkinen ryvästysmenetelmä on monotoninen, jos algoritmin suorituksen aikana yhdistämisetäisyyksien jono on ei-vähenevä d 1 d 2 d N 1 Ei-monotonisen menetelmän tuottama dendrogrammi voi sisältää inversioita, jotka ilmenevät ristikkäin menevinä kaarina

19 Keskipisteryvästäminen ei ole monotoninen Kuvassa pisteet d 1 = (1 + ɛ, 1), d 2 = (5, 1), on yhdistetty etäisyydellä 4 ɛ, mutta piste d 3 = (3, ) ja ensimmäisen ryppään keskipiste o = (3 + ɛ/2, 1) yhdistetään etäisyydellä ɛ/ ɛ/2 Keskipisteryvästäminen (centroid clustering) ei siis ole monotoninen menetelmä Sen sijaan voidaan osoittaa, että lähi- ja kauimmaisen naapurin ryvästäminen sekä keskimääräisen etäisyyden ryvästäminen ovat monotonisia

20 Ryvästyksen optimaalisuus Ryppään C yhdistämisetäisyys d(c) on pienin etäisyys, jolla C voidaan muodostaa kahdesta osasta C, C Tämä etäisyys riippuu ainostaan käytetystä etäisyysmitasta, ei menetelmästä Ryvästyksen yhdistämisetäisyys määritellään ryppäiden yhdistämisetäisyyden maksimina d(c) = max K k=1 d(c k) Hierakkisesti muodostettu ryvästys C = {C 1,..., C K } on optimaalinen, jos d(c) d(c ) kaikilla C, C K ts. ei ole olemassa ryävstystä, jossa on korkeintaan saman verran ryppäitä ja pienempi yhdistämisetäisyys

21 Monotonisuus vs. optimaalisuus Monotonisuus ja optimaalisuus mittaavat ryvästysmenetemästä hieman eri ominaisuutta Monotonisuus tarkoittaa, että algoritmin edetessä yhdistämisetäisyys ei koskaan vähene (dendrogrammissa ei ole ristiin meneviä kaaria) Optimaalisuus tarkoittaa, että ryvästyksen (suurin) yhdistämisetäisyys on mahdollisimman pieni (dendrogrammi on mahdollisimman matala)

22 Ryvästysmenetelmien optimaalisuus Voidaan osoittaa, että lähinaapuriryvästys on optimaalinen (todistus sivuutetaan) Kauimmaisen naapurin, keskimääräisen etäisyyden ja keskiarvoryvästysmenetelmät eivät sen sijaan ole optimaalisia

23 Ryppään yhdistämisetäisyydet eri menetelmissä Ryppäiden yhdistämisetäisyydet voidaan tyypillisesti lukea suoraan ryyppäistä, muodostushistoriaa tuntematta Lähinaapuriryvästys: d(c) = max C C min x C,x C C d(x, x ) Kauimmaisen naapurin ryvästys: d(c) = max x,x C d(x, x ) Keskimääräisen etäisyyden ryvästys: 1 C ( C 1) x x d(x, x );

24 Kauimmainen naapuri ja keskimääräinen etäisyys eivät tuota optimaalista ryvästystä Kauimmaisen naapurin ja keskimääräisen etäisyyden ryvästysmenetelmät eivät ole optimaalisia, mikä nähdään alla olevasta esimerkistä Molemmat algoritmit liittävät ensin toisiinsa pisteet etäisyydellä 1 (d 2 ja d 3 ) ja päätyvät kahden ryppään ryvästykseen {{d 1, d 2, d 3 }, {d 4 }} tai {{d 1 }, {d 2, d 3, d 4 }}. Optimaalinen ryvästys molemmissa tapauksissa {{d 1, d 2 }, {d 1, d 2 }}, Yhdistämisetäisyys kauimmaisen naapurin menetelmällä 4 (optimi 3) keskimääräisen etäisyyden menetelmällä ( )/3 = 2.5 (optimi 1.5)

25 Keskipisteryvästys ei ole optimaalinen Keskipisteryvästämisen epäoptimaalisuus nähdään kuvan esimerkistä Kuvassa pisteet d 1 = (1 + ɛ, 1), d 2 = (5, 1), on yhdistetty etäisyydellä 4 ɛ, joka on myös ryvästyksen {{d 1, d 2 }, {d 3 }} (K = 2) yhdistämisetäisyys Ryvästyksen {{d 1, d 2, d 3 }} (K=1) yhdistämisetäisyys on d({{d 1, d 2, d 3 }}) = 3.46 < 4 ɛ eli pienempi määrä ryppäitä saadaan pienemmällä yhdistämisetäisyydellä

26 Hierarkkiset kokoavat ryvästysmenetelmät: yhteenveto menetelmä aikavaativuus opti- kommentti maalinen? lähinaapuri O(n 2 ) on ketjumaiset ryppäät kauimmainen pari O(n 2 ) log n ei 'outlier'-herkkä keskimääräinen etäisyys O(n 2 ) log n ei useimmiten hyvä keskipiste O(n 2 ) log n ei ei-monotoninen

27 Hierarkkinen vs. K -keskiarvon ryvästys K -means on nopea (O(nK)), epädeterministinen ja vaatii kiinteän ryppäiden määrän Hierarkkiset menetelemät ovat raskaampia (O(n 2 ) O(n 2 log n)), deterministisiä ja antavat paremmat työkalut ryppäiden määrän valintaan

28 LOPPU to : kertausta pe : viimeiset laskuharjoitukset ti : klo 9-12 sali A111: kurssikoe

Luentorunko keskiviikolle Hierarkkinen ryvästäminen

Luentorunko keskiviikolle Hierarkkinen ryvästäminen Luentorunko keskiviikolle 3.12.2008 Hierarkkinen ryvästäminen Ryvästyshierarkia & dendrogrammi Hierarkkinen ryvästäminen tuottaa yhden ryvästyksen sijasta sarjan ryvästyksiä Tulos voidaan visualisoida

Lisätiedot

Luentorunko perjantaille

Luentorunko perjantaille Luentorunko perjantaille 28.11.28 Eräitä ryvästyksen keskeisiä käsitteitä kustannusfunktio sisäinen vaihtelu edustajavektori etäisyysmitta/funktio Osittamiseen perustuva ryvästys (yleisesti) K:n keskiarvon

Lisätiedot

Hierarkkinen klusterointi

Hierarkkinen klusterointi Hierarkkinen klusterointi Kari Lehmussaari kari.lehmussaari@helsinki.fi Klusterointimenetelmät-seminaari Helsingin yliopisto, tietojenkäsittelytieteen laitos Raportti C-2002-54, s. 76-85, marraskuu 2002

Lisätiedot

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI Ohjaamattomassa oppimisessa on tavoitteena muodostaa hahmoista ryhmiä, klustereita, joiden sisällä hahmot ovat jossain mielessä samankaltaisia ja joiden välillä

Lisätiedot

Ohjaamaton oppiminen. Juho Rousu. Laskennallinen Data-Analyysi I,

Ohjaamaton oppiminen. Juho Rousu. Laskennallinen Data-Analyysi I, Ohjaamaton oppiminen Juho Rousu Laskennallinen Data-Analyysi I, 13.-20.2.2008 Ohjaamaton vs. ohjattu oppiminen Tähän mennessä kurssilla on käsitelty ohjattua oppimista: tavoitteena ennustaa piirrettä y,

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

Datanäytteiden piirteiden skaalaus/normalisointi (1)

Datanäytteiden piirteiden skaalaus/normalisointi (1) Datanäytteiden piirteiden skaalaus/normalisointi (1) Datamassat, jotka syötetään samankaltaisuuksia useamman kuin yhden piirteen pohjalta hyödyntäviin koneoppimismenetelmiin, voivat tarvita esikäsittelykseen

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

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa Kekolajittelu Prioriteettijonolla toteutettu keko InsertItem ja RemoveMinElem: O(log(n)) Lajittelu prioriteettijonolla: PriorityQueueSort(lajiteltava sekvenssi S) alusta prioriteettijono P while S.IsEmpty()

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 3 521475S Rinnakkaiset Numeeriset Algoritmit Silmukattomat algoritmit Eivät sisällä silmukka lauseita kuten DO,FOR tai WHILE Nopea suorittaa Yleisimmässä muodossa koostuu peräkkäisistä

Lisätiedot

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmi on periaatteellisella tasolla seuraava: Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S

Lisätiedot

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmit 1. Luento 13 Ma Timo Männikkö Algoritmit 1 Luento 13 Ma 26.2.2018 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

805306A Johdatus monimuuttujamenetelmiin, 5 op

805306A Johdatus monimuuttujamenetelmiin, 5 op monimuuttujamenetelmiin, 5 op syksy 2018 Matemaattisten tieteiden laitos Ryhmittelyn perusperiaate Tästä lähdetään liikkeelle: Tähän pyritään: a b c bc d e f de def bcdef abcdef monimuuttujamenetelmiin,

Lisätiedot

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor T-1.81 Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ti 8.4., 1:1-18: Klusterointi, Konekääntäminen. Versio 1. 1. Kuvaan 1 on piirretty klusteroinnit käyttäen annettuja algoritmeja. Sanojen

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1 1.1 Funktion optimointiin perustuvat klusterointialgoritmit Klusteroinnin onnistumista mittaavan funktion J optimointiin perustuvissa klusterointialgoritmeissä

Lisätiedot

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen 4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen Käypä kantaratkaisu löytyy helposti, esimerkiksi tapauksessa Ax b, b 0 x 0 jolloin sen määräävät puutemuuttujat. Tällöin simplex-menetelmän alustus

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 7 Ti 27.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 7 Ti 27.9.2011 p. 1/39 p. 1/39 Interpolointi Ei tunneta funktion f : R R lauseketta, mutta tiedetään funktion

Lisätiedot

3 Derivoituvan funktion ominaisuuksia

3 Derivoituvan funktion ominaisuuksia ANALYYSI B, HARJOITUSTEHTÄVIÄ, KEVÄT 2019 3 Derivoituvan funktion ominaisuuksia 31 l Hospitalin sääntö 1 Määritä 2 5 4 2 + 2 7 12 + 11, e 1 2, (c) tan sin 2 Määritä 2012 3 704 + 2 6 30 13 10 + 7, 3 2017

Lisätiedot

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä

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

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

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

isomeerejä yhteensä yhdeksän kappaletta.

isomeerejä yhteensä yhdeksän kappaletta. Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 Väliarvolause Oletetaan, että funktio f on jatkuva jollain reaalilukuvälillä [a, b] ja derivoituva avoimella välillä (a, b). Funktion muutos tällä välillä on luonnollisesti

Lisätiedot

Yksinkertainen alustusalgoritmi k:n keskiarvon ryvästysmenetelmää

Yksinkertainen alustusalgoritmi k:n keskiarvon ryvästysmenetelmää hyväksymispäivä arvosana arvostelija Yksinkertainen alustusalgoritmi k:n keskiarvon ryvästysmenetelmää varten Panu Luosto Helsinki 7.2.2008 Seminaarikirjoitelma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen

Lisätiedot

13 Lyhimmät painotetut polut

13 Lyhimmät painotetut polut TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien

Lisätiedot

Mallipohjainen klusterointi

Mallipohjainen klusterointi Mallipohjainen klusterointi Marko Salmenkivi Johdatus koneoppimiseen, syksy 2008 Luentorunko perjantaille 5.12.2008 Johdattelua mallipohjaiseen klusterointiin, erityisesti gaussisiin sekoitemalleihin Uskottavuusfunktio

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

Konvergenssilauseita

Konvergenssilauseita LUKU 4 Konvergenssilauseita Lause 4.1 (Monotonisen konvergenssin lause). Olkoon (f n ) kasvava jono Lebesgueintegroituvia funktioita. Asetetaan f(x) := f n (x). Jos f n

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Luetteloivat ja heuristiset menetelmät Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Sisältö Branch and Bound sekä sen variaatiot (Branch and Cut, Lemken menetelmä) Optimointiin

Lisätiedot

4. Joukkojen käsittely

4. Joukkojen käsittely 4 Joukkojen käsittely Tämän luvun jälkeen opiskelija osaa soveltaa lomittuvien kasojen operaatioita tuntee lomittuvien kasojen toteutuksen binomi- ja Fibonacci-kasoina sekä näiden totetutusten analyysiperiaatteet

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 5 10.4.2017 Tehtävä 1 x 2 7 0,7 9,8 6 5 4 x 1 x 2 7 x 1 x 2 1 3 2 x 1 0 4,3 x 1 9 1 0,0 x 2 0 9,0 1 2 3 4 5 6 7 8 9 x 1 Kuva 1: Tehtävän 1 sallittu joukko S Optimointitehtävän sallittu

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

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I. Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.

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

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Kukin alkio (viite) talletettuna solmuun (node) vastaa paikan käsitettä

Lisätiedot

saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä?

saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä? ANALYYSI A, HARJOITUSTEHTÄVIÄ, KEVÄT 209 4 Funktion raja-arvo 4. Määritelmä. Funktion raja-arvon määritelmän ehdosta ε > 0: δ > 0: f) A < ε aina, kun 0 < a < δ, saadaan kvanttorien järjestystä vaihtamalla

Lisätiedot

Kokonaislukuoptimointi

Kokonaislukuoptimointi Kokonaislukuoptimointi Optimointitehtävät, joissa muuttujat tai osa niistä voivat saada vain kokonaislukuarvoja Puhdas kokonaislukuoptimointitehtävä: Kaikki muuttujat kokonaislukuja Sekoitettu kokonaislukuoptimointitehtävä:

Lisätiedot

Luku 2. Jatkuvien funktioiden ominaisuuksia.

Luku 2. Jatkuvien funktioiden ominaisuuksia. 1 MAT-1343 Laaja matematiikka 3 TTY 21 Risto Silvennoinen Luku 2. Jatkuvien funktioiden ominaisuuksia. Jatkossa väli I tarkoittaa jotakin seuraavista reaalilukuväleistä: ( ab, ) = { x a< x< b} = { x a

Lisätiedot

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen) 58131 Tietorakenteet Erilliskoe 11.11.2008, ratkaisuja (Jyrki Kivinen) 1. (a) Koska halutaan DELETEMAX mahdollisimman nopeaksi, käytetään järjestettyä linkitettyä listaa, jossa suurin alkio on listan kärjessä.

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

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

Esimerkkejä kokonaislukuoptimointiongelmista

Esimerkkejä kokonaislukuoptimointiongelmista Esimerkkejä kokonaislukuoptimointiongelmista (eli mitä kaikkea kokonaisluvuilla voi mallintaa) 27. marraskuuta 2013 Pääoman budjetointiongelma Kulut Projekti Vuosi 1 Vuosi 2 Vuosi 3 Tuotto 1 5 1 8 20 2

Lisätiedot

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen) TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017

Lisätiedot

Algoritmit 2. Luento 5 Ti Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia

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 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

Algoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja

Algoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja 58053-7 Algoritmien suunnittelu ja analyysi (kevät 2004) 1. välikoe, ratkaisuja Malliratkaisut ja pisteytysohje: Jyrki Kivinen Tentin arvostelu: Jouni Siren (tehtävät 1 ja 2) ja Jyrki Kivinen (tehtävät

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 4 521475S Rinnakkaiset ei-numeeriset algoritmit: transitiivisulkeuma (transitive closure) Oletetaan suunnattu graafi G = (V,E) ja halutaan tietää onko olemassa kahta pistettä

Lisätiedot

Stabilointi. Marja Hassinen. p.1/48

Stabilointi. Marja Hassinen. p.1/48 Stabilointi Marja Hassinen marja.hassinen@cs.helsinki.fi p.1/48 Kertausta ja käsitteitä Sisältö Stabilointi Resynkroninen stabilointi Yleinen stabilointi Tarkkailu Alustus Kysymyksiä / kommentteja saa

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

Ohjaamaton oppiminen. Marko Salmenkivi. Johdatus koneoppimiseen, syksy 2008

Ohjaamaton oppiminen. Marko Salmenkivi. Johdatus koneoppimiseen, syksy 2008 Ohjaamaton oppiminen Marko Salmenkivi Johdatus koneoppimiseen, syksy 2008 Luentorunko keskiviikolle 26.11.2008 Ohjaamaton oppiminen Mikä erottaa ohjatusta oppimisesta? Esimerkkejä Johdattelua ryvästämiseen

Lisätiedot

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1 1.1 Funktion optimointiin perustuvat klusterointialgoritmit Klusteroinnin onnistumista mittaavan funktion J optimointiin perustuvissa klusterointialgoritmeissä

Lisätiedot

Harjoitus 5 ( )

Harjoitus 5 ( ) Harjoitus 5 (14.4.2015) Tehtävä 1 Figure 1: Tehtävän 1 sallittu joukko S. Optimointitehtävän sallittu alue S on pisteiden (0, 0), (0, 7), (4, 3), (9, 8) ja (9, 0) määräämä viisikulmio. Kyseinen alue saadaan

Lisätiedot

Paikkatiedon käsittely 6. Kyselyn käsittely

Paikkatiedon käsittely 6. Kyselyn käsittely HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon käsittely 6. Kyselyn käsittely Antti Leino antti.leino@cs.helsinki.fi 1.2.2007 Tietojenkäsittelytieteen laitos Kysely indeksin

Lisätiedot

Kimppu-suodatus-menetelmä

Kimppu-suodatus-menetelmä Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.

Lisätiedot

1 Reaaliset lukujonot

1 Reaaliset lukujonot Jonot 10. syyskuuta 2005 sivu 1 / 5 1 Reaaliset lukujonot Reaaliset lukujonot ovat funktioita f : Z + R. Lukujonosta käytetään merkintää (a k ) k=1 tai lyhyemmin vain (a k). missä a k = f(k). Täten lukujonot

Lisätiedot

Lyhyt, kevät 2016 Osa A

Lyhyt, kevät 2016 Osa A Lyhyt, kevät 206 Osa A. Muodostettu yhtälö, 2x 2 + x = 5x 2 Kaikki termit samalla puolla, 2x 2 4x + 2 = 0 Vastaus x = x:n derivaatta on x 2 :n derivaatta on 2x f (x) = 4x + derivoitu väärää funktiota,

Lisätiedot

saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä?

saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä? ANALYYSI A, HARJOITUSTEHTÄVIÄ, KEVÄT 208 4 Funktion raja-arvo 4 Määritelmä Funktion raja-arvon määritelmän ehdosta ε > 0: δ > 0: fx) A < ε aina, kun 0 < x a < δ, saadaan kvanttorien järjestystä vaihtamalla

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

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

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

Kertaus. x x x. K1. a) b) x 5 x 6 = x 5 6 = x 1 = 1 x, x 0. K2. a) a a a a, a > 0

Kertaus. x x x. K1. a) b) x 5 x 6 = x 5 6 = x 1 = 1 x, x 0. K2. a) a a a a, a > 0 Juuri 8 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 8.9.07 Kertaus K. a) 6 4 64 0, 0 0 0 0 b) 5 6 = 5 6 = =, 0 c) d) K. a) b) c) d) 4 4 4 7 4 ( ) 7 7 7 7 87 56 7 7 7 6 6 a a a, a > 0 6 6 a

Lisätiedot

3.4 Peruutus (backtracking)

3.4 Peruutus (backtracking) 3.4 Peruutus (backtracking) Tarkastellaan kahta esimerkkiongelmaa: Kahdeksan kuningattaren ongelma: sijoitettava 8 8 ruudun pelilaudalle 8 nappulaa siten, että millekään vaaka-, pysty- tai viistoriville

Lisätiedot

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016 BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016 1. Hahmottele karkeasti funktion f : R R 2 piirtämällä sen arvoja muutamilla eri muuttujan arvoilla kaksiulotteiseen koordinaatistoon

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

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A) Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 017 Insinöörivalinnan matematiikan koe 30..017, Ratkaisut (Sarja A) 1. a) Lukujen 9, 0, 3 ja x keskiarvo on. Määritä x. (1 p.) b) Mitkä reaaliluvut

Lisätiedot

MS-C1340 Lineaarialgebra ja

MS-C1340 Lineaarialgebra ja MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Matriisinormi, häiriöalttius Riikka Kangaslampi Kevät 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Matriisinormi Matriisinormi Matriiseille

Lisätiedot

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö Algoritmit 1 Luento 14 Ke 25.2.2015 Timo Männikkö Luento 14 Heuristiset menetelmät Heuristiikkoja kapsäkkiongelmalle Kauppamatkustajan ongelma Lähimmän naapurin menetelmä Kertaus ja tenttivinkit Algoritmit

Lisätiedot

Klusterointiongelma. Luento 6: Klusterointi. Usein suotavia ominaisuuksia. Usein suotavia ominaisuuksia

Klusterointiongelma. Luento 6: Klusterointi. Usein suotavia ominaisuuksia. Usein suotavia ominaisuuksia Luento 6: Klusterointi Klusterointiongelma etäisyys-/erilaisuusfunktiot dimensionaalisuuden kirous (curse of dimensionality) Menetelmien pääluokat 1. Osittavat 2. Hierarkiset 3. Malliperustaiset (tiheysfunktioihin

Lisätiedot

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä JYVÄSKYLÄN YLIOPISTO 4. Luennon sisältö Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä kevät 2012 TIEA382 Lineaarinen ja diskreetti optimointi Lineaarinen optimointitehtävä Minimointitehtävä

Lisätiedot

Kenguru 2017 Benjamin (6. ja 7. luokka)

Kenguru 2017 Benjamin (6. ja 7. luokka) sivu 1 / 8 NIMI LUOKKA Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Oikeasta vastauksesta saat 3, 4 tai 5 pistettä.

Lisätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007 Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden

Lisätiedot

Hajautetut algoritmit. seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi

Hajautetut algoritmit. seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi 58307301 Hajautetut algoritmit seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi 1 Seminaarin suorittaminen kirjoitelma (10-15 sivua) 50% esitelmä (n. 45 min) 40% muu aktiivisuus

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

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa - johdanto - matemaattinen induktiotodistus - matriisien kertolaskun käyttömahdollisuus - käsinlaskuesimerkkejä - kaikki välivaiheet esittävä

Lisätiedot

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä

Lisätiedot

Laskennallisesti Älykkäät Järjestelmät. Sumean kmeans ja kmeans algoritmien vertailu

Laskennallisesti Älykkäät Järjestelmät. Sumean kmeans ja kmeans algoritmien vertailu Laskennallisesti Älykkäät Järjestelmät Sumean kmeans ja kmeans algoritmien vertailu Annemari Auvinen (annauvi@st.jyu.fi) Anu Niemi (anniemi@st.jyu.fi) 28.5.2002 1 Tehtävän kuvaus Tehtävänämme oli verrata

Lisätiedot

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2013-2014 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2013-2014 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

Olkoon S(n) kutsun merge-sort(a, p, q) tilavaativuus kun p q + 1 = n. Oletetaan merge toteutetuksi vakiotyötilassa (ei-triviaalia mutta mahdollista).

Olkoon S(n) kutsun merge-sort(a, p, q) tilavaativuus kun p q + 1 = n. Oletetaan merge toteutetuksi vakiotyötilassa (ei-triviaalia mutta mahdollista). Esimerkki Lomitusjärjestäminen merge-sort(a, p, q): var k % paikallinen muuttuja, vakiotila 1. if p < q then 2. r := (p + q)/2 3. merge-sort(a, p, r) 4. merge-sort(a, r + 1, q) 5. merge(a, p, r, q) Olkoon

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 8.5.2018 Timo Männikkö Luento 13 Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys Kertaus ja tenttivinkit Algoritmit 2 Kevät

Lisätiedot

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 4 OP PERIODI 1: 6.9.2012-12.10.2012 (6 VIIKKOA) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14 LASKUHARJOITUKSET

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

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

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

Lisätiedot

Algoritmit 2. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 9 Ti Timo Männikkö Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon

Lisätiedot

Analyysi 1. Harjoituksia lukuihin 1 3 / Syksy Osoita täsmällisesti perustellen, että joukko A = x 4 ei ole ylhäältä rajoitettu.

Analyysi 1. Harjoituksia lukuihin 1 3 / Syksy Osoita täsmällisesti perustellen, että joukko A = x 4 ei ole ylhäältä rajoitettu. Analyysi Harjoituksia lukuihin 3 / Syksy 204. Osoita täsmällisesti perustellen, että joukko { 2x A = x ]4, [. x 4 ei ole ylhäältä rajoitettu. 2. Anna jokin ylä- ja alaraja joukoille { x( x) A = x ], [,

Lisätiedot

2. Eukleideen algoritmi

2. Eukleideen algoritmi 2. Eukleideen algoritmi 2.1 Suurimman yhteisen tekijän tehokas laskutapa Tässä luvussa tarkastellaan annettujen lukujen suurimman yhteisen tekijän etsimistä tehokkaalla tavalla. Erinomaisen käyttökelpoinen

Lisätiedot