Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria
|
|
- Minna Katajakoski
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 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: Haaraan liittyvät solmut Kaaren alku- ja loppusolmut: Kaareen liittyvät solmut Solmun aste: Solmuun liittyvien haarojen lukumäärä 1
2 b 2 1 d e c a 3 4 f 5 Suuntaamaton graafi G(N, A) Solmut N = {1,2,3,4,5} Haarat A = {a, b, c, d, e, f} = {(1,4),(1,2),(1,3),(2,3),(2,3),(3,5)} 2
3 2 b 1 d e c a 3 4 f 5 Suunnattu graafi G(N, A) Solmut N = {1,2,3,4,5} Kaaret A = {a, b, c, d, e, f} = {(1,4),(2,1),(1,3),(2,3),(3,2),(5,3)} 3
4 Polku: Katkeamaton jono solmuja ja haaroja/kaaria Silmukka: Polku, jonka alku- ja loppusolmut ovat samat Yksinkertainen polku: Solmu esiintyy polussa vain kerran Yhdistetyt solmut: Solmujen välillä on ainakin yksi polku 4
5 Yhtenäinen (yhdistetty) graafi: Kaikki solmuparit ovat yhdistettyjä Renkaaton graafi: Ei yhtään silmukkaa Puu: Graafi, joka on yhtenäinen ja renkaaton 5
6 Verkko: Graafi, jonka solmuihin ja haaroihin/kaariin liittyy numeerisia arvoja (esimerkiksi pituus, kustannus tai kapasiteetti) Virtaus: Tavara tms. kulkee solmusta toiseen kaaria/haaroja pitkin Lähdesolmu: Solmu, josta tulee lisää tavaraa verkkoon Viemärisolmu: Solmu, josta tavaraa poistuu verkosta Virtauksen säilyvyys: Solmuun saapuva ja siitä lähtevä virtaus ovat samat (paitsi lähde- ja viemärisolmuissa) 6
7 Tuotannon ajoitus Tuotetta valmistetaan usean tuotantokauden aikana Tuotteen tarve kaudella i on d i Tuotetta voidaan valmistaa myös varastoon Valmistuksesta ja varastoinnista aiheutuvat tietyt kustannukset Tavoite: Määrää tuotteen valmistusmäärät kullakin kaudella siten, että kokonaiskustannukset minimoituvat 7
8 x i = valmistusmäärä kaudella i v i = varaston koko kaudelta i kaudelle i + 1 Solmut kuvaavat kausia, solmu 0 kuvaa alkutilannetta Kaaret kuvaavat tuotteen kulkeutumista kaudelta toiselle Jokaiseen kaareen liittyy joko valmistuskustannus tai varastointikustannus 8
9 d 1 + d 2 + d 3 + d 4 0 x 1 x 2 x 3 x 4 v 1 v 2 v d 1 d 2 d 3 d 4 Tehtävä: Etsi minimihintainen virtaus verkon läpi 9
10 Lukujärjestysongelma Seminaarissa kuusi tunnin esitelmää Seminaarin kokonaiskesto neljä tuntia Esitelmän 1 kanssa ei samanaikaisesti esitelmää 3 Esitelmän 3 kanssa ei samanaikaisesti esitelmiä 1, 4, 5, 6 Esitelmän 4 kanssa ei samanaikaisesti esitelmiä 3, 5, 6 Esitelmän 5 kanssa ei samanaikaisesti esitelmiä 3, 4, 6 Esitelmän 6 kanssa ei samanaikaisesti esitelmiä 3, 4, 5 Tavoite: Järjestä esitelmät siten, että rajoitteet toteutuvat 10
11 Solmut kuvaavat esitelmiä Solmut yhdistetään haaralla, jos vastaavat esitelmät eivät saa olla samanaikaisesti Neljä eri tunnusta, yksi kullekin seminaarin tunnille 11
12 Tehtävä: Liitä jokaiseen solmuun yksi tunnus siten, että kahdella solmulla ei saa olla sama tunnus, jos niiden välillä on haara 12
13 Jakeluongelma Pizzerialla on kotiinkuljetusta varten käytössä n autoa Tavoite: Toimita pizzat asiakkaille siten, että toimituksille luvattu aikaraja ei ylity 13
14 Solmut kuvaavat pizzeriaa ja eri asiakkaita Haarat kuvaavat lyhimpiä reittejä eri solmujen välillä Jokaiseen haaraan liitetään ajoaika kyseisellä reitillä (= haaran pituus) Tehtävä: Muodosta n silmukkaa siten, että pizzeriasolmu on mukana jokaisessa silmukassa jokainen asiakassolmu on mukana jossain silmukassa jokaisen silmukan pituus viimeiseen asiakassolmuun asti ei ylitä aikarajaa 14
15 Koneen vaihto-ongelma Tarkastellaan n:ää aikaperiodia Jokaisen periodin alussa vanha kone voidaan vaihtaa uuteen tai säilyttää vanha kone Kun hankitaan uusi kone periodin i alussa ja myydään se periodin j alussa, siitä aiheutuu kustannus c ij Tavoite: Määrää, milloin kone vaihdetaan, jotta kokonaiskustannukset minimoituvat 15
16 Solmut kuvaavat periodeja 1,..., n + 1 Kaari (i, j) tarkoittaa, että kone hankitaan periodin i alussa ja myydään periodin j alussa Jokaiseen kaareen (i, j) liitetään vastaava kustannus c ij (= kaaren pituus) 16
17 Tehtävä: Etsi lyhin reitti solmusta 1 solmuun n
18 Toimintaverkko Projektissa on n osatehtävää Osatehtävät on suoritettava tiettyjen sääntöjen mukaisessa järjestyksessä Osatehtävän i suoritusaika on t i Tavoite: Määrää osatehtävien suoritusjärjestys siten, että kokonaissuoritusaika minimoituu 18
19 s i = osatehtävän i aloitusaika Solmut kuvaavat osatehtäviä Solmu 0 on projektin aloitusosatehtävä, solmu n + 1 lopetusosatehtävä Kaari (i, j) tarkoittaa, että osatehtävä i on saatava valmiiksi ennen osatehtävän j aloittamista Jokaiseen kaareen (i, j) liitetään rajoite s j s i + t i 19
20 Tehtävä: Ratkaise min s n+1 s 0 kun s j s i + t i (i, j) A 20
21 Tavallisesti kuitenkin toimintaverkko kuvataan seuraavasti: Solmut kuvaavat osatehtävien alku- ja lopputapahtumia Kaaret kuvaavat osatehtäviä Jokaiseen kaareen liitetään osatehtävän kesto (= kaaren pituus) Kaikkien tiettyyn solmuun päättyvien osatehtävien täytyy olla suoritettu ennen kuin mikään kyseisestä solmusta alkava osatehtävä voidaan aloittaa Tehtävä: Etsi pisin polku ensimmäisestä solmusta viimeiseen solmuun 21
22 Graafien ja verkkojen tietorakenteita Naapurimatriisit Insidenssimatriisit Haara- ja kaarilistat Naapurilistat 22
23 Naapurimatriisi, suuntaamaton graafi: HUOM: Symmetrinen
24 Naapurimatriisi, suunnattu graafi:
25 Insidenssimatriisi, suuntaamaton graafi: (1,2) (1,3) (2,4) (2,5) (3,4) (3,5) (4,5) HUOM: Täysin unimodulaarinen 25
26 Insidenssimatriisi, suunnattu graafi: (1,2) (1,3) (2,5) (3,4) (4,2) (4,5) (5,3) HUOM: Täysin unimodulaarinen 26
27 Haaralista, suuntaamaton verkko: Päätesolmu Päätesolmu Pituus (1,2) (1,3) (2,4) (2,5) (3,4) (3,5) (4,5)
28 Kaarilista, suunnattu verkko: Alkusolmu Loppusolmu Pituus (1,2) (1,3) (2,5) (3,4) (4,2) (4,5) (5,3)
29 Naapurilista, suuntaamaton graafi: Naapurisolmut
30 Naapurilista, suunnattu graafi: Naapurisolmut (lähtevät kaaret) Naapurisolmut (tulevat kaaret)
31 Graafin tai verkon virittävä puu Aligraafi: Graafi, jossa on mukana osa (tai kaikki) solmuista ja osa (tai kaikki) haaroista Virittävä aligraafi: Aligraafi, jossa on mukana kaikki solmut Yhtenäinen virittävä aligraafi: Virittävä aligraafi, joka on yhtenäinen Minimaalinen yhtenäinen virittävä aligraafi: on mukana mahdollisimman vähän haaroja Yhtenäinen virittävä aligraafi, jossa 31
32 Puu: Graafi, joka on yhtenäinen ja renkaaton Yhtenäisen graafin minimaalinen yhtenäinen virittävä aligraafi on puu = Graafin virittävä puu (Verkon virittävä puu vastaavasti) Graafi on yhtenäinen, jos sillä on olemassa virittävä puu 32
33 Esimerkki Tiedetään, ketkä kylän asukkaista keskustelevat keskenään Tavoite: Selvitä, saavuttaako juoru kaikki kylän asukkaat Solmut kuvaavat asukkaita Haara (i, j) tarkoittaa, että asukkaat i ja j keskustelevat keskenään Tehtävä: Tutki, onko graafilla virittävää puuta 33
34 Esimerkki Rakennetaan kaapeliyhteyksiä eri kaupunkien välille Jokaisen kaupungin on oltava mukana kaapeliverkossa Kun rakennetaan yhteys kaupunkien i ja j välille, siitä aiheutuu kustannus c ij Tavoite: Määrää rakennettavat kaapeliyhteydet siten, että kokonaiskustannukset minimoituvat 34
35 Solmut kuvaavat kaupunkeja Haara (i, j) tarkoittaa, että kaupunkien i ja j välille voitaisiin rakentaa kaapeliyhteys Jokaiseen haaraan (i, j) liitetään vastaava kustannus c ij (= haaran pituus) Tehtävä: Etsi verkon virittävä puu, jonka kokonaispituus on mahdollisimman pieni 35
36 Virittävän puun etsiminen Aluksi puu on tyhjä, jokainen solmu muodostaa oman komponenttinsa ja kaikki haarat (tai kaaret) ovat tutkimattomia. 1. Jos tutkimattomia haaroja ei ole jäljellä, niin lopeta. Muuten valitse jokin haara ja merkitse se tutkituksi. 2. Jos valitun haaran molemmat päätesolmut kuuluvat samaan komponenttiin, jatka kohdasta 1. Muuten lisää haara puuhun ja yhdistä päätesolmujen komponentit samaksi komponentiksi. 3. Jos jäljellä on vain yksi komponentti, niin lopeta. Muuten jatka kohdasta 1. 36
37 Jos algoritmin päättyessä jäljellä on vain yksi komponentti, virittävä puu on löytynyt Jos halutaan löytää verkon lyhin virittävä puu, niin haarat valitaan pituuden mukaan kasvavassa järjestyksessä Jos halutaan löytää verkon pisin virittävä puu, niin haarat valitaan pituuden mukaan laskevassa järjestyksessä 37
38 Lyhimmät polut Lyhimpien polkujen tehtäviä: Etsi lyhin polku kahden solmun välillä Etsi lyhimmät polut jostain solmusta verkon kaikkiin muihin solmuihin Etsi lyhimmät polut verkon kaikkien solmujen välillä Seuraavassa oletetaan, että verkko on suunnattu, yhdistetty ja kaarien pituudet ovat kokonaislukuja 38
39 Esimerkki Pakkausongelma: max a 1 x a n x n kun w 1 x w n x n W x 1,..., x n N Vastaava lyhimmän polun tehtävä: Solmut 0,1,..., W Jokaista tavaraa j kohti kaaret (i, i + w j ), i = 0,1,..., W w j, joiden pituus on a j Lisäksi kaaret (i, i + 1), i = 0,1,..., W 1, joiden pituus on 0 (vastaavat puutemuuttujaa) Tehtävä: Etsi lyhin polku solmusta 0 solmuun W 39
40 Lyhimpien etäisyyksien puu Lyhimpien etäisyyksien puu: Sellainen verkon virittävä puu, jossa polut juurisolmusta s puun muihin solmuihin ovat samat kuin verkon lyhimmän etäisyyden polut solmusta s verkon muihin solmuihin Olkoon s = i 1 i 2 i p = t lyhin polku solmusta s solmuun t = s = i 1 i 2 i j on lyhin polku solmusta s solmuun i j kaikilla j = 2,..., p 1 = On aina olemassa lyhimpien etäisyyksien puu 40
41 Lyhimmät polut yhdestä lähtösolmusta alkaen Solmuihin liitetään tunnuksia (etäisyys lähtösolmusta, solmun edeltäjäsolmu, jne.) Tunnukset voivat olla väliaikaisia tai lopullisia Väliaikaisia tunnuksia muutetaan iteratiivisesti Tunnuksen asettavat menetelmät: Joka iteraatiolla yksi väliaikainen tunnus kiinnitetään lopulliseksi Tunnusta korjaavat menetelmät: Kaikki väliaikaiset tunnukset kiinnitetään kerralla lopullisiksi sitten, kun muutoksia ei enää voi tehdä 41
42 Dijkstran menetelmä Tunnuksen asettava menetelmä Oletus: Kaarien pituudet d ij ovat ei-negatiivisia Tunnukset: d(i) = jonkin polun pituus lähtösolmusta s solmuun i e(i) = solmun i edeltäjäsolmu kyseisellä polulla Solmut jaetaan kahteen ryhmään: P = {solmut, joiden tunnukset ovat lopullisia} T = {solmut, joiden tunnukset ovat väliaikaisia} 42
43 1. Aluksi P =, T = N, d(s) = 0 ja d(i) = kaikilla i T \ {s}. 2. Jos P = N, niin lopeta. Muuten valitse jokin solmu i T siten, että d(i) = min{d(j) j T }. Kaikilla j T siten, että on olemassa (i, j) A tee seuraavaa: Jos d(i) + d ij < d(j), niin aseta d(j) = d(i) + d ij ja e(j) = i. 3. Kiinnitä solmun i tunnukset lopullisiksi, ts. aseta P = P {i} ja T = T \ {i}. Jatka kohdasta 2. 43
44 Algoritmin päätyttyä: Lyhin etäisyys lähtösolmusta s solmuun i on d(i) Vastaava polku on i e(i) e(e(i)) s Jos halutaan löytää lyhin polku lähtösolmusta s johonkin tiettyyn solmuun t, algoritmi voidaan lopettaa, kun solmun t tunnukset on kiinnitetty lopullisiksi 44
45 Solmuja n kpl Yhdellä iteraatiolla valitaan yksi solmu, jonka tunnukset ovat väliaikaisia = n operaatiota Yhdellä iteraatiolla kiinnitetään yhden solmun tunnukset lopullisiksi = n iteraatiota = Algoritmin suoritusaika (laskennallinen vaativuus) on O(n 2 ) 45
46 Dialin toteutustapa: Solmun valintaan kuluvaa aikaa pienennetään pitämällä joukon T solmut lajiteltuina väliaikaisten tunnusten d(i) mukaan kasvavassa järjestyksessä Käytössä on joukko lokeroita, jotka on numeroitu 0,1,2,... Lokeroon k tallennetaan ne joukon T solmut, joilla d(i) = k (jos d(i) =, solmua ei tarvitse tallentaa) = Valittava solmu löytyy ensimmäisestä epätyhjästä lokerosta 46
47 Olkoon C pisimmän kaaren pituus = Jokaisen solmun lopullinen d(i) on pienempi kuin nc = nc + 1 lokeroa riittää varmasti Jokaisella iteraatiokierroksella on d(i) d(j) d(i) + C kaikilla j T siten, että d(j) = Vain lokerot d(i), d(i) + 1,..., d(i) + C ovat epätyhjiä = C + 1 lokeroa riittää 47
48 Optimaalisuusehdot Olkoot d ij kaarien (i, j) A pituudet (voivat olla myös negatiivisia) Oletetaan, että verkossa ei ole silmukkaa, jonka pituus on negatiivinen Etäisyystunnukset d(i) ovat lyhimpien polkujen etäisyyksiä lähtösolmusta s solmuihin i, jos ja vain jos d(j) d(i) + d ij (i, j) A 48
49 Silmukka, jonka pituus on negatiivinen: Olkoon C = {silmukan kaaret} ja (i,j) C d ij < 0 Oletetaan, että optimaalisuusehdot ovat voimassa = d(j) d(i) + d ij (i, j) C = d(i) d(j) + d ij 0 (i, j) C = = (i,j) C (i,j) C (d(i) d(j) + d ij ) 0 d ij 0 = Ristiriita = Optimaalisuusehdot eivät voi olla voimassa 49
50 Optimaalisuusehtoihin perustuva menetelmä Tunnusta korjaava menetelmä Oletus: Verkossa ei ole silmukkaa, jonka pituus on negatiivinen Tunnukset: d(i) = jonkin polun pituus lähtösolmusta s solmuun i e(i) = solmun i edeltäjäsolmu kyseisellä polulla Tunnukset kiinnitetään lopullisiksi vasta, kun algoritmi on päättynyt 50
51 1. Aluksi d(s) = 0 ja d(i) = kaikilla i N \ {s}. 2. Jos d(j) d(i) + d ij kaikilla (i, j) A, niin lopeta. Muuten valitse jokin kaari (i, j) siten, että d(j) > d(i) + d ij ja tee seuraavaa: Aseta d(j) = d(i) + d ij ja e(j) = i. 3. Jatka kohdasta 2. Algoritmin päätyttyä: Lyhin etäisyys lähtösolmusta s solmuun i on d(i) Vastaava polku on i e(i) e(e(i)) s 51
52 Järjestys, jossa kaaret käydään läpi kullakin iteraatiolla, vaikuttaa algoritmin suoritusaikaan Huono järjestys (esim. satunnainen) = Suoritusaika voi olla eksponentiaalinen Järkevä järjestys (esim. aina samassa järjestyksessä) = Suoritusaika saadaan polynomiseksi 52
53 Algoritmin nopeuttaminen: Käydään kaaret läpi aina samassa järjestyksessä, siten että samasta solmusta lähtevät kaaret ovat aina peräkkäin Olkoon solmu i siten, että jollain iteraatiolla ehdot d(j) d(i) + d ij j siten että (i, j) A ovat voimassa Jos solmun i tunnukset eivät muutu kyseisellä iteraatiolla = Samat ehdot ovat voimassa myös seuraavalla iteraatiolla = Kaaria (i, j) A ei tarvitse tutkia seuraavalla iteraatiolla 53
54 Lyhimmät polut kaikkien solmuparien välillä Käytetään edellisiä menetelmiä n kertaa: Määrätään lyhimmät polut jostain lähtösolmusta s kaikkiin muihin solmuihin Vaihdetaan lähtösolmuksi s jokin muu solmu ja toistetaan Jos kaikki kaarien pituudet ei-negatiivisia, voidaan käyttää Dijkstran menetelmää; muuten täytyy käyttää (esimerkiksi) optimaalisuusehtoihin perustuvaa menetelmää 54
55 Kaarien pituuksien muuntaminen Olkoon osa kaarien pituuksista negatiivisia, mutta verkossa ei ole silmukkaa, jonka pituus on negatiivinen Määrätään lyhimmät polut jostain lähtösolmusta s kaikkiin muihin solmuihin optimaalisuusehtoihin perustuvalla menetelmällä = d(j) d(i) + d ij kaikilla (i, j) A Asetetaan jokaiselle kaarelle uusi pituus d ij = d ij + d(i) d(j) = d ij 0 kaikilla (i, j) A 55
56 Olkoon k = i 0 i 1 i p = l jokin polku ja P = {polun kaaret} = (i,j) P d ij = (i,j) P (d ij + d(i) d(j)) = (i,j) P d ij + d(k) d(l) = Polun pituus muuttuu vakiolla d(k) d(l) = Kaikki solmujen k ja l väliset polut muuttuvat samalla vakiolla = Lyhimmät polut säilyvät muunnoksessa = Lyhimmät polut kaikista muista solmuista N \ {s} alkaen voidaan määrätä Dijkstran menetelmällä 56
57 Floydin menetelmä Merkitään: D k ij = lyhimmän polun pituus solmusta i solmuun j, kun välisolmuina sallitaan solmut 1,2...,k Perusidea: Jos välisolmuina sallitaan solmut 1,2,..., k + 1 = Joko solmu k + 1 on mukana lyhimmällä polulla solmusta i solmuun j tai se ei ole mukana = Joko Dij k+1 = Di,k+1 k + Dk k+1,j tai Dk+1 ij = Dij k = Dij k+1 = min{di,k+1 k + Dk k+1,j, Dk ij } 57
58 1. Aluksi Dij 0 = d ij ja E ij = i kaikilla (i, j) A, Dij 0 ja Dii 0 = 0 kaikilla i N. Aseta k = 1. = kaikilla (i, j) / A, 2. Kaikilla (i, j) tee seuraavaa: Jos D k 1 ik + D k 1 kj < Dij k 1, niin aseta Dij k = Dk 1 ik ja E ij = E kj ; muuten aseta D k ij = Dk 1 ij. + D k 1 kj 3. Jos k = n, niin lopeta. Muuten aseta k = k + 1 ja jatka kohdasta 2. 58
59 Algoritmin päätyttyä: Dij n = lyhin etäisyys solmusta i solmuun j E ij = solmun j edeltäjäsolmu vastaavalla polulla Etäisyyksiä Dij k 1 ei enää tarvita, kun kaikki etäisyydet Dij k on laskettu = Laskenta voidaan suorittaa yhdessä etäisyysmatriisissa 59
60 Esimerkki
61 Aluksi: D 0 = E =
62 Kun k = 1 : D 0 = E = = D 1 = E =
63 Kun k = 2 : D 1 = E = = D 2 = E =
64 Kun k = 3 : D 2 = E = = D 3 = E =
65 Kun k = 4 : D 3 = E = = D 4 = E =
66 D 4 = E = Esimerkiksi: Lyhimmän polun pituus solmusta 2 solmuun 4 on D 4 24 = 3 Solmun 4 edeltäjä polulla on E 24 = 1 Solmun 1 edeltäjä polulla on E 21 = 2 = Lyhin polku on
14. 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ä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ä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ä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ä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ätiedotDiskreetit 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ä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ä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ätiedotHarjoitus 3 (31.3.2015)
Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman
LisätiedotHarjoitus 1 (20.3.2014)
Harjoitus 1 (20.3.2014) Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 = Turku 2 = Tampere 3 = Hämeenlinna 4 = Imatra 5 = Jyväskylä. 5 2 149(5) 190(4) 113(1)
LisätiedotMalliratkaisut Demot
Malliratkaisut Demot 4 3.4.017 Tehtävä 1 Tarkastellaan harjoituksen 1 nopeimman reitin ongelmaa ja etsitään sille lyhin virittävä puu käyttämällä kahta eri algoritmia. a) (Primin algoritmi) Lähtemällä
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ä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ätiedotHarjoitus 3 (3.4.2014)
Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman
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ä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ä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ä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 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ätiedotMalliratkaisut Demot
Malliratkaisut Demot 1 12.3.2018 Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 297 4 2 4 163 3 454 6 179 2 136 2 169 2 390 4 3 436 7 5 Kuva 1: Tehtävän 1
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ätiedotMat Lineaarinen ohjelmointi
Mat-.40 Lineaarinen ohjelmointi 5..007 Luento 9 Verkkotehtävän erikoistapauksia (kirja 7., 7.5, 7.9, 7.0) Lineaarinen ohjelmointi - Syksy 007 / Luentorunko (/) Verkkotehtävän ominaisuuksia Kuljetustehtävä
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ätiedotKombinatorinen 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ä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ä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ä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ä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ä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ä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ätiedotHarjoitus 1 (17.3.2015)
Harjoitus 1 (17.3.2015) Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 = Turku 2 = Tampere 3 = Helsinki 4 = Kuopio 5 = Joensuu. a) Tehtävänä on ratkaista Bellman
LisätiedotKokonaislukuoptimointi
Kokonaislukuoptimointi Optimointitehtävät, joissa muuttujat tai osa niistä voivat saada vain kokonaislukuarvoja Puhdas kokonaislukuoptimointitehtävä: Kaikki muuttujat kokonaislukuja Sekoitettu kokonaislukuoptimointitehtävä:
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ätiedotKuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij
Kuljetustehtävä Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij Lähtöpaikan i kapasiteetti on a i (oletetaan, että a i > 0
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ä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ä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ätiedotLineaarisen kokonaislukuoptimointitehtävän ratkaiseminen
Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen Jos sallittuja kokonaislukuratkaisuja ei ole kovin paljon, ne voidaan käydä kaikki läpi yksitellen Käytännössä tämä ei kuitenkaan ole yleensä mahdollista
LisätiedotEsimerkkejä 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ä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ä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ä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ä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ätiedotHarjoitus 4 (7.4.2014)
Harjoitus 4 (7.4.2014) Tehtävä 1 Tarkastellaan Harjoituksen 1 nopeimman reitin ongelmaa ja etsitään sille lyhin virittävä puu käyttämällä kahta eri algoritmia. a) (Primin algoritmi) Lähtemällä solmusta
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ätiedot3. 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ä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ätiedotDatatähti 2019 loppu
Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio
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ätiedotMalliratkaisut Demot
Malliratkaisut Demot 3 7.3.07 Tehtävä Olkoon tilamuuttujat Tällöin saadaan rekursioyhtälö f n (x n ) = max yn {0,} ynwn xn f 0 ( ) = 0. x n = vaiheessa n jäljellä oleva paino, n =,...,N, esine n pakataan
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ätiedotAlgoritmit 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ä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ä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ätiedotj(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ä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ätiedotMat 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ätiedotT : Max-flow / min-cut -ongelmat
T-61.152: -ongelmat 4.3.2008 Sisältö 1 Määritelmät Esimerkki 2 Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys 3 Perusajatus Pseudokoodi Tarkastelu 4 T-61.152: -ongelmat Virtausverkko
LisätiedotOptimoinnin sovellukset
Optimoinnin sovellukset Timo Ranta Tutkijatohtori TTY Porin laitos OPTIMI 4.12.2014 Mitä optimointi on? Parhaan ratkaisun systemaattinen etsintä kaikkien mahdollisten ratkaisujen joukosta Tieteellinen
LisätiedotAlgoritmit 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ä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ä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ätiedotAlgoritmit 2. Luento 9 Ti Timo Männikkö
Algoritmit 2 Luento 9 Ti 19.4.2016 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen LZW-menetelmä Taulukointi Editointietäisyys Peruutus Verkon 3-väritys Algoritmit 2 Kevät 2016 Luento 9 Ti 19.4.2016
LisätiedotAlgoritmit 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ä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ätiedotMat Lineaarinen ohjelmointi
Mat-.4 Lineaarinen ohjelmointi 8..7 Luento 8 Verkkotehtävät, simlex ja duaalisuus (kirja 7.-7., 7.6) Lineaarinen ohjelmointi - Syksy 7 / Motivointi Käsitteitä Verkkotehtävä Verkkosimlex Duaalitehtävä Yhteenveto
LisätiedotAlgoritmit 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ä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ätiedotRinnakkaistietokoneet 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ätiedotInduktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.
Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman
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ä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ä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ätiedotKustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)
Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely) Joonas Lanne 23.2.2015 Ohjaaja: Eeva Vilkkumaa Valvoja: Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston
LisätiedotTotaalisesti unimodulaariset matriisit voidaan osoittaa olevan rakennettavissa oleellisesti verkkomalleihin liittyvistä matriiseista
8. Verkkomallit Totaalisesti unimodulaariset matriisit voidaan osoittaa olevan rakennettavissa oleellisesti verkkomalleihin liittyvistä matriiseista (P. D. Seymour, Journal of Combinatorial Theory (B),
LisätiedotTietorakenteet, esimerkkivastauksia viikon 12 laskareihin
Tietorakenteet, esimerkkivastauksia viikon laskareiin (a) Oletetaan seuraavan kuvan mukainen verkko ja etsitään lyyimpiä polkuja solmusta Ensimmäiseksi käsitellään solmu B, jonka etäisyys on kolme Seuraavaksi
LisätiedotUolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2
Uolevin reitti Kuvaus Uolevi on ruudukon vasemmassa ylänurkassa ja haluaisi päästä oikeaan alanurkkaan. Uolevi voi liikkua joka askeleella ruudun verran vasemmalle, oikealle, ylöspäin tai alaspäin. Lisäksi
LisätiedotJohdatus verkkoteoriaan luento Netspace
Johdatus verkkoteoriaan luento 10.4.18 Netspace Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot, verkon duaali, verkon upottaminen, verkon genus, verkon komplementti,
LisätiedotAlgoritmit 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ä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ä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ä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 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ätiedotVerkon värittämistä hajautetuilla algoritmeilla
Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)
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ätiedotDepartment of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.
Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011 J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla
LisätiedotTiraka, yhteenveto tenttiinlukua varten
Tiraka, yhteenveto tenttiinlukua varten TERMEJÄ Tietorakenne Tietorakenne on tapa tallettaa tietoa niin, että tietoa voidaan lisätä, poistaa, muokata ja hakea. Tietorakenteet siis säilövät tiedon niin,
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ätiedotAlgoritmit 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ätiedotTIE448 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ätiedot0 v i v j / E, M ij = 1 v i v j E.
Vieruspistematriisi Graafi esitetään tietokoneessa useimmiten matriisin avulla. Graafin G = (V, E), V = {v 1, v 2,..., v n } vieruspistematriisi (adjacency matrix)on n n matriisi M = (M ij ), missä n on
LisätiedotAlgoritmit 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ätiedotAlgoritmit 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ätiedot4. 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ätiedotEpädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna
Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,
LisätiedotTentissä 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ätiedotTietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
Lisätiedot3.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ä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ätiedotRakenteellinen tasapaino ja transitiivisyys
1 Hypermedian jatko-opintoseminaari 2008-2009 Rakenteellinen tasapaino ja transitiivisyys 20.2.2009 Seppo Pohjolainen 2 Rakenteellinen tasapaino Käsitteitä: Arvotettu graafi (signed graph) (+ tai - ) Suuntaamaton
Lisätiedot