Mat Lineaarinen ohjelmointi

Koko: px
Aloita esitys sivulta:

Download "Mat Lineaarinen ohjelmointi"

Transkriptio

1 Mat-.40 Lineaarinen ohjelmointi Luento 9 Verkkotehtävän erikoistapauksia (kirja 7., 7.5, 7.9, 7.0) Lineaarinen ohjelmointi - Syksy 007 /

2 Luentorunko (/) Verkkotehtävän ominaisuuksia Kuljetustehtävä Töiden järjestely Lyhyimmän polun tehtävä Bellman-Ford Dijkstra Lineaarinen ohjelmointi - Syksy 007 /

3 Luentorunko (/) Maksimivirtaustehtävä Ford-Fulkerson Minimivirityspuu Yhteenveto Lineaarinen ohjelmointi - Syksy 007 /

4 Verkkotehtävän ominaisuuksia (/) a) Jokainen verkkotehtävä voidaan muuttaa tehtäväksi, jossa yksi lähde ja yksi nielu b 4 b 4 s b t 5 b 5 + b b b + b 4 5 b + u = b, l = si i it b i b) Jokainen verkkotehtävä voidaan muuttaa lähteettömäksi ja nieluttomaksi (kiertokulku) b s u ts = b, c ts = M t b Lineaarinen ohjelmointi - Syksy 007 / 4

5 Verkkotehtävän ominaisuuksia (/) c) Mahdollinen solmun kapasiteettirajoite voidaan eliminoida d) Kaarien kapasiteettien alarajat voidaan yleistää nolliksi (viime kerran kotitehtävä) b i bi i i g i u ' = ii g i i Lineaarinen ohjelmointi - Syksy 007 / 5

6 Kuljetustehtävä (/ Kuljetustehtävä: lähteistä i tarjonnat s i minimikustannuksella nieluihin j kysynnöin d j Erikoistapaus yleisestä tehtävästä kaikki solmut joko lähteitä tai nieluja: min s. e. m i= f n j= ij c ij ( i, j) A f f ij ij f ij = = 0, d s i j,, j=,..., n i=,..., m i, j Lineaarinen ohjelmointi - Syksy 007 / 6

7 Kuljetustehtävä (/) Kaikki verkkotehtävät voidaan muuttaa kuljetustehtävämuotoon Idea: Solmuilla kysyntää niistä lähtevän tavaran kuljetuksen hoitamiseen. Kaarilla tarjontaa kapasiteettinsa verran. Tavaran kotiin jättäminen ei maksa mitään, kuljetus toiseen solmuun kaarikustannuksen verran Kuljtetustehtävälle kehitettyjä algoritmeja voi siis hyödyntää yleisemmissä tehtävissä! Lineaarinen ohjelmointi - Syksy 007 / 7

8 Töiden järjestely (/) Työt ja tekijät halutaan yhdistää kustannusoptimaalisella tavalla Myös nimellä parinmuodostus (assignment problem) Erikoistapaus kuljetustehtävästä: nieluilla ja lähteillä yksikkötarjonnat/-kysynnät Leipuri Kitaristi Kampaaja Häävalssin säestys Morsiamen kampaus Hääkakku Lineaarinen ohjelmointi - Syksy 007 / 8

9 Töiden järjestely (/) Ratkaisu esim. huutokauppa-algoritmilla Ei käsitellä; ideana huutokaupata työt tekijöille Kuljetustehtävästä töiden järjestelyksi jakamalla lähteet ja nielut yksiköiksi Huutokauppa-algoritmin voi yleistää kuljetustehtävälle ja sitä kautta yleiselle verkkotehtävälle! Huutokauppa-algoritmi onkin yleisin kuljetustehtävän ratkaisutapa Lineaarinen ohjelmointi - Syksy 007 / 9

10 Lyhyimmän polun tehtävä (/4) Etsitään lyhyintä mahdollista reittiä kahden solmun välillä (kaaren pituus = kaaren kustannus) Esim. datapakettien reititys: Tukiasema Internet Palvelin Analogia Kytkimet ja verkkolaitteet = solmut Tukiasema Palvelin Palvelin Datayhteydet Minimipolku = kaaret = nopein yhteys Tukiasema Palvelin Lineaarinen ohjelmointi - Syksy 007 / 0

11 Lyhyimmän polun tehtävä (/4) Toinen esim. projektin hallinta: Aloitus Projekti koostuu töistä, joista jotkin pitää olla suoritettu ennen kuin toiset voi aloittaa. Halutaan minimoida projektin kokonaiskestoa. Etsitään pisintä polkua eli -(lyhyintä polkua) Materiaalien tilaus Minimipolku ja projektit Pisin polku Pisimmän polun pituus Kaaret Pisimmän polun kaaret 4 5 Henkilöstön palkkaus Koulutus Materiaalien kuljetus Koulutus Rakentaminen4 = kriittinen polku = projektin kesto = tehtävät = kriittiset tehtävät Tällainen tehtävä laskareissa! Lineaarinen ohjelmointi - Syksy 007 /

12 Lyhyimmän polun tehtävä (/4) Useita nimikettä korjaavia (label correcting) ratkaisualgoritmeja Bellman-Ford (käsitellään) Lisäksi mm. D Esopo-Pape, Floyd, SLF, LLL, Kynnysalgoritmi... Vaihtoehtona Dijkstran algoritmi, joka on nimikkeen asettava menetelmä (label setting method). Lineaarinen ohjelmointi - Syksy 007 /

13 Lyhyimmän polun tehtävä (4/4) Kullekin solmulle i määritelty nimike (label) p i (skalaari tai ääretön) Tulkinta nimikkeelle p i : solmun i etäisyys lähtösolmusta jotakin löydettyä polkua pitkin (vrt. duaalimuuttuja!) Algoritmi etsii polkuja solmujen välillä ja päivittää nimikkeitä vastaavasti Lineaarinen ohjelmointi - Syksy 007 /

14 Lyhyimmän polun tehtävä: Optimaalisuusehdot Olkoon p, p,, p N solmujen nimikkeet, joille: p j p i + c ij, ( i, j) Α () ja olkoon P polku, joka alkaa solmusta i ja päättyy solmuun i k. Jos p j = p i + c ij, () kaikille P:n kaarille (i,j), P on lyhyin polku i :stä i k :hon. Ratkaisualgoritmit perustuvat näihin ehtoihin. Lineaarinen ohjelmointi - Syksy 007 / 4

15 Lyhyimmän polun tehtävä: Bellman-Ford (/). Alustus: p n =0, muille solmuille ääretön. Tutkittavien lista S={n}. Iteraatio: poista jokin solmu j S:stä. Tutki kaaret (i,j) ja aseta p i :=min{p i,c ij +p j }. Jos p i muuttuu, lisää solmu i S:ään.. Jos S on tyhjä, algoritmi terminoituu. Muuten, palaa askeleeseen. 4. Lyhyimmät polut saadaan tarkastelemalla mitä solmua tutkittaessa (poistettaessa) mikin solmu sai lopullisen nimikkeensä Lineaarinen ohjelmointi - Syksy 007 / 5

16 Lyhyimmän polun tehtävä Bellman-Ford (/) Bellman-Ford korjaa nimikkeitä aina lyhyemmän polun löytyessä Solmut saattavat siis tulla tutkittavien listaan useampaan kertaan Löytää lyhyimmät polut kaikista solmuista loppusolmuun Sallii negatiiviset kaaren pituudet hyödyllistä projektinhallintatehtävässä (laskarit!) Lineaarinen ohjelmointi - Syksy 007 / 6

17 7 Esimerkki: Iteraatiot ja 9 Alustus: p = {,,, 0}, S={4} Poistetaan solmu 4 S:stä Kaari (,4): p := p 4 + c 4 =, solmu S:ään Kaari (,4): p := p 4 + c 4 = 7, solmu S:ään Nimikkeet: p = {, 7,, 0}, S={,} Poistetaan solmu S:stä Kaari (,): p := p + c = 9, solmu S:ään Lineaarinen ohjelmointi - Syksy 007 / 7

18 Esimerkki: Iteraatiot ja Nimikkeet: p = {9, 7,, 0}, S={,} Poistetaan solmu S:stä Kaari (,): p + c = 0 > p Nimikkeet: p = {9, 7,, 0}, S={} Poistetaan solmu S:stä Ei tutkittavia kaaria! S tyhjä, eli algoritmi terminoituu Mitä solmua poistettaessa lopulliset nimikkeet saatiin? Lineaarinen ohjelmointi - Syksy 007 / 8

19 Lyhyimmän polun tehtävä: Dijkstra (/). Alustus: p =0, muille solmuille ääretön. Tutkittavien lista S={}.. Iteraatio: poista S:stä pienintä nimikettä vastaava solmu i. Tutki kaaret (i,j) ja aseta p j :=min{p j,c ij +p i }. Jos p j muuttuu, lisää j S:ään.. Jos S on tyhjä, algoritmi terminoituu. Muuten palaa askeleeseen. 4. Lyhyimmät polut löydetään tarkastelemalla mitä solmua tutkittaessa (poistettaessa) mikin solmu sai lopullisen nimikkeensä Lineaarinen ohjelmointi - Syksy 007 / 9

20 Lyhyimmän polun tehtävä: Dijkstra (/) Algoritmi asettaa solmuille lopulliset nimikkeet niiden poistuessa tutkittavien listalta S Tämän jälkeen solmu ei enää palaa S:ään Löytää lyhyimmät polut alkusolmusta kaikkiin muihin solmuihin Algoritmi kuitenkin vaatii, että kaarten kustannukset (pituudet) ei-negatiivisia Lineaarinen ohjelmointi - Syksy 007 / 0

21 Esimerkki:. iteraatiokierros S= {} Nimikkeet p = {0,,,, } p i min p = 0, poistettava solmu i = = j j S Kaari (, ): p := p + c =. Solmu tutkittavien listaan Kaari (, ): p := p + c =. Solmu tutkittavien listaan Lineaarinen ohjelmointi - Syksy 007 /

22 = j j S. iteraatiokierros S = {, } Nimikkeet p = {0,,,, } p i min p =, poistettava solmu i = Kaari (, ): p + c = = p Kaari (, 4): p 4 := p + c 4 = 4. Solmu 4 tutkittavien listaan Lineaarinen ohjelmointi - Syksy 007 /

23 . iteraatiokierros S = {, 4} Nimikkeet p = {0,,, 4, } p i = min p =, poistettava solmu i = j S j Kaari (, ): p + c = > p Kaari (, 4): p + c 4 = < p 4, asetetaan p 4 := Kaari (, 5): p 5 := p + c 5 =. Solmu 5 tutkittavien listaan Lineaarinen ohjelmointi - Syksy 007 /

24 S = {4, 5} Nimikkeet p = {0,,,, } 4. iteraatiokierros p i = min p =, poistettava solmu i = 5 ei tutkittavia kaaria j S j Lineaarinen ohjelmointi - Syksy 007 / 4

25 5. iteraatiokierros Lopullisen nimikkeen S = {4} saanut solmu Nimikkeet p = {0,,,, } p i = min p j =, poistettava solmu i = 4 j S Kaari (4, 5): p 4 + c 45 = > p 5 S on nyt tyhjä, joten algoritmi päättyy 4 5 Mitä solmua tutkittiin? Lineaarinen ohjelmointi - Syksy 007 / 5

26 Maksimivirtaustehtävä (/) Verkko, jossa on yksi lähde ja yksi nielu kustannuksia ei huomioida Tehtävänä kuljettaa mahdollisimman paljon virtausta lähteestä nieluun kaarien kapasiteettien [0,u ij ] rajoissa (esim. logistiikka) Lineaarinen ohjelmointi - Syksy 007 / 6

27 Maksimivirtaustehtävä (/) Kunkin kaaren virtaus ja maksimikapasiteetti kertovat kuljetusverkon pullonkauloista ja turhista reiteistä 7/7 L /5 / A /0 Bo 0/0 4/6 Br 0/0 W Pa 4/4 0/0 Pr 8/8 Be 4/ Lineaarinen ohjelmointi - Syksy 007 / 7

28 Maksimivirtaustehtävä (/) Määritelmä 7.: Olk. f käypä virtaus verkossa. Polku lähteestä s nieluun t on täydentävä polku (augmenting path), jos f ij <u ij kaikilla polun eteenpäin suunnatuilla ja f ij >0 taaksepäin suunnatuilla kaarilla Ts. täydentävää polkua P pitkin on mahdollista työntää lisää virtausta, kuitenkin enintään δ ( P) = min{ min ( u ( i, j) F ij f ij ), min ( i, j) B f ij } Lineaarinen ohjelmointi - Syksy 007 / 8

29 Maksimivirtaustehtävä: Ford-Fulkerson Fulkerson (/4) Ford-Fulkerson algoritmi: ) Alussa käypä virtaus f ) Etsitään täydentävä polku ) Jos täyd. polkua ei löydy, maksimivirtaus on löydetty 4) Jos täyd. polku P löytyy: a) Jos δ (P) < työnnetään δ (P) yksikköä virtausta polkua pitkin ja palataan askeleeseen b) Jos δ (P) =, tehtävä on rajoittamaton Lineaarinen ohjelmointi - Syksy 007 / 9

30 Maksimivirtaustehtävä: Ford-Fulkerson Fulkerson (/4) Miten täydentävä polku löydetään? Nimikkeet avuksi! Idea: Aloitetaan lähdesolmusta s tutkitaan lähteekö solmusta/tuleeko solmuun kaaria, joihin voi työntää lisää virtausta. Tutkitaan samaan tapaan tällaisten kaarten maalisolmut jne, kunnes joko moisia kaaria ei enää löydy tai ollaan päästy nielusolmuun t, jolloin vastaava polku on täydentävä. Lineaarinen ohjelmointi - Syksy 007 / 0

31 Maksimivirtaustehtävä: Ford-Fulkerson Fulkerson (/4) Nimikealgoritmi täydentävän polun etsintään:. Alustus: joukko I={s}. Iteraatio: I:ssä nimikkeelliset solmut, joista lähteviä kaaria ei vielä tutkittu. Jos t I tai jos I =, algoritmi terminoituu. Muuten valitaan solmu i I poistettavaksi I:stä. Tutkitaan kaaret (i,j) ja (j,i). Jos ( i, j) A, f ij < u ij, annetaan j:lle nimike (jos sillä ei vielä ole) ja lisätään se joukkoon I 4. Jos ( j, i) A, f > 0, tehdään kuten edellä. ji Lineaarinen ohjelmointi - Syksy 007 /

32 Maksimivirtaustehtävä: Ford-Fulkerson Fulkerson (4/4) Jos täydentäviä polkuja löytyy useita, valitaan niistä se, jossa vähiten kaaria Tällöin Ford-Fulkerson ratkaisee maksimivirtaustehtävän polynomiajassa Pienissä tehtävissä (käsin väännettävissä) kannattaa kuitenkin tyytyä ensin löydettyyn Lineaarinen ohjelmointi - Syksy 007 /

33 Esimerkki (/) Alkutilanne: s 5/6 / / / /4 / / /5 Täyd. polku P saadaan tutkimalla miltä solmulta t sai nimikkeensä, miltä tämä omansa jne. Täten P={s,,,t}. 4 / t Täydentävän polun haku:. I={s}. Tutkitaan solmu s. Nimikkeet solmuille ja. I={,}. Tutkitaan solmu. Nimike solmulle 4.. I={,4}. Tutkitaan solmu 4. Ei nimikkeitä. 4. I={}. Tutkitaan solmu. Nimike solmulle. 5. I={}. Tutkitaan solmu. Nimike solmulle t => täydentävä polku löydetty Lineaarinen ohjelmointi - Syksy 007 /

34 s 5/6 / / / /4 Esimerkki (/) / / /5 4 / t P:tä pitkin työnnettävä lisävirtaus: δ ( P) = min{ min ( u ( i, j) F ij ), min ( i, j) B = min{min{( ),(5 )},} = min{,} = f ij f ij } s 5/6 / 0/ / /4 / / 4/5 4 / Päivitetään verkko t Lineaarinen ohjelmointi - Syksy 007 / 4

35 Esimerkki (/) s 5/6 / / 0/ /4 / 4/5 / 4 / t Täydentävän polun haku:. I={s}. Tutkitaan solmu s. Nimike solmulle.. I={}. Tutkitaan solmu. Nimike solmulle 4. Pullonkaulat punaisella, turha reitti katkoviivalla. I={4}. Tutkitaan solmu 4. Ei nimikkeitä. 4. I tyhjä ei täydentävää polkua. Maksimivirtaus löydetty. Lineaarinen ohjelmointi - Syksy 007 / 5

36 Minimivirityspuu (/4) Puu: yhtenäinen verkko, joka ei sisällä syklejä Verkon virityspuu: puu, joka sisältää kaikki ko. verkon solmut Minimivirityspuutehtävä: etsitään verkolle sellainen virityspuu, että sen kaarien kustannusten summa on minimissä Lineaarinen ohjelmointi - Syksy 007 / 6

37 Minimivirityspuu (/4) Esim. Espooseen rakennettava mahdollisimman halvalla pyörätieverkosto siten, että kaikkiin oleellisiin paikkoihin päästään (ei välttämättä pyöräilijän kannalta kovinkaan järkevästi) Kirjasto Kauppa Ostari Teatteri Uimahalli Kiska Otaniemi Otaniemeläinen pyöräilijä halajaa ostarille Lineaarinen ohjelmointi - Syksy 007 / 7

38 Minimivirityspuu (/4) Ratkaisualgoritmi:. Olk. suuntaamaton verkko (N,A) jonka kaarille määrätty kustannukset. Alustus puulla (N,A ), jossa yksi solmu eikä yhtään kaarta (A tyhjä). Askeleella k<n puu (N k,a k ). Tutkitaan kaikki kaaret ( i, j) A joille i Nk, j Nk. Valitaan puuhun pienintä kustannusta vastaava kaari ja sen maalisolmu => (N k+,a k+ ).. Jatketaan kunnes k=n. Ts. kierroksen k puulle etsitään lyhyintä lisättävää oksaa, joka vie johonkin puuhun kuulumattomaan solmuun Lineaarinen ohjelmointi - Syksy 007 / 8

39 Kirjasto 7 Teatteri 5 6 Kauppa Ostari Minimivirityspuu (4/4) 4 Uimahalli Kiska Otaniemi. N ={}, A tyhjä. Tutkitaan :ä sivuavat kaaret, joista (,) lyhyin.. N ={,}, A ={(,)}. Tutkitaan solmuja ja sivuavat kaaret, joiden toinen pää ei N :ssa eli {(,4), (,),(,)}. Lyhyin kaari (,).. N ={,,}, A ={(,),(,)}. Tutkittavat kaaret {(,4),(,4),(,5),(,6)}. 4. N 4 ={,,,6}, A 4 ={A,(,6)}. Tutkittavat kaaret {(,4),(,4),(,5),(6,5),(6,7)}. 5. N 5 ={,,,5,6}, A 5 ={A 4,(6,5)}. Tutkittavat kaaret {(,4),(,4),(5,4),(5,7),(6,4),(6,7)}. 6. N 6 ={,,,4,5,6}, A 6 ={A 5,(5,4)}. Tutkittavat kaaret {(5,7),(6,7)}. Lineaarinen ohjelmointi - Syksy 007 / 9

40 Yhteenveto Verkkotehtävällä useita ekvivalentteja muotoja: Yleinen tehtävä Kuljetustehtävä Töiden järjestely Lyhyimmän polun tehtävän ratkaisualgoritmit perustuvat nimikkeisiin Bellman-Ford, Dijkstra Maksimivirtaustehtävän ratkaisualgoritmit etsivät täydentävää polkua Ford-Fulkerson Minimivirityspuu rakennetaan etsimällä aina lyhyintä oksaa senhetkiselle puulle Lineaarinen ohjelmointi - Syksy 007 / 40

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

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

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

Lisätiedot

Mat Lineaarinen ohjelmointi

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

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

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

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

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

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

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

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.34 Lineaarinen ohjelmointi 9..7 Luento Kokonaislukuoptimoinnin algoritmeja (kirja.-.) Lineaarinen ohjelmointi - Syksy 7 / Luentorunko Gomoryn leikkaava taso Branch & Bound Branch & Cut Muita menetelmiä

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

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

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

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

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

Kombinatorinen optimointi

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

Lisätiedot

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

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

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

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

Algoritmit 2. Luento 12 To Timo Männikkö

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

Lisätiedot

Harjoitus 1 (17.3.2015)

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

Lyhin kahden solmun välinen polku

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

Optimoinnin sovellukset

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

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

Algoritmit 2. Luento 12 Ke Timo Männikkö

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

Lisätiedot

Malliratkaisut Demot

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

Harjoitus 1 (20.3.2014)

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

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.4 Lineaarinen ohjelmointi..7 Luento 7 Duaalisimple ja herkkyysanalyysi (kirja 4.5, 5., 5.5-5.6) Lineaarinen ohjelmointi - Syksy 7 / Duaalisimple Herkkyysanalyysi Luentorunko Parametrinen ohjelmointi

Lisätiedot

Algoritmit 1. Luento 7 Ti Timo Männikkö

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

Lisätiedot

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

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

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

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

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-2.3140 Lineaarinen ohjelmointi 4.10.2007 Luento 4 Ekstreemipisteiden optimaalisuus ja Simplex (kirja 2.4-2.6, 3.1-3.2) Lineaarinen ohjelmointi - Syksy 2007 / 1 Luentorunko Degeneroituvuus Ekstreemipisteiden

Lisätiedot

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi. 5..0 Tehtävä Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi. (c) (d) Arvostelu Kanta on degeneroitunut jos ja vain jos sitä vastaava kantamatriisi on singulaarinen. Optimissa muuttujan

Lisätiedot

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

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

Lisätiedot

10. Painotetut graafit

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

Lisätiedot

Algoritmit 2. Luento 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

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

Algoritmit 2. Luento 11 Ti Timo Männikkö

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

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

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

Lisätiedot

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

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

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

Lisätiedot

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

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

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

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Lisätiedot

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

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

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

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

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

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

Lineaarinen optimointitehtävä

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

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

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

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A 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ätiedot

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen Etsintä verkosta (Searching from the Web) T-61.2010 Datasta tietoon Heikki Mannila, Jouni Seppänen 12.12.2007 Webin lyhyt historia http://info.cern.ch/proposal.html http://browser.arachne.cz/screen/

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

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

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

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

Lisätiedot

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

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

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-2.34 Lineaarinen ohjelmointi..27 Luento 5 Simplexin implementaatioita (kirja 3.2-3.5) Lineaarinen ohjelmointi - Syksy 27 / Luentorunko (/2) Simplexin implementaatiot Naiivi Revised Full tableau Syklisyys

Lisätiedot

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS 1 3 1 3 4 3 2 3 4 3 2 3 1 2 3 4 122 31 4 3 1 4 3 1 122 31........ X.... X X 2 3 1 4 1 4 3 2 3 2 4 1 4 JOHDATUS TEKOÄLYYN TEEMU ROOS 2. ETSINTÄ JA PELIT LEVEYSSUUNTAINEN HAKU 1 9 3 2 5 4 6 7 11 16 8 12

Lisätiedot

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

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

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

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

Lisätiedot

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet

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

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin

Tietorakenteet, 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ä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

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

Turingin koneen laajennuksia

Turingin koneen laajennuksia Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k

Lisätiedot

Energiatehokkaista reititysmenetelmistä

Energiatehokkaista reititysmenetelmistä Energiatehokkaista reititysmenetelmistä Olli Pottonen 21. helmikuuta 2005 1 Johdanto Tässä paperissa esitellään lyhyehkösti kaksi reititysmenetelmää. max-min zp min - algoritmin ovat kehittäneet Li, Aslam

Lisätiedot

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min! Lineaarinen optimointi Harjoitus 6-7, 016. 1. Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän c T x = min! (T) Ax b x 0 duaalitehtävän duaali on tehtävä (T). Ratkaisu. (P) c T x = min! Ax b x

Lisätiedot

Totaalisesti unimodulaariset matriisit voidaan osoittaa olevan rakennettavissa oleellisesti verkkomalleihin liittyvistä matriiseista

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

Harjoitus 6 ( )

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

Lisätiedot

Kognitiivinen mallintaminen 1

Kognitiivinen mallintaminen 1 Kognitiivinen mallintaminen 1 Uutta infoa: Kurssin kotisivut wikissä: http://wiki.helsinki.fi/display/kognitiotiede/cog241 Suorittaminen tentillä ja laskareilla (ei välikoetta 1. periodissa) Ongelmanratkaisu

Lisätiedot

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

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

Lisätiedot

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

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

Lisätiedot

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi. Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

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

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Reiluus. Maxmin-reiluus. Tärkeä näkökohta best effort -tyyppisissä palveluissa. Reiluuden maxmin-määritelmä

Reiluus. Maxmin-reiluus. Tärkeä näkökohta best effort -tyyppisissä palveluissa. Reiluuden maxmin-määritelmä J. Virtamo 38.3141 Teleliikenneteoria / Reiluus 1 Reiluus Maxmin-reiluus Tärkeä näkökohta best effort -tyyppisissä palveluissa kenellekään ei anneta kvantitatiivisia QoS-takuita kaikkien pitää saada palvelua

Lisätiedot

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä

Lisätiedot

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

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

j n j a b a c a d b c c d m j b a c a d a c b d c c j

j n j a b a c a d b c c d m j b a c a d a c b d c c j TEKNILLINEN KORKEAKOULU Tietoliikenne- ja tietoverkkotekniikan laitos S-38.115 Liikenneteorian perusteet, Kevät 2008 Demonstraatiot Luento 12 29.2.2008 D12/1 Tarkastellaan verkkoa, jossa on solmua ja linkkiä.

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

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

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

4. Kokonaislukutehtävän ja LP:n yhteyksiä

4. Kokonaislukutehtävän ja LP:n yhteyksiä 8 4. Kokonaislukutehtävän ja LP:n yhteyksiä Minkowskin esityslauseen avulla voidaan osoittaa, että jos P on rationaalinen monitahokas ja S sen sisällä olevien kokonaislukupisteiden joukko, niin co(s) on

Lisätiedot

Graateorian maksimivirtausalgoritmi

Graateorian maksimivirtausalgoritmi Graateorian maksimivirtausalgoritmi LuK-tutkielma Visa Vallivaara 800283 Matemaattisten tieteiden laitos Oulun yliopisto Kevät 203 Sisältö Johdanto 2 Peruskäsitteitä 3 2 Graateoriaa 6 2. Suunnattu graa.........................

Lisätiedot

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin

Tietorakenteet, 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ätiedot

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

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

Lisätiedot

Maksimit ja minimit 1/5 Sisältö ESITIEDOT: reaalifunktiot, derivaatta

Maksimit ja minimit 1/5 Sisältö ESITIEDOT: reaalifunktiot, derivaatta Maksimit ja minimit 1/5 Sisältö Funktion kasvavuus ja vähenevyys; paikalliset ääriarvot Jos derivoituvan reaalifunktion f derivaatta tietyssä pisteessä on positiivinen, f (x 0 ) > 0, niin funktion tangentti

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

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot.. Tehtävä Edellinen tehtävä voidaan ratkaista mm. Bellman-Fordin, Floyd-Warshallin tai Dikstran algoritmilla. Kyseessä on syklitön suunnattu verkko, oten algoritmi. (lyhimmät tiet

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

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo. Lineaariavaruudet aiheita 1 määritelmä Nelikko (L, R, +, ) on reaalinen (eli reaalinen vektoriavaruus), jos yhteenlasku L L L, ( u, v) a + b ja reaaliluvulla kertominen R L L, (λ, u) λ u toteuttavat seuraavat

Lisätiedot

Informaation arvo. Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

Informaation arvo. Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 259 Informaation arvo Öljykenttään myydään porausoikeuksia, palstoja on n kappaletta, mutta vain yhdessä niistä on C euron edestä öljyä Yhden palstan hinta on C/n euroa Seismologi tarjoaa yritykselle tutkimustietoa

Lisätiedot