Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 3. Előadás

Hasonló dokumentumok
HÁLÓZAT Maximális folyam, minimális vágás

Hálózati folyamok. A használt fogalmak definiálása

Hálózati folyamok. Tétel: A maximális folyam értéke megegyezik a minimális vágás értékével.

Diszkrét Matematika MSc hallgatók számára 7. Előadás Párosítási tételek Előadó: Hajnal Péter Jegyzetelő: Kovácsházi Anna

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Totális Unimodularitás és LP dualitás. Tapolcai János

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

A valós számok halmaza

Analízis I. beugró vizsgakérdések

Egészrészes feladatok

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Diszkrét matematika 2.C szakirány

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

Diszkrét matematika 2. estis képzés

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

A lineáris programozás alapjai

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

KOVÁCS BÉLA, MATEMATIKA I.

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Diszkrét matematika 2.C szakirány

A szimplex algoritmus

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Diszkrét matematika 2.C szakirány

Gazdasági informatika gyakorlat

Analízis előadás és gyakorlat vázlat

Az optimális megoldást adó algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok

Analízis I. Vizsgatételsor

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

MATEMATIKA 2. dolgozat megoldása (A csoport)

Diszkrét Matematika MSc hallgatók számára. 4. Előadás

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Matematika III előadás

Analízis II. Analízis II. Beugrók. Készítette: Szánthó József. kiezafiu kukac gmail.com. 2009/ félév

SHk rövidítéssel fogunk hivatkozni.

Térinformatikai algoritmusok Elemi algoritmusok

Diszkrét matematika 2.

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Alapfogalmak, valós számok Sorozatok, határérték Függvények határértéke, folytonosság A differenciálszámítás Függvénydiszkusszió Otthoni munka

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Országos Középiskolai Tanulmányi Verseny 2009/2010 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

Sorozatok. 5. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Sorozatok p. 1/2

Függvény határérték összefoglalás

Valós függvények tulajdonságai és határérték-számítása

Diszkrét matematika 2. estis képzés

Diszkrét matematika I.

11. Előadás. 1. Lineáris egyenlőség feltételek melletti minimalizálás

Optimalizálási eljárások GYAKORLAT, MSc hallgatók számára. Analízis R d -ben

Diszkrét matematika 2. estis képzés

SZÉLSŐÉRTÉKKEL KAPCSOLATOS TÉTELEK, PÉLDÁK, SZAKDOLGOZAT ELLENPÉLDÁK. TÉMAVEZETŐ: Gémes Margit. Matematika Bsc, tanári szakirány

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

Speciális algoritmusok és adatstruktúrák ősz

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Diszkrét Matematika MSc hallgatók számára. 11. Előadás. Előadó: Hajnal Péter Jegyzetelő: Szarvák Gábor november 29.

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 13. Előadás

Matematika. 4. konzultáció: Kétváltozós függvények szélsőértéke. Parciális függvény, parciális derivált

1/ gyakorlat. Hiperbolikus programozási feladat megoldása. Pécsi Tudományegyetem PTI

2014. szeptember 24. és 26. Dr. Vincze Szilvia

KOVÁCS BÉLA, MATEMATIKA I.

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Nemlineáris programozás 2.

Opkut deníciók és tételek

Nagy Gábor compalg.inf.elte.hu/ nagy

Formális nyelvek - 9.

22. GRÁFOK ÁBRÁZOLÁSA

VIK A1 Matematika BOSCH, Hatvan, 5. Gyakorlati anyag

A szimplex algoritmus

Matematika I. NÉV:... FELADATOK: 2. Határozzuk meg az f(x) = 2x 3 + 2x 2 2x + 1 függvény szélsőértékeit a [ 2, 2] halmazon.

2014. november 5-7. Dr. Vincze Szilvia

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

Diszkrét matematika I.

KOVÁCS BÉLA, MATEMATIKA I.

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1

Algoritmusok bonyolultsága

4. Előadás: Erős dualitás

Diszkrét matematika 1. estis képzés

17. előadás: Vektorok a térben

Diszkrét matematika 2. estis képzés

Trigonometria Megoldások. 1) Oldja meg a következő egyenletet a valós számok halmazán! (12 pont) Megoldás:

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

Sorozatok és Sorozatok és / 18

A fontosabb definíciók

2012. október 2 és 4. Dr. Vincze Szilvia

NULLADIK MATEMATIKA ZÁRTHELYI

Hódmezővásárhelyi Városi Matematikaverseny április 14. A osztályosok feladatainak javítókulcsa

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

Átírás:

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára 3. Előadás Előadó: Hajnal Péter Jegyzetelő: Pék Máté 2009. szeptember 21. 1. Folyamok 1.1. Definíció. G = (V, E, K, B) irányított gráf, ha e! v : ekv és e! v : ebv, ahol K illetve B a ki- és bemenő illeszkedési relációt jelentik. 1.2. Definíció. H hálózat ( G, s, t, c), ahol G egy irányított gráf, s V forrás, t V nyelő, c : E(G) R + pedig a kapacitásfüggvény. Szemléletesen a hálózat egy csőhálózat, a kapacitásfüggvény pedig az egyes csöveken való maximálisan átengedhető mennyiségű víz nagysága. 1.3. Definíció. Az f : E(G) R 0 függvényt folyamnak nevezzük a H hálózatban, ha I. e E esetén 0 f(e) c(e) II. v V \{s, t} esetén e E be (v) f(e) = e E ki (v) f(e) (megmaradási feltétel) Tehát a csövön nem folyhat át a kapacitásnál nagyobb mennyiség. Továbbá teljesülnek a fizikából ismeretes anyagmegmaradási törvények. 1.1. Példa. Az f 0 folyam egy tetszőleges hálózatban. Ekkor minden élen 0 anyagmennyiség fut. Ahhoz, hogy könnyebben elképzeljük a folyamokkal kapcsolatos fogalmakat, nézzünk egy másik alkalmazást. Tekintsük egy város úthálózatát. A forrás lehet egyes lakótelepeket, lakóparkokat reprezentáló csúcs (ahonnan reggel a belvárosba szeretnének eljutni autóval az emberek). A belvárosi munkahelyeket reprezentálja a nyelő. 1.4. Definíció. Legyen f folyam a H hálózatban. Az f értéke:= value(f)= e:eks f(e) e:ebs f(e) Az f folyam értéke negatív is lehet, ilyenkor visszafele folyik a víz a csőhálózatban. 1.5. Definíció. Legyen G egy irányított gráf. Egy V = {S, T } vágás G-ben a ponthalmaz egy kétosztályú partíciója. V egy s - t vágás, ha s S, és t T. 3-1

1.1. Lemma. I. value(f) = e:ebt f(e) e:ekt f(e) II. Tetszőleges V = {S, T } s-t vágásra: value(f) = e:s T f(e) e:t S f(e) Tehát egy megfelelő V vágás alapján ki lehet fejezni a folyam értékét: a forrás felől átfolyó anyagmennyiségből kivonva a nyelő irányából visszafolyó anyagmennyiséget megkapjuk value(f)-t. Bizonyítás. S minden elemére egy egyenlőséget írunk fel: A folyam értékének definíciója alapján s (forráspontra): f(e) = value(f). e:ekt f(e) e:ebt Majd felírjuk az anyagmegmaradás törvény rendezett formáját a v S\{s} csúcsokra (azaz a nem forrásokra): f(e) = 0. e:ekv f(e) e:ebv Ezután összegezzük az összes S-beli csúcsra felírt egyenlőséget. A jobb oldal pontosan value(f) lesz. Egy él viszonya a vágáshoz négyféle lehet: I. S S, T T.Ezek az élek kiesnek, a jobb oldalon 2 egyenletben szerepelnek ellentétes előjellel, kiesnek. II. az S T, T S keresztélek maradnak, megfelelő előjellel. Így az összegzés után a bal oldalon a folyam érték alternatív felírásához jutunk. Folyam probléma: Adott a H hálózat, az f folyam: value(f) max. Tehát a célunk az, hogy egy adott folyam értékét maximalizáljuk. Itt jegyezzük meg, hogy az értelmezési tartomány folytonos, az értékkészlet R. Az értelmezési tartomány egy eleme, egy f folyam azonosítható az f(e) számok vektorával: f = f R E( G), azaz ÉT R E( G). Az értelmezési tartomány kompakt halmaz, mivel korlátos (0 f(e) c(e)) és zárt. Mivel a folyam értéke folytonos az értelmezési tartományán, ezért felveszi maximumát. Ez alapján a max használata jogos. 1.1. Megjegyzés. Tulajdonképpen a folyam probléma a lineáris programozás feladat egy speciális esete: a maximalizálandó value(f) függvény lineáris, valamint a folyamok halmaza lineáris egyenlőségekkel és egyenlőtlenségekkel van definiálva. Az alábbi becslést adhatjuk value(f)-re: 1.1. Következmény. Legyen f tetszőleges folyam, V vágás. Ekkor value(f) e:s T c(e) =: c(v ), mivel az egyes kapacitásoknál nem lehetnek nagyobbak a megfelelő folyamok. c(v )-t a vágás kapacitásának nevezzük. 3-2

Ennek legerősebb változata: 1.2. Következmény. max ffolyam value(f) min V vagas c(v ), tehát a maximális folyam érték a minimális vágás kapacitásnál. Tudjuk, hogy véges sok vágás van egy n csúcsú gráfban, pontosan 2 n 2 db. Azaz a jobb oldal egy véges halmazon vett optimalizálási probléma. Célunk, hogy belássuk, hogy helyett = írható. Ha f optimális / maximális értékű, akkor alkalmas vágással a forrás nyelő (S T) élek kapacitásig kihasználtak és nincs visszafolyás. 1.6. Definíció. Legyen H( G, s, t, c) hálózat, ebben pedig egy f folyam. Egy S T utat nevezzünk el P útnak, majd hagyjuk el a G gráf irányítását (így kapjuk a G 0 irányítatlan gráfot). P egy éle két fajta lehet ( G-beli helyzetének megfelelően): vagy előrehaladó él (azaz S T irányítású) vagy hátramutató él (azaz T S irányítású). Ezen élek halmazai E elore (P) és E hatra (P). Így E(P) = E elore (P) E hatra (P). Ekkor P javítóút (f folyamra, H( G, s, t, c) hálózatban), ha I. út G 0 -ban, azaz E(P) = E elore (P) E hatra (P), II. e E elore (P) : f(e) < c(e), e E hatra (P) : f(e) > 0, azaz ha az előrehaladó éleken nem folyik át a kapacitás által megengedett anyagmennyiség, valamint visszafele (a hátramutató éleken) is halad valamekkora (> 0) anyagmennyiség. 1.2. Lemma. Legyen f egy folyam a H( G, s, t, c) hálózatban. Ekkor ha találunk egy P javító utat, akkor f folyam nem maximális értékű. Bizonyítás. Legyen P egy javító út f-re. Legyen min e Eelore (P)(c(e) f(e))=δ elore (azaz, az e élen ennyivel növelhető az anyagmennyiség), hasonlóan δ hatra =min e Ehatra f(e), valamint a minimumuk: δ = min(δ hatra, δelore. Javító út esetén δ > 0, azaz lehet még növelni az anyagáramlást. Legyen a módosított folyam f(e) = (1) f(e), e / E(p) f(e)+δ, e E elore (P) f(e) δ, e E hatra (P) Ekkor a megmaradási törvények teljesülnek f-ra, f(e) a [0, c(e)] intervallumban marad és value( f(e)) = value(f)+δ > value(e), azaz találtunk egy f(e)-nél folyamot, tehát f nem maximális értékű. 1.1. Tétel. Legyen f egy folyam a H( G, s, t, c) hálózatban. A következő állítások ekvivalensek: I. f folyam értéke maximális 3-3

s t 1. ábra. Egy irányítatlan st út II. f-hez nincs javító út III. f-hez van olyan V = {S, T } vágás, hogy value(f) = c(v ) Bizonyítás. (1) (2) : az előző lemmából következik. (2) (3) : a bizonyításhoz az alábbi fogalmat vezetjük be: 1.7. Definíció. P javító út kezdemény, ha: I. s-ből induló út G-ben, II. e E elore (P) : f(e) < c(e) és e E hatra (P) : f(e) > 0. Legyen s S = {x V : sx javítóút-kezdemény}, t T := V \S ( (2) miatt t / S) A két halmaz egy V = {S, T } vágást határoz meg. 1.1. Állítás. A V = {S, T } vágásból következik (3). Bizonyítás. Legyen s S, xy E. Az sx+xy él egy sy út, ami nem lehet javítóútkezdemény, ha y / S. Ez ekvivalens azzal, hogy f( xy) = c( xy) x S, y T esetén. Teljesen hasonlóan működik visszafele: uz E, u T, z S) esetén f( uz)=0, különben létezne su javítóút-kezdemény. Tehát value(f) c(v ) bizonyításában minden becslés "=", azaz value(f) = c(v ). 3-4

(3) (1): felülről becsültük c(v )-vel az value(f)-et (lásd az előző következményt), ezért a folyam értéke maximális lesz. s t 2. ábra. Egy vágás 1.3. Következmény. (MFMC tétel), azaz maximális értékű folyam, minimális kapacitású vágás tétele (maximum flow minimal cut). max ffolyam value(f) = min V vagas c(v ) 2. Algoritmikus kérdések folyamokra 2.1. Következmény. Ford-Fulkerson algoritmus Kiinduló lépés: Vegyünk egy tetszőleges f folyamot a H hálózatból. 1. lépés (keresés): Javító utat keresünk. Ha találunk javító utat, akkor a 2. lépéssel folytatjuk. Ha nem találtunk, akkor az aktuális folyam maximális (itt véget ér az algoritmus). 2. lépés (javítás): az előző lemma segítségével módosítjuk a folyamot, majd ezzel a módosított f folyammal térünk vissza az 1. lépéshez. A javító utat kereső algoritmus (1. lépés) (f : folyam, H : hálózat). 3-5

P javító út, V vágás: value(f) = c(v ). 1.0. lépés: Legyen S := {s} javítóút-kezdemény keresése. 1.1. lépés (bővítés): Legyen B elore = {x V \S : y S, xy E : f( xy) < c( xy)} és B hatra = {x V \S : y S, xy E : f( yx) > 0}. Ezután két esetet különböztetünk meg: I. ha B elore = B hatra =, akkor f-hez nincs javító út, ezért a folyam értéke maximális, lásd 1.1. Állítás bizonyítását (itt véget ér az algoritmus). II. máskülönben (azaz ha B elore = és/vagy B hatra = ) további két van: 1. ha t S B elore Bhatra, akkor találtunk javító utat az f folyamhoz, következik a 2. lépés (javítás). 2. máskülönben (azaz ha t/ S B elore Bhatra ) legyen S=S B elore Bhatra. Az 1.1. lépést (bővítés) (S)-re végezzük el. Ciklizálhat-e az algoritmus? 2.1. Megjegyzés. Ha a kapacitások egészek és a kiinduló folyam is egészértékű (folyam értékkészlete N), akkor az algoritmus végig az egészek közt működik. A folyam minden javításánál a folyamérték 1-gyel nő, így nincs ciklizálás. Sőt a következő tételt kapjuk: 2.1. Tétel. Legyen ( G, s, t, c) hálózat, amelyben c : E( G) N. Ekkor létezik egész értéket felvevő optimális folyam. 2.2. Megjegyzés. c : E( G) Q +, c(e) = ec(e), ahol c N. Ekkor sincs ciklizálás. K 2.3. Megjegyzés. Könnyen látható, hogy a Ford-Fulkerson algoritmus a legrövidebb javítóutat találja meg. Belátható, hogy ekkor az R aritmetikában sincs ciklizálás (ezt nem bizonyítjuk). Általában azonban lehetséges a ciklizálás: az R-aritmetika és "hosszú"/"rossz" javítóutak ciklizáláshoz vezethetnek. A folyamértékek monoton növő korlátos sorozatot alkotnak, de lehetséges, hogy nem az optimumhoz tart a sorozat. 3-6