Gráfok és algoritmusok 2022. tavasz
6. gyakorlat
2022. március 25.Tudnivalók
Def: Egy G = (V, E) gráf u, v ∈ V csúcsaira λ(u, v) az u és v között vezető, páronként éldiszjunkt G-beli utak maximális száma, λ(G) := min
λ(u, v) : u, v ∈ V pedig a G gráf élösszefüggősége.
Megjegyzés: Menger tétele miatt λ(G) = min
|F|:F ⊆E, G−F nem összefüggő . Cél: AdottG= (V, E)gráfraλ(G)meghatározása, ésGegy minimális vágásának megtalálása.
A minimális vágás alatt egy olyan minimális méretű F ⊆E élhalmazt értünk, amireG−F nem összefüggő. Minden ilyenF minimális vágást indukál egy X ⊂V ponthalmaz: F =E(X, V \X), azaz F azX és a kompementere között vezető élek halmaza.
Megfigyelés: : (1)λ(u, v)és egyu-t ésv-t szeparáló minimális vágás meghatározható egyet- len folyamalgoritmussal: minden élt helyettesítünk két, oda-vissza megirányított éllel, minden irányított élnek 1kapacitást adunk, és maximális folyamot keresünk u-ból v-be.
(2) Tetsz. n-csúcsú G gráfra elég n2
folyamalgoritmus egy minimális vágás meghatározásához.
(3) Ha X minimális vágást indukál, akkor tetszőlegesu∈X ésv ∈V \X eseténλ(u, v) = λ(G).
Ezértλ(G)meghatározásához elegendőn−1folyamalgoritmus: egy rögzítettucsúcsra számítjuk ki λ(u, v)-t minden u6=v ∈V esetén.
Legyen G = (V, E) és c : E → N egy súlyfüggvény, ami azt írja le, hogy hány párhuzamos élt jelent egy-egy él. (Egyszerű gráfra c ≡ 1.) Az e = uv él összehúzása alatt azt értjük, hogy azonosítjük azuésvcsúcsokat, töröljük a keletkezőc(uv)darab hurokélt, ésc(xw) = c(ux)+c(vx) lesz, ahol w az azonosítással keletkező új csúcs.
Állítás: Legyen F ⊆ E a fenti jelölések szerinti G gráf egy minimális vágása. Válasszunk c szerinti eloszlással egy véletlen e0 élt, azaz P(e-t választjuk) = ˜c(E)c(e). Legyen G0 az e0 él összehú- zásával kapott gráf. Ekkor (1) λ(G0)≥λ(G), (2) G0 minden vágása megfelelG egy vágásának, továbbá (3) az F vágásP(e0 6∈F)≥(n−2)/n, valószínűséggel túléli a random összehúzást.
Karger algorimusa: G-ben egymás után n−2 élt húzunk össze, az élt mindig az aktuális c eloszlás szerint választva. A végén kapott kétpontú gráf által meghatározott vágás megfelelője lesz a jelölt Gminimális vágására.
Állítás: HaF a Gegy minvágása, akkor P(Karger algoritmusa F-et találja meg)≥ n(n−1)2 . Köv.: P(Karger algoritmusátk·n2-szer végrehajtva sosem F az output)≤e−2k .
Def: AGmultigráfmaxvissza sorrendje aGcsúcsainak olyanv1, v2, . . . , vnsorrendje, amelyre minden 1 ≤ i < j ≤ n esetén d(Vi, vi+1) ≥ d(Vi, vj) teljesül, ahol Vi = {v1, v2, . . . , vi}, azaz a soron következő csúcs mindig a korábbi csúcsokkal leginkább összekötött csúcsok egyike.
Tétel: Ha v1, v2, . . . , vn a G maxvissza sorrendje, akkor λ(vn, vn−1) =d(vn), azaz a vn-et és vn−1-et szeparáló vágások között az egypontú {vn} minimális.
Megfigyelés: Ha v1, v2, . . . , vn a G maxvissza sorrendje és G-nek van olyan X minimális vágása, ami szeparálja vn-et és vn−1-et, akkor X = {vn} a G egy minimális vágása. Különben G minimális vágásai megegyeznek a G-ből a vn és vn−1 csúcsok összeragasztásával kapható G0 gráf minimális vágásaival. (A vn és vn−1 összeragasztása alatt egy újonnan bevett vn−1vn él összehúzását értjük.)
Nagamochi–Ibaraki-algoritmus Input: G= (V, E) multigráf, Output: F minimális vágás.
I. Meghatározzuk G egy v1, v2, . . . , vn maxvissza sorrendjét.
II. Rekurzív hívással meghatározzuk a vn−1 és vn csúcsok összeragasztásával kapott G0 gráf egy minimális F0 vágását, ami G-ben F-nek felel meg.
III. Ha |F| ≤d(vn), akkor az output F. Különben pedig E(vn), av-re illeszkedő élek halmaza.
A cél most a fenti tétel bizonyítása.
Def: AGgráf csúcsainakv1, v2, . . . , vnsorrendjefolytonos, haGkomponensei intervallumokat alkotnak a sorrendben, ésGminden csúcsának (a komponensek legelső csúcsainak kivételével) van a sorrendben korábbi szomszédja. AGgráf csúcsainakv1, v2, . . . , vnsorrendjéhez tartozó élhalmaz azon vivj élekből áll, amelyekre j < i ésvi-nekvj a maxvissza sorrendbeli legelső szomszédja.
Megfigyelés: (1) Irányítatlan gráf maxvissza sorrendje folytonos. (2) Folytonos sorrendhez tartozó élhalmaz aGfeszítő erdeje. (3) Havi aGegy komponensének legelső eleme egy folytonos
sorrendben, akkor F minden vi-ből induló útján a csúcsok indexei monoton növekednek.
Megfigyelés: Ha aGgráfv1, v2, . . . , vnmaxvissza sorrendjéhez az F élhalmaz tartozik, akkor v1, v2, . . . , vn a G−F gráfnak is maxvissza sorrendje.
Legyenv1, v2, . . . , vn aG=G1 irányítatlan gráf maxvissza sorrendje,F` pedig az e sorrendhez tartozó élhalmaz a G` gráfban, ahol Gi+1 =Gi−Fi (i= 1,2, . . .). Ekkor F` a G` feszítő erdeje.
Megfigyelés: Ha vi és vj az Fk ugyanazon komponenséhez tartoznak, akkor λG(vi, vj)≥k . Biz: : ` = 1,2, . . . , k esetén vi és vj az F` azonos komponensében vannak, így vezet köztük út F`-ben. Ígyk db páronként éldiszjunktvivj-utat kapunk G-ben.
Köv.: λ(vn, vn−1) = d(vn)
Biz: Ha d(vn) =k, akkorvn minden éle azF1, F2, . . . , Fk fák egyikéhez tartozik, így a maxvissza sorrend folytonossága miatt vn ésvn−1 az Fk ugyanazon komponensében van.
Gyakorlatok
1. Futassuk a Karger-algoritmust az alábbi gráfra; az élekhez rendelt pozitív egész számok azt jelentik, hogy az adott él hány párhuzamos élt reprezentál.
a b
c d
e f
3 1
1 3
1
1 1 1
2. Határozzuk meg az alábbi multigráf egy maxvissza sorrendjét és az ahhoz tartozóF1, F2, . . . erdőket.
a b
c d
e f
3. Határozzunk meg a Nagamochi–Ibaraki-algoritmussal az alábbi gráfokban egy-egy minimális vágást.
a b
c d
e f
a b c
d e f
4. Legyen G= (V, E)tetszőleges véges (legalább 2-csúcsú) multigráf. Igazoljuk, hogy találha- tók u1, w1 és u2, w2 csúcsok úgy, hogy u1 6=u2 ésd(ui) = λ(ui, wi) mindeni∈ {1,2}-re.
5. Legyenek aGgráf csúcsaiu1, u2, . . . , unésv1, v2, . . . , vn, élei pedig u1v1, u2v2, . . ., un−1vn−1
valamint minden 1 ≤ i < j ≤ n esetén fusson él ui és uj, illetve vi és vj között. Lehet-e u1 ésv1 (valamilyen sorrendben) aGcsúcsainak alkalmas maxvissza sorrendjében az utolsó két csúcs?
6. Tegyük fel, hogy haλ(u, v) =d(v)teljesül a Gegyszerű gráf két különbözőuésv csúcsára, akkor avcsúcs bizonyosan av1vagyv2csúcs valamelyike. Bizonyítsuk be, hogy ha|V(G)|>
2, akkor v1 és v2 nem szomszédosak G-ben.
7. Tegyük fel, hogy amikor a Nagamochi–Ibaraki-algoritmus segítségével határozzuk meg a G multigráf élösszefüggőségi számát, akkor a max-vissza sorrendekben az utolsó csúcsok fokszáma rendre 7,9,6,4,7,5,4,8,4,7,9.
(a) Határozzuk megG élösszefüggőségi számát, λ(G)-t.
(b) Igaz-e, hogy G-nek bizonyosan van olyan legfeljebb 4-elemű X ponthalmaza, hogy X és a komplementere között futó élek száma megegyezikλ(G)-vel?
8. Tegyük fel, hogy amikor a Nagamochi–Ibaraki-algoritmus segítségével határozzuk meg a G multigráf élösszefüggőségi számát, akkor a max-vissza sorrendekben az utolsó csúcsok fokszáma rendre 7,9,4,6,7,7,6,8,6,7,9.
(a) Határozzuk megG élösszefüggőségi számát, λ(G)-t.
(b) Legkevesebb hány élt kell behúzniG-be ahhoz, hogy a kapott gráf 6-szorosan élössze- függő legyen?
9. Van az alábbi gráfnak olyan maxvissza sorrendje, amelyikben az utolsó két csúcs j és k?
a b c d
e
f g
h
i j k l
10. Tegyük fel, hogyu1, u2, . . . , unésv1, v2, . . . , vnaGgráf két olyan maxvissza sorrendje, amire un−1 = vn és un =vn−1 teljesül, azaz a két utolsó csúcs ugyanaz, de fordított sorrendben.
Bizonyítsuk be, hogy d(un−1) =d(un).
11. Tegyük fel, hogy az n-pontú G gráf egy maxvissza sorrendjéhez tartozó élcímkézés szerint G-nek pontosan4n−4olyan éle van, ami legfeljebb 4-es címkét kap. Bizonyítsuk be, hogy G 4-élösszefüggő.
12. Tegyük fel, hogy az n-pontú G gráf nem 4-élösszefüggő, és egy maxvissza sorrendjéhez tartozó élcímkézés szerint G-nek pontosan 4n−5 olyan éle van, ami legfeljebb 4-es címkét kap. Bizonyítsuk be, hogy G-nek egyetlen egy háromélű vágása van.
13. Tegyük fel, hogy G összefüggő gráf és G bármely v csúcsához van G-nek v-re végződő maxvissza sorrendje. Igaz-e, hogy G biztosan reguláris?
14. Tegyük fel, hogy a G = (V, E) gráfon lefuttattuk a Nagamochi–Ibaraki-algoritmust, és a maxvissza sorrendekben az utolsó csúcsok fokszáma mindig 42 volt. Bizonyítsuk be, hogy található egy olyan F = (V, E0) fa, aminek bármelye élére F −e két komponense a G gráf egy minimális vágását határozza meg.
15. Tegyük fel hogy aGgráfnak legalább 2 csúcsa van,k-élösszefüggő, de bármely élét elhagyva már nem k-élösszefüggő. Bizonyítsuk be hogy G-nek van k-adfokú csúcsa.
16. Mutassuk meg, hogy ha v1, v2, . . . , vn a G gráf maxvissza sorrendje egy tetszőleges nem- negatív (de nem feltétlenül egész) c élsúlyozás mellett, akkor λc(vn−1, vn) = dc(vn), azaz a vn−1-et és vn-t szeparáló vágások között {vn} minimális.