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

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

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

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:

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

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.

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

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:

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

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

Elmaradó óra. Az F = (V,T) gráf minimális feszitőfája G-nek, ha. F feszitőfája G-nek, és. C(T) minimális

Operációkutatás vizsga

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

Algoritmusok bonyolultsága

Diszkrét matematika 2.C szakirány

HAMILTON ÚT: minden csúcson PONTOSAN egyszer áthaladó út

Diszkrét matematika 2.C szakirány

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (

Diszkrét matematika 2.C szakirány

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

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

Az optimális megoldást adó algoritmusok

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

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

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

KOVÁCS BÉLA, MATEMATIKA I.

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.

Algoritmuselmélet 11. előadás

24. MINIMÁLIS KÖLTSÉGŰ UTAK I.

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

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.

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

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/

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

A valós számok halmaza

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

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Számítógép hálózatok, osztott rendszerek 2009

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

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

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

Feladatok, amelyek gráfokkal oldhatók meg 1) A königsbergi hidak problémája (Euler-féle probléma) a

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

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

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.

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

22. GRÁFOK ÁBRÁZOLÁSA

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

KOMBINATORIKUS OPTIMALIZÁLÁS

Diszkrét matematika 2.C szakirány

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

24. szakkör (Csoportelméleti alapfogalmak 3.)

Diszkrét matematika 2.C szakirány

Algoritmuselmélet 7. előadás

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

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Függvények határértéke, folytonossága FÜGGVÉNYEK TULAJDONSÁGAI, SZÉLSŐÉRTÉK FELADATOK MEGOLDÁSA

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

A L Hospital-szabály, elaszticitás, monotonitás, konvexitás

Diszkrét matematika I.

Gazdasági informatika gyakorlat

Diszkrét matematika 2.C szakirány

A lineáris programozás alapjai

Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3

Diszkrét matematika 2.

Intergrált Intenzív Matematika Érettségi

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

Hálózatszámítási modellek

Analízis I. Vizsgatételsor

Numerikus módszerek 1.





Diszkrét matematika 2.

Kétváltozós függvények differenciálszámítása

Diszkrét matematika 1.

A számítástudomány alapjai

3. A megoldóképletből a gyökök: x 1 = 7 és x 2 = Egy óra 30, így a mutatók szöge: 150º. 3 pont. Az éves kamat: 6,5%-os. Összesen: 2 pont.

Kereskedési rendszerek kétoldalú szerződésekkel

Algoritmuselmélet 18. előadás






Valószínűségi változók. Várható érték és szórás

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

2010. október 12. Dr. Vincze Szilvia

1. zárthelyi,

Gráfelméleti feladatok. c f

Gráf-algoritmusok Legrövidebb utak

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

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

SZÁMÍTÁSTUDOMÁNY ALAPJAI

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 2.C szakirány

Átírás:

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

HÁLÓZAT informálisan Hálózat Irányított gráf Mindegyik élnek adott a (nemnegatív) kapacitása Spec csúcsok: Forrás (Source): a kiindulási pont csak ki élek Nyelő (Sink): a végpont: csak be élek

HÁLÓZAT 9 5 10 4 15 15 10 s 5 3 8 6 10 t 15 4 6 15 10 4 30 7

FOLYAM Folyam: a kapacitásokat minél jobban kihasználva megjelöljük, mely élen, mennyi anyagot szállítunk ez az éleken értelmezett nemnegatív számokba képező fgv. a folyam (ua. irányított gráf más-más élsúlyokkal más-más folyam! ) A probléma Hogyan lehet egy adott pontból egy adott pontba a lehető legnagyobb mennyiséget eljuttatni az adott hálózaton (út, vasút, víz, elektromos, stb.)

FOLYAM Folyam: a kapacitásokat minél jobban kihasználva megjelöljük, mely élen, mennyi anyagot szállítunk ez az éleken értelmezett nemnegatív számokba képező fgv. a folyam (ua. irányított gráf másmás élsúlyokkal más-más folyam! ) A / jelek előtti szám a folyam! 9/9 5 10/10 1/4 0/15 0/15 9/ 10 s 5/5 3 4/8 6 4/10 t 8/15 A probléma /4 4 0/6 10/30 0/15 7 10/10 Hogyan lehet egy adott pontból egy adott pontba a lehető legnagyobb mennyiséget eljuttatni az adott hálózaton (út, vasút, víz, elektromos, stb.)

FOLYAM SZABÁLYOK Élmegkötés: a folyam érték nem lehet nagyobb az adott él kapacitásánál Az anyagmegmaradás elve (Kirchhoff): Egy adott pontba ami befolyik, az ki is folyik, kivéve a forrást és a nyelőt

SZOVJET vasúthálózat, 1955, Tolsztoj

Hálózat, folyam definíciói Adott egy G=(N,E) irányított gráf és ennek két különböző pontja, s és t, melyeket forrásnak és nyelőnek nevezünk. (A forrásból csak kiinduló, a nyelőbe csak bejövő élek mennek). Adott az éleken értelmezett c:e R + pontosabban NxN R + nem negatív értékű kapacitásfüggvény. Ekkor G=(N,E) gráfot a c függvénnyel együtt (G, c) hálózatnak nevezzük. Az f: E R függvényt folyamnak hívjuk, ha teljesülnek a következők: f(n 1,n )=-f(n,n 1 ) (n 1,n ) E, n 1,n V f(n 1,n ) c(n 1,n ), (n 1,n ) E

PÉLDA 1/1 11/16 b c 15/0 s 0/10 1/4 4/9 7/7 t 8/13 a 11/14 d 4/4 A folyam ÉRTÉKE f 19 11 8 Ennyi anyagmennyiség jön ki a forrásból, és ue.-t a mennyiséget nyeli el a nyelő. A szabályok miatt ez a mennyiség sem nem nőhet, sem nem csökkenhet. 9

Folyam értéke Ha f(n 1,n )=c(n 1,n ) akkor az (n 1,n ) párat telítettnek nevezzük. Az f folyam értéke tehát, melyet f -fel jelölünk, az s-ből kimenő összes él folyamértékeinek összege, azaz f f ( s, v) f ( v, t) v V v V Megjegyzés: A folyam függvény, és az egyes éleken vesz fel értékeket. Tehát ezen függvényértékeket nevezzük rövidebben folyamértékeknek pontosabb lenne: a folyam függvény értékei-t mondani. Ugyanakkor az s-ből kiinduló élekhez rendelt függvényértékek összegét is röviden az adott folyam értékének nevezzük.

Vágás Legyen H=(G,c) egy hálózat, s a forrás és t a nyelő. Legyen N 1,N N egy partíciója N-nek, vagyis N 1 N =N, és N 1 N =. Legyen továbbá s N 1, t N. Ekkor az N 1,N halmazt s,t-vágásnak hívjuk. Az N 1,N kapacitásán a c N, N : c n,n 30 (az ábrán ) i 1 1 n N,n N 1 j 9 5 számot értjük. vágás 10 4 15 15 10 s 5 3 8 6 10 t 15 4 6 15 10 4 30 7

Minimális vágás Véges gráfról lévén szó, a vágások száma is véges van közöttük minimális. A zelőző hálózat esetében ez 8. A továbbiakban azt is vizsgáljuk, hogyan lehet ezt a minimális vágást megkeresni. 9 5 Minimális vágás 10 4 15 15 10 s 5 3 8 6 10 t 15 4 6 15 10 4 30 7 kapacitás= 8

Vágáson áthaladó folyam értéke Volt: Az N 1,N vágás kapacitásán a c N 1, N : c n1, n n1 N1, n N mennyiséget értjük. A vágáson áthaladó folyam érték f(n 1,N ) a vágásból kifelé mutató élek összege a befelé mutató élek összege f N 1, N : f ni,n j f n l, n k ni N1,n j N n k N1,nl N

PÉLDA: Másik vágás: c(n 1,N )=10+8+10, ez esetben minimális f(n1,n)=vágáson áthaladó folyam érték= =10+4+10-1= 3= s-ből indulók összege!! (nem maximális még a folyam értéke!) 9/9 5 Minimális vágás 10/10 1/4 0/15 0/15 9/ 10 s 5/5 3 4/8 6 4/10 t 8/15 /4 0/6 0/15 10/10 4 10/30 7 kapacitás= 8 Folyam=3

Adott a H=(G, c ) hálózat az s forrással, és a t nyelővel. Jelölje r: A R maradékkapacitás-függvényt, ahol n 1,n V esetén r(n 1,n ):=c(n 1,n )-f(n 1,n ). Az f folyamhoz tartozó javító gráf a G f =(V,E f ) az élein értelmezett r maradék-kapacitásfüggvénnyel, ahol A f ={(n 1,n ) n 1,n N, r(n 1,n )>0}. A G f -beli irányított s,t utakat javító utaknak hívjuk. Egy javító úton szereplő élek maradék kapacitásainak minimumát az úthoz tartozó kritikus kapacitásnak, az úthoz tartozó éleket kritikus éleknek nevezzük. Másképpen: Egy út javító út, ha minden előremutató élen van szabad kapacitás, és minden hátramutató élen pozitív a folyamérték.

Maximális folyam keresése Kiindulunk az élek egy akármilyen, a már ismertetett szabályoknak eleget tévő címkézéséből, és a javító útakon egyre növeljük a folyam értékét. Mivel véges a gráf, a maximum elérhető.

Javító úton miként növeljük az folyamértéket Az (i,j) előremutató éleken átmenő folyamérték kisebb az él kapacitásánál. Ebben az esetben az (i,j) élen átmenő folyam növelhető. Jelölje I az ezzel a tulajdonsággal rendelkező élek halmazát. Az (i,j) hátramutató élen az átmenő folyamérték pozitív. Ebben az esetben az (i,j) élen átmenő folyam csökkenthető. Jelölje R az ezzel a tulajdonsággal rendelkező élek halmazát. A javító úton a fentiek minimumával növelhető a folyam értéke.

PÉLDA: JAVÍTÓ ÚT: s,a,c,t Maradék kapacitások: Sa=5,ac=4, ct=5 minimumuk:4, ennyivel növelhető a folyam értéke: 11/16 b 1/4 1/1 c 7/7 15/0 Növelhető 19-re s 0/10 8/13 Növelhető 1-re a 4/9 Csökkenthető 0-ra d 11/14 4/4 t A folyam ÉRTÉKE nőtt: f 19 11 8 11 1 3 FELADAT: Adjon meg más javító utat! 18

MÁSIK PÉLDA: vágás: N 1 = s,3,4,7 N = N- N 1 = t,, 5, 6 c(n 1, N )=10+8+10, ez esetben minimális f(n 1,N )=vágáson áthaladó folyam érték= =10+4+10-1= 3= s-ből indulók összege!! (nem maximális még) 9/9 5 Minimális vágás 10/10 1/4 0/15 0/15 9/ 10 s 5/5 3 4/8 6 4/10 t 8/15 /4 0/6 0/15 10/10 4 10/30 7 kapacitás= 8 Folyam=3

M A X I M Á L I S F O L Y A M = M I N I M Á L I S V Á G Á S MÁSIK PÉLDA: JAVÍTÓ UTAK: s,4,3,6,t, min. maradc.: s, 4, 7, 3, 6, t min. maradc.: s, 4, 7, 3,, 6, t min. maradc.: 1 s Minimális vágás 10/10 5/5 8/15 0/15 0/4 1/15 1/4 3 /4 0/4 9/9 0/6 /6 3/6 6/8 4/8 10/15 4 10/30 1/15 1/30 13/15 13/3` TÖBB JAVÍTÓ ÚT NINCS! Ugyanis 4-ből csak 7-be van szabad c, de 7-ből csak 3-ba, de 3-ból nem lehet tovább, menni, mert minden él telített! 5 0/15 6 0/15 7 9/ 10 7/10 6/10 4/10 8/8 810 10/10 kapacitás= 8 Folyam=3, 5, 7, 8 t

Tétel (s N 1, t N ): A folyam értéke egyenlő bármelyik vágás(on átfolyó) folyammal Bizonyítás: egy adott n i csúcsra nézve az anyagmegmaradás (Kirchhoff) törvénye miatt a befolyó anyag-kifolyó anyag (az összes élre összegezhetünk, ha a nemlétezők súlya 0.): n N j f n i,n j f n k,nl n k N = 0, ha n i nem s vagy t folyamérték, ha n i = s Öszegezve most a vágásban az N 1 -beli csúcsokra (vagyis kiszámítva f értékét): csak a vágásból kimutató élek folyamértékei számítanak, ugyanis a közbülső csúcsokra ez az összeg nulla!

KÖVETKEZMÉNY (s N 1, t N ): c N 1, N : c n1, n f n1 N1, n N N 1, N : f ni,n j f n l, n k n N i 1,n N j n k N 1,n N N, N f n,n c(n 1, N ) f 1 l k n N,n N k 1 Felső korlátot kaptunk a folyam értékére nem lehet nagyobb mint BÁRMELYIK vágás kapacitása l l

TÉTEL (s N 0, t N- N 0 ): A folyam akkor és csak akkor maximális,ha nincsen javító út. Bizonyítás : Ha a folyam maximális, nem létezhet javító út, hiszen akkor azt használva a folyam értékét növelhetnénk Ha nincsen javító út, akkor a folyam maximális. Tekintsük azokat a csúcsokat ahova még vezet javító út, legyen ezek halmaza N 0 és S is legyen e halmazban. Tekintsük az (N 0, N-N 0 ) vágást. Tekintsük azokat az i->j előremutató éleket, amelyek N 0 -ből (i) N-N 0 -be (j) mutatnak. Ezeken a folyamérték egyenlő a kapacitással, máskülönben j is N 0 -hoz tartozna. Ehhez hasonlóan a hátramutató j->i éleken a folyam 0 máskülönben...

TÉTEL : FORD-FULKERSON (1956) MAX FLOW = MIN CUT Bizonyítás : Az előző tételnél láttuk, hogy a maximális folyam = alkalmas vágás kapacitása. Másrészt, azt is bizonyítottuk már, hogy bármely folyam nem lehet nagyobb bármely vágás kapacitásánál. Ezért az előbbi bizonyításban szereplő (N 0, N-N 0 ) vágás minimális vágás kell hogy legyen. MINIMÁLIS VÁGÁS: azok a csúcsok, amikhez MÉG vezet javító út.

TOVÁBBI SEGÉDLETEK http://rs1.sze.hu/~hajbat/folyamok.pdf http://rs1.sze.hu/~hajbat/folyamsegitseg.pdf