T : Max-flow / min-cut -ongelmat

Samankaltaiset tiedostot
Mat Lineaarinen ohjelmointi

Algoritmit 1. Luento 9 Ti Timo Männikkö

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

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

10. Painotetut graafit

13 Lyhimmät painotetut polut

Harjoitus 3 ( )

Harjoitus 3 ( )

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 13 Ti Timo Männikkö

PARITUS KAKSIJAKOISESSA

Mat Lineaarinen ohjelmointi

6.4. Järjestyssuhteet

Mat Lineaarinen ohjelmointi

Graateorian maksimivirtausalgoritmi

Harjoitus 1 ( )

FORD ST _ST_Range_V2_ MY.indd FC1-FC3 27/06/ :24:01

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

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

A TIETORAKENTEET JA ALGORITMIT

10. Painotetut graafit

Malliratkaisut Demot

Malliratkaisut Demot

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

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

Lyhin kahden solmun välinen polku

Algoritmi on periaatteellisella tasolla seuraava:

Harjoitus 1 ( )

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

Malliratkaisut Demot

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

Algoritmit 1. Luento 13 Ma Timo Männikkö

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

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.

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

811120P Diskreetit rakenteet

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Algoritmit 2. Luento 13 Ti Timo Männikkö

Harjoitus 4 ( )

Tarkennamme geneeristä painamiskorotusalgoritmia

Luento 4: Lineaarisen tehtävän duaali

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

811120P Diskreetit rakenteet

Miten osoitetaan joukot samoiksi?

Algoritmit 2. Luento 11 Ti Timo Männikkö

TIE Tietorakenteet ja algoritmit 261

Suomen rautatieverkoston robustisuus

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Johdatus verkkoteoriaan 4. luento

Johdatus graafiteoriaan

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

isomeerejä yhteensä yhdeksän kappaletta.

8.5. Järjestyssuhteet 1 / 19

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

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.

KKT: log p i v 1 + v 2 x i = 0, i = 1,...,n.

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

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

Kokonaislukuoptimointi hissiryhmän ohjauksessa

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!

Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

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

Toppila/Kivistö Vastaa kaikkin neljään tehtävään, jotka kukin arvostellaan asteikolla 0-6 pistettä.

Markov-ketjut pitkällä aikavälillä

Johdatus graafiteoriaan

Datatähti 2019 loppu

Operatioanalyysi 2011, Harjoitus 3, viikko 39

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Johdatus verkkoteoriaan luento Netspace

Este- ja sakkofunktiomenetelmät

Demo 1: Branch & Bound

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

JOHDATUS TEKOÄLYYN TEEMU ROOS

Mat Lineaarinen ohjelmointi

Dynaaminen ohjelmointi ja vaikutuskaaviot

A TIETORAKENTEET JA ALGORITMIT

v 8 v 9 v 5 C v 3 v 4

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

P (A)P (B A). P (B) P (A B) = P (A = 0)P (B = 1 A = 0) P (B = 1) P (A = 1)P (B = 1 A = 1) P (B = 1)

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit I Johdanto

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

Graafin virittävä puu 1 / 20

Keskeiset tulokset heikko duaalisuus (duaaliaukko, 6.2.1) vahva duaalisuus (6.2.4) satulapisteominaisuus (6.2.5) yhteys KKT ehtoihin (6.2.

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

The CCR Model and Production Correspondence

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut

a) Mitkä seuraavista ovat samassa ekvivalenssiluokassa kuin (3, 8), eli kuuluvat joukkoon

Mallintarkastus. Mallin generointi. Esimerkki mallin SMV-kuvauksesta. Tila-avaruuden symbolinen esitys (I)

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

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Harjoitus 6 ( )

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Transkriptio:

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 Määritelmät Esimerkki Määritellään virtausverkko (flow-network) suunnattuna graafina Määritelmä: Virtausverkko N = (s,t,v,e,b) V, solmut E, kaaret s V, lähtösolmu t V, maalisolmu n = V, solmujen määrä m = E, kaarien määrä b R m, kaarien painot l. kapasiteetit T-61.152: -ongelmat

Virtaus Määritelmät Esimerkki Nyt voidaan kuvata virtausta tässä verkossa funktiolla f, jossa f (u,v) on virtaus solmusta u solmuun v. Määritelmä: Virtaus f : VxV R, siten että: (u,v) E 0 f (u,v) b(u,v), kaikilla (u,v) E f (u,v) = f (v,w), kaikilla v (V {s,t}) (v,w) E Ensimmäinen ehto: kapasiteetteja ei ylitetä Toinen ehto: Muissa kuin lähtö- ja maalisolmuissa lähtevä virtaus on yhtä suuri kuin saapuva virtaus T-61.152: -ongelmat

Esimerkki virtauksesta Määritelmät Esimerkki 1 a d 2(1) 1(1) 2(1) 1 1(1) s 2 b 1 1 e 2 t 1 1 2(1) 2(1) c f 1(1) lähtösolmu s maalisolmu t virtaus solmujen (a,e,d) ja (c,f) kautta f(u,v) = 1 näille, 0 muutoin kokonaisvirtaus s t on 2 T-61.152: -ongelmat

Max-flow: duaali Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys Suurin mahdollinen virtaus lähtösolmusta maalisolmuun Max-flow LP:n duaalimuodossa max v Af + dv = 0 f b f 0 1 i = s d i = +1 i = t 0 muuten T-61.152: -ongelmat

Max-flow: primaali Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys Voidaan muodostaa edellisen ongelman duaali, joka on siis duaalin duaali eli primaali. min (x,y) E γ(x,y)b(x,y) π(x) π(y) + γ(x,y) 0,kaikille(x,y) E π(s) + π(t) 1 π(x) 0 γ(x,y) 0 T-61.152: -ongelmat

Graafin leikkaus Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys Graafeille voidaan määrittää leikkaus eli cut. Määritelmä: S-t-leikkaus Jaetaan graafin solmut joukkoihin W ja W, s.e. s W ja t W. Tätä jakoa kutsutaan s-t-leikkaukseksi (s-t cut). Määritelmä: Leikkauksen kapasiteetti Kaarien painojen summa, jotka kulkevat W W. C(W,W) = b(i,j) (i,j) E s.e. i W,j W T-61.152: -ongelmat

Esimerkki Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys C(W,W) = 1 + 2 + 1 = 4 (punaiset nuolet) T-61.152: -ongelmat

Min-cut Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys Määritelmä: Min-cut S-t-leikkaus, jolla pienin kapasiteetti C(W,W). T-61.152: -ongelmat

Max-flow:n ja min-cut:n yhteys Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys Jokainen s-t-leikkaus määrittää kelvon aloitusratkaisun max-flown LP:n primaalimuodolle kustannuksella C(W,W) Mikään s-t-virtaus v = f ei ole suurempi kuin minkä tahansa s-t-leikkauksen kapasiteetti C(W, W ) Voidaan todistaa, että max-flown arvo on yhtä suuri kuin min-cutin kapasiteetti Virtaus f ja leikkaus C(W,W) ovat optimaaliset, joss { f (x,y) = 0 (x,y) E, x W,y W f (x,y) = b(x,y) (x,y) E, x W,y W T-61.152: -ongelmat

Perusajatus Pseudokoodi Tarkastelu Primaali-duaali-konstruktioon perustuva Ratkaisee max-flow/min-cut -ongelman äärellisessä määrässä askelia jos kapasiteetit ovat rationaalilukuja Perusajatus 1 DRP etsitään polku lähtösolmusta maalisolmuun, jossa jokaisella polun kaarella on vapaata kapasiteettia eteenpäin, tai käytettyä kapasiteettia taaksepäin 2 Kasvatetaan tämän polun kautta virtausta lähtösolmusta maalisolmuun niillä kaarilla, jotka kulkevat eteenpäin, ja vähennetään niistä jotka kulkevat taaksepäin. 3 Toistetaan, kunnes ei löydy enää sopivia polkuja Complementary slackness -ehdon perusteella ollaan optimipisteessä. T-61.152: -ongelmat

Perusajatus Pseudokoodi Tarkastelu procedure Ford-Fulkerson set f := 0; AGAIN: unset all labels, set LIST := [s]; while LIST do let x be any node in LIST; remove x from LIST; scan x; if t is labeled then augment flow f along augmentation path; go to AGAIN; procedure scan label forward to all unlabeled nodes adjacent to x by arcs that are unsaturated, putting newly labeled nodes on LIST; label backward to all unlabeled nodes from which x is adjacent by arcs that have positive flows, putting newly labeled nodes on LIST; T-61.152: -ongelmat

Perusajatus Pseudokoodi Tarkastelu Äärellinen määrä askelia, jos b on rationaalinen Ongelmia, jos b sisältää irrationaalilukuja Voi jäädä ikuiseen silmukkaan Voi konvergoitua epäoptimaaliseen lopputulokseen Ei käytännössä ongelma tietokoneilla Parannettuja versioita olemassa Käytetään esim. nestevirtausten ja elektroniikkapiirien analyysissä T-61.152: -ongelmat

Virtaukset voidaan esittää graafina Max-flow:n koko on sama kuin min-cut:n kapasiteetti Voidaan ratkaista Ford-Fulkersonilla (tietyillä ehdoilla) Kehittyneempiäkin algoritmeja löytyy T-61.152: -ongelmat

Kysymyksiä? T-61.152: -ongelmat