Universität zu Köln Mathematisches Institut Dr. F. von Heymann M. Dostert, M.Sc. Einführung in die Mathematik des Operations Research Sommersemester 2016 — Lösungsskizzen zu Blatt 4 — Aufgabe 4.1 (10 Punkte) Es sei D = (V, A) ein gerichteter Graph und s, t ∈ V . Zeigen Sie: Die maximale Anzahl von kantendisjunkten Wegen von s nach t in D ist gleich der minimalen Kardinalität eines s-t-Schnittes δ out (U ) in D, wobei U ⊆ V mit s ∈ U und t ∈ V \U . Lösung: Definiere die Kapazitätsfunktion c : A → R durch c(a) = 1 für alle a ∈ A. Kantendisjunkte s-t-Wege liefern uns dann einen s-t-Fluss f ≤ c, wobei f (a) = 1 falls a in einem der Wege liegt, und f (a) = 0 sonst. Umgekehrt liefert jeder s-t-Fluss f : A → {0, 1} eine Menge von kantendisjunkten s-t-Wegen (wie?). In beiden Richtungen entspricht der Wert des Flusses der Anzahl der Wege. Mit dem Max-Flow-Min-Cut-Theorem und Aufgabe 4.2(b) folgt die Behauptung, da für U ⊆ V gilt: c(δ out (U )) = |δ out (U )|. a Aufgabe 4.2 (5 + 5 = 10 Punkte) a) Berechnen Sie im rechtsstehenden Graphen mit gegebener Kapazitätsfunktion einen maximalen s-t-Fluss und einen minimalen s-t-Schnitt mit Hilfe des FordFulkerson Algorithmus. 2 1 d 14 9 s 2 t 9 1 3 7 5 b c Lösung: Starte mit f = 0, also Df = D. Ein (kürzester) gerichteter Weg ist beispielsweise P = {(s, b), (b, c), (c, t)}. Dann können wir ε = 3 setzen und f entsprechend vergrößern. Im neuen Residualgraph gibt es beispielsweise den (kürzesten) gerichteten Weg P = {(s, a), (a, c), (c, t)}, mit ε = 1. Im neuen Residualgraph gibt es keine gerichteten s-t-Wege, darum ist ein maximaler Fluss gefunden: a 1 s 0 d 0 1 0 t 0 0 3 b 4 3 c Da auf beiden Kanten, die in s starten, c(a) = f (a) gilt, sind (ausser s) keine Knoten in Df von s aus erreichbar. U = {s} gibt uns also nach Lemma III.1.8 einen minimalen s-t-Schnitt δ out (U ). b) Zeigen Sie für allgemeine gerichtete Graphen D = (V, A): Falls c ganzzahlig ist (das heißt c : A → Z≥0 ), dann gibt es einen ganzzahligen optimalen s-t-Fluss f mit f ≤ c. Lösung: Wir beobachten, dass wir im Algorithmus von Ford-Fulkerson, falls c ganzzahlig ist, ε > 0 auch immer als 1 wählen können, anstatt es maximal zu wählen. Dann ist jeder der konstruierten Flüsse ganzzahlig. Aufgabe 4.3 (10 Punkte) Sei D = (V, A) ein gerichteter Graph und sei f : A → R≥0 eine Zirkulation, das heißt f ist eine s-t-Fluss mit s = t. Zeigen Sie: Es existiert eine Zirkulation f 0 , so dass f 0 ganzzahlig ist und für alle a ∈ A gilt bf (a)c ≤ f 0 (a) ≤ df (a)e. Tipp: Sei gf : V → R definiert durch gf (v) = P a∈δ out (v) f (a)− P a∈δ in (v) f (a). Zeigen Sie zunächst: gf (v) = 0 ∀v ∈ V genau dann, wenn f eine Zirkulation ist. Lösung: Die Aussage des Tipps gilt, da eine Zirkulation das Flusserhaltungsgesetz an jedem Knoten erfüllt. Sei nun h : A → P Z eine Funktion, die bf (a)c ≤ h(a) ≤ df (a)e für alle a ∈ A erfüllt, und mit dieser Bedingung v∈V |gh (v)| minimiert. Wir wollen also zeigen, dass diese Summe Null ist und h somit eine Zirkulation. Definiere einen Residualgraph Dh = (V, Ah ) mit Ah = {a ∈ A : h(a) < df (a)e} ∪ {a−1 ∈ A−1 : bf (a)c < h(a)}. Definiere ausserdem S = {v ∈ V : gh (v) < 0} und T = {v ∈ V : gh (v) > 0}. Dann ist (warum?) S = ∅ genau dann, wenn T = ∅, und falls S und T leer sind, dann ist h eine Zirkulation. Angenommen S ist nicht leer. Falls es s ∈ S und t ∈ T gibt, so dass es in Dh einen gerichteten 0 P 0 s-t-Weg P gibt, dann P P ist h = h + χ eine ganzzahlige Funktion mit bf (a)c ≤ h (a) ≤ df (a)e und 0 v∈V |gh (v)| < v∈V |gh (v)|, im Widerspruch zur Wahl von h. Falls es keinen gerichteten Weg zwischen S un T gibt, sei U ⊆ V die Menge der Knoten, die von S aus in Dh erreichbar sind. Dann gilt • ∀a ∈ δ out (U ) : a ∈ Ah und somit gilt h(a) = df (a)e • ∀a ∈ δ in (U ) : a−1 ∈ A−1 h und somit gilt h(a) = bf (a)c Hieraus folgt: X 0≤ df (a)e − a∈δ out (U ) X bf (a)c = a∈δ in (U ) X a∈δ out (U ) h(a) − X a∈δ in (U ) h(a) = X gh (v) = u∈U wobei die erste Ungleichung gilt, da f eine Zirkulation ist. Da dies ein Widerspruch ist, gilt S = ∅ und folglich muss h eine Zirkulation sein. X u∈S gh (v) < 0