811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku
|
|
- Jyrki Sala
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku
2 Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi A TRA Verkot / osa 1 2
3 V.1 Johdanto Verkkoalgoritmit ovat yleisimpiä ja tärkeimpiä algoritmityyppejä tunnetaan suuri määrä erilaisia algoritmeja verkkoalgoritmeja on analysoitu laajasti. Yleisneuvo algoritmiseen ongelmaan: muunna verkkojen ongelmaksi ratkaisu saattaa olla yleisesti tunnettu tai ongelma osoitettu vaikeaksi A TRA Verkot / osa 1 3
4 V.1.1 Verkon määritelmä Verkko (graafi, graph) on pari G = (V, E), missä V on solmujen (vertices) epätyhjä joukko E on välien (edges) joukko E V V (relaatio solmujen joukossa) E määrittelee, mitkä solmut on kytketty toisiinsa. Verkko voi olla suunnattu tai suuntaamaton: Suuntaamattomassa verkossa ehdosta i, j E seuraa aina j, i E. Verkko voi olla painotettu: väleihin liitetään luku, ns. painoarvo A TRA Verkot / osa 1 4
5 V.1.2 Esimerkki Suunnattu verkko Suuntaamaton verkko A TRA Verkot / osa 1 5
6 V.1.2 Esimerkki (2) Kuvion esittämille verkoille solmujen joukko V = { 1, 2, 3, 4, 5 }. välien joukko suunnatulle verkolle E = {(1,2),(2,4),(2,5),(3,2),(3,5),(4,3),(5,4)} välien joukko suuntaamattomalle verkolle E = {(1,2),(2,1),(2,4),(4,2),(2,5),(5,2),(3,2),(2,3),(3,5), (5,3),(4,3),(3,4),(5,4),(4,5)} Suunnatuille väleille käytetään joskus kulmasulkeita ja silloin kaarisulut varataan suuntaamattomille (kaksisuuntaisille) väleille A TRA Verkot / osa 1 6
7 V.1.3 Verkkojen esittäminen Verkko: 1 Matriisesitys: Adj / 4 5 / / 4 3 / Vieruslistaesitys: 5 4 /
8 V.2 Leveyshaku (Breadth-first search) Yksinkertaisimpia algoritmeja verkon läpikäymiseen Toimii monien algoritmien pohjaratkaisuna Idea: Valitaan kiinteä solmu s ja käydään välejä systemaattisesti läpi, kunnes kohdataan kaikki solmut, joihin solmusta s voidaan päästä. Ensin löydetään kaikki etäisyydellä 1 olevat solmut, sitten etäisyydellä 2 olevat solmut jne. -> Nimitys leveyshaku A TRA Verkot / osa 1 8
9 V.2 Leveyshaku (2) Käyttää (FIFO-tyyppistä) jonoa Q Operaatiot ENQUEUE ja DEQUEUE Taulukko color: Solmujen värit kussakin vaiheessa Valkoinen: Solmua ei vielä löydetty Musta: Solmu ja sen kaikki naapurit löydetty Harmaa: Solmu löydetty mutta sillä voi olla valkeita naapureita Taulukko d: Solmujen etäisyydet lähtösolmusta Taulukko p: Solmujen edeltäjät lyhimmässä polussa Lopuksi voidaan lukea lyhin polku mihin tahansa solmuun (lopusta alkuun) A TRA Verkot / osa 1 9
10 V.2.1 Leveyshaun algoritmi Syöte: Verkko G=(V,E) ja sen solmu s. Verkolle käytetään vieruslistaesitystä. Tulostus: N solmujen lukumäärä. N-paikkaiset taulukot p,d ja color indeksoidaan verkon solmuilla. Taulukkoon d lasketaan solmun etäisyys syötesolmusta s. Arvo INF = ei polkua. Taulukkoon p lasketaan solmun edeltäjäsolmu jossakin lyhimmässä polussa syötesolmusta s. Arvo NIL = ei polkua. BFS(G,s) 1. for each u in V 2. color[u] = WHITE 3. d[u] = INF 4. p[u] = NIL 5. d[s] = 0 6. color[s] = GRAY 7. Q = EMPTY 8. ENQUEUE(Q,s) 9. while Q!= EMPTY 10. u = DEQUEUE(Q) 11. for each v in Adj[u] 12. if color[v] == WHITE 13. color[v] = GRAY 14. d[v] = d[u] p[v] = u 16. ENQUEUE(Q,v) 17. color[u] = BLACK 18. return A TRA Verkot / osa 1 10
11 V.2.2 Esimerkki: Leveyshaun eteneminen 1: 2: a b c d INF 0 INF INF a b c d 1 0 INF INF INF INF INF e f g INF 1 INF Q:b Q:a, f 0 e f g 1 1 3: a b c d 4: 1 0 INF INF a b c d INF INF 1 INF e f g Q: f e f g Q:e, c, g A TRA Verkot / osa 1 11
12 V.2.2 Esimerkki: Leveyshaun eteneminen (2) 5: a b c d 6: INF a b c d e f g Q:c, g e f g Q:g, d 2 3 7: 8: a b c d a b c d e f g Q:d e f g Q: A TRA Verkot / osa 1 12
13 V.2.3 Leveyshaun algoritmin analyysi: kompleksisuus Oletetaan, että verkossa N solmua ja M väliä Tarkka askelten määrä riippuu verkon rakenteesta Yläraja suoritettavien rivien määrälle 6 (N+M) Siis algoritmin kompleksisuusluokka O(N+M) HUOM! Jos verkossa lähes kaikkien solmujen välillä on kytkentä, on M luokkaa N 2. Tällöin siis algoritmin kompleksisuus on luokkaa O(N 2 ) A TRA Verkot / osa 1 13
14 V.2.3 Leveyshaun algoritmin analyysi: oikeellisuus Olkoon algoritmin syötesolmu s Merkintä: (s,v) on solmun v etäisyys solmusta s Algoritmi todettu oikeaksi, kun osoitetaan: 1. Algoritmin suorituksen jälkeen kaikki solmusta s saavutettavat solmut löydetään 2. Taulukon d arvo d[v] = (s,v) 3. Jos v s, ja v voidaan saavuttaa solmusta s, niin jokin lyhimmistä poluista solmusta s solmuun v on polku solmusta s solmuun p[v] ja väli (p[v],v) A TRA Verkot / osa 1 14
15 V.2.4 Leveyshaun sovelluksia Lyhimmän polun hakeminen kahden solmun väliltä Verkon yhtenäisyyden selvittäminen Yhdistettyjen komponenttien hakeminen A TRA Verkot / osa 1 15
16 V Lyhimmän polun tulostaminen Syöte: Verkko G=(V,E) ja sen solmut s ja v. Algoritmissa oletetaan ensin ajettavan BFS(G,s), jonka tuottamaa taulukkoa p käytetään. Tulostus: Lyhin polku solmusta s solmuun v tai ilmoitus siitä, että polkua ei ole. BFS_POLKU(G,s,v) 1. if v==s 2. tulosta s 3. else 4. if p[v] == NIL 5. tulosta Ei polkua 6. else 7. BFS_POLKU(G,s,p[v]) 8. tulosta v 9. return A TRA Verkot / osa 1 16
17 V.3 Syvyyshaku Monipuolisempi kuin leveyshaku Laajempi sovellettavuus Hieman haastavampi käyttää Idea: Mennään verkossa aina aluksi niin syvälle kuin päästään, ts. tarkistetaan, onko tutkittavalla solmulla s vielä tutkimattomia siitä lähteviä välejä Kun kaikki välit on tutkittu, algoritmi perääntyy solmuun, josta solmu s löydettiin ja tutkii siitä lähtevät välit Jatketaan, kunnes lähtösolmusta saavutettavat solmut on kaikki tutkittu Jos vielä tutkimattomia solmuja, valitaan uusi lähtösolmu A TRA Verkot / osa 1 17
18 V.3 Syvyyshaku (2) Toteutuksesta: Käytetään samankaltaista solmujen värittämistä ja edeltäjätaulukkoa kuin leveyshaussa Lisäksi globaali askelmuuttuja, joka ilmaisee kunkin solmun löytämis- ja tarkastelun lopettamisajan Tallennetaan aikaleimoina kahteen taulukkoon Aikaleimojen avulla saadaan verkon rakenteesta tarkempaa tietoa kuin leveyshaulla A TRA Verkot / osa 1 18
19 V.3.1 Syvyyshaun algoritmi Syöte: Verkko G=(V,E) ja sen solmu s. Verkolle käytetään vieruslistaesitystä. Tulostus: Olkoon N solmujen lukumäärä. N-paikkaiset taulukot p,d,f ja color indeksoidaan verkon solmuilla. Taulukkoon p lasketaan solmun edeltäjäsolmu syvyyshakupuussa. Taulukkoon d lasketaan solmun havaitsemisaika ja taulukkoon f solmun käsittelyn lopetusaika. DFS(G) 1.for each u in V 2. color[u] = WHITE 3. p[u] = NIL 4. time = 0 5.for each u in V 6. if color[u]==white 7. DFS_VISIT(u) 8.return DFS_VISIT(u) 1. color[u] = GRAY 2. time = time+1 3. d[u] = time 4. for each v in Adj[u] 5. if color[v]==white 6. p[v] = u 7. DFS_VISIT(v) 8. color[u] = BLACK 9. time = time+1 10.f[u] = time 11.return A TRA Verkot / osa 1 19
20 V.3.2 Syvyyshaun eteneminen 1: a b c 2: 1/ a b c 1/ 2/ d e f d e f 3: a b c 4: a b c 1/ 2/ 1/ 2/ 3/ d e f B 4/ 3/ d e f A TRA Verkot / osa 1 20
21 V.3.2 Syvyyshaun eteneminen (2) 5: a b c 6: a b c 1/ 2/ 1/ 2/ B 4/5 3/ d e f B 4/5 3/6 d e f 7: a b c 8: a b c 1/ 2/7 1/8 2/7 B F B 4/5 3/6 d e f 4/5 3/6 d e f A TRA Verkot / osa 1 21
22 V.3.2 Syvyyshaun eteneminen (3) 9: a b c 10: a b c 1/8 2/7 9/ 1/8 2/7 9/ F B F B C 4/5 3/6 d e f 4/5 3/6 10/ d e f 11: a b c 1/8 2/7 9/ F B C 4/5 3/6 10/11 d e f 12: a b c 1/8 2/7 9/12 F B C 4/5 3/6 10/11 d e f A TRA Verkot / osa 1 22
23 V.3.3 Syvyyshaun kompleksisuus Oletetaan, että verkossa N solmua ja M väliä Algoritmi DFS_VISIT suoritetaan täsmälleen kerran jokaiselle solmulle Jokainen solmusta lähtevä väli tutkitaan DFS_VISITissä vakioaikaisella operaatiolla sekä mahdollisella DFS_VISIT-kutsulla Siis kompleksisuus Θ(N+M) A TRA Verkot / osa 1 23
24 V.3.4 Syvyyshaun ominaisuuksia Edeltäjätaulukossa p[u] = v, jos ja vain jos (u,v) on verkon väli ja v havaitaan siinä vaiheessa, kun u on väriltään harmaa Muodostetaan verkko, jonka välit ovat (p[u],u) solmuille u joilla on edeltäjä Saadaan puiden muodostama verkko = syvyyssuuntainen virittävä metsä (depth-first forest) Jos solmu v samassa puussa solmun u kanssa ja solmusta u lähtevässä alipuussa, sanotaan, että u on solmun v edeltäjä ja v solmun u jälkeläinen Solmu u solmun v edeltäjä tarkalleen silloin, kun u on väriltään harmaa havaittaessa solmu v A TRA Verkot / osa 1 24
25 V.3.4 Syvyyshaun ominaisuuksia (2) Esimerkkiverkon syvyysuuntainen virittävä metsä a c b f e d A TRA Verkot / osa 1 25
26 V.3.4 Syvyyshaun ominaisuuksia (3) Olkoot u ja v verkon G solmuja ja suoritetaan verkolle syvyyshaku. Silloin jokin seuraavasta kolmesta ehdosta on voimassa: 1. Välit [d[u],f[u]] ja [d[v],f[v]] ovat erilliset eikä u ole solmun v jälkeläinen eikä v solmun u jälkeläinen 2. Väli [d[u],f[u]] sisältyy kokonaisuudessaan väliin [d[v],f[v]] ja u on solmun v jälkeläinen 3. Väli [d[v],f[v]] sisältyy kokonaisuudessaan väliin [d[u],f[u]] ja v on solmun u jälkeläinen Seuraus: Solmu v on solmun u jälkeläinen jos ja vain jos d[u] < d[v] < f[v] < f[u] A TRA Verkot / osa 1 26
27 V.3.4 Syvyyshaun ominaisuuksia (4) Solmujen käsittelyajat esimerkkiverkossa a c b f e d A TRA Verkot / osa 1 27
28 V.3.4 Syvyyshaun ominaisuuksia (5) Verkon välit jaetaan seuraaviin luokkiin: 1. Puuvälit (tree edges) ovat välejä syvyysmetsän puissa Siten (u,v) on puuväli, jos solmu v havaittiin väliä (u,v) tutkimalla 2. Takautuvat välit (back edges) välejä (u,v), joissa u on solmun v jälkeläinen jossakin syvyysmetsän puussa 3. Etenevät välit (forward edges) välejä (u,v), joissa u on solmun v edeltäjä jossakin syvyysmetsän puussa, ja (u,v) ei ole puuväli 4. Sivuttaisvälit (cross edges) ovat välejä, jotka eivät kuulu mihinkään luokista A TRA Verkot / osa 1 28
29 V.3.4 Syvyyshaun ominaisuuksia (6) Välien luokittelu esimerkkiverkossa a b c 1/8 2/7 9/12 Puuväli F B C F Etenevä väli 4/5 3/6 d e f 10/11 B C Takautuva väli Sivuttaisväli A TRA Verkot / osa 1 29
30 V.3.5 Syklin havaiseminen syvyyshaulla Verkossa sykli tarkalleen silloin, kun syvyyshaku tuottaa vähintään yhden takautuvan välin Väli (u,v) on takautuva, jos u on solmun v jälkeläinen Tällöin väliä ensimmäistä kertaa tutkittaessa solmun v on oltava harmaa, jolloin v on solmun u edeltäjä Takautuva väli voidaan havaita algoritmin suoritusvaiheessa -> Saadaan versio, joka havaitsee syklin A TRA Verkot / osa 1 30
31 V.3.5 Syklin havaiseminen syvyyshaulla (2) Syöte: Verkko G=(V,E) ja sen solmu s. Verkolle käytetään vieruslistaesitystä. Tulostus: Kuten syvyyshaku, mutta palauttaa arvon TRUE, jos verkossa sykli ja arvon FALSE muuten DFS(G) 1.for each u in V 2. color[u] = WHITE 3. p[u] = NIL 4. time = 0 5. cycle = FALSE 6.for each u in V 7. if color[u]==white 8. DFS_VISIT(u) 9.return cycle DFS_VISIT(u) 1. color[u] = GRAY 2. time = time+1 3. d[u] = time 4. for each v in Adj[u] 5. if color[v]==gray 6. cycle=true 8. if color[v]==white 9. p[v] = u 10. DFS_VISIT(v) 13. color[u] = BLACK 14. time = time f[u] = time 16. return A TRA Verkot / osa 1 31
32 V.3.6 Vahvasti yhtenäiset komponentit Vahvasti yhtenäinen komponentti suunnatussa verkossa on sellainen maksimaalinen solmujen joukko, että aina kun u ja v ovat joukon solmuja, on olemassa polku sekä solmusta u solmuun v että solmusta v solmuun u Esimerkkiverkossa vahvasti yhtenäiset komponentit ovat {a}, {b,d,e}, {c} ja {f} Voidaan löytää syvyyshaulla Merkintä: kun G on verkko, niin G T on verkko joka saadaan G:stä kääntämällä välien suunnat Voidaan tehdä ajassa O(N+M), jos G:ssä M väliä A TRA Verkot / osa 1 32
33 V.3.6 Vahvasti yhtenäiset komponentit (2) Syöte: Suunnattu verkko G=(V,E). Verkolle oletetaan käytettävän vieruslistaesitystä. Tulostus: Syöteverkon vahvasti yhtenäiset komponentit. SCC(G) 1. Suorita DFS(G), käytetään solmujen käsittelyajan päättymistaulukkoa f. 2. Muodosta G T 3. Suorita DFS(G T ), mutta pääsilmukassa (rivi 6) käsitellään solmut askelessa 1 saatujen f[u]:n arvojen suhteen vähenevässä järjestyksessä. 4. Askelessa 3 syntyvän virittävän metsän jokainen puu on verkon G vahvasti yhtenäinen komponentti A TRA Verkot / osa 1 33
34 V.3.6 Vahvasti yhtenäiset komponentit (3) Analyysi. Verkko G, jossa N solmua ja M väliä Kompleksisuus: Kahdesti syvyyshaku (Θ(N+M)) G T :n muodostaminen (Θ(N+M)) Koko algoritmin kompleksisuus Θ(N+M) A TRA Verkot / osa 1 34
35 V.3.6 Vahvasti yhtenäiset komponentit (4) Oikeellisuus: 1. Jos solmut u ja v samassa komponentissa, G:ssä polku u:sta v:hen ja päinvastoin. Samoin G T :ssä. u ja v päätyvät samaan puuhun 2. Olkoot u ja v samassa puussa, jonka juuri on x Siis G T :ssä polut x->u ja x->v, joten G:ssä on polut u->x ja v->x Syvyyshakujärjestys G T :lle takaa myös G:ssä polut x->u ja x->v Siten u ja v samassa komponentissa Kohdat 1 ja 2 osoittavat algoritmin oikeaksi A TRA Verkot / osa 1 35
36 V.3.7 Syvyyshaku suuntaamattomassa verkossa Toimii samaan tapaan kuin suunnatuissa verkoissa Välien luokittelua tulkittava Suuntaamattomassa verkossa väli (u,v) ja (v,u) samaistetaan Välin luokaksi annetaan se, joka tehdään, kun väliä tarkastellaan ensimmäistä kertaa, olipa kyseessä vali (u,v) tai (v,u) Suuntaamattoman verkon välit kaikki joko puuvälejä tai takautuvia välejä Syvyyssuuntaisen virittävän metsän puut antavat verkon yhtenäiset komponentit A TRA Verkot / osa 1 36
811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu
811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 6, Ratkaisu Harjoituksen aiheet ovat verkkojen leveys- ja syvyyshakualgoritmit Tehtävä 6.1 Hae leveyshakualgoritmia käyttäen lyhin polku seuraavan
Lisätiedot811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu
811312A Tietorakenteet ja algoritmit, 2016-2017, Harjoitus 6, Ratkaisu Harjoituksen aiheet ovat verkkojen leveys- ja syvyyshakualgoritmit Tehtävä 6.1 Hae leveyshakualgoritmia käyttäen lyhin polku seuraavan
Lisätiedot5 Verkkoalgoritmeja. 5.1 Verkkojen esitystapoja
5 Verkkoalgoritmeja Tässä kappaleessa esitellään verkkoalgoritmien perusidea. Verkkoalgoritmit ovat yleisimpiä algoritmityyppejä. Yksi neuvo algoritmia suunniteltaessa onkin muuntaa tarkasteltava ongelma
Lisätiedot6 Verkkoalgoritmeja. 6.1 Verkkojen esitystapoja
6 Verkkoalgoritmeja Tässä kappaleessa esitellään verkkoalgoritmien perusidea. Verkkoalgoritmit ovat yleisimpiä algoritmityyppejä. Yksi neuvo algoritmia suunniteltaessa onkin muuntaa tarkasteltava ongelma
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta
811312A Tietorakenteet ja algoritmit 2018-2019 Kertausta jälkiosasta V Hashtaulukot ja binääriset etsintäpuut Hashtaulukot Perusajatus tunnettava Tiedettävä mikä on tiivistefunktio Törmäysongelman hallinta:
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta
811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta jälkiosasta IV Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden aikakompleksisuus
Lisätiedot811312A 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ätiedotOikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.
Tietorakenteet, kevät 2012 Kurssikoe 2, mallivastaukset 2. (a) Järjestämistä ei voi missään tilanteessa suorittaa nopeammin kuin ajassa Θ(n log n), missä n on järjestettävän taulukon pituus. Epätosi: Yleisessä
LisätiedotAlgoritmit 1. Luento 9 Ti Timo Männikkö
Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward
Lisätiedot13 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ätiedotLuku 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ätiedotAlgoritmit 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ätiedotAlgoritmit 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ätiedotAlgoritmi 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ätiedot2. 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ätiedotJohdatus 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ätiedotAlgoritmit 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ätiedotEräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.
5. Verkkoalgoritmeja Eräs keskeinen algoritmien suunnittelutekniikka on Palauta ongelma johonkin tunnettuun verkko-ongelmaan. Palauttaminen edellyttää usein ongelman ja algoritmin pientä modifioimista,
Lisätiedot58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)
811 Tietorakenteet (kevät 9) Harjoitus 11, ratkaisuja (Topi Musto) 1. Bellmanin-Fordin algoritmin alustusvaiheen jälkeen aloitussolmussa on arvo ja muissa solmuissa on arvo ääretön. Kunkin solmun arvo
Lisätiedot58131 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ätiedotTIE Tietorakenteet ja algoritmit 261
TIE-20100 Tietorakenteet ja algoritmit 261 12 Graafit Seuraavaksi tutustutaan tietorakenteeseen, jonka muodostavat pisteet ja niiden välille muodostetut yhteydet graafiin. Keskitymme myös tyypillisimpiin
Lisätiedot58131 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ätiedotJohdatus graafiteoriaan
Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 62 Luku 2 Yhtenäisyys 2.1 Polku 2.2 Lyhin painotettu polku 2.3 Yhtenäinen graafi 2.4 Komponentti 2.5 Aste
LisätiedotLyhin kahden solmun välinen polku
Lyhin kahden solmun välinen polku Haluamme etsiä lyhimmän polun alla olevan ruudukon kohdasta a kohtaan b vierekkäisten (toistensa sivuilla, ylä- ja alapuolella olevien) valkoisten ruutujen välinen etäisyys
LisätiedotV. 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ätiedot811312A Tietorakenteet ja algoritmit II Perustietorakenteet
811312A Tietorakenteet ja algoritmit 2017-2018 II Perustietorakenteet Sisältö 1. Johdanto 2. Pino 3. Jono 4. Lista 811312A TRA, Perustietorakenteet 2 II.1. Johdanto Tietorakenne on tapa, jolla algoritmi
Lisätiedot10. 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ätiedotPienin virittävä puu (minimum spanning tree)
Pienin virittävä puu (minimum spanning tree) Jatkossa puu tarkoittaa vapaata puuta (ks. s. 11) eli suuntaamatonta verkkoa, joka on yhtenäinen: minkä tahansa kahden solmun välillä on polku syklitön: minkä
LisätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT GRAAFITEHTÄVIÄ JA -ALGORITMEJA Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) GRAAFIN LÄPIKÄYMINEN Perusta useimmille
LisätiedotAlgoritmit 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ätiedotOlkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,
Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.
LisätiedotTietorakenteet ja algoritmit. Verkot. Ari Korhonen
Tietorakenteet ja algoritmit Verkot Ari Korhonen 1 10. VERKOT ( graphs ) 10.1 Yleistä 10.2 Terminologiaa 10.3 Verkon esittäminen 10.4 Verkon läpikäyntialgoritmit (graph traversal) 10.5 Painotetut verkot
LisätiedotA 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ätiedot10. 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ätiedot14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut
JYVÄSKYLÄN YLIOPISTO 14. Luennon sisältö Kuljetustehtävä esimerkki Verkkoteoria ja optimointi verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut kevät 2012 TIEA382 Lineaarinen ja diskreetti
LisätiedotGraafit 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ätiedot1. (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ätiedot811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta
811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden
Lisätiedot811312A 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ätiedot811312A Tietorakenteet ja algoritmit V Hash-taulukot ja binääriset etsintäpuut
811312A Tietorakenteet ja algoritmit 2018-2019 V Hash-taulukot ja binääriset etsintäpuut Sisältö 1. Hash-taulukot 2. Binääriset etsintäpuut 811312A TRA, Hash-taulukot, binääripuut 2 V.1 Hash-taulukot Käytetään
Lisätiedot58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 12.9.2018 ratkaisuja (Jyrki Kivinen) 1. [10 pistettä] Iso-O-merkintä. (a) Pitääkö paikkansa, että n 3 + 5 = O(n 3 )? Ratkaisu: Pitää paikkansa.
Lisätiedot58131 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ätiedotv 8 v 9 v 5 C v 3 v 4
Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi
Lisätiedot811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta
811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta kurssin alkuosasta II Algoritmien analyysi: oikeellisuus Algoritmin täydellinen oikeellisuus = Algoritmi päättyy ja tuottaa määritellyn tuloksen
LisätiedotTKT20001 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ätiedotJohdatus 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ätiedotOngelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?
Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2012-2013 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2012-2013 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia
LisätiedotAlaraja vertailuihin perustuvalle järjestämiselle
Alaraja vertailuihin perustuvalle järjestämiselle Edellä esitetyt järjestämisalgoritmit ovat kaikki vertailuihin perustuvia: ne käsittelevät järjestettäviä arvoja vain testaamalla järjestysehtoja A[i]
LisätiedotAlgoritmit 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ätiedot811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu
1312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 5, Ratkaisu Harjoituksen aihe ovat hash-taulukot ja binääriset etsintäpuut Tehtävä 5.1 Tallenna avaimet 10,22,31,4,15,28,17 ja 59 hash-taulukkoon,
LisätiedotMiten 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ätiedotValitaan 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ätiedotAlgoritmit 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ätiedotHakupuut. 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ätiedotisomeerejä 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ätiedotAlgoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
LisätiedotAlgoritmit 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ätiedot58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet
58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 15.6.2018 malliratkaisut ja arvosteluperusteet 1. [10 pistettä] Hakemistorakenteet. Vertaa linkitettyjen listojen, tasapainoisten hakupuiden ja
LisätiedotKysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?
7.7. Tasograafit Graafi voidaan piirtää mielivaltaisen monella tavalla. Graafin ominaisuudet voivat näkyä selkeästi jossain piirtämistavoissa, mutta ei toisessa. Eräs tärkeä graafiryhmä, pintagraafit,
LisätiedotPARITUS KAKSIJAKOISESSA
PARITUS KAKSIJAKOISESSA GRAAFISSA Informaatiotekniikan t iik seminaari i Pekka Rossi 4.3.2008 SISÄLTÖ Johdanto Kaksijakoinen graafi Sovituksen peruskäsitteet Sovitusongelma Lisäyspolku Bipartite matching-algoritmi
Lisätiedotverkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari
Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on
Lisätiedot9. Graafit. 9.1. Graafin abstrakti tietotyyppi
9. Graafit Graafeilla eli verkoilla esitetään yhteystietoja. Esimerkkejä niistä ovat kaupunkikartan kadut ja tietoverkon tietokoneet. Tämä luku tarkastelee verkkojen perusasioita. 9.1. Graafin abstrakti
Lisätiedot811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu
811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,
Lisätiedot811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu
1312A Tietorakenteet ja algoritmit, 2016-2017, Harjoitus 5, Ratkaisu Harjoituksen aihe ovat hash-taulukot ja binääriset etsintäpuut Tehtävä 5.1 Tallenna avaimet 10,22,31,4,15,28,17 ja 59 hash-taulukkoon,
LisätiedotOngelma 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ätiedotT Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut
T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama
LisätiedotÄärellisten mallien teoria
Äärellisten mallien teoria Harjoituksen 4 ratkaisut Tehtävä 1. Määritä suurin aste k, johon saakka kuvan verkot G ja G ovat osittaisesti isomorfisia: Ratkaisu 1. Huomataan aluksi, että G =4 G : Ehrenfeucht-Fraïssé
LisätiedotRatkaisu. 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ätiedotEsimerkkejä polynomisista ja ei-polynomisista ongelmista
Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia
LisätiedotTietorakenteet, 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ätiedotTehtä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ätiedot58131 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ätiedotLuku 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ätiedotNäytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.
Tehtävä 6 : 1 Oletetaan ensin joukon X olevan sisältymisen suhteen minimaalinen solmut a ja b toisistaan erotteleva joukon V(G)\{a, b} osajoukko. Olkoon x joukon X alkio. Oletuksen nojalla joukko X\{x}
LisätiedotStabiloivat 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ätiedotkeskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5
Johdatus diskreettiin matematiikkaan Harjoitus 6, 21.10.2015 1. Ovatko verkot keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 2 b 4 a
LisätiedotSilmukkaoptimoinnista
sta TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. joulukuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe F maanantai 14.12. klo 12 rekisteriallokaatio Arvostelukappale
LisätiedotAlgoritmit 1. Luento 4 Ke Timo Männikkö
Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,
LisätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT VERKOT ELI GRAAFIT Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) HISTORIAA Verkko- eli graafiteorian historia on saanut
LisätiedotGraafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005
Graafin 3-värittyvyyden tutkinta T-79.165 Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Mikko Malinen, 36474R 29. maaliskuuta, 2005 Tiivistelmä Artikkelissa käydään läpi teoriaa, jonka avulla
LisätiedotItsestabilointi: perusmääritelmiä ja klassisia tuloksia
Itsestabilointi: perusmääritelmiä ja klassisia tuloksia Jukka Suomela Hajautettujen algoritmien seminaari 12.10.2007 Hajautetut järjestelmät Ei enää voida lähteä oletuksesta, että kaikki toimii ja mikään
LisätiedotAlgoritmit 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ätiedotJohdatus verkkoteoriaan luento Netspace
Johdatus verkkoteoriaan luento 20.3.18 Netspace Kurssin sijainti muussa suunnitellussa kokonaisuudessa Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot, verkon
LisätiedotAlgoritmit 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ätiedotStabilointi. 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ätiedotTarkennamme 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ätiedotGraafin virittävä puu 1 / 20
Graafin virittävä puu 1 / 20 Graafin virittävä puu PuuT on graafingvirittävä puu (spanning tree), jos se sisältää kaikkig:n pisteet. Virittäviä puita: 2 / 20 Yhdistämisongelma Yhdistämisongelma:(Connector
Lisätiedot811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto
811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien
LisätiedotAlgoritmit 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ätiedot58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 1, , vastauksia
58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 1, 25.2.2013, vastauksia 1. (a) O-merkintä Ω-merkintä: Kyseessä on (aika- ja tila-) vaativuuksien kertalukumerkinnästä. O-merkintää käytetään ylärajan
LisätiedotKurssikoe 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ätiedotAlgoritmit 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ätiedotb) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan
Tehtävä 7 : 1 a) Olkoon G jokin epäyhtenäinen verkko. Tällöin väittämä V (G) 2 pätee jo epäyhtenäisyyden nojalla. Jokaisella joukolla X on ehto X 0 voimassa, joten ehdot A < 0 ja F < 0 toteuttavilla joukoilla
LisätiedotTaulun avoimista haaroista saadaan kelvolliset lausejoukot
T-79.5101 kevät 2006 Laskennallisen logiikan jatkokurssi Laskuharjoitus 11 Ratkaisut 1. M : a, Q b c d Lauseen X( UQ) sulkeuma: CL ( X( UQ) ) = { X( UQ), X( UQ), UQ, X ( UQ), ( UQ),, Q, X ( UQ),, } Muodostetaan
Lisätiedot58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut
58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille
LisätiedotPuiden karakterisointi
Puiden karakterisointi LuK-tutkielma Airta Ella 2502661 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2018 Sisältö Johdanto 2 1 Johdatus verkkoteoriaan 3 1.1 Verkko käsitteenä.........................
LisätiedotS BAB ABA A aas bba B bbs c
T-79.148 Kevät 2003 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S) tuottama
Lisätiedot1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...
1. Tietorakenteet Tietorakenteet organisoivat samankaltaisten olioiden muodostaman tietojoukon. Tämä järjestys voidaan saada aikaan monin tavoin, esim. Keräämällä oliot taulukkoon. Liittämällä olioihin
LisätiedotAlgoritmit 2. Luento 10 To Timo Männikkö
Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien
Lisätiedot811312A 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