Seminarausarbeitung über G. Baiers et al. Abhandlung über: Längen-beschränkte Schnitte und Flüsse (oder: Length-bounded Cuts and Flows) Frank Obermüller 06. Dezember 2009 1 Einleitung Sei G = (V, E) ein Graph. Seien s, t ∈ V Knoten.1 Wir weisen jeder Kante zwei Werte aus Q≥0 zu: u die Kantenkapazität, d die Kantenlänge. Wenn nicht anders beschrieben, gehen wir von einheitlichen Kapazitäten und Längen aus (o.B.d.A = 1). 1.1 s-t-Kanten Schnitte Sei Ce ⊂ G Teilmenge von Kanten. Ce heißt s-t-Kanten Schnitt, falls kein Weg von s zu t in G\Ce existiert. Der W ert oder die Kapazität von Ce ist die Anzahl der Kanten in Ce bzw. Summe der Kantenkapazitäten in Ce , oftmals auch geschrieben als |Ce |: P |Ce | = e∈Ce ue , wobei ue die Kantenkapazität bzgl. Kante e ist. Beispiel: Abbildung 1: A1: Ein Graph mit Einheitskantenkapazitäten/-Längen; A2: mit einem s-tKanten Schnitt, |Ce | = 3; A3: besser: mit minimalem s-t-Kanten Schnitt, |Ce | = 1 1.2 L-Längen-beschränkter s-t-Kanten Schnitt Sei CeL ⊂ G Kantenteilmenge von G. CeL heißt L-längen-beschränkter s-t-Kanten Schnitt, falls gilt: in G\CeL haben die Knoten s und t eine Distanz größer als L. Genauer: Sei Ps,t (L) die Menge der Pfade von s nach t mit einer Länge höchstens L. Dann muss CeL jeden Pfad in Ps,t (L) zerschneiden“. ” Bisher völlig analoge Betrachtung für Knoten anstatt Kanten. Beim Minimum Längen-beschränkte Schnitte-Problem“ wird minimales |C| gesucht, sodass ” |C| ein L-beschränkter Schnitt ist. 2 1 Vorerst ist für den Graphen unwichtig: - gerichtet oder ungerichtet; - Multigraph oder einfach s-t-Präfix wird weggelassen, da sich alles auf s-t bezieht. Kanten/Knoten wird weggeL wird vereinfacht zu C lassen, wenn aus Kontext hervorgeht. CeL oder Cn 2 Vereinfachung: 1 Abbildung 2: B1: nochmal der Graph; B2, B3: Weg ∈ Ps,t (L) mit L = 4; B4: Weg ∈ / Ps,t (L), da Länge 5; B5: L-längen-beschränkt (und ungleich dem Standard-s-t-Schnitt). 1.3 Längen-beschränkte Flüsse Längen-beschränkte Flüsse sind Flüsse entlang Pfaden, s.d. die Länge von jedem Pfad beschränkt ist. Genauer: Ein L-längen-beschränkter Fluss ist eine Funktion f : Ps,t(L) → R≥0 die jedem s-t-Pfad derPLänge maximal L einen Flusswert fp zuweist. Der Wert vom Fluss von f ist definiert als P ∈Ps,t (L) fp . Der Fluss f ist zulässig“ wenn die Kantenkapazitäten ” eingehalten werden. 1.4 Darstellung als LP -Problem Man kann sowohl das minimale-längen-beschränkte Schnitt Problem als auch das maximalelängen-beschränkte Fluss Problem als LP formulieren und diese beiden sind dual zueinander. (1) min P e∈E ue le (2) P s.d.: e∈P le ≥ 1 mit P ∈ Ps,t (L), e ∈ E, le ≥ 0. max P P ∈Ps,t (L) fp P s.d.: P : e∈P fp ≤ ue mit P ∈ Ps,t (L), e ∈ E, fp ≥ 0. Das max-flow-min-cut Theorem Der maximale Fluss im Netzwerk hat genau den Wert ” des minimalen Schnittes“ (bekannt aus z.B. eff.Algo.) lässt sich durch die Dualität von (1) und (2) beweisen. 1.5 Anwendungsgebiete Minimale-längen-beschränkte Schnitte finden Anwendung in verschiedenen Gebieten, wie zum Beispiel der Robustheit von Internet-Graphen oder Verbindungen von Netzewerken. Genauso wichtig ist die Anwendung von maximalen-längen-beschränkten Flüssen in Bereichen, wie zum Beispiel der Optimierung von Ressourcen-beschränkten Systemen. 2 2.1 Längen-beschränkte Schnitte Komplexität und polynomiell lösbare Fälle Betrachte den Fall L = n − c, mit c ∈ N konstant. Wir beweisen die polynomielle Laufzeit durch Angabe des Verfahrens: 2 Abbildung 3: Tabelle mit bekannten und neuen Erkenntnissen (in fett) bzgl. Komplexität; mit Konstanten > 0 und c, n ∈ N Theorem (a). Wenn c ∈ N konstant ist und L = n−c, dann kann der minimale längenbeschränkte Kantenschnitt in polynomieller Laufzeit berechnet werden für (un-)gerichtete Graphen. Beweis. Sei V 0 ⊂ V Knotenschnitt. Zähle alle V 0 mit |V 0 | ≤ c auf und gebe das kleinste 0 V zurück, welches ein längen-beschränkter Knotenschnitt ist, falls es eins gibt. Andernfalls enthält jeder längen-beschränkte Knotenschnitt V 0 mindestens c + 1 Knoten, sodass der längste übrigbleibende s-t-Pfad höchstens die Länge n − c − 1 hat und somit zerschneidet V 0 schon alle s-t-Pfade. Dies gibt uns einen Standard-Minimalen-Knotenschnitt in polynomieller Laufzeit. Theorem (a) lässt sich nicht übertragen auf Kantenschnitte, da man nach dem Entfernen von c Kanten nicht unbedingt alle Pfade von s nach t unterbunden hat. Bei n Knoten existieren O(n2 ) mögliche Kanten. Theorem (b). Für bel. > 0 und L ∈ {5, . . . , n1− }, ist es N P-schwer den minimalen längen-beschränkten Knotenschnitt in (un-)gerichteten Graphen mit einem Faktor von 1.377 zu approximieren. Beweisskizze. Über Reduktion des Knotenüberdeckungsproblems (vertex cover, eng verwandt mit dem Cliquen- oder stabile Mengen-Problem), welches N P-schwer ist mit Approximationsfaktor 1.3606. Eine Knotenüberdeckung“ für einen ungerichteten Graphen GV C = (VV C , EV C ) 3 ist eine ” Teilmenge von Knoten VV0 C ⊆ VV C , sodass für jede Kante {u, v} ∈ EV C mindestens einer der Knoten u, v in VV0 C enthalten ist. Für eine Instanz GV C des Knotenüberdeckungsproblems (und L=5) konstruieren wir einen Längen-beschränkten Knotenschnitt, indem man einzelne Knoten v durch sogenannte KnotenGadgets ersetzt wie in Abbildung 4.a. Falls {u,v} ∈ EV C eine Kante ist, verbinden wir die zu u und v gehörigen Knoten-Gadgets wie in Abbildung 4.b. Auf diese Weise erhält man letztendlich einen Knotenschnitt für L=5. Für L ∈ {5, . . . , n1− } beliebig erweitert man die Struktur der Gadgets ein wenig und erhält dieselben Resultate. Theorem (c). Für bel. > 0 und L ∈ {4, . . . , n1− } ist es N P -schwer den längenbeschränkten Kantenschnitt in (un-)gerichteten (einfachen) Graphen zu approximieren mit einem Faktor von 1.377. (Der Beweis hierzu verläuft analog zu dem Beweise von Theorem (b) mit einem etwas anderem Gadget“,vgl Abbildung 4.c) ” 3 wobei der Index VC bzgl. vertex cover“ bedeutet ” 3 Abbildung 4: (a) die zu ersetztende Gadgetstruktur für einen Knoten v. (b) Die zu ersetztende Kantenverbindung zwischen zwei Knotengadgets u,v. (c) Die Gadgets bezüglich Kantenschnitte Abbildung 5: Reduktion von 2-Partition auf das Längen-beschränkte Schnitte-Problem. Die Beschriftungen bezeichnen Länge/Kapazität. Lemma (a). Für eine Serie von parallelen und kreisplanaren (oder auch außenplana” ren“) (un-)gerichteten Graphen mit Kantenkapazitäten und -Längen ist es N P-schwer zu entscheiden, ob es einen längen-beschränkten Kantenschnitt gibt, der kleiner als ein bestimmter Wert ist. Beweis Lemma (a). (Mittels Reduktion von 2-Partition4 ) Nehme eine beliebige Instanz A={a1 , . . . , ak } mit ai ∈ N und wende 2-Partition darauf an: Gibt es eine disjunkte P P P Teilmengen A1 , A2 ⊂ A mit A1 ∪A2 = A und ai ∈A1 ai = ai ∈A2 ai ? Definiere B := ai ∈A1 ai und betrachte den Graphen in Abbildung 5. Sei L = B − 1. Es folgt, dass es einen Längenbeschränkten Kantenschnitt mit maximaler Größe B genau dann gibt, wenn die Instanz von 2-Partition eine wahre Instanz ist. 3 Längen beschränkte Flüsse 3.1 Kanten-basierte vs. Pfad-basierte Flüsse, Komplexität Aufgrund der LP-Formulierung in (1.4) können wir die Existenz von einer korrespondierenden Pfad-Aufspaltung mit kleiner Größe folgern, in der alle Pfade die Längenbeschränktheit erfüllen. Die LP -Formulierung kann jedoch nicht dazu benutzt werden um effizient einen maximalen gebrochenen längen-beschränkten Fluss zu finden (außer P = N P). Theorem (d). Für ein einfaches längen-beschränktes Fluss-Problem in einem (un-)gerichteten kreisplanarem Graphen ist es N P-vollständig zu entscheiden ob es einen gebrochen längenbeschränkten Fluss gibt mit vorgegebenem Flusswert.5 4 Partition 5 gebrochen ist das Problem eine Zahlenmenge in 2 Teilmengen aufzuspalten, sodass die Differenz 0 ist bedeutet mit Werten ∈ Q, ganzzahlig bedeutet mit Werten ∈ N0 4 Abbildung 6: Ein maximal Längen-beschränkter Fluss schickt mehr als die Hälft des Flusses über Pfade mit kleinen Flusswerten. Beweisskizze. Über die Reduktion von 2-Partition auf das ganzzahlige-längen-beschränkte Fluss-Problem (Analog zum Beweis in Lemma (a)). Weiterhin muss man zeigen, dass ein gebrochener Fluss von Wert 2 einen ganzzahligen-Fluss von Wert 2 induziert. Standard-Flüsse werden in der Regel modelliert als Kanten-Flüsse. Einen maximalen längen beschränkten Fluss zu finden ist im allgemeinen auch schwieriger (bzgl des Rechenaufwands) als einen Standard-Maximalen-Fluss zu finden. Die Formulierung als Pfad-Fluss“ bzw. ” Kanten-Fluss“ korrespondiert miteinander, d.h. man kann sie ineinander überführen. Bei ” Standard-Maximalen-Flüssen ist diese Überführung in beide Richtungen leicht. Bei maximal längen-beschränkten Flüssen ist diese Überführung vom Pfad-Fluss“ zum Kanten-Fluss“ ” ” auch noch leicht. Nur bei maximal längen-beschränkten Flüssen ist die Überführung vom Kanten-Fluss“ zum Pfad-Fluss“ nicht in polynomieller Laufzeit möglich. Dies ist ein Ko” ” rollar aus Theorem (d): Korollar (a). Es gibt keinen polynomiellen Algorithms der Kanten-Flüsse in längenbeschränkte Pfad-Flüsse überführt, selbst wenn der Graph kreisplanar ist. (außer P = N P) 3.2 Struktur der optimalen Lösung und Ganzzahligkeitssprung Bezogen auf längen-beschränkte Flüsse werden wir im folgenden Abschnitt zeigen, dass es durchaus Instanzen gibt, bei denen die optimale Lösung einen Großteil des Flusses über Pfade schickt, deren Kapazität sehr klein ist Theorem (e). Außerdem zeigen wir, dass es nicht unbedingt einen ganzzahligen maximalen längen-beschränkten Fluss geben muss (Theorem (f )) und das, obwohl man bei Standardflüssen folgendes Ergebnis hat: ganzzahlige Kapazitäten liefern immer auch ganzzahlige maximale Flüsse. Theorem (e). Es gibt kreisplanare Graphen mit Ordung n und Einheitskapazitäten, sodass jeder maximal Längen-beschränkte Fluss mehr als die Hälfte des gesamten Flusses über Pfade mit Flusswerte in O( n1 ) schickt. Beweisskizze. Betrachte die Familie von Graphen mit Einheitskapazitäten und -Längen dargestellt in Abbildung 6. Man kann zeigen, dass der eindeutige maximale (2k + 2)-längen1 beschränkte Fluss k +1 Pfade enthält und jeder (bis auf einen) mit einem Flusswert von k+1 k und der übrige mit Flusswert von k+1 (dieser ist der Unterpfad von Länge k + 1 zwischen s und u). Theorem (f ). Ein ganzzahliger (maximaler) Kantenfluss, der zu einem (gebrochenem) längen-beschränktem Fluss in einem (un-)gerichtetem Graphen mit einheitlicher Kantenlänge gehört, muss keine ganzzahlige Pfad Auflösung/Aufspaltung besitzten. Beweisskizze. Der Graph in Abbildung 7 hat einen einzigen maximalen 6-Längen-beschränkten Fluss mit Wert 4. Der Fluss an jeder Kante entspricht der Kapazität und ist dadurch 5 Abbildung 7: Ein Einheitslängen-Graph mit einem ganzzahligen Kantenfluss mit Wert 4, dass einem maximalem gebrochenem 6-Längen-beschränktem Pfadfluss entspricht, der jedoch keine ganzzahlige 6-Längen-beschränkte Pfadabspaltungen hat: vt besitzt Kapazität 3, alle anderen Kanten haben Einheitskapazitäten. ganzzahlig. Aber der einzige Wert des längen-beschränkten Pfades ist ∈ Z + 4 1 2 Weitere Erkenntnisse • Der Lücke zwischen ganzzahligen und gebrochenen Schnitten bzw. Flüssen ist von √ der Größenordnung Ω( n) und daher ist auch √ der Lücke bei ganzzahligen längenbeschränkten Schnitten bzw. Flüssen von Ω( n) • Man kann Flüsse in Netzwerken auch als multi-commodity-flows“ (dt. etwa: mehrere” ” Waren-Flüsse“) betrachten, wobei man mehrere Güter durch das Netzwerk schicken möchte (durchaus mit verschiedenen Quellen und Senken), die Kapazitäten der Pfade jedoch weiterhin beschränkt ist. Bsp: Transportfirma beim Ausliefern von Waren über Straßennetz. Kapazitäten auf Weg = Ladekapazität des Wagens. • Approximationen der Längen-beschränkten Schnitte: – Für L-längen-beschränkte Schnitte mit L = dist(s, t) gilt: approximierbar in polynomieller Zeit. – Unterschiede zwischen Standard- und Längen-beschränkten Schnitten: n ∗ für Knotenschnitte: √ O (L) O(min{L, n/L, n})-Approximation für Knotenschnitte n ∗ für Kantenschnitte: √O ( L ) 2 2 O(min{L, n /L , m})-Approximation für Kantenschnitte ∗ manche besondere Graphen sogar noch besser: O(log n)-Approximation 6