Längen-beschränkte Schnitte und Flüsse

Werbung
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
Herunterladen