Professional Documents
Culture Documents
Folyamok Alkalmazása És Gráfok Összefügg Osége
Folyamok Alkalmazása És Gráfok Összefügg Osége
összefüggősége
Definíció
Legyen G = (V, E) gráf, és s, t két pont a gráfban. F ⊂ E egy
s − t vágás, ha E − F -ben már nem vezet út s és t között.
a d
s b e t
c f
Bizonyítás: A tétel egy erősebb változatát bizonyítjuk,
mégpedig, hogy a k élidegen út élhalmaza választható
aciklikusnak is.
⇒: Létezik k élidegen út s és t között. Legyen
S ⊂ V, s ∈ V, t ∈
/ V tetszőleges. Ekkor a k élidegen s − t út
mindegyike kilép S-ből, tehát legalább k él kilép S-ből.
⇐: Minden S-et tartalmazó, de t-t nem tartalmazó halmazból
legalább k él kilép. Visszavezetjük folyamokra.
Legyen minden él kapacítása 1 és keressünk a digráfban
s-ből t-be maximális folyamot.
Minden halmazból legalább k él kilép ⇒ a minimális vágás
legalább k nagyságú ⇒ MFMC miatt a maximális
folyamérték is legalább k.
Az egészértékűség miatt a maximális folyam előáll úgy,
hogy az értéke az éleken 0 vagy 1.
Legyen DF az a részgráf, ahol az éleken a folyam értéke 1.
Keressük meg és töröljük a(z (irányított) köröket DF -ben
(Pl. DFS-sel). A folyamérték nem változik, de a digráf
aciklkus lesz.
Keresünk P st utat (pl DFS-sel) DF -ben.
Eltároljuk P -t, és töröljük éleit. Ekkor a folyamérték 1-gyel
csökken
A végén a törölt utak k éldiszjunkt utat határoznak meg, és
ezek uniója aciklikus.
Tétel (Irányított csúcsösszefüggési változat)
Legyen s és t a D digráf két olyan csúcsa, amik között nem
megy él. Ekkor az s és t között vezető pontdiszjunkt irányított
utak maximális száma egyenlő az st irányított utakat lefogó
pontok minimális számával.
a d
s b e t
c f
Bizonyítás: Ha létezik k csúcsdiszjunkt út, akkor ezek
lefogásához legalább k csúcs szükséges.
A másik irány bizonyításához készítsük el a következő
D0 = (V 0 ∪ V 00 , E 0 ) segédgráfot.
Minden u ∈ V , csúcsot két csúccsal helyettesítünk, tehát
ha u ∈ V ⇒ u0 ∈ V 0 , u00 ∈ V 00 .
u0 u00 ∈ E 0 ∀u ∈ V
H uv ∈ E, akkor u00 v 0 ∈ E.
u u0 u00
TFH D-ben az utak lefogásához k csúcs szükséges.
Minden s0 ∈ S ⊂ V 0 , t00 ∈
/ S halmazra δ(S) ≥ k, ugyanis az
élek egyik végpontját véve lefogó ponthalmazt kapunk
D-ben.
Él-Menger alapján létezik k éldiszjunkt s0 t00 út D0 -ben.
u0 ∈ V 0 kifoka 1 ⇒ legfeljebb egy s0 t00 útban lehet benne.
Ha u0 benne van egy s0 t00 útban ⇒ u00 is benne van és
fordítva. Ráadásul u0 és u00 egymás után következnek.
Húzzuk össze u0 -t és u00 -t az u csúccsá. Így a P 0 D0 -beli
s0 t00 útból P D-beli st út adódik.
Kaptunk k csúcsdiszjunkt st utat D-ben.
Definíció
Egy G gráf k-élösszefüggő, ha tetszőleges k − 1 élét elhagyva
összefüggő.
s b e t
c f
Következmény
G gráf k-élöf ⇔ G bármely két csúcsa között van legalább k
éldiszjunkt út.
Bizonyítás:
Az látszik, hogy ha létezik k diszjunkt s − t út, akkor minden s-t
tartalmazó t-t nem tartalmazó halmazból legalább k él kilép.
A másik irányt visszavezetjük az irányított él-Mengerre.
Helyettesítsünk minden irányítatlan élt egy irányított élpárral, az
így kapott digráf legyen D.
u v u v
s b e t
c f
Következmény
G gráf k-öf ⇔ G bármely két csúcsa között van legalább k
csúcsdiszjunkt út.
Bizonyítás:
Az egyik irány itt is triviális, a másik irányhoz pedig
készítsük el a D digráfot az előző feladathoz hasonló
módon (minden élt oda-vissza irányított élekre cserélünk).
G-ben létezik k lefogó csúcs ⇒ ezek D-ben is lefogják az
utakat.
Irányított csúcs-Menger tétel miatt létezik k csúcsdiszjunkt
irányított st út ⇒ Ezek k csúcsdiszjunkt irányítatlan st utat
határoznak meg G-ben
Maximális párosítás
Megoldás:
Megkonstruáljuk a D0 = (V 0 , E 0 ) digráfot, ahol
V 0 = V ∪ {s, t} és E 0 = E ∪ {s0 si : si ∈ S} ∪ {tj t0 : tj ∈ T }
g 0 kapacitás fv: Az új éleken a kapacitás ∞, a régieken
pedig g
Maximális folyamot keresünk a D0 , s0 , t0 , g 0 hálózatban.
Probléma (Csúcskapacitások)
Minden csúcsra bevezetünk egy kapacitás értéket: g̃ : V → R+
0.
δf (v) ≤ g̃(v)∀v ∈ V − {s, t}.
Megoldás:
1 Készítünk egy D0 = (V 0 , E 0 ) digráfot, Menger tételben
használt pontszéthúzással:
Csúcsok: V 0 = {v 0 , v 00 : v ∈ V }
Élek: E 0 = {v 0 v 00 : v ∈ V } ∪ {u00 v 0 : uv ∈ E}
2 g 0 (v 0 v 00 ) = g̃(v), és g 0 (u00 v 0 ) = g(uv) ha uv ∈ E.
3 Keressünk maximális folyamot a (D0 , s0 , t00 , g 0 ) hálózatban.