Kokonaislukukapasiteetti. Max-Flow Min-Cut



Samankaltaiset tiedostot
Graafin virittävä puu 1 / 20

Miten osoitetaan joukot samoiksi?

8.5. Järjestyssuhteet 1 / 19

PARITUS KAKSIJAKOISESSA

Todistus (2.2) Todistus (2.2) jatkoa. (2.2): Oletetaan, että0 n 1,1 n 1 / P i (F) aina kuni = 1,2,...,n. Olkoonf F painoltaan pienin joukonf alkio.

Johdatus matemaattiseen päättelyyn

6.4. Järjestyssuhteet

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

Johdatus graafiteoriaan

2017 = = = = = = 26 1

Yhtäpitävyys. Aikaisemmin osoitettiin, että n on parillinen (oletus) n 2 on parillinen (väite).

Graateorian maksimivirtausalgoritmi

T : Max-flow / min-cut -ongelmat

7.4. Eulerin graafit 1 / 22

Johdatus matematiikkaan

Kanta ja dimensio 1 / 23

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Harjoitus 3 ( )

Johdatus matemaattiseen päättelyyn

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Todistusmenetelmiä Miksi pitää todistaa?

Lukuteoria. Eukleides Aleksandrialainen (n. 300 eaa)

Johdatus graafiteoriaan

rm + sn = d. Siispä Proposition 9.5(4) nojalla e d.

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Surjektion käsitteen avulla kuvauksia voidaan luokitella sen mukaan, kuvautuuko kaikille maalin alkioille jokin alkio vai ei.

isomeerejä yhteensä yhdeksän kappaletta.

Algoritmit 1. Luento 8 Ke Timo Männikkö

LUKUTEORIA johdantoa

Diofantoksen yhtälön ratkaisut

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

GRAAFITEORIA. Keijo Ruohonen

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

Harjoitus 3 ( )

TIETOTEKNIIKAN MATEMATIIKKA

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

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

Johdatus matemaattiseen päättelyyn

Kokonaislukuoptimointi

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

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

TIEA341 Funktio-ohjelmointi 1, kevät 2008

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

(2n 1) = n 2

Ekvivalenssirelaatio. Määritelmä 2 Joukon A binäärinen relaatio R on ekvivalenssirelaatio, mikäli. Jos R on ekvivalenssirelaatio ja a A, niin joukkoa

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

1 Lineaariavaruus eli Vektoriavaruus

Esimerkki kaikkialla jatkuvasta muttei missään derivoituvasta funktiosta

802320A LINEAARIALGEBRA OSA I

1 Määrittelyjä ja aputuloksia

5.2 Eulerin kehät ja -polut

Yhdistetty funktio. Älä sekoita arvo- eli kuvajoukkoa maalijoukkoon! (wikipedian ongelma!)

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Lue ohjeet huolellisesti!

on Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään

811120P Diskreetit rakenteet

1 Lukujen jaollisuudesta

Ortogonaaliprojektio äärellisulotteiselle aliavaruudelle

Malliratkaisut Demot

Reaaliluvut. tapauksessa metrisen avaruuden täydellisyyden kohdalla. 1 fi.wikipedia.org/wiki/reaaliluku 1 / 13

Algoritmit 1. Luento 9 Ti Timo Männikkö

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

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

Tehtävä 10 : 1. Tehtävä 10 : 2

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. maaliskuuta 2011

Jarkko Peltomäki. Aliryhmän sentralisaattori ja normalisaattori

Analyysi I (sivuaineopiskelijoille)

H = : a, b C M. joten jokainen A H {0} on kääntyvä matriisi. Itse asiassa kaikki nollasta poikkeavat alkiot ovat yksiköitä, koska. a b.

Funktioista. Esimerkki 1

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

Diskreetin matematiikan perusteet Esimerkkiratkaisut 3 / vko 10

Vieruskaverisi on tämän päivän luennolla työtoverisi. Jos sinulla ei ole vieruskaveria, siirry jonkun viereen. Esittäytykää toisillenne.

Derivaattaluvut ja Dini derivaatat

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

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Avaruuden R n aliavaruus

Mat Lineaarinen ohjelmointi

2. Todista Lause 1.2 : Jos I on ylinumeroituva indeksijoukko ja a i > 0kaikillai 2 I, niin P i2i a i = 1.

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

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

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

Johdatus matemaattiseen päättelyyn (5 op)

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

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

Määritelmä 2.5. Lause 2.6.

3 Derivoituvan funktion ominaisuuksia

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

1 sup- ja inf-esimerkkejä

Johdatus matemaattiseen päättelyyn

Primitiiviset juuret: teoriaa ja sovelluksia

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Malliratkaisut Demot

Johdatus lukuteoriaan Harjoitus 11 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Avaruuden kolme sellaista pistettä, jotka eivät sijaitse samalla suoralla, määräävät

saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä?

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Transkriptio:

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 aina kune E N. Todistus... 1 / 30 Max-Flow Min-Cut Lauseen 10.2.3. todistuksen perusteella: Lause 10.2.4. (Max-Flow Min-Cut) Maksimivirtauksenf nettovirtaus = Minimi-irrotuksen[S] kapasiteetti. Eli val(f) = α[s]. 2 / 30 1

Maksimivirtausalgoritmi 3 / 30 Algoritmi maksimivirtaukselle Lause 10.2.3. (Ford Fulkerson 1955) Virtaus f on siirtoverkon N = (D, s, r, α) maksimivirtaus N ei sisällä virtauksenf lisäyspolkuja. Yo. tulos antaa algoritmin maksimivirtauksen löytämiseen: Etsimällä virtauksenf-lisäyspolkuja ja muokkaamalla virtausta näillä poluilla pystytään maksimivirtaus löytämään äärellisessä määrässä askelia. Edellyksenä on, että kaikki kapasiteetit olivat rationaalisia. Jos kapasiteeteissa esiintyi irrationaalisia lukuja alkuperäinen algoritmi voi tarvita äärettömän määrän askelia. Edmonds ja Karp paransivat algoritmia niin, että askelia tarvitaan äärellinen määrä ja askelien lukumäärä oli lineaarinen funktio lausekkeesta V N 2 E N. 4 / 30 Algoritmin kuvaus Pisteen tarkastaminen (scan): Kaikkien pisteen naapureiden tutkiminen. N = (D,s,r,α) siirtoverkko Maksimivirtausalgoritmi 1. Merkitään lähdes :llä 2. Olkoonf(e) = 0 kaikillae E N. 3. Etsitään merkitty, mutta tarkastamaton pisteu(alussau = s). a) Aina kunuv E N jav on merkitsemätön, jaf(uv) < α(uv) (eliuv ei ole kyllästetty) merkitään pistev merkinnälläu + (pisteestäupäästään pisteeseenve N :n viivalla). b) Aina kunwu E N jaw on merkitsemätön jaf(wu) > 0, merkitäänwmerkinnälläu (u:sta mennään pisteeseenw joukone N viivan käänteisviivalla) 5 / 30 2

Algoritmin kuvaus jatkoa 4. Jos nielur on merkitty, lopetetaan merkintä. Silloin on löytynytf-lisäyspolku. Siirrytään merkintöjen avulla takaisin nielustarlähteeseens. Käytetty suuntaamaton polkup : s r on f-lisäyspolku. Lasketaanǫ(P) polulle ja muutetaan virtausta seuraavasti: Aina kun viiva e etenevä P :ssä muutetaan f(e) f(e) + ǫ(p):ksi. Aina kun viiva e on perääntyvä P :ssä muutetaan f(e) f(e) ǫ(p):ksi. Kun kaikkip :n viivat on käyty läpi, poistetaan kaikki muut lisätyistä pisteiden merkinnöistä paitsi lähteen merkintä. Palataan kohtaan3. 5. Jos nieluar ei ole merkitty ja a) kaikki merkityt pisteet on tarkastettu, niin maksimivirtaus on löytynyt b) jos kaikkia merkittyjä pisteitä ei ole tarkastettu niin palataan kohtaan 3. 6 / 30 Esimerkki Esimerkki 10.2.4. Etsitään allaolevan siirtoverkon maksimivirtaus. 7 / 30 3

Ratkaisu Ratk. Merkitäänssymbolilla ja merkitään virtaukset0:ksi. Tarkastetaans: Merkitään pisteeta,b,cs + :lla Tarkastetaana: Merkitäända + :lla (e ei saa merkintääa, koska viivassaea ei ole virtausta.) Tarkastetaanb: Merkitääneb + :lla Tarkastetaanc: Kaikki naapurit jo merkitty. Tarkastetaand: merkitään nielurd + :lla. 8 / 30 Ratkaisu jatkoa Nielu on saavutettu, siirrytään merkintöjen avulla nielusta lähteeseen. Löytyy polkup 1 : (sa)(ad)(dr) 9 / 30 4

Ratkaisu jatkoa 2 ǫ(p 1 ) = min{6 0,4 0,15 0} = 4 Muutetaan virtausta seuraavasti: f(sa) = f(ad) = f(dr) = 4, muut arvot pysyvät samoina. Poistetaan muut merkinnät paitsi ja etsitään uusi lisäyspolku: 10 / 30 Ratkaisu jatkoa 3 Tarkastetaans: Merkitään pisteeta,b,cs + :lla Tarkastetaana:ad on kyllästetty, joten sitä ei merkitäa + :lla Tarkastetaanb: Merkitäänd,eb + :lla Tarkastetaanc: Kaikki naapurit jo merkitty. Tarkastetaand: merkitään nielurd + :lla. 11 / 30 5

Ratkaisu 4 Löytyy polkup 2 : (sb)(bd)(dr) ǫ(p 2 ) = 5 Muutetaan virtausta seuraavasti: f(sb) = f(bd) = 5,f(dr) = 4+5 = 9, muut arvot pysyvät samoina. Poistetaan muut merkinnät paitsi ja etsitään uusi lisäyspolku: 12 / 30 Ratkaisu 5 Tarkastetaans: Merkitään pisteeta,b,cs + :lla Tarkastetaana: Tarkastetaanb: Merkitääneb + :lla Tarkastetaanc: Kaikki naapurit jo merkitty. Tarkastetaane: merkitään nielure + :lla. 13 / 30 6

Ratkaisu 6 Löytyy lisäyspolkup 3 : (sb)(be)(er) ǫ(p 3 ) = 4 Muutetaan virtausta seuraavasti: Lisätään viivojensb,be jaer virtausta4:llä yksiköllä ja pidetään muut arvot samoina. Poistetaan muut merkinnät paitsi ja etsitään uusi lisäyspolku: 14 / 30 Ratkaisu 7 Tarkastetaans: Merkitään pisteeta,c symbolillas +. Tarkastetaana: Tarkastetaanc: Merkitäänec + :lla Tarkastetaane: Merkitään nielure + :lla. 15 / 30 7

Ratkaisu 8 Löytyy lisäyspolkup 4 : (sc)(ce)(er) ǫ(p 3 ) = 2 Muutetaan virtausta seuraavasti: Lisätään viivojensc,ce jaer virtausta2:llä yksiköllä ja pidetään muut arvot samoina. Poistetaan muut merkinnät paitsi ja etsitään uusi lisäyspolku: 16 / 30 Ratkaisu 9 Tarkastetaans: Merkitään pisteeta,cs + :lla Tarkastetaana: Tarkastetaanb: Tarkastetaanc: Merkitäänec + :lla Tarkastetaane: Ei merkintöjä. Merkintöjä ei voida tehdä enempää. kaikki pisteet on skannattu. Maksimivirtaus on löytynyt. 17 / 30 8

Nettovirtaus Maksimivirtauksen nettovirtausval(f) = f(s) = 4+9+2 = 15 18 / 30 Maksimivirtauksen tarkistus Max-Flow Min-cut maksimivirtauksellef on löydettävä minimi-irrotuss, jolleα[s] = val(f) = 15. Lause 10.2.2 irrotuksen viivat ovat kyllästettyjä. Minimi-irrotus on myös minimaalinen irrotus. 19 / 30 9

Tarkistus jatkoa Kyllästetyt viivat: sb, be,bd,ad, er 20 / 30 Tarkistus jatkoa 2 Minimi-irrotus: ad,bd,er 21 / 30 10

Tarkistus jatkoa 3 SilloinS = {s,b,a,e,c} jaα[s] = α(ad)+α(bd)+α(ed) = 4+5+6 = 15. 22 / 30 Hall ja Max-flow Min-cut 23 / 30 Max-Flow Min-Cut Lause 10.2.4. (Max-Flow Min-Cut) Maksimivirtauksenf nettovirtaus = Minimi-irrotuksen[S] kapasiteetti. Max-flow, Min-cut on voimakas tulos. Sen avulla voidaan mm. osoittaa Hall s Matching Theorem. (X, Y) kaksijakoinen graafi G toteuttaa naapuruusehdon (Hall s condition), jos N G (S) S aina kuns X. 24 / 30 11

Naapuruusehto ja M-sovitus Lause 4.3.1. (Hall s Matching Theorem) OlkoonG(X,Y)-kaksijakoinen graafi. GraafillaGon joukonx sovittava sovitusm G toteuttaa naapuruusehdon. Todistus. OlkoonG = (V G,E G )(X,Y)-kaksijakoinen graafi X = k jax = {x 1,x 2...x k }. OlkoonN = (D,s,r,α) siirtoverkko, missäs,r / V G D = (V G {s,r},e D ), missä E D = {sx x X} {yr y Y} {xy x X,y Y,xy E G }. Olkoon lisäksiα(sx) = 1,α(yr) = 1 jaα(xy) = X +1aina kunx X jay Y. 25 / 30 Todistus jatkoa G.ssä on joukonx sovittava sovitusm. D sisältää suunnatut poluts x i y i r, missäx i y i M aina kuni = 1,2,...k. Sovituksen määritelmän perusteellay i y j, kuni j. Siirtoverkon maksimivirtauksen nettovirtaus onk. 26 / 30 12

Todistus jatkoa 2 Toisaalta: N:n maksimivirtauksenf nettovirtaus onk Jokaista pistettä x i vastaa pistey i Y, jollex i y i E G jay i y j, kuni j. M = {x i y i i = 1,2,...,k} on pistejoukonx sovittava sovitus. 27 / 30 Todistus jatkoa 3 On saatu G:ssä on joukonx sovittava sovitusm N:n maksimivirtauksenf nettovirtaus onk. Lause 10.2.4.: N:n maksimivirtauksenf nettovirtaus onk. SiirtoverkonN minimi-irrotuksen kapasiteettiα[s] = k. Lauseen todistamiseksi riittää osoittaa: SiirtoverkonN minimi-irrotuksen kapasiteettiα[s] = k. N G (X ) X aina kun pistejoukkox X. 28 / 30 13

Todistus jatkoa 4 Oletus: SiirtoverkonN minimi-irrotuksen kapasiteettiα[s] = k. Väite: N G (X ) X aina kun pistejoukkox X Vastaoletus: N G (X ) < X... 29 / 30 Todistus jatkoa 5 Oletus: N G (X ) X aina kun pistejoukkox X Väite:Siirtoverkon N minimi-irrotuksen kapasiteetti α[s] = k. Koska niin α[s] k. α([{s}]) = e=sx,x X α(e) = X = k, Vastaoletus:α[S] < k jollakin irrotuksella[s].... 30 / 30 14