Flüsse in Netzwerken - Algorithms and Complexity Group

Werbung
Zeitplan 2003
Flüsse in Netzwerken
Theorie & Algorithmen
Gunnar W. Klau
TU Wien
Zeitplan 2004
Di, 6.1.2004 Heilige Drei Könige
T6
T8
Netzwerke
z
z
z
Starke Zusammenhangskomponenten, Ausgabe
Übungsblatt 3
Mi, 14.1.2004
T11
Übung 2: „Flüsse in Netzwerken I“, Aufg. 2 Gruppe C,
Di, 20.1.2004
Aufg. 3 Gruppe D
T12
Mi, 21.1.2004
Übung 3: „Flüsse II + St. Zushgs.komp.“, Aufg. 1 Gruppe
D, Aufg. 2 Gruppe E, Aufg. 3, Gruppe F
Mi, 21.1.2004
mündliche Prüfungen
-Fr.23.1.2004
Netzwerke
z
Lösung von Übungsblatt 2, Aufgabe 1 (Gruppe B).
Di, 13.1.2004 Flüsse für Fortgeschrittene: polynomielle Algorithmen,
(totale Unimodularität), ((Multicommodity flows))
T10
Einführung, Netzwerke, Flussprobleme,
„Wiederholung“ Maximale Flüsse, Max-Flow-
Min-Cut-Theorem, Ford-Fulkerson, aber kein
Di, 16.12.2003 Preflow Push. Dafür Edmonds-Karp-Schranke,
Anwendungen, kostenminimale Flüsse,
Flussdekompositionstheorem, Anwendungen,
Mi, 17.12.2003 Optimalitätskriterien, Algorithmen, (Ausgabe
Übungsblatt 2).
T7
Mi, 7.1.2004 VL fällt aus (Konferenz)
T9
Mi, 10.12.2003
z
z
z
Stromnetz
Telefonnetz
Warenfluss zwischen Herstellern und
Konsumenten
Verkehr (Straßen, Züge, Flugzeuge, ...)
Oft wollen wir Güter von einem Punkt
zu einem anderen schicken
Ziel
z
So viel/effizient/billig wie möglich
1
Netzwerkoptimierung
z
z
seit ca. 1940
Definition: Ein (s-t-)Netzwerk N = (V, A, c, l, u, b) besteht aus
z
z
z
z
z
z
z
z
z
Netzwerkoptimierung
einem gerichteten Graphen (V, A) mit n Knoten und m
gerichteten Kanten (Bögen),
den Kosten c: A → R,
den unteren Schranken l: A → R≥ 0,
den oberen Schranken (Kapazitäten) u: A → R≥ 0 und
der Überschuss-/Bedarfsfunktion b: V → R.
(zwei ausgezeichneten Knoten, der Quelle s und der Senke t)
z
z
Ein Fluss ist eine Funktion f: A → R≥ 0 mit den Eigenschaften
1.
2.
l(v,w) · f(v,w) · u(v,w) für alle v, w ∈ V Kapazitätsbeschr.
Flusserhaltung
für alle v ∈ V
z
z
z
b(v) > 0: Knoten mit Überschuss
b(v) < 0: Knoten mit Bedarf
b(v) = 0: Durchflussknoten
Netzwerkoptimierung
z
z
Lemma 1: Für einen Fluss gilt ∑v ∈ V b(v) = 0.
Beweis: Tafel.
Die Kosten eines Flusses f sind ∑a ∈ Ac(a)f(a).
Ein Fluss f ist minimal, wenn kein Fluss g mit geringeren Kosten
existiert.
Netzwerkoptimierung
Minimales Kostenflussproblem: Finde minimalen Fluss im
Netzwerk.
Spezialfall 1: Kosten, aber keine Kapazitäten
Kürzester Weg von s nach t
Setze b(s) = 1, b(t) = -1 und b(v) = 0 ∀ v ∈ V \ {s,t}
Spezialfall 2: Kapazitäten, aber keine Kosten
Problem des maximalen s-t-Flusses (Sende soviel Güter wie
z
z
Bindeglied zwischen linearer und ganzzahliger Optimierung
(Flussprobleme sind ganzzahlige lineare Programme, für die
effiziente, kombinatorische Lösungsmethoden existieren).
Dualitätssatz hat hier die schöne Form des Max-Flow-MinCut-Theorems.
möglich von s nach t ohne die Kapazitätsgrenzen zu verletzen.)
Setze b(v) = 0 ∀ v ∈ V, c(a) = 0 ∀ a ∈ A.
Füge zusätzlichen Bogen (t,s) ein mit Kosten c(t,s) = -1 und
Kapazität u(t,s) = ∞.
Literatur zur
Netzwerkoptimierung
Das Netzwerk N
z
Linz
12
z
s
Salzburg
Gut geschriebener Klassiker (70er), nur 11 Euro.
St. Pölten
20
16
4
9
10
Klagenfurt
14
z
C. H. Papadimitriou, K. Steiglitz. Combinatorial Optimization:
Algorithms and Complexity. Klassiker, auch gut geschrieben, etwas aktueller
z
W. Cook, W. H. Cunningham, W. R. Pulleyblank, A. Schrijver.
Combinatorial Optimization.
t
Wien
7
13
R. K. Ahuja, J. B. Magnanti, T. L. Orlin. Network Flows. Prentice
Hall. Sehr ausführlich, 846 Seiten über Netzwerkfluss
Eugene Lawler. Combinatorial Optimization: Networks and Matroids.
(1982).
4
Graz
2
Maximale Flüsse:
Anwendungen
z
z
z
z
z
z
Annahmen
Ölfeld s, Raffinerie t, restl. Knoten Pumpstationen,
Kanten Pipelines, Ölstrom wird nur durch Netz
begrenzt
Bipartites Matching
Beweis der Existenz eines Flusses
Scheduling
Matrix Rounding
...
s-t-Fluss etwas anders
definiert...
z
2.
3.
z
z
z
Wir erweitern u auf Def.bereich V × V:
u(a) := 0 ∀ a ∈ V × V \ A
Keine isolierten Knoten
(können einfach entfernt werden)
Ein Fluss f in N?
Ein s-t-Fluss ist eine Funktion f: V × V → R mit den
Eigenschaften
1.
z
z
f(v,w) = -f(w,v) für alle v,w ∈ V
f(v,w) · u(v,w) für alle v,w ∈ V
∑v ∈ Vf(w,v) = 0 für alle w ∈ V \ {s,t}
Schiefsymmetrie
Kapazitätsbeschr.
Flusserhaltung
Der Wert eines s-t-Flusses f ist
|f| := ∑u ∈Vf(u,t), der gesamte Fluss, der t erreicht
Eigenschaft 1) ⇒ f(u,u) = 0 ∀ u ∈ V
s-t-Fluss f ist maximal, wenn es keinen Fluss g mit
|g| >|f| gibt.
Der Residualgraph
Sei f ein Fluss in N. Die Restkapazität einer Kante a ∈
A bzglch. f ist rf(a) := u(a) – f(a)
(„um wieviel kann ich f auf a erhöhen, ohne die
Kapazität u(a) zu überschreiten?“)
Kante a ist Restkante, wenn rf(a) > 0, sonst heißt a
saturiert.
Gf ist der Graph der Restkanten und heißt
Residualgraph (oder Residualnetzwerk) bzglch. f
Linz
12/12
St. Pölten
15/20
11/16
Salzburg
1/4
4/9
10
8/13
Klagenfurt
Wien
7/7
11/14
4/4
Graz
Residualgraph Gf für f
Linz
5
11
St. Pölten
15
3 11
5
Klagenfurt
3
Salzburg
5
12
8
4
5
Wien
7
4
11
Graz
3
Residualgraph
Residualgraph Gf für f
Ein Pfad P in Gf von s nach t heißt augmentierender
Pfad und kann dazu benutzt werden, den Fluss f zu
vergrößern:
Linz
Sei x die minimale Restkapazität auf P (nach Def. gilt x > 0)
“Addiere” x zu dem Fluss auf P, d.h. erhöhe Fluss auf P um
x, erniedrige Fluss in Gegenrichtung um x
(hierbei wird mindestens eine Kante saturiert)
neuer Fluss f’ in f mit |f’| = |f| + x
5
3 11
5
Klagenfurt
3
8
5
4
Linz
1/4
12/12
St. Pölten
4
8/13
4
4/9
0/10
Klagenfurt
Wien
7
Graz
Augmentierter Fluss f´
11/16
Salzburg
5
4
11
Ein Fluss f in N
St. Pölten
15
11
Salzburg
Lemma 2: f’ ist Fluss
Beweis: Tafel.
12
4
11/14
7/7
12/12
Linz
15/20
St. Pölten
19/20
11/16
Salzburg
Wien
1/4
0/9
0/10
7/7
12/13
4/4
Klagenfurt
Graz
Schnitte
Ein s-t-Schnitt ist eine Knotenmenge S ⊂ V mit s ∈ S
und t ∉ S.
Sein Komplement ist
Die Kapazität eines Schnittes ist
4/4
Graz
Max-Flow-Min-Cut-Theorem
Theorem 1 (Max-Flow-Min-Cut) [Ford/Fulkerson 1956,
Sei f ein Fluss in N. Die
folgenden Bedingungen sind äquivalent:
Elias/Feinstein/Shannon 1956]:
1.
2.
3.
(Gesamtkap. der Kanten, die S verlassen)
Lemma 3: Kein Fluss f kann einen Wert haben, der
die Kapazität eines beliebigen Schnittes S übersteigt.
Beweis: Tafel.
11/14
Wien
Es gibt einen Schnitt, der von f saturiert wird.
Fluss f ist maximal.
Es gibt keinen augmentierenden Pfad im Restgraph Gf.
Beweis: Tafel.
Lemma 4: Ein saturierter Schnitt ist minimal.
Beweis: Tafel.
4
Max-Flow-Min-Cut-Theorem
Maximaler Fluss
Die Angabe eines saturierten Schnittes ist ein Beweis
für die Maximalität eines Flusses (Dualitätstheorie).
Beweis: Wert gleich minimaler Schnitt
Linz
12
St. Pölten
19/20
10/16
s
Salzburg
4
9
2/10
Klagenfurt
Die Ford-Fulkerson-Methode
Beginne mit dem Nullfluss (ist Fluss!) und augmentiere,
solange augmentierende Pfade im Residualgraphen
existieren.
Residualgraph für f0
Linz
12
Salzburg
4 10
9
f0 := Nullfluss; i := 0;
while (∃ s-t-Pfad P in Gf ) do {
i
x = min. Restkapazität auf P;
fi+1 := fi “+” x;
++i;
}
St. Pölten
Linz
20
Graz
12
16
Wien
7
4
Klagenfurt
4
Graz
Residualgraph für f0
13
14
11/14
Die Ford-Fulkerson-Methode
Das MCMF-Theorem sagt noch nicht, dass jedes
Netzwerk einen maximalen Fluss zulässt, legt aber
einen konstruktiven Beweis nahe (Schritt (3) ⇒ (2)).
Der entsprechende Algorithmus heißt Ford-FulkersonMethode:
16
Wien
7
13
t
Salzburg
4 10
9
St. Pölten
20
Wien
7
13
4
Klagenfurt
14
Graz
5
Fluss f1
Residualgraph für f1
Linz
4/12
St. Pölten
20
4/16
Salzburg
4
4/9
10
Klagenfurt
4/14
12
Wien
7
13
8
12
Salzburg
4
4 10
4
5
4
8
5
Salzburg
11
11 3
4
4
St. Pölten
Linz
20
11
10
Graz
4/12
St. Pölten
7/20
Salzburg
4
4/9
7/10
Wien
7/7
13
Klagenfurt
11/14
4/4
Graz
Residualgraph für f2
St. Pölten
Graz
5
Wien
7
8
Linz
13
4
Klagenfurt
Wien
7
11/16
Wien
7
13
3
4
20
Fluss f2
7
5
5
4
Residualgraph für f2
Linz
Klagenfurt
Graz
4
4 10
St. Pölten
4
Graz
4
10
4
4
13
13
Klagenfurt
Salzburg
4/4
Residualgraph für f1
Linz
8
Linz
Salzburg
11
11 3
4
St. Pölten
13
7
5
4
Wien
7
13
4
Klagenfurt
3
11
Graz
6
Fluss f3
Residualgraph für f3
Linz
12/12
St. Pölten
Salzburg
Linz
15/20
11/16
1/4
4/9
10
8/13
Klagenfurt
Wien
7/7
11/14
12
3 11
5
Klagenfurt
3
8
5
Graz
St. Pölten
15
11
Salzburg
4/4
4
5
Wien
7
4
Graz
11
Fluss f4
Residualgraph für f4
Linz
12/12
St. Pölten
Linz
19/20
11/16
Salzburg
5
1/4
0/9
10
7/7
12/13
Klagenfurt
11/14
Wien
5
11
Salzburg
3 11
12
19
9
1 12
4/4
Klagenfurt
Graz
Die Ford-Fulkerson-Methode
Korrektheit: (ohne Beweis)
Alg. terminiert mit maximalem Fluss f, wenn
Kapazitäten ganzzahlig. Es ist einfach zu sehen, dass
dann auch f ganzzahlig ist (was nicht heißt, dass es
keinen nicht-ganzzahligen Fluss g mit |g| = |f| gibt).
St. Pölten
1
Wien
7
4
3
11
Graz
Die Ford-Fulkerson-Methode
Analyse:
Laufzeit hängt davon ab, wie man die augmentierenden
Pfade wählt. Bei Wahl eines beliebigen Pfades ergibt
sich eine Laufzeit von O(|A|·|f|), wobei f maximaler
Fluss ist, denn die Schleife benötigt Zeit O(|A|) (finde Pfad
mit DFS oder BFS) und wird höchstens |f| Mal ausgeführt
(ein augmentierter Fluss muss mindestens um 1 größer sein).
Diese Laufzeit ist pseudo-polynomiell, denn die
Inputlänge ist
und
7
Ford-Fulkerson: worst case
f0
L
Gf
S
L
W
1/106
106
106
0/1
S
1
0/106
0/106
f1
0
L
0/106
0/106
Ford-Fulkerson: worst case
W
106
106-1
W
1/106
0/106
G
G
1
L
0/106
1/1
106
106
G
S
Gf
S
1
1
W
106-1
106
G
1
|f1| = 1
Ford-Fulkerson: noch mehr
Probleme
Ford-Fulkerson: worst case
z
Gf
f2
L
1/106
S
L
1/106
0/1
W
1/106
1/106
G
S
1
1
z
106-1
1
106-1
106-1
G
W
1
|f2| = 2 ... |f| = 2 · 106
Ford-Fulkerson mit BFS
z
[Dinits, 1970], [Edmonds & Karp, 1972]:
benutze kürzeste augmentierende Pfade
(kurz = wenig Kanten)
z
z
Theorem 2: Wenn alle Augmentierungen auf
kürzesten Pfaden passieren, gibt es höchstens nm
Augmentierungen.
Bemerkungen:
z
z
z
z
nicht-konvergierende Folge von Augmentierungen möglich
(∞ Anzahl endlicher Augmentierungen)
z
Konvergenz gegen nicht-optimale Lösung möglich
2
1
106-1
Irrationale Kapazitäten:
Klappt auch für reelle Kantenkosten.
Kürzester Weg ist nicht schwerer zu finden als irgendein
Weg (BFS braucht Zeit O(m)).
Zadeh: O(n3) Augmentierungen nötig.
z
z
Lösungsversuch 1 [Edmonds & Karp]: Wähle
augmentierenden Pfad, der den höchsten Flusszuwachs
bringt → Verbesserung auf O(m·log |f|)
Augmentierungen bei u ∈ Z≥ 0.
Immerhin polynomiell... aber immer noch unbefriedigend.
Lösungsversuch 2: Preflow-Push (nicht in dieser VL)
Laufzeit O(n3)
Lösungsversuch 3: Ford-Fulkerson mit BFS...
Ford-Fulkerson mit BFS
z
z
Folgerung: Ford-Fulkerson mit BFS löst das
Problem des maximalen Flusses in Zeit O(nm2).
Beweis von Theorem 2:
Betrachte eine typische Augmentierung auf Pfad
s = v0, v1, ..., vk-1, vk = t,
die aus Fluss f den Fluss f´macht.
df(v, w) := kleinste Anzahl Bögen auf v-w-Pfad in Gf = (V, Af)
z
v1
v2
v3
v4
s = v0
v5 = t
Klar: df(s, vi) = i, df(vi, t) = k – i.
Auch klar: Neue Bögen in Gf haben die Form (vi, vi-1) für
irgendein i.
8
Ford-Fulkerson mit BFS
z
z
Lemma 5: Für alle v ∈ V: df´(s, v) ≥ df(s, v).
Beweis: Tafel.
Ein Bogen (i, j) eines augmentierenden Pfades P ist ein
Flaschenhals (bottleneck arc), wenn seine Residualkapazität gleich
der von P ist.
z
z
Lemma 6: Ein Bogen kann höchstens O(n) Mal
Flaschenhals sein.
Beweis: Tafel.
Verbindung zur
Graphentheorie
z
z
z
z
Theorem [Menger, 1927]:
Die maximale Anzahl kantendiskjunkter (knotendiskunkter)
Pfade von s nach t ist gleich der minimalen Anzahl von Bögen
(Knoten), deren Entfernung s von t trennt.
Beweis: Übung.
Theorem [König, 1931]:
In einem bipartiten Graphen ist die maximale Kardinalität
jedes Matchings gleich der minimalen Kardinalität jeder
Knotenüberdeckung.
Beweis: Übung.
Knickminimierung
z
z
z
Gegeben: 4-planarer Graph G = (V, E), d.h. G
planar und ∀ v ∈ V: δ(v) · 4
Gesucht: Planare orthogonale Gitterzeichnung von
G mit minimaler Anzahl von Knicken.
Formann et al., 1990: NPvollständig zu entscheiden,
ob es orthogonale Zeichnung
für G ohne Knicke gibt.
Ford-Fulkerson mit BFS
z
z
z
Bemerkung: Man kann zeigen, dass eine Folge von
O(m) Augmentierungen existiert, die einen maximalen
Fluss ergeben. Von diesen benutzt keiner einen
Rückwärtsbogen.
Der (leider nicht konstruktive) Beweis zeigt, dass ein
O(m2)-Algorithmus für das maximale Flussproblem
möglich ist.
Wer ihn findet, kriegt eine Eins.
Kostenminimale Flüsse
z
Anwendungen: Knickminimierung für planare
Graphen.
Knickminimierung
z
Aber:
z
z
z
Gegeben: 4-planarer Graph mit planarer Einbettung
Gesucht: Gitterzeichnung mit minimaler Knickanzahl, die
die planare Einbettung beibehält
Tamassia, 1987: Transformation
des Problems in ein minimales
Kostenflussproblem in einem
Netzwerk → polynomieller Algorithmus.
9
Exkurs: kombinatorische und
planare Einbettungen
z
z
z
z
z
Exkurs: kombinatorische und
planare Einbettungen
Kombinatorische Einbettung: Äquivalenzklasse von
planaren Zeichnungen von G.
2 Zeichnungen äquivalent ↔ zirkuläre Reihenfolge
der Kanten um jeden Knoten gleich (Uhrzeigersinn)
beschreibt die Topologie einer Zeichnung auf der
Kugel; i.A. gibt es exponentiell viele kombinatorische
Einbettungen von G
Zusätzlich: äußere Region festgelegt: planare
Einbettung
beschreibt die Topologie einer Zeichnung in der
euklidischen Ebene
v1
v2
v1
∼
v3
v4
v3
v5
v4
¿
v2
v3
v1
f1
v3
v5
f2
z
Äquivalent: regionenorientiert
In der planaren Einbettung wird für jede Region f
wird eine zirkuläre Liste (im Uhrzeigersinn) P(f) der
begrenzenden Kanten angegeben.
v2
z
z
z
erweitert die planare Einbettung P
beschreibt zusätzlich zur Topologie die Form einer
planaren orthogonalen Zeichnung
ist „dimensionslos“ (es werden keine Angaben über die
Längen der Kantensegmente gemacht)
ist, wie P, eine Menge von zirkulären, im Uhrzeigersinn
sortierten Listen H(f) für jede Region f.
Ein Element r ∈ H(f) hat die Form (er, sr, ar), wobei
z
z
z
z
Binärstring sr beschreibt Form der Kante er. Das k-te Bit in
sr beschreibt den k-ten Knick auf er (im Uhrz.sinn). Dabei
steht 0 für einen 90°-Knick und 1 für einen 270°-Knick
Sei q das auf r folgende Element in H(f). Dann bezeichnet
ar den Winkel zwischen er und eq in f.
er eine f begrenzende Kante,
sr ein Binärstring und
ar ∈ {90, 180, 270, 360} eine ganze Zahl ist.
Orthogonale Repräsentation
orthogonale Repräsentation
z
v5
orthogonale Repräsentation
z
z
z
f2
f3
v4
Knickminimierung
z
Knickminimierung
¿
f1
v1
∼
f3
v4
Exkurs: kombinatorische und
planare Einbettungen
v5
v2
e1
e5
f1
e3
e6
f2
e2
f0
e4
H(f1): ((e1, ε, 90), (e6, ε, 180), (e5, 00, 90))
H(f2): ((e6, ε, 90), (e3, 0, 360), (e3, 1, 90), (e2, 0010, 90), (e4, ε, 90))
H(fo): ((e4, ε, 270), (e2, 1011, 90), (e1, ε, 270), (e5, 11, 90))
10
Orthogonale Repräsentation
Die Anzahl der Knicke von H ist
,
wobei |sr| die Länge von sr bezeichnet.
Theorem: H ist genau dann die orthogonale Rep.
einer planaren orthogonale Zeichnung, wenn
folgende Eigenschaften erfüllt sind:
z
z
z
z
Geg.: orthogonale Repräsentation H.
z
z
z
z
z
z
z
z
z
z
z
z
z
(bedeutet: jede Region ist ein rektilineares Polygon)
(P4): Für jeden Knoten v in H gilt: Summe der a-Felder, die zu
Kanten gehören, deren Endknoten v ist, beträgt 360°, also
Knotenmenge U = UV ∪ UF
z
UV = {iv | v ∈ V}. Knoten iv ∈ UV haben Überschuss b(iv) = +4
UF = {if | f ∈ F}. Knoten if ∈ UF haben Bedarf
z
Das gesamte Potenzial beträgt demnach
z
Geg.: planarer Graph G = (V, E) mit planarer
Einbettung h{P(f) | f ∈ F}, f0}i
Ges.:orthogonale Repräsentation {H(f) : f ∈ F} mit der
minimalen Anzahl von Knicken.
Transformation nach Tamassia:
Wir konstruieren Netzwerk NP = (U, A, b, l, u, c)
Ein Fluss im Netzwerk entspricht den Winkeln der
späteren Zeichnung. Winkel sind eine “Ware”, die an
den Knoten produziert und in den Regionen
konsumiert wird.
Flusseinheit entspricht 90°-Grad-Winkel
Flusserhaltung an iv ∈ UV garantiert, dass die
Winkelsumme um v 360° beträgt.
Flusserhaltung um if ∈ UF garantiert, dass f als
rektilineares Polygon gezeichnet wird.
Beispiel: Tafel.
(P3): Def. für jedes r
Dann gilt:
Transformation
Wie können wir aus H eine Zeichnung machen?
Anderes Thema... wir konzentrieren uns auf
Interpretation
Theorem: H ist genau dann die orthogonale Rep.
einer planaren orthogonale Zeichnung, wenn folgende
Eigenschaften erfüllt sind:
z
(P1): H ohne die s- und r-Felder ist planare Einbettung
eines 4-planaren Graphen.
(P2): Seien r, q ∈ H, r ≠ q mit er = eq. Dann erhält man sq
aus sr durch Umdrehen der Reihenfolge und Flippen der
Bits.
Knickminimierung
z
Orthogonale Repräsentation
Transformation
z
Kantenmenge A = AV ∪ AF
z
z
z
z
Für die Analyse ist es bequem, A als Multimenge zu
modellieren.
AV enthält einen Bogen (iv, if) wenn v ∈ V einen Winkel in f ∈ F
bildet. Genauer, wir definieren E(v, f) := {e ∈ P(f) | e = (u, v)}
und AV = {(iv, if) | e ∈ E(v, f)}, (warum Multimenge?)
l(iv, if) = 1
u(iv, if) = 4
c(iv, if) = 0
Interpretation: Die Knoten verteilen ihre Winkel an die
Regionen. Jeder Winkel muss mind. 90°, darf aber höchstens
360° betragen. Da dabei keine Knicke entstehen, sind die
Kosten Null.
11
Transformation
z
Kantenmenge A = AV ∪ AF
z
Transformation
z
AF enthält für jede Kante e ∈ E zwei Bögen (if, ig) und (ig, if),
wobei f und g die Regionen sind, die von e getrennt werden.
(Warum Multimenge? Gibt es Schleifen?)
z
z
z
l(if, ig) = 0
u(if, ig) = ∞
c(if, ig) = 1
Interpretation: Da i.A. nicht alle Flusseinheiten direkt von den
Knoten zu den Regionen abfließen können – das würde einer
Zeichnung ohne Knicke entsprechen – müssen wir Knicke ins
Flussmodell aufnehmen. Kann der Bedarf nicht direkt gedeckt
werden, können benachbarte Regionen Fluss austauschen.
Jede solche Flusseinheit entspricht einem Knick.
Kosten eines Flusses: Anzahl der Knicke
Transformation
z
z
z
z
Theorem: Für jeden ganzzahligen Fluss x in NP
existiert eine orthogonale Repräsentation H mit
unterliegender Einbettung P. Die Kosten von x sind
b(H).
Beweis: Tafel.
Theorem: Es existiert ein minimaler Kostenfluss in
NP mit ganzzahligen Werten.
Beweis: 2004 (Netzwerktheorie... nur ganzzahlige
Kapazitäten)
z
Theorem: Für jede orthogonale Repräsentation H
mit unterliegender planarer Einbettung P existiert
ein ganzzahliger Fluss x in NP, dessen Kosten
gleich der Anzahl der Knicke b(H) ist.
Beweis: Tafel.
Transformation
Theorem: Die minimale Knickanzahl einer
orthogonalen Rep. H mit unterliegender planarer
Einbettung P ist gleich den Kosten eines
kostenminimalen Flusses x in NP. Ferner kann H
aus x berechnet werden.
Beweis: Folgt aus den 3 letzten Theoremen.
Algorithmus zur Knickminimierung:
z
z
z
z
z
z
z
Konstruiere Netzwerk NP
Berechne kostenminimalen Fluss
Konstruiere orthogonale Repräsentation
Bestimme Kantenlängen
12
Herunterladen