Fylogeneettiset puut. Fylogeneettiset puut. UPGMA: esimerkki 2/2 UPGMA

Koko: px
Aloita esitys sivulta:

Download "Fylogeneettiset puut. Fylogeneettiset puut. UPGMA: esimerkki 2/2 UPGMA"

Transkriptio

1 ylogeneettiset puut ylogeneettisen puun rakentaminen koostuu seuraavista vaiheista ) atan valinta (sekvenssi,piirredata) ) Sekvenssien linjaus 3) Puun rakentamismenetelmän/menetelmien valinta: - etäisyysmenetelmät - parsimoniamenetelmät - suurimman uskottavuuden menetelmät ) Optimiratkaisun etsintä ) Konsensuspuun määrittäminen ) Tulosten hyvyyden arviointi (esim. ootstrap) UPM ylogeneettiset puut ylogeneettisten puiden rakentamiseen esitetty useita menetelmiä: täisyysmenetelmät UPM, WPM Neighbor-Joining (NJ) jne Parsimoniamenetelmät - Optimaaliset menetelmät - lioptimaaliset menetelmät Suurimman uskottavuuden menetelmät ayesian menetelmät (ei käsitellä kurssissa) UPM: esimerkki / UPM - Unweighted pair group method using arithmetic averages täisyyksiin (esim. sekvenssien) perustuva ryhmittelymenetelmä (Sokal & Michener 9) Menetelmässä puun rakentaminen aloitetaan puun lehdistä vaiheittain liittämällä kaksi senhetkistä lähintä toisiinsa. Puun rakentamisessa lasketaan ryhmien i ja j välinen keskimääräinen etäisyys dij: dij= ( i j )- dpq, missä p i ja q j ja. tarkoittaa ryhmään kuuluvien sekvenssien lukumäärää. Jos k on kahden ryhmien i ja j unioni k = i j, ja l joku muu ryhmä, niin tällöin dkl = (dil i + djl j )/( i + j ) UPM: esimerkki / UPM UPM menetelmä toimii kohtalaisesti kun sukupuun haarojen todelliset etäisyydet vastaavat ryhmittelyä keskiarvoetäisyyksillä. Ohessa esimerkki jossa UPM ei toimi (vasemmalla oikea puu todellisine etäisyyksineen, oikealle UPM:llä saatu virheellinen puu)

2 Parsimoniamenetelmät Lienee suosituin puun rakentamismenetelmäluokka Pyrkii löytämään oikean puun topologian (muodon) minimoimalla sekvenssimuutosten (kustannuksen) lukumäärän puussa. Verrattuna etäisyysmenetelmiin, parsimoniamenetelmissä puulle T liitetään kustannus jonka arvoa tutkaillaan erilaisilla puutopologioilla -> Minimikustannuspuu on paras puu eli pyritään minimoimaan puussa tapahtuneiden muutosten lukumäärä TORISS pitäisi tutkia kaikki mahdolliset puutopologiat KÄYTÄNNÖSSÄ vaihtoehtoisia puutopologioita rajataan heurestiikalla SIM: Linjatuista sekvensseistä,, ja saadaan puut Kustannuksen laskenta Määritellään ensin kustannus S(a,b) sekvenssien a ja b välillä (kustannusmatriisi voi vastata esim. sekvenssilinjauksen pisteytysmatriisia) Puun kustannus lasketaan rekursiivisesti lähtien lehtisolmuista ylöspäin seuraavasti (missä S k (a) tarkoittaa kustannusta a:n (esim. sekvenssi a=x,,x n ) sijoittamista solmuun k): LORITMI: Puun kustannuksen laskenta lusta: S k (a)= kaikilla puun T lehtisolmuilla k Lehti(T) Rekursio: Laske kaikille sisäsolmuille k lähtien alimmista sisäsolmuista jatkaen juurisolmuun asti (i ja j ovat solmun k alisolmuja). S k (a)=s i (b)+s(a,b) + S j (c)+s(a,c) a k i b c j Parsimoniapuiden etsintä Parsimoniamenetelmissä lähtökohtana löytää minimikustannuspuu -> Kokeiltava erilaisia puutopologioita. ONLM: Jos esimerkiksi lajia -> rilaisia puutopologioita * Yleisesti: s lajia -> puutopologioita *3**(s-3)=(s-3)!/ s- (s-). Kaikkia puutopologioita voidaan hakea vain rajoitetuissa tapauksissa (vähemmän kuin lajia). a Täydellinen topologiahaku b lkupuu, 3 lajia Lisätään kolmeen mahdolliseen paikkaan -> kolme puuta c Viidettä lajia sijoitetaan edelleen kaikkiin mahdollisiin kohtiin näissä kolmessa puussa -> puuta, jne... Topologiahausta ranch and bound menetelmällä puiden rakentamisvaiheessa hylätään ne puut jatkossa jotka eivät voi olla kustannukseltaan pienempiä kuin pienikustannuksesin puu siihen mennessä. &b menetelmä takaa optimaalisen puun löytämisen. Voidaan määrittää myös yläraja puun kustannukselle, jonka ylittävät puut kaikki hylätään. ranch and bound menetelmä soveltuu tyypillisesti alle lajin puihin. Lajeja >, on suositeltavaa käyttää heurestisia menetelmiä puiden rakentamisessa. Heurestisissa menetelmissä lähtökohtana on ensin rakentaa ns. alkupuu, josta etsitään parempaa puuta solmujen ja haarojen paikkoja vaihtelemalla. Heurestiset menetelmät eivät välttämättä johda optimaaliseen puuhun. Heurestiset menetelmät: alkupuu Heurestisissa parsimoniamenetelmissä alkupuu voidaan määrittää askelettain: sis: : atamatriisin järjestyksen mukaan losest: : loitetaan 3:sta lähimmästä lajista ja lisätään se. laji puuhun, joka tuottaa pienimmän lisäyksen kustannukseen (greedy eli ahne heurestiikka) Simple: : atamatriisin ensimmäinen laji otetaan referenssilajiksi ja lajeja lisätään samanlaisuusjärjestyksessä verrattuna ensimmäiseen lajiin (eli samanlaisin ensin,. samanlaisin sitten jne. Random: : Lajit lisätään puuhun satunnaisessa järjestyksessä.

3 Heurestiikkaa topologioissa Lähimmän naapurin vaihto Heurestisissa puutopologiamenetelmissä lähdetään liikkeelle alkupuusta jonka muotoa (solmujen paikkoja) aletaan muunnella parempaa kustannusta kohti. Muuntelumenetelmiä esitetty useita erilaisia: Lähimmän naapurin vaihto (Nearest( neighbor interchange,nni) lipuun katkonta ja uudelleen liittäminen (Subtree( pruning and regrafting, SPR) Puun katkaisu ja uudelleen yhdistäminen (Tree( bisection and reconnection, TR) Heurestisia menetelmiä käytettäessä ei voi tietää etukäteen mikä menetelmistä tarjoaa parhaan puun topologian (minimikustannuspuun). lipuun katkonta ja uudelleen liittäminen Puun katkaisu ja uudelleen liittäminen Parsimoniamenetelmät TUJ: Helppo menetelmä ymmärtää -> helpottaa saatujen tulosten tulkintaa i ole riippuvainen tietynlaisen evoluutiomallin valinnasta ntaa puutopologian ja siihen liittyvän hypoteesin evoluutiosta Yleisesti parsimoniamenetelmiä pidetään luotettavina jos homoplasiaa on vähän datassa tai se on laajasti levittäytyneenä puuhun. HITTOJ: Jos homoplasia yleistä datassa tai se keskittyy tiettyihin kohtiin puissa -> tulokset voivat olla harhaanjohtavia. Suosii solmujen välillä pitkiä haaroja. Pitää implisiittisesti sisällään evoluutiomallin, jota ei kunnolla ymmärretä Parsimonia: epäkonsistenttisuus elsenstein esitti (97) oheisen yksinkertaisen esimerkin ( lajia, lyhyet ja pitkät sukuhaarat), jossa parsimoniamenelmät eivät tuota oikeaa puuta. p Model tree q q q p Rates or ranch lengths p >> q Parsimony tree Wrong On osoitettu että parsimoniamenetelmät ovat epäkonsistentteja: datamäärän kasvaessa todennäköisyys vääränlaiseen puutopologiaan kasvaan. Parsimoniamenetelmien suosiollisuus pitkille puuhaaroille on tämän menetelmäluokan suurin ongelma. TU tai HITT: Lähtökohdat filosofiset: suositaan yksinkertaisinta hypoteesia. 3

4 Suurimman uskottavuuden menetelmä Suurimman uskottavuuden menetelmässä valitaan se puu parhaaksi joka maksimoi datan todennäköisyyden suhteessa puuhun. Suurimman uskottavuuden menetelmässä voidaan määrittää puun haarojen väliset evolutionaariset etäisyydet todennäköisyyksien avulla. Suurimman uskottavuuden menetelmässä kuten parsimoniamenetelmissä ongelmana erilaiset puutopologioiden generointi (mallit) joiden suhteen todennäköisyydet lasketaan ( ) π P = [ ] = a,c,g,t simerkki: sekvenssien tn laskenta Olkoon P = ja olkoon ns. alkutilatodennäköisyydet: =[.,.,.,.3] (a,c,g,t). Laske todennäköisyys sekvenssimuutokselle: ccat -> ccgt ccat ccgt P c > c P c >c π a P a > g π t P t > t Mahdolliset piilomuutokset Piilomuutokset eivät näy sekvenssidatassa: Olkoon puu T simerkki: puun tn laskenta t juuri t x x t t 3 x x x 3 3 T Tällöin saadaan (t haaran pituus puussa) P(x, x T,t, t )= P(x x,t ) P(x x,t ) P(x 3 x,t 3 ) P(x x,t ) P(x ) Puun haaran pituuden vaikutus dellä esitelty sekvenssien välisten tn laskenta ei huomioi puun haaran pituuden vaikutusta todennäköisyyteen. Mitä pidempi puun haara -> sitä todennäköisempää että nukleotidi vaihtuu. Siirtymätodennäköisyysmatriisin P sellaisenaan sanotaan esittävän (ertain volutionary istance) yksikön haaraa puussa -> Sekvenssidatojen välinen todennäköisyys kuvaa cedin todennäköisyyttä n cedin todennäköisyys saadaan P:n potenssina. simerkiksi 3 cedin P 3 = jolloin sekvenssimuutoksen ccat -> ccgt todennäköisyys on.7 Puun haaran pituuden vaikutus Sekvenssimuutoksen ccat -> ccgt osalta todennäköisyys

5 Puun haaran pituus Tarkastellaan tilannetta jossa ollaan kiinnostuttu muistakin kuin vain kokonaisluvullista :stä. Tällöin voidaan puun haarapituudet ilmoittaa muutoksina nukleotidia kohden (substitutions per site). Yleisesti, potenssi voidaan laskea muodossa exp( log()). Hyödynnettään nyt tätä tulosta samalla P matriisilla kuin aiemmin: log P = Rivien summa = (alkuperäisessä P:ssä ). Halutaan laskea muutos nukleotidia -> skaalataan logp kertomalla se sopivalla arvolla niin että logp:n ei diagonaaliset alkiot summautuvat :ksi. Skaalattu logp matriisia kutsutaan Q matriisiksi. Nyt exp(q) antaa todennäköisyysmatriisin joka vastaa muutosta nukleotidia kohti. Muutosta sekvenssiä kohden Qv P ( v) = e Yleisemmin, missä v on tietty haaran pituus SIM: muutos per sekvenssi:! " Q = π.q = Puun haaran pituuden vaikutus Yleisemmin, missä v on tietty haaran pituus: P ( v) = e Sekvenssimuutoksen ccat -> ccgt osalta Maksimiarvo # $ % & ' Qv Kahden haaran puun todennäköisyys Tarkastellaan oheista tilannetta. Nähdään kohta että puun juuren paikalla ei ole merkitystä todennäköisyyden laskennassa ( + Missä O on puun juuri ja. ja. puun haarojen pituudet. ja lajeja (sekvenssit = ccat ja = ccgt ). Todennäköisyys voidaan laskea 3:lla tapaa:, -:sta :hen suoraan (eli kuten edellä) + - :sta O:n kautta :hen - Kahdessa osassa alkaen O:sta (O-> ja O->). ) * P(.) Tapa : :sta :hen suoraan...9. = P(.) = P(.3) = li ccat -> ccgt saadaan todennäköisyydeksi: P c > c P c >c π a P a > g π t P t > t.*.7*.*.7*.*.*.3*.77= Tapa : :sta O:n kautta :hen Todennäköisyydessä :sta O:hon käytetään P(.) ja π matriiseja. Sekvensseinä = ccat ja = ccgt, O:sta ei tietoa. Nyt esim.. nukleotidin suhteen laskettaessa todennäköisyyksiä huomioidaan kaikki O:n vaihtoehdot (c->a, c->c, c->g ja c->t): = P(.) c->a + P(.) c->c + P(.) c->g + P(.) c->t =.*.+.*.9+.*.=.= Kun lasketaan. nukleotidin suhteen todennäköisyys :sta->o->:hen: = P(.) c->a P(.) a->c + P(.) c->c P(.) c->c + P(.) c->g P(.) g->c + P(.) c->t P(.) t->c =.3 = P(.3) c->c =.*.7 Vastaavasti muutkin nukleotidit, jolloin kokonaistodennäköisyydeksi saadaan.77

6 Tapa 3: Kahdessa osassa, alkaen O:sta Kun O:ta ei tunneta, pitää huomioida kaikki mahdollisuutta. Todennäköisyys. nukleotidille (c->c) saadaan π a P(.) a->c P(.) a->c + P(.) c->c P(.) c->c + π g P(.) g->c P(.) g->c + π t P(.) t->c P(.) t->c =.3 Vastaavasti muutkin nukleotidit, jolloin kokonaistodennäköisyydeksi saadaan sama kuin edellä eli.77 Kahden haaran puulle tämä kahden osan laskenta turhan monimutkainen. Useampihaaraiselle puulle tämä tapa ainoa vaihtoehto. Puun juuren paikalla ei ole merkitystä siis tn laskennassa. Juuri voi olla :ssa tai :ssä tai :n ja :n puolivälissä ja silti saadaan samat todennäköisyydet. Tämä tunnetaan elsensteinin Pulley Principle periaatteena. Tarkastellaan oheista tilannetta, jossa puun juuri asetettu: = ccat,= ccgt,= cact Kolmen haaran puu * Tn laskennassa käytetään edellä esiteltyä tapaa 3, jolloin. nukleotidin todennäköisyydeksi saadaan: π a P(.) a->c P(.) a->c c P(.3) a->c + P(.) c->c P(.) c->c P(.3) c->c + π g P(.) g->c P(.) g->c P(.3) g->c + π t P(.) t->c P(.) t->c P(.3) t->c =. ) Vastaavasti.,3. ja. nukleotidien tn:det:.,.3 ja., jolloin kertolaskulla saadaan puun kokonaistodennäköisyydeksi 3. * - Tämä kolmen haaran puun tapaus on yleistettävissä n haaran puulle. +. Suurimman uskottavuuden menetelmä Mallin ylisovittaminen Huomioi tarkat haarojen pituudet Tarkastelee puuta todennäköisyyksien avulla ri puita voidaan verrata todennäköisyyksien avulla Suurimman uskottavuuden menetelmä kertoo sekvenssien fylogeniasta, mutta antaa myös todennäköisyystietoa sekvenssien evoluutiosta nykyisiin muotoihinsa. Vaikeutena löytää relevantit puutopologiat joiden suhteen todennäköisyyksiä lasketaan Menetelmänä laskennallisesti erittäin raskas: kaikki topologia ja P matriisivaihtoehtoja usein miten mahdoton käydä lävitse. Älä ylisovita malliasi esim. valitsemalla liian kuvauskykyinen P matriisi (mitä enemmän parametreja -> sitä kuvauskykyisempi). Konsensuspuu (consensus tree) Puiden rakennusmenetelmissä usein törmätään ongelmaan, että erilaiset puut tuottavat yhtä hyvän kvantitatiivisen ratkaisun. Paras puu voitaisiin tietty valita lisäkriteereillä, mutta tuloksista voidaan myös laatia ns. konsensuspuu, joka kuvaa kaikki näitä samanarvoisia ratkaisuja parhaalla mahdollisella tavalla. Konsensuspuita voidaan rakentaa useasta eri lähtökohdasta ja useilla eri kriteereillä: Puhdas konsensuspuu sittää vain ja ainoastaan ne suhteet, jotka ovat yksikäsitteisesti esillä saaduissa puissa. Puhdas konsensuspuu sisältää vain ne haarautumat jotka esiintyvät kaikissa niissä perusratkaisupuissa, joiden avulla konsensuspuu rakennetaan. Jos peruspuissa esiintyy epäristiriitaa, puhtaassa konsensuspuussa epäristiriitaisuudet esitetään ratkaisematon kategoriassa. Puhdas konsensus (Strict concensus): Haarautuminen (split) tulee esiintyä kaikissa puissa nemmistösääntökonsensus (Majority rule consensus): Haarautuminen tulee esiintyä n%:ssa puista Konsensusmenetelmiä voidaan käyttää tuottamaan yhteenvetotulos yhden analyysin tuloksesta tai monien analyysien tuloksista.

7 nemmistösääntökonsensuspuu sittää ne suhteet, jotka ovat enimmistönä (>%) esillä saaduissa peruspuissa. 7 7 Numerot ilmoittavat prosentteina haarojen esiintymiset peruspuissa 7 7 Three fundamental trees Konsensusmenetelmistä Spirostomumum uplotes ruberia Spirostomumum uplotes ruberia uplotes Spirostomumum ruberia strict (component) majority-rule Spirostomum uplotes ruberia Spirostomum uplotes ruberia ootstrapmenetelmästä ootstrap on perustilastomenetelmä arvioimaan parametrimallien hyvyyttä ylogeneettisten puiden yhteydessä lähes aina käytetään arvioimaan saatujen tulosten hyvyys ootstrap perustuu datanäytteiden satunnaispoimintaan: alkuperäisestä näytematriisista poimitaan (takaisinpanolla) useita bootstrapotoksia (satoja, ellei tuhansia), joita kutakin otosta vuorollaan käytetään mallintamaan ilmiö-> yhtä monta ratkaisua kuin bootstrapotosta. ylogeniapuiden yhteydessä kaikkia eri bootstrapotoksista saatuja puita (etäisyys-, parsimonia- tai suurimman uskottavuuden menetelmällä) käytetään rakentamaan konsensuspuu (enemmistösääntökonsensus) kuvaamaan alkuperäisen datan tilannetta. ootstrapmenetelmällä voidaan estimoida mallin ja datan välinen luotettavuus: korkea esiintymistodennäköisyys konsensuspuussa haarautumalle tukee evoluutionäkemystä. Tilastotieteen puolella ootstrap ei enään kovin suuressa suosiossa: menetelmän heikkoudet huomattu (epäkonsistenttisuus). ootstrapmenetelmä: esimerkki lkuperäinen data haracters Taxa 3 7 R R Y Y Y Y Y Y R R Y Y Y Y Y Y Y Y Y Y Y R R R Y Y R R R R R R Outgp R R R R R R R R 7 3 Outgroup. bootstrapotos haracters Taxa R R R Y Y Y Y Y R R R Y Y Y Y Y Y Y Y Y Y R R R Y Y Y R R R R R Outgp R R R R R R R R Jokainen bootstrapotos analysoidaan, saadaan siis yhtä monta bootstrappuuta kuin bootstrapotoksia (yleensä >): Outgroup. bootstrapotos... haracters Taxa Y Y R Y Y Y Y Y Y Y R Y Y Y Y Y Y Y Y Y R R Y R R R Y R R R R R Outgp R R R R R R R R ootstrappuut esitetään yhteenvetona konsensuspuun avulla (enemmistösääntö): 9% % Outgroup ylogeneettiset puut i yhtä oikeaa lähestymistapaa -> tuloksia tarkasteltava kriittisesti. Käytetty alkudata samoin kuin linjaus/rinnastus luo jo pohjan tuloksille. Tarkastele sekvenssidatojen yhteydessä miten erilaiset linjausvaihtoehdot muuttavat tuloksia! Tarkempien evoluutiomallien käyttö teoriassa tuo tuloksiin lisää luotettavuutta, mutta toisaalta lisää mallin ylisovittumisen riskiä. Käytä erilaisia menetelmiä (etäisyys, parsimonia, suurin uskottavuus) ja tarkastele eri menetelmiä saatuja tuloksia keskenään. Konsensuspuu samoin kuin bootstrap menetelmä on käyttökelpoinen analyysin apuväline. 7

13.11. Tulosten arviointi. tulosten arviointi. voimmeko luottaa saamiimme tuloksiin?

13.11. Tulosten arviointi. tulosten arviointi. voimmeko luottaa saamiimme tuloksiin? 13.11. tulosten arviointi Tulosten arviointi voimmeko luottaa saamiimme tuloksiin? onko osa saaduista tuloksista sattumanvaraisia? mitkä OSAT puusta ovat luotettavimpia? 1 KONSENSUSDIAGRAMMI Useita yhtä

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

ORMS2020 Päätöksenteko epävarmuuden vallitessa Syksy 2008. päätöspuiden avulla tarkastellaan vasta seuraavissa harjoituksissa.

ORMS2020 Päätöksenteko epävarmuuden vallitessa Syksy 2008. päätöspuiden avulla tarkastellaan vasta seuraavissa harjoituksissa. ORMS00 Päätöksenteko epävarmuuden vallitessa Syksy 008 Harjoitus Ratkaisuehdotuksia Nämä harjoitukset liittyvät päätöspuiden rakentamiseen: varsinaista päätöksentekoa päätöspuiden avulla tarkastellaan

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu

Lisätiedot

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl.

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl. iskreetti matematiikka, syksy 00 arjoitus, ratkaisuista. seta 8 nollaa ja 8 ykköstä renkaaksi niin, että jokainen yhdistelmä 0000, 000,..., esiintyy täsmälleen kerran. Vihje: Tulkitse de ruijnin jonon

Lisätiedot

OULUN YLIOPISTO, BIOLOGIAN LAITOS Puututkimus

OULUN YLIOPISTO, BIOLOGIAN LAITOS Puututkimus OULUN YLIOPISTO, BIOLOGIAN LAITOS Puututkimus Puu on yksilö, lajinsa edustaja, eliöyhteisönsä jäsen, esteettinen näky ja paljon muuta. Tässä harjoituksessa lähestytään puuta monipuolisesti ja harjoitellaan

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

Lisätiedot

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint. Yleiset hakupuut 4 Monitiehakupuu: Binäärihakupuu 0 1 3 5 6 7 8 v k 1 k k 3 v v 3 v 4 k 1 k 3 k 1 k k k 3 d lapsisolmua d 1 avainta Yleinen hakupuu? Tietorakenteet, syksy 007 1 Esimerkki monitiehakupuusta

Lisätiedot

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin. 3. Hakupuut Hakupuu on listaa tehokkaampi dynaamisen joukon toteutus. Erityisesti suurilla tietomäärillä hakupuu kannattaa tasapainottaa, jolloin päivitysoperaatioista tulee hankalampia toteuttaa mutta

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

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

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Matti Nykänen 5. joulukuuta 2003 1 Satelliitit Muunnetaan luennoilla luonnosteltua toteutusta seuraavaksi: Korvataan puusolmun p kentät p. key ja

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 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 Ke Timo Männikkö Algoritmit 2 Luento 12 Ke 26.4.2017 Timo Männikkö Luento 12 Rajoitehaku Kauppamatkustajan ongelma Lyhin virittävä puu Paikallinen etsintä Vaihtoalgoritmit Geneettiset algoritmit Simuloitu jäähdytys Algoritmit

Lisätiedot

Molekyylisystematiikka, 2. osa

Molekyylisystematiikka, 2. osa Molekyylisystematiikka, 2. osa Parsimoniamenetelmä, hyvät ja huonot puolet Plussat: Helppo ymmärtää, ei oleta mitään tiettyä evolutiivista mallia Voidaan osoittaa että löytää varmaasti parhaan puun Hypotetisoi

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

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

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko

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

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

Miten käydä läpi puun alkiot (traversal)?

Miten käydä läpi puun alkiot (traversal)? inääripuut ieman lisää aidon binääripuun ominaisuuksia lehtisolmuja on yksi enemmän kuin sisäsolmuja inääripuut tasolla d on korkeintaan 2 d solmua pätee myös epäaidolle binääripuulle taso 0: 2 0 = 1 solmu

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 6 24.4.2017 Tehtävä 1 Määritelmän (ks. luentomonisteen s. 107) mukaan yleisen muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on min θ(u,v)

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

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (21.4.2015) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s. t. g(x) 0 h(x) = 0 x X olevan optimointitehtävän Lagrangen duaali on missä max θ(u, v) s. t.

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella

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

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

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

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen Luento omatoimisen luennan tueksi algoritmiikan tutkimusseminaarissa 23.9.2002. 1 Sisältö Esitellään ongelmat Steiner-puu Kauppamatkustajan

Lisätiedot

Männyn laaturajojen integrointi runkokäyrän ennustamisessa. Laura Koskela Tampereen yliopisto 9.6.2003

Männyn laaturajojen integrointi runkokäyrän ennustamisessa. Laura Koskela Tampereen yliopisto 9.6.2003 Männyn laaturajojen integrointi runkokäyrän ennustamisessa Laura Koskela Tampereen yliopisto 9.6.2003 Johdantoa Pohjoismaisen käytännön mukaan rungot katkaistaan tukeiksi jo metsässä. Katkonnan ohjauksessa

Lisätiedot

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten

Lisätiedot

Kytkentäkentät, luento 2 - Kolmiportaiset kentät

Kytkentäkentät, luento 2 - Kolmiportaiset kentät Kytkentäkentät, luento - Kolmiportaiset kentät Kolmiportaiset kytkentäkentät - esitystapoja ja esimerkkejä Kytkentäkenttien vertailuperusteet Estottomuus, looginen syvyys, ajokyky Closin -verkko Paull

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 5 Ti Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö Algoritmit 2 Luento 5 Ti 28.3.2017 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot Algoritmit 2 Kevät 2017 Luento 5 Ti 28.3.2017 2/29 B-puu Algoritmit 2 Kevät 2017 Luento 5 Ti

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

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1). HY / Matematiikan ja tilastotieteen laitos Vektorianalyysi II, syksy 017 Harjoitus 4 Ratkaisuehdotukset 4.1. Osoita, että tasa-arvojoukko S F (0), F : R 3 R, F (x) = 3x 1 x 3 + e x + x e x 3, on säännöllinen

Lisätiedot

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

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

Matriisilaskenta. Harjoitusten 3 ratkaisut (Kevät 2019) 1. Olkoot AB = ja 2. Osoitetaan, että matriisi B on matriisin A käänteismatriisi.

Matriisilaskenta. Harjoitusten 3 ratkaisut (Kevät 2019) 1. Olkoot AB = ja 2. Osoitetaan, että matriisi B on matriisin A käänteismatriisi. Matriisilaskenta Harjoitusten ratkaisut (Kevät 9). Olkoot ja A = B = 5. Osoitetaan, että matriisi B on matriisin A käänteismatriisi. Tapa Käänteismatriisin määritelmän nojalla riittää osoittaa, että AB

Lisätiedot

DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola jtoivola@iki.fi

DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola jtoivola@iki.fi DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola jtoivola@iki.fi Historiaa Bayesin kaavan hyödyntäminen BN-ohjelmistoja ollut ennenkin Tanskalaisten Hugin

Lisätiedot

B + -puut. Kerttu Pollari-Malmi

B + -puut. Kerttu Pollari-Malmi B + -puut Kerttu Pollari-Malmi Tämä monista on alunperin kirjoitettu sksn 2005 kurssille osittain Luukkaisen ja Nkäsen vanhojen luentokalvojen pohjalta. Maaliskuussa 2010 pseudokoodiesits on muutettu vastaamaan

Lisätiedot

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1 T-61.281 Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti 10.2.2004, 8:30-10:00 Kollokaatiot, Versio 1.1 1. Lasketaan ensin tulokset sanaparille valkoinen, talo käsin: Frekvenssimenetelmä:

Lisätiedot

7. Tasapainoitetut hakupuut

7. Tasapainoitetut hakupuut 7. Tasapainoitetut hakupuut Tässä luvussa jatketaan järjestetyn sanakirjan tarkastelua esittämällä kehittynyt puutietorakenne. Luvussa 7.1. esitetään monitiehakupuun käsite. Se on järjestetty puu, jonka

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4

Lisätiedot

1. TILASTOLLINEN HAHMONTUNNISTUS

1. TILASTOLLINEN HAHMONTUNNISTUS 1. TILASTOLLINEN HAHMONTUNNISTUS Tilastollisissa hahmontunnistusmenetelmissä piirteitä tarkastellaan tilastollisina muuttujina Luokittelussa käytetään hyväksi seuraavia tietoja: luokkien a priori tn:iä,

Lisätiedot

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla; Tietorakenteet, laskuharjoitus 7, ratkaisuja 1. Opiskelijarekisteri-luokka saadaan toteutetuksi käyttämällä kahta tasapainotettua binäärihakupuuta. Toisen binäärihakupuun avaimina pidetään opiskelijoiden

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 126 Luku 3 Puut 3.1 Puu 3.2 Virittävä puu 3.3 Virittävän puun konstruointi 3.4 Minimaalinen virittävä puu

Lisätiedot

1. Esitä rekursiivinen määritelmä lukujonolle

1. Esitä rekursiivinen määritelmä lukujonolle Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)

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 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy 2015. Antti-Juhani Kaijanaho. 3. joulukuuta 2015

TIEA241 Automaatit ja kieliopit, syksy 2015. Antti-Juhani Kaijanaho. 3. joulukuuta 2015 TIEA241 Automaatit ja, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Formaalisti Määritelmä Nelikko G = (V, Σ, P, S) on kontekstiton kielioppi (engl. context-free

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Diskreetit rakenteet

Diskreetit rakenteet Diskreetit rakenteet 811120P 5 op 7. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1 Mikä on verkko? verkko (eli graafi) koostuu solmuista ja väleistä, jotka yhdistävät solmuja

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

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017

Lisätiedot

Poistettavien puiden valinta laatuperustein harvennushakkuulla

Poistettavien puiden valinta laatuperustein harvennushakkuulla Poistettavien puiden valinta laatuperustein harvennushakkuulla Manne Viljamaa TAMK http://puuhuoltooppimispolku.projects.tamk.fi/path.p hp?show=31 1. Harvennushakkuun terminologiasta Käsitteet tuulee olla

Lisätiedot

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

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla. HY / Avoin ylioisto Johdatus yliopistomatematiikkaan, kesä 201 Harjoitus 7 Ratkaisut palautettava viimeistään perjantaina 26.6.201 klo 16.00. Huom! Luennot ovat salissa CK112 maanantaista 1.6. lähtien.

Lisätiedot

Kierros 4: Binäärihakupuut

Kierros 4: Binäärihakupuut Kierros 4: Binäärihakupuut Tommi Junttila Aalto University School of Science Department of Computer Science CS-A1140 Data Structures and Algorithms Autumn 2017 Tommi Junttila (Aalto University) Kierros

Lisätiedot

Evoluutiopuu. Aluksi. Avainsanat: biomatematiikka, päättely, kombinatoriikka, verkot. Luokkataso: 6.-9. luokka, lukio

Evoluutiopuu. Aluksi. Avainsanat: biomatematiikka, päättely, kombinatoriikka, verkot. Luokkataso: 6.-9. luokka, lukio Evoluutiopuu Avainsanat: biomatematiikka, päättely, kombinatoriikka, verkot Luokkataso: 6.-9. luokka, lukio Välineet: loogiset palat, paperia, kyniä Kuvaus: Tehtävässä tutkitaan bakteerien evoluutiota.

Lisätiedot

Laskennan vaativuus ja NP-täydelliset ongelmat

Laskennan vaativuus ja NP-täydelliset ongelmat Laskennan vaativuus ja NP-täydelliset ongelmat TRAK-vierailuluento 13.4.2010 Petteri Kaski Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tietojenkäsittelytiede tutkii 1. mitä tehtäviä voidaan

Lisätiedot

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =

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

How to Support Decision Analysis with Software Case Förbifart Stockholm

How to Support Decision Analysis with Software Case Förbifart Stockholm How to Support Decision Analysis with Software Case Förbifart Stockholm (Valmiin työn esittely) 13.9.2010 Ohjaaja: Prof. Mats Danielson Valvoja: Prof. Ahti Salo Tausta -Tukholman ohikulkutien suunnittelu

Lisätiedot

5.1 Semanttisten puiden muodostaminen

5.1 Semanttisten puiden muodostaminen Luku 5 SEMNTTISET PUUT 51 Semanttisten puiden muodostaminen Esimerkki 80 Tarkastellaan kysymystä, onko kaava = (( p 0 p 1 ) (p 1 p 2 )) toteutuva Tätä voidaan tutkia päättelemällä semanttisesti seuraavaan

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0,

Lisätiedot

Testejä suhdeasteikollisille muuttujille

Testejä suhdeasteikollisille muuttujille Ilkka Mellin Tilastolliset menetelmät Osa 3: Tilastolliset testit Testejä suhdeasteikollisille muuttujille TKK (c) Ilkka Mellin (007) 1 Testejä suhdeasteikollisille muuttujille >> Testit normaalijakauman

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, 652013, vastauksia 1 [6 pistettä] Vastaa jokaisesta alla olevasta väittämästä onko se tosi vai epätosi ja anna lyhyt perustelu Jokaisesta kohdasta

Lisätiedot

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko 3.3 KILIOPPIN JÄSNNYSONGLMA Rtkistv tehtävä: Annettu yhteydetön kielioppi G j merkkijono x. Onko x L(G)? Rtkisumenetelmä = jäsennyslgoritmi. Useit vihtoehtoisi menetelmiä, erityisesti kun G on jotin rjoitettu

Lisätiedot

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti. Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen

Lisätiedot

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio x = x 2 = 5/2 x 3 = 2 eli Ratkaisu on siis x = (x x 2 x 3 ) = ( 5/2 2) (Tarkista sijoittamalla!) 5/2 2 Tämä piste on alkuperäisten tasojen ainoa leikkauspiste Se on myös piste/vektori jonka matriisi A

Lisätiedot

CS-A1140 Tietorakenteet ja algoritmit

CS-A1140 Tietorakenteet ja algoritmit CS-A1140 Tietorakenteet ja algoritmit Kierros 4: Binäärihakupuut Tommi Junttila Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Syksy 2016 Sisältö Binäärihakupuut Avainten lisääminen,

Lisätiedot

805306A Johdatus monimuuttujamenetelmiin, 5 op

805306A Johdatus monimuuttujamenetelmiin, 5 op monimuuttujamenetelmiin, 5 op syksy 2018 Matemaattisten tieteiden laitos Lineaarinen erotteluanalyysi (LDA, Linear discriminant analysis) Erotteluanalyysin avulla pyritään muodostamaan selittävistä muuttujista

Lisätiedot

Matriisit. Määritelmä 1 Reaaliluvuista a ij, missä i = 1,..., k ja j = 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A =

Matriisit. Määritelmä 1 Reaaliluvuista a ij, missä i = 1,..., k ja j = 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A = 1 / 21 Määritelmä 1 Reaaliluvuista a ij, missä i 1,..., k ja j 1,..., n, muodostettua kaaviota a 11 a 12 a 1n a 21 a 22 a 2n A... a k1 a k2 a kn sanotaan k n matriisiksi. Usein merkitään A [a ij ]. Lukuja

Lisätiedot

Kysymyksiä koko kurssista?

Kysymyksiä koko kurssista? Kysymyksiä koko kurssista? Lisää kysymyksesi osoitteessa slido.com syötä event code: #8777 Voit myös pyytää esimerkkiä jostain tietystä asiasta Vastailen kysymyksiin luennon loppupuolella Tätä luentoa

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

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

Algoritmit 2. Luento 4 Ke Timo Männikkö

Algoritmit 2. Luento 4 Ke Timo Männikkö Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4

Lisätiedot

T Luonnollisten kielten tilastollinen käsittely

T Luonnollisten kielten tilastollinen käsittely T-61.281 Luonnollisten kielten tilastollinen käsittely Vastaukset 3, ti 11.2.2003, 16:15-18:00 Kollokaatiot, Versio 1.1 1. Lasketaan ensin tulokset sanaparille valkoinen, talo käsin: Frekvenssimenetelmä:

Lisätiedot

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita.

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita. Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita. Tehtävä 1 Mitä seuraavat käsitteet tarkoittavat? Monitahokas (polyhedron).

Lisätiedot

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009 TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe D tiistai 10.11. klo 10 välikielen generointi Vaihe E tiistai

Lisätiedot

SSL syysseminaari 29.10.2013 Juha Hyssälä

SSL syysseminaari 29.10.2013 Juha Hyssälä SSL syysseminaari 29.10.2013 Juha Hyssälä Lääketieteellisessä tutkimuksessa on perinteisesti käytetty elinaika-analyysissä Coxin suhteellisen vaaran mallia ja/tai tämän johdannaisia. Kyseinen malli kuitenkin

Lisätiedot

Bayesilainen päätöksenteko / Bayesian decision theory

Bayesilainen päätöksenteko / Bayesian decision theory Bayesilainen päätöksenteko / Bayesian decision theory Todennäköisyysteoria voidaan perustella ilman päätösteoriaa, mutta vasta päätösteorian avulla siitä on oikeasti hyötyä Todennäköisyyteoriassa tavoitteena

Lisätiedot

Ei-yhteydettömät kielet [Sipser luku 2.3]

Ei-yhteydettömät kielet [Sipser luku 2.3] Ei-yhteydettömät kielet [Sipser luku 2.3] Yhteydettömille kielille pätee samantapainen pumppauslemma kuin säännöllisille kielille. Siinä kuitenkin pumpataan kahta osamerkkijonoa samaan tahtiin. Lause 2.25

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

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1) MS-A0401 Diskreetin matematiikan perusteet Tentti ja välikokeiden uusinta 10.11.015 Kirjoita jokaiseen koepaperiin nimesi, opiskelijanumerosi ym. tiedot! Laskimia tai taulukoita ei saa käyttää tässä kokeessa!

Lisätiedot

Metsäenergian mahdollisuuudet Hake, pelletti, pilke

Metsäenergian mahdollisuuudet Hake, pelletti, pilke Metsäenergian mahdollisuuudet Hake, pelletti, pilke Kestävän kehityksen kylätilaisuus Janakkala Virala 23.10.2014 Sivu 1 2014 Miksi puuta energiaksi? Mitä energiapuu on? Puuenergia kotitalouksissa Sivu

Lisätiedot

Preliminäärikoe Pitkä Matematiikka 3.2.2009

Preliminäärikoe Pitkä Matematiikka 3.2.2009 Preliminäärikoe Pitkä Matematiikka..9 x x a) Ratkaise yhtälö =. 4 b) Ratkaise epäyhtälö x > x. c) Sievennä lauseke ( a b) (a b)(a+ b).. a) Osakkeen kurssi laski aamupäivällä,4 % ja keskipäivällä 5,6 %.

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:

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

Luku 4. Tietorakenteet funktio-ohjelmoinnissa. 4.1 Äärelliset kuvaukset

Luku 4. Tietorakenteet funktio-ohjelmoinnissa. 4.1 Äärelliset kuvaukset Luku 4 Tietorakenteet funktio-ohjelmoinnissa Koska funktio-ohjelmoinnissa ei käytetä tuhoavaa päivitystä (sijoituslausetta ja sen johdannaisia), eivät läheskään kaikki valtavirtaohjelmoinnista tutut tietorakenteet

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

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.34 Lineaarinen ohjelmointi 5..7 Luento Kertausta Lineaarinen ohjelmointi - Syksy 7 / LP ja Simplex Kurssin rakenne Duaalisuus ja herkkyysanalyysi Verkkotehtävät Kokonaislukutehtävät Lineaarinen ohjelmointi

Lisätiedot

Stabiloivat synkronoijat ja nimeäminen

Stabiloivat synkronoijat ja nimeäminen Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.

Lisätiedot