Gráfok és algoritmusok 2022. tavasz
1. gyakorlat
2022. február 18.Tudnivalók
Átismételt fogalmak: (irányítatlan) gráf, összefüggőség, fa, vágás, fokszámfüggvények: d, δ (kifok), ρ (befok), c: E → R és F ⊆E esetén c(F˜ ) =P
e∈F c(e), f : V → R ésX ⊆V esetén f˜(X) =P
v∈Xf(v),E(X)ése(X)azX által lefogott élek halmaza, ill. ennek a számossága,I(X) és i(X)az X által feszített élek halmaza, ill. ennek a számossága.
Minimális költségű feszítőfa keresése. Input:G= (V, E)öf gráf, c:E →R+költségfügg- vény. Output: A G olyanF feszítőfája, amire c(F˜ )≤c(F˜ 0)teljesül a G mindenF0 feszítőfájára.
Lemma: Legyen c(E) = {k1, k2, . . . , k`}, ahol k1 < k2 < . . . < k`, Ei := c−1(ki) és legyen Gi = (Vi, Ei), ahol Vi a Gi−1 komponenseinek halmaza. Ekkor a G gráf F feszítőfája pontosan akkor minimális költségű, ha F ∩Ei a Gi egy feszítő erdeje minden i-re.
Biz: Ha F ∩Ei a Gi feszítő erdeje minden i-re, akkor F körmentes és öf, tehát feszítőfa.
Legyen F0 is feszítőfa és F = {f1, f2, . . . , fn−1} ill. F0 = {f10, f20, . . . , fn−10 }, ahol c(f1) ≤ c(f2)≤ . . .≤c(fn−1)ill.c(f10)≤c(f20)≤. . .≤c(fn−10 ). Ekkor F-nek legalább annyi legfeljebbki költségű éle van, mint F0-nek, ezért c(fj) ≤ c(fj0) teljesül minden 1 ≤ j ≤ n−1 esetén. Ezek szerint F mkffa, és minden mkffa így áll elő.
Színezési szabályok. Géleit piros, fehér, zöld színnel színezzük; kezdetben minden él fehér.) Zöld szabály: ha egyQvágás nem tartalmaz zöld élt, akkorQ(egyik) legolcsóbb fehér élét (mond- juk e-t) zöldre színezzük. (Jel: Z(Q) = e.)
Piros szabály: ha egyCkör nem tartalmaz piros élt, akkorC(egyik) legdrágább fehér élét (mond- juk e-t) pirosra színezzük. (Jel: P(C) =e.)
Állítás:
(1) G-nek nem lesz se piros vágása, se zöld köre. (Az utolsónak kiszínezett éllel baj lenne.) (2) Ha van fehér él, akkor van szabályosan pirosra vagy zöldre festhető él.
(Ha uv fehér, és van zöld uv-út, akkor a piros szabály alapján, ha nincs, akkor azu-t tartalmazó zöld komponensre a zöld szabály alapján ez megtehető.)
(3) Ha Z(Q) = e, akkor e a Q(egyik) legolcsóbb éle.
(4) Ha P(C) =e, akkor e a C (egyik) legdrágább éle.
(5) Ha nincs fehér él, akkor a zöld élek mkffát alkotnak.
(U.i. a zöld élekZ halmaza (1) miatt körmentes, és (2) miatt öf, tehát ffa. HaZ nem lenne mkffa, akkor valamelyik Gi egy K komponensének Z ∩Ei nem tartalmazná feszítőfáját. Ha K0 ⊂K a Z ∩Ei egy komponense, akkor baj van Ei-nek a K-n belül futó utolsónak pirosra festett élével.)
Megfigyelés: (1) A Kruskal-algoritmus a zöld szabály alkalmazásának speciális esete.
(2) A piros szabály megfelelő alkalmazásával az óvatos algoritmus kapható.
Tétel: (Dirac) Adott azF fa részfáinakF rendszere. Jelölje ν azF-beli páronként diszjunkt fák maximális számát, τ pedig az F elemeit lefogó csúcsok minimális számát. Ekkor ν =τ.
Biz: Világos, hogy τ ≥ ν. Legyen r az F talppontja, és F minden F részfájának talppontja az F r-hez legközelebbi csúcsa. Az F elemein a talppontjaik r-től való távolságának nemnövek- vő sorrendjében végighaladva mohón választott diszjunkt részfák talppontjai lefogják F minden részfáját.
Tétel: LegyenG= (V, E)ésf :V →N. Ekkor pontosan akkor létezikG-nek olyan irányítása, amelyre ρ(v)≥f(v) teljesül minden v ∈V-re, haf˜(X)≤e(X) teljesül minden X ⊂V esetén.
Biz: ⇒: f(X)˜ ≤ρ(X)˜ ≤e(X).
⇐: Tetszőleges irányítás eseténv hibája max(0, f(v)−ρ(v)). Ha egy irányítás összhibája0, akkor az megfelel. Ha pedig az összhiba pozitív, akkor ezt egy irányított út megfordításával csökkentjük.
Tfh. v hibás, azaz ρ(v) < f(v). Legyen X := {v-ből irányított úton elérhető csúcsok}. Ekkor
˜
ρ(X) = e(X) ≥f˜(X), ezért van olyan u∈X, amire f(u)> ρ(u). Egy uv-út megfordításával az összhiba csökken.
Gyakorlatok
1. Keressünk az alábbi gráfban a Kruskal- és az óvatos algoritmussal minimális költségű feszí- tőfát!
a b c d
e f g h
1 7 4
4 2 3
5 4 3 3 5 7 7
2. Határozzuk meg az alábbi ábrán látható páronként diszjunkt fák maximális számát!
r h n
o e l g
m
p q
c d
f i
j
k
s t
u v a
b F1
F2
F3
F4
F5
F6
3. Legyenek I1, I2, . . . , In a számegyenes zárt intervallumai. Tegyük fel, hogy ezen intervallu- mok között van k páronként diszjunkt, de bármely (k + 1) között van két közös ponttal rendelkező. Igazoljuk, hogy a számegyenesen található k pont úgy, hogy az n intervallum mindegyike tartalmazza e k pont valamelyikét.
4. Legyenek I1, I2, . . . , In a számegyenes zárt intervallumai. Tegyük fel, hogy ezen intervallu- mok közül semelyik (k+ 1)-nek sincs közös eleme, de van olyan pont a számegyenesen, amit k intervallum tartalmaz. Igazoljuk, hogy az intervallumok kiszínezhetőkk színnel úgy, hogy bármely két azonos színre színezett intervallum diszjunkt legyen.
5. Fogalmazzuk meg és igazoljuk az iménti általánosítást egy F fa részfáinak F rendszerére.
6. Tekintsük azokat a zárt intervallumokat a számegyenesen, amelyeknek mindkét végpontja 0 és 7 közötti egész, a hosszuk pedig 2 vagy 3. Határozzuk meg azon színek minimális számát, melyekkel az intervallumok kiszínezhetők úgy, hogy bármely két azonos színű intervallum diszjunkt legyen.
7. Igazoljuk Robbins alábbi tételét. A G irányítatlan gráfnak pontosan akkor van erősen összefüggő irányítása, haG2-élösszefüggő, azazGminden vágása legalább két élt tartalmaz.
8. Döntsük el, hogy az alábbi gráfnak van-e erősen összefüggő irányítása és ha van, akkor adjunk is meg egyet.
a b c d
e f g h
9. Létezik-e az alábbi gráfnak olyan irányítása, melyben a befokok alsó korlátai a következők?
(a) f1 : A7→2, B 7→2, C 7→2, D 7→2, E 7→2, F 7→2, G7→2 (b) f2 : A7→0, B 7→4, C 7→0, D 7→3, E 7→3, F 7→3, G7→0
D B
E F
G
C A
10. Létezik-e a 9. feladatbeli gráfnak olyan irányítása, melyben a befokok felső korlátai a kö- vetkezők?
g : A7→3, B 7→1, C 7→3, D7→2, E 7→1, F 7→1, G7→3
11. Legyen G = (V, E) egy irányítatlan gráf és f, g : V → N két fokszámkorlát. Igazoljuk, a következőket.
(a) Akkor és csak akkor létezik G-nek olyan irányítása, amelyben ρ(v) ≤ g(v) teljesül mindenv ∈V csúcsra, ha tetszőlegesX ⊆V ponthalmazrai(X)≤eg(X)teljesül, ahol i(X) =
{e=uv ∈E :u, v ∈X}
jelöli az X által feszített élek számát.
(b) Akkor és csak akkor létezik G-nek olyan irányítása, amelyben f(v) ≤ ρ(v) ≤ g(v) teljesül minden v ∈ V csúcsra, ha tetszőleges X ⊆ V ponthalmazra e(X) ≥ fe(X) és i(X)≤eg(X) teljesül.
12. Létezik-e a 9. feladatbeli gráfnak olyan irányítása, melyben a befokok alsó és felső korlátai a következők?
f : A 7→1, B 7→1, C 7→1, D 7→0, E7→1, F 7→1, G7→1 g : A7→3, B 7→2, C 7→3, D7→1, E 7→2, F 7→2, G7→3