Graateorian maksimivirtausalgoritmi

Koko: px
Aloita esitys sivulta:

Download "Graateorian maksimivirtausalgoritmi"

Transkriptio

1 Graateorian maksimivirtausalgoritmi LuK-tutkielma Visa Vallivaara Matemaattisten tieteiden laitos Oulun yliopisto Kevät 203

2 Sisältö Johdanto 2 Peruskäsitteitä 3 2 Graateoriaa 6 2. Suunnattu graa Virtausverkosto Verkkoteoriaa 8 3. Jäännösverkosto Lisäyspolku Maksimivirtaus Lähdeluettelo 4

3 Johdanto Graateoria tutkii graaen eli verkkojen ominaisuuksia. Graat ovat matemaattinen tapa kuvata eri asioiden suhteita. Niiden avulla voidaan kätevästi havainnollistaa ja ratkoa monia käytännön ongelmia, esimerkiksi aikataulujen tekeminen, tiedonsiirto internetissä tai optimaalisten kuljetusreittien valinta. Tässä tutkielmassa käydään läpi graateorian perusteita ja esitellään maksivirtausalgoritmi, jolla etsitään graasta mahdollisimman suuri määrä polkuja. Lisäksi esitellään ja todistetaan lauseita, jotka ovat tarpeellisia maksimivirtausalgoritmin kannalta. Ensimmäisessä luvussa määritellään itse graa ja sekä siihen liittyviä peruskäsitteitä. Toisessa luvussa esitellään suunnattu graa ja virtausverkosto, jotka ovat erikoistapauksia graafeista. Kolmannessa luvussa käsitellään virtausverkostossa kulkevaa virtausta sekä siihen liittyviä polkuja ja jäännösverkostoa. Viimeisessä luvussa esitään kuinka maksivirtausalgoritmi toimii ja ratkaistaan sillä tutkielman tärkein esimerkkiongelma. Eli kuinka saa kätevästi muodostettua yhdentoista hengen hallituksen neljäntoista halukkaan joukosta, josta kukin henkilö pystyy suorittamaan vain muutamaa hallitustehtävää. Tutkielmassa on käytetty pääasiassa teosta A First Course in Mathematical Modeling[]. 2

4 Peruskäsitteitä Kuva : Könisbergin seitsemän siltaa.[2] Historiallisesti graateorian katsotaan saaneen alkunsa sveitsiläisen Leonhard Eulerin ratkaisemasta Könisbergin siltaongelmasta vuodelta 736, joka näkyy kuvassa. Könisbergin asukkaat esittivät Eulerille seuraavanlaisen kysymyksen: Onko mahdollista tehdä kävelyretki niin, että ylittää tasan kerran jokaisen Könisbergin seitsemästä sillasta ja päätyy aloituspaikkaansa? Euler havaitsi, että tämän ongelman havainnollistamiseen ja ratkaisemiseen graa on erinomainen työkalu. Graa G koostuu kahdesta joukosta: solmujoukosta V (G) ja kaarijoukosta E(G). Jokainen kaarijoukon E(G) alkio muodostuu solmujoukon V (G) alkioparista. Esimerkiksi kuvassa V (G) = {A, B, C, D} ja E(G) = {a, b, c, d, e, f}. Kaari a voitaisiin merkitä myös solmujen avulla a = AB. Määritelmä.. Jos on olemassa kaari solmujen i ja j välissä, sanotaan että: solmut i ja j ovat viereiset. Esimerkiksi kuvassa solmut A ja B ovat viereiset. Määritelmä.2. Jos solmu i on kaaren ij päätepisteessä, sanotaan että: kaari ij on kytketty solmun i kanssa. Esimerkiksi kuvassa kaari a on kytketty solmun A kanssa. Määritelmä.3. Solmun i aste eli deg(i), on solmun i kytköksien määrä kaariin. Esimerkiksi kuvassa deg(a) = 5. Esimerkki.4. Eulerin siltaongelman yleistys: Milloin voi annetulle graalle muodostaa syklin joka kulkee tasan kerran jokaisen kaaren kautta? Ainakin graan on oltava yhtenäinen eli kaikkien solmujen tulee olla yhteydessä toisiinsa. Lisäksi jokaisen solmuun astutaan yhtä monesti kuin sieltä poistutaan, eli jokaisen solmun aste on oltava parillinen. Nämä ominaisuudet omaavaa graaa kutsutaankin Eulerin graaksi. Vastaus siltaongelmaan: Haluttua kävelyretkeä on mahdoton tehdä, koska kaikki siltojen muodostamat solmut ovat parittomia. 3

5 a b c d e f g h i j k l m n Kuva 2: Hallitusesimerkistä muodostettu kaksijakoinen graa. Määritelmä.5. Graa G = (V, E) on kaksijakoinen, jos pistejoukolla V on sellainen ositus [X, Y ], että jokaisen kaaren ij E toinen päätepiste on joukon X ja toinen päätepiste joukon Y piste. Esimerkki.6. Muodostetaan Sigma-killan hallitus. Hallitus sisältää yksitoista numeroitua hallituspaikkaa: PJ (), VPJ (2), Sihteeri (3), Rahastonhoitaja (4), Tiedottaja (5), Excuvastaava (6), Isäntä (7), Emäntä (8), Matikan opintovastaava (9), Fysiikan opintovastaava (0) ja Liikuntavastaava (). Hallitukseen on tarjolla 4 ehdokasta, mutta kaikki eivät pysty hoitamaan kaikkia hallituspestejä. Kandidaatin perään on merkattu numeroilla mitä hallituspestiä hän pystyy tekemään. Anni(2, 8), Bernelle(, 5, 7), Camilla(2, 3), Daria(, 4, 5, 6, 7), Erkki(3, 8), Fanni(0, ), Gabriel(3, 8, ), Heli(2, 9), Ilpo(8, 9, 0), Johanna(, 5, 6, 7), Kari(8, 9), Leevi(3, 9, ), Miro(, 4, 6, 7) ja Niina(9, 0). Hallitukseen on siis 4 ehdokasta X = {a, b,..., n} ja paikkaa täytettävänä Y = {, 2,..., }. Solmuista V (G) = [X, Y ] voidaan muodostaa kaksijakoinen graa pistämällä X solmut vasemmalle ja Y solmut oikealla ja yhdistämällä ne kaarilla, jotka vastaavat kunkin ehdokkaan mahdollista hallituspaikkaa. 4

6 Määritelmä.7. Graalle G = (V, E), osajoukkoa M E(G) kutsutaan sovitukseksi, jos ei ole kahta osajoukon M alkiota, jotka ovat kytköksissä samaan solmuun. Maksimisovitus on suurin mahdollinen sovitus. Kaksijakoiselle graalle jaolla [X, Y ] ei voi olla sovitusta, joka on suurempi kuin X tai Y. Esimerkkitehtävään.6 liittyvästä graasta saadaan erilaisia sovituksia poistamalla kaaria siten, että jokaisesta pestistä lähtee korkeintaan yksi ja jokaiseen nimeen tulee korkeintaan yksi kaari. Nähdään myös että voidaan muodostaa täysi hallitus, jos ja vain jos siitä tehdylle graalle löytyy sovitus, jossa on kaarta eli hallituspaikkojen määrä. Tämä nähdään myös esimerkissä tehdystä kaksijakoisessa kuvassa 2. Maksimisovituksen sijaan voimme etsiä graan maksivirtauksen, joka on myös sen maksimisovitus. 5

7 2 Graateoriaa Suunnattu graa ja virtausverkosto ovat graaen erikoistapauksia. Suunnatuissa graafeissa jokaisella kaarella on jokin suunta ja virtausverkostossa myös kapasiteetti. Virtausverkostoissa voi solmujen välillä kulkea virtaus joka kertoo kuinka paljon kapasiteettia on käytetty. 2. Suunnattu graa Suunnatun graan G = (V, A) määrittää solmujoukko V (G) ja nuolijoukko A(G). Jokainen joukon A(G) alkio on määrätty pari joukon V (G) alkioista. Käytetään notaatiota (i, j) kuvaamaan nuolta solmusta i solmuun j. 2.2 Virtausverkosto Virtausverkosto G = (V, A) on suunnattu graa, jossa jokaisella nuolella (i, j) A on epänegatiivinen kapasiteetti c(i, j) 0. Jos nuoli (i, j) ei kuulu joukkoon A, on sen kapasiteetti c(i, j) = 0. Jos nuoli (i, j) kuuluu joukkoon A, niin nuoli (j, i) ei kuulu joukkoon A. Virtausverkosto alkaa lähtösolmusta s ja päättyy maalisolmuun t. Jokaiselle solmulle j V on olemassa polku {s j t} virtausverkostossa. Määritelmä 2.. Olkoon G = (V, A) sellainen virtausverkosto, jolla on kapasiteettifunktio c, sekä lähtösolmu s ja maalisolmu t. Virtaus joukossa G on reaalilukuarvoinen kuvaus f : V V R seuraavilla ominaisuuksilla: Kapasiteettirajoitus: i, j V, 0 f(i, j) c(i, j) Virtauksen säilyvyys: i V {s, t}, f(j, i) = j V j V f(i, j) Kutsutaan epänegatiivistä suuretta f(i, j) virtaukseksi solmusta i solmuun j. Virtauksen f arvo määritellään seuraavasti: f = j V f(s, j) j V f(j, s) 6

8 Nuolen kautta ei siis voi kulkea sen kapasiteettia isompaa virtausta. Solmuun tuleva virtaus on yhtäsuuri kuin siitä lähtevä virtaus, lukuunottamatta lähdettä s ja maalia t. Virtauksen arvo f on summa kaikesta lähteestä s lähtevästä virtauksesta miinus lähteeseen kulkeva virtaus, joka on yleensä nolla. Esimerkki 2.2. Oulun tehdas on lähde s ja Helsinki on maali t. Firma kuljettaa tuotteita virtausverkon kaupunkien kautta, mutta vain c(u, v) konttia per päivä voi mennä kaupungista u kaupunkiin v. Jokaisella kaarella on oma kapasiteetti c. Kyseinen virtausverkko kapasiteetteineen on esitetty kuvassa 3. Kokkola Tampere v 2 v Oulu s t Helsinki 3 v 2 Kuopio 4 v 4 Lahti Kuva 3: Esimerkki virtausverkosta G = (V, E) 4 Tehdasesimerkistä muodostettu virtaus kuvassa 4 on 9, joka ei välttämättä ole maksimivirtaus. Kokkola Tampere v 2/2 v 3 /6 5/20 Oulu s /4 4/9 7/7 t Helsinki 8/3 v 2 /4 Kuopio v 4 Lahti Kuva 4: Virtausverkon G = (V, E) eräs virtaus on f =9. Nuolille on merkattu siitä kulkeva virtaus sekä kapasitetti. 4/4 7

9 3 Verkkoteoriaa 3. Jäännösverkosto Kappaleessa 2.2 määriteltiin virtausverkosto G ja virtaus f. Jäännösverkosto G f = (V, A f ) koostuu virtausverkoston nuolista A(G), joilla on kapasiteettia jäljellä sekä jo käytettyjen nuolien vastanuolista, joilla voidaan purkaa virtauksia. Määritelmä 3.. Jäännöskapasiteetti: c(i, j) f(i, j), (i, j) A c f (i, j) = f(j, i), (j, i) A 0, muuten. Jäännöskapasiteetti määrittelee virtausverkoston nuolten kapasiteetin lisäksi myös vastanuolten kapasiteetin, joka on siis nuolista jo kulkeneen virtauksen arvoinen mutta vastakkaiseen suuntaan. Määritelmä 3.2. Jäännösverkoston nuolijoukko: A f (G) = {(i, j) A A : c f (i, j) > 0} Virtausverkostossa virtaus voi kulkea nuolia pitkin vain eteenpäin. Jäännösverkostossa voi virtaus myös peruuttaa eli kulkea taaksepäin nuolia pitkin käyttäen tähän vastanuolia, joiden kapasiteetti on nuolesta kulkeneen virtauksen arvoinen. Määritelmä 3.3. Jos f on virtaus verkossa G ja f virtaus vastaavassa jäännösverkostossa G f, määritetään kuvaus f f virtauksen f lisäämiseksi virtaukseen f, eli funktioksi V V R { (f f f(i, j) + f (i, j) f (j, i), (i, j) A )(i, j) = 0, muuten. Jos jäännösverkostossa perutetaan, eli kuljetaan pitkin vastanuolia, niin se laskee niiden virtauksen arvoa. 8

10 Lemma 3.4. Suure f f virtaus joukossa G arvolla f f = f + f. Osoitetaan, että f f noudattaa kapasiteettirajoitusta jokaiselle nuolelle joukossa A ja virtauksen säilyvyyttä jokaisessa solmussa (V {s, t}). Todistus. Kapasiteettirajoitus: Jos (i, j) A, niin c f (j, i) = f(i, j) ja f (j, i) c f (j, i) = f(i, j), arvioidaan lausetta alaspäin, (f f )(i, j) = f(i, j) + f (i, j) f (j, i) (määritelmä 3.3) f(i, j) + f (i, j) f(i, j) = f (i, j) 0. sekä ylöspäin, (koska f (j, i) f(i, j)) (f f )(i, j) = f(i, j) + f (i, j) f (j, i) (määritelmä 3.3) f(i, j) + f (i, j) f(i, j) f(i, j) + c f (i, j) (virtaukset ovat epänegatiivisia) (kapasiteettirajoitus) f(i, j) + c(i, j) f(i, j) (määritelmä 3.) = c(i, j) Virtauksen säilyvyys: Koska f ja f noudattavat virtauksen säilyvyyttä, saadaan että kaikille i V {s, t}, (f f )(i, j) = (f(i, j) + f (i, j) f (j, i)) j V j V = j V (f(i, j)) + j V (f (i, j)) j V (f (j, i)) = (f(j, i)) + (f (j, i)) (f (i, j)) j V j V j V = j V (f(j, i) + f (j, i) f (i, j)) = j V (f f )(j, i) 9

11 3.2 Lisäyspolku Lisäyspolku p on yksinkertainen polku lähteestä s maaliin t jäännösverkostossa G f. Jäännösverkoston määritelmän mukaan (3.), voi nuolen (i, j) virtausta polulla lisätä maksimissaan sen jäännöskapasiteetin c f (i, j) verran. Määritelmä 3.5. Lisäyspolun p kapasiteetti: c f (p) = min{c f (i, j) : (i, j) p} Lemma 3.6. Määritetään funktio f p : V V R seuraavasti { c f (p), (i, j) p f p (i, j) = 0, muuten. Siten funktio f p on virtaus joukossa G f arvolla f p = c f (p) > 0 Seuraus 3.7. Lemmoista 3.4 ja 3.6 saadaan: f f p = f + f p > f Jos jäännösverkostosta G f löytyy lisäyspolku p, sen lisäys kasvattaa aina virtausta f arvolla f p. Kun jäännösverkostosta ei löydy enää uusia polkuja lähteestä s maaliin t, on löydetty maksimivirtaus. Esimerkin 2.2 kuvan 4 eräästä virtauksesta muodostettu jäännösverkosto on nähtävissä kuvassa 5. Kuvasta nähdään, että virtauksen f =9 arvoa voidaan vielä kasvattaa. Jäännösverkostosta löytyy lisäyspolku p = {s v 2 v 3 t}, jolla on kapasiteetti c f (p) = 4. Solmusta v 2 solmuun v 3 kuljetaan vastanuolta pitkin, eli siinä puretaan alkuperäisiä virtauksia. Kokkola Tampere v 2 v Oulu s 3 t Helsinki v 2 3 v 4 4 Kuopio Lahti Kuva 5: Jäännösverkoston G f vastanuolet on merkitty katkoviivoilla. 0

12 4 Maksimivirtaus Jäännösverkoston ja lisäyspolun määrittelyn jälkeen voidaan vihdoin tutustua algoritmiin, jolla pystyy laskemaan virtausverkon maksimivirtauksen. Ford-Fulkerson(G, s, t) algoritmi[3]. for each arrow(i, j) A(G) 2. f(i, j) = 0 3. while there exist a path p from s to t in the residual network G f 4. c f (p) = min{c f (i, j) : (i, j) p} 5. for each arrow(i, j) in p 6. if (i, j) A 7. f(i, j) = f(i, j) + c f (p) 8. else f(j, i) = f(j, i) c f (p) Algoritmin toistorakenne jatkuu niin kauan kuin jäännösverkostossa löytyy polkuja lähteestä maaliin. Toiston alussa polun kapasiteetiksi määräytyy pienin polulla olevista jäännöskapasiteeteista. Sen jälkeen polun nuolista vähennetään se kapasiteetti ja polun vastanuoliin lisätään se kapasiteetti. Kun polkuja ei enää löydy, algoritmi päättyy. Jos algoritmilla haetaan esimerkin 2.2 maksimivirtaus, niin saadaan vastaukseksi f = 23, joka näkyy kuvassa 6. Kokkola Tampere v 2/2 v 3 /6 9/20 Oulu s /4 0/9 7/7 t Helsinki 2/3 v 2 /4 Kuopio v 4 Lahti 4/4 Kuva 6: Esimerkin 2.2 maksimivirtaus f = 23.

13 Kaksijakoisen graan pystyy helposti muuttamaan virtausverkoksi lisäämällä siihen lähteen s ja maalin t, sekä antamalla jokaiselle kaarelle saman suunnan ja kapasiteetin. Jatkoa esimerkkiin.6 Palataan tutkielman alussa esitettyyn hallituksen muodostamisongelmaan. Koska siitä on jo muodostettu kaksijakoinen graa (kuva 2), voidaan siitä muodostaa virtausverkko, joka näkyy kuvassa 7. Seuraavaksi voidaan laskea sen maksimivirtaus, joka on siis myös suurin sovitus. s a b c 2 d 3 e 4 f g 5 6 t h i j k l m n Kuva 7: Hallitusesimerkistä muodostettu virtausverkko. 2

14 Kun Ford-Fulkerson algoritmi on ajetettu läpi, niin saamme maksivirtaukseksi 0. Eli alkuperäisen graan maksimisovitus on 0, joka tarkoittaa että saamme täytettyä vain kymmenen hallituspaikkaa yhdestätoista. Kuvasta 8 näemme, että tilanne korjaantuisi jos esimerkiksi Anni, Camilla, Fanni, Gabriel, Heli, Erkki, Ilpo, Kari tai Niina suostuisi isännäksi(7). a / / b c 2 / / / d e 3 4 / / / s / / f g 5 6 / / t / h 7 / i 8 / / j 9 / / / k l m 0 / n Kuva 8: Esimerkin.6 maksimisovitus on 0. Käyttämättömät nuolet on merkitty katkoviivoilla. 3

15 Viitteet [] Frank R. Giordano, William P. Fox, Steven B. Horton, Maurice D. Weir: A First Course in Mathematical Modeling; Fourth Edition. Brooks/Cole, Canada, [2] R. R. Kadesch: Problem Solving Across the Disciplines. Prentice Hall, United States, 997. [3] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Intoduction to Algorithms; Third Edition. The MIT Press, England,

T : Max-flow / min-cut -ongelmat

T : 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ätiedot

PARITUS KAKSIJAKOISESSA

PARITUS 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ätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 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ätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 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ätiedot

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Olkoon 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ätiedot

isomeerejä yhteensä yhdeksän kappaletta.

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

Lisätiedot

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( ) Königsbergin sillat 1700-luvun Königsbergin (nykyisen Kaliningradin) läpi virtasi joki, jonka ylitti seitsemän siltaa. Sanotaan, että kaupungin asukkaat yrittivät löytää reittiä, joka lähtisi heidän kotoaan,

Lisätiedot

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

verkkojen 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ätiedot

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120 Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen

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

Malliratkaisut Demot

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

Johdatus graafiteoriaan

Johdatus 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ätiedot

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

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

0 v i v j / E, M ij = 1 v i v j E.

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

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

Induktiotodistus: 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ätiedot

v 8 v 9 v 5 C v 3 v 4

v 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ätiedot

Diofantoksen yhtälön ratkaisut

Diofantoksen yhtälön ratkaisut Diofantoksen yhtälön ratkaisut Matias Mäkelä Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 2017 Sisältö Johdanto 2 1 Suurin yhteinen tekijä 2 2 Eukleideen algoritmi 4 3 Diofantoksen yhtälön

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 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ätiedot

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

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

Lisätiedot

Lineaariset kongruenssiyhtälöryhmät

Lineaariset kongruenssiyhtälöryhmät Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................

Lisätiedot

Suomen rautatieverkoston robustisuus

Suomen rautatieverkoston robustisuus Suomen rautatieverkoston robustisuus Samu Kilpinen 28.09.2016 Ohjaaja: Eeva Vilkkumaa Valvoja: Ahti Salo Rautatieverkosto Rautatie on erinomainen tapa kuljettaa suuria ihmis- ja hyödykemääriä Käyttöä etenkin

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 166 Luku 4 Erilaisia graafeja 4.1 Eulerin graafi 4.2 Hamiltonin graafi 4.3 Tasograafi 4.4 Graafin värittäminen

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

58131 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ätiedot

Hamiltonin sykleistä graateoriassa

Hamiltonin sykleistä graateoriassa Hamiltonin sykleistä graateoriassa Pro gradu -tutkielma Ohto Nordberg 1335868 Matemaattisten tieteiden laitos Oulun yliopisto Kevät 2013 Sisältö Johdanto 2 1 Historiaa 3 1.1 Euler................................

Lisätiedot

7.4. Eulerin graafit 1 / 22

7.4. Eulerin graafit 1 / 22 7.4. Eulerin graafit 1 / 22 Viivojen läpikäynti Graafin pisteiden/viivojen läpikäyminen esiintyy usein sovelluksissa: Etsintäalgoritmit, reititykset Läpikäyminen tehdään nopeimmin, kun yhtäkään viivaa/pistettä

Lisätiedot

Eulerin verkkojen karakterisointi

Eulerin verkkojen karakterisointi Eulerin verkkojen karakterisointi Pro Gradu -tutkielma Jenni Heikkilä 373175 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 018 Sisältö Johdanto 1 Verkkojen peruskäsitteet 3 1.1 Verkon määrittely.........................

Lisätiedot

Datatähti 2019 loppu

Datatä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ätiedot

Luentorunko Kevät Matti Peltola.

Luentorunko Kevät Matti Peltola. GRAAFITEORIA 031029S Luentorunko Kevät 2009 Matti Peltola http://www.ee.oulu./mpa/graate.htm Hyödyllistä tietoa Matematiikan jaoksen tuottamasta opetuksesta löytyy osoitteesta http://s-mat-pcs.oulu./opetus

Lisätiedot

Latinalaiset neliöt ja taikaneliöt

Latinalaiset neliöt ja taikaneliöt Latinalaiset neliöt ja taikaneliöt LuK-tutkielma Aku-Petteri Niemi Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 2018 Sisältö Johdanto 2 1 Latinalaiset neliöt 3 1.1 Latinalainen neliö.........................

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

Malliratkaisut Demot

Malliratkaisut 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ätiedot

Tehtävä 8 : 1. Tehtävä 8 : 2

Tehtävä 8 : 1. Tehtävä 8 : 2 Tehtävä 8 : 1 Merkitään kirjaimella G tarkasteltavaa Petersenin verkkoa. Olkoon A joukon V(G) niiden solmujen joukko, joita vastaavat solmut sijaitsevat tehtäväpaperin kuvassa ulkokehällä. Joukon A jokaisella

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

Mat Lineaarinen ohjelmointi

Mat 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ätiedot

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

1 Kertaus. Lineaarinen optimointitehtävä on muotoa: 1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n

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

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa) Lukuteoria Lukuteoria on eräs vanhimmista matematiikan aloista. On sanottu, että siinä missä matematiikka on tieteiden kuningatar, on lukuteoria matematiikan kuningatar. Perehdymme seuraavassa luonnollisten

Lisätiedot

Puiden karakterisointi

Puiden 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ätiedot

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

b) 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ätiedot

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

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

Lisätiedot

6.4. Järjestyssuhteet

6.4. Järjestyssuhteet 6.4. Järjestyssuhteet Joukon suhteilla voidaan kuvata myös alkioiden järjestystä tietyn ominaisuuden suhteen. Järjestys on myös kaksipaikkainen suhde (ja on monia erilaisia järjestyksiä). Suhde R joukossa

Lisätiedot

Esipuhe Tämä gradu on tehty Teknologian tutkimuskeskus VTT:llä tietoturvan tutkimustiimissä vuosien aikana. Opinnäytetyöni on osa Tekesin ja

Esipuhe Tämä gradu on tehty Teknologian tutkimuskeskus VTT:llä tietoturvan tutkimustiimissä vuosien aikana. Opinnäytetyöni on osa Tekesin ja Tietoturvallisten verkkojen suunnittelu graateorian avulla FM-tutkielma Visa Vallivaara 1800283 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2014 Esipuhe Tämä gradu on tehty Teknologian tutkimuskeskus

Lisätiedot

Alkulukujen harmoninen sarja

Alkulukujen harmoninen sarja Alkulukujen harmoninen sarja LuK-tutkielma Markus Horneman Oiskelijanumero:2434548 Matemaattisten tieteiden laitos Oulun ylioisto Syksy 207 Sisältö Johdanto 2 Hyödyllisiä tuloksia ja määritelmiä 3. Alkuluvuista............................

Lisätiedot

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa. Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa. Vastaus 2. Vertaillaan

Lisätiedot

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Graafin 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ätiedot

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus

Lisätiedot

Tarkennamme geneeristä painamiskorotusalgoritmia

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

Lisätiedot

Derivaattaluvut ja Dini derivaatat

Derivaattaluvut ja Dini derivaatat Derivaattaluvut Dini derivaatat LuK-tutkielma Helmi Glumo 2434483 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2016 Sisältö Johdanto 2 1 Taustaa 2 2 Määritelmät 4 3 Esimerkkejä lauseita 7 Lähdeluettelo

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

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

5.2 Eulerin kehät ja -polut

5.2 Eulerin kehät ja -polut 5.2 Eulerin kehät ja -polut Königsbergin sillat: onko mahdollista tehdä (kuivin jaloin) kävelyretki siten, että jokainen silta kuljetaan tasan kerran Eulerin polku on verkon polku, joka kulkee jokaisen

Lisätiedot

Johdatus verkkoteoriaan luento Netspace

Johdatus 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ätiedot

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013 Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013 Sisältö Johdanto 2 1 Ryhmä 3 2 Symmetrinen ryhmä 6 3 Symmetriaryhmä 10 4 Dihedraalinen ryhmä 19 Lähdeluettelo

Lisätiedot

Cantorin joukon suoristuvuus tasossa

Cantorin joukon suoristuvuus tasossa Cantorin joukon suoristuvuus tasossa LuK-tutkielma Miika Savolainen 2380207 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2016 Sisältö Johdanto 2 1 Cantorin joukon esittely 2 2 Suoristuvuus ja

Lisätiedot

Eräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.

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

Graafin virittävä puu 1 / 20

Graafin 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ätiedot

Tehtävä 4 : 2. b a+1 (mod 3)

Tehtävä 4 : 2. b a+1 (mod 3) Tehtävä 4 : 1 Olkoon G sellainen verkko, jonka solmujoukkona on {1,..., 9} ja jonka särmät määräytyvät oheisen kuvan mukaisesti. Merkitään lisäksi kirjaimella A verkon G kaikkien automorfismien joukkoa,

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

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

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

Lisätiedot

Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä Olkoot γ : [a, b] R m paloittain C 1 -polku välin [a, b] jaon

Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä Olkoot γ : [a, b] R m paloittain C 1 -polku välin [a, b] jaon Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä 4.1.3. Olkoot : [a, b] R m paloittain C 1 -polku välin [a, b] jaon P = {a = t 1 < < t k = b} ja joukko D R m sellainen, että ([a, b])

Lisätiedot

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16 MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio. Antti Rasila Matematiikan ja systeemianalyysin laitos

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

Kenguru 2019 Student lukio

Kenguru 2019 Student lukio sivu 0 / 7 NIMI LUOKKA Pisteet: Kenguruloikan pituus: Koodi (ope täyttää): Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Oikeasta vastauksesta

Lisätiedot

Verkkojen värittäminen

Verkkojen värittäminen Verkkojen värittäminen Pro gradu -tutkielma Tiina Aaltonen 165231 Itä-Suomen yliopisto Fysiikan ja matematiikan laitos 10. tammikuuta 2012 Sisältö 1 Johdanto 1 2 Verkkojen peruskäsitteitä 4 2.1 Solmu,

Lisätiedot

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 3.5 Reedin-Mullerin koodit Olkoon tässä kappaleessa F = F2 = Z2 ja n = 2 m. Määritellään avaruuteen F n kertolasku koordinaateittain:

Lisätiedot

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. Kombinatoriikka, kesä 2010 Harjoitus 1 Ratkaisuehdotuksia (RT (5 sivua Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. 1. Osoita, että vuoden

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

13 Lyhimmät painotetut polut

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

Lisätiedot

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

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

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

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Vektoriavaruudet Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2015 1 / 17 R. Kangaslampi Vektoriavaruudet Vektoriavaruus

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

Tehtävä 1. Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja.

Tehtävä 1. Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja. Tehtävä 1 Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja. 1 Jos 1 < y < 3, niin kaikilla x pätee x y x 1. 2 Jos x 1 < 2 ja y 1 < 3, niin x y

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48 MS-A3/A5 Matriisilaskenta Malliratkaisut 5 / vko 48 Tehtävä (L): a) Onko 4 3 sitä vastaava ominaisarvo? b) Onko λ = 3 matriisin matriisin 2 2 3 2 3 7 9 4 5 2 4 4 ominaisvektori? Jos on, mikä on ominaisarvo?

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetesimerkkejä,

Lisätiedot

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2 Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,

Lisätiedot

Harjoitus 4 (7.4.2014)

Harjoitus 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ätiedot

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 014 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteetesimerkkejä,

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet MS-A0402 Diskreetin matematiikan perusteet Osa 6: Verkkoteoria Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Verkkojen peruskäsitteitä Motivaatiota (...) networks may

Lisätiedot

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

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

Lisätiedot

, 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

LUKUTEORIA johdantoa

LUKUTEORIA johdantoa LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,

Lisätiedot

Kokonaislukuoptimointi hissiryhmän ohjauksessa

Kokonaislukuoptimointi hissiryhmän ohjauksessa Kokonaislukuoptimointi hissiryhmän ohjauksessa Systeemianalyysin laboratorio Teknillinen Korkeakoulu, TKK 3 Maaliskuuta 2008 Sisällys 1 Johdanto Taustaa Ongelman kuvaus 2 PACE-graafi Graafin muodostaminen

Lisätiedot

Johdatus matemaattiseen päättelyyn

Johdatus matemaattiseen päättelyyn Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 3 Joukko-oppia 4 Funktioista Funktio eli kuvaus on matematiikan

Lisätiedot

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)

Kustannustehokkaat 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ätiedot

Johdatus matemaattiseen päättelyyn

Johdatus matemaattiseen päättelyyn Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 2 3 Joukko-oppia Tässä luvussa tarkastellaan joukko-opin

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

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

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

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

Luento 9: Permutaatiot ja symmetriat 1 MS-A0401 Diskreetin matematiikan perusteet, syksy 2014 Harri Varpanen Aalto-yliopisto Matematiikan ja systeemianalyysin laitos Keskiviikko 8.10.2014 Ryhmän toiminta

Lisätiedot

Kokonaislukukapasiteetti. Max-Flow Min-Cut

Kokonaislukukapasiteetti. Max-Flow Min-Cut Kokonaislukukapasiteetti Seuraus 10.2.2. JosN on siirtoverkko, jonka kapasiteettifunktion α arvot ovat kokonaislukuja, niin silloinn:llä on olemassa sellainen maksimivirtausf, ettäf(e) on kokonaisluku

Lisätiedot

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3 Suorat ja tasot Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3.1 Suora Havaitsimme skalaarikertolaskun tulkinnan yhteydessä, että jos on mikä tahansa nollasta

Lisätiedot