Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen...

22
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo T¨ aubig Lehrstuhl f¨ ur Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut f¨ ur Informatik Technische Universit¨ at M¨ unchen Wintersemester 2010/11 H. T¨ aubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 1 / 649

Transcript of Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen...

Page 1: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Prof. Dr. Hanjo Taubig

Lehrstuhl fur Effiziente Algorithmen(Prof. Dr. Ernst W. Mayr)

Institut fur InformatikTechnische Universitat Munchen

Wintersemester 2010/11

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 1 / 649

Page 2: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Knotenzusammenhangsalgorithmen

Knotenzusammenhang (Even & Tarjan)

Algorithmus 14 : Knotenzusammenhang κ (Even & Tarjan)

Input : Ungerichteter Graph G = (V ,E )Output : κ(G )

κmin ← n − 1;i ← 1;while i ≤ κmin do

for j ← i + 1 to n doif i > κmin then

break;else if {vi , vj} /∈ E then

Berechne κG (vi , vj) mit MaxFlow-Prozedur;κmin ← min{κmin, κG (vi , vj)};

i ← i + 1;return κmin;

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 508 / 649

Page 3: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Knotenzusammenhangsalgorithmen

Knotenzusammenhang (Even & Tarjan)

Even/Tarjan-Algorithmus zur Berechnung des (globalen)Knotenzusammenhangs κ

stoppt die Berechnung der lokalenKnotenzusammenhangszahlen κG (vi , vj), falls das Minimum unter dieAnzahl der momentan betrachteten Knoten i fallt

betrachtet hochstens κ+ 1 Knoten in der Schleife fur Variable i

Jeder Knoten hat mindestens δ(G ) Nachbarn, also hochstensn − δ − 1 Nicht-Nachbarn.

⇒ maximal O((n − δ − 1)(κ+ 1)) Aufrufe fur die Berechnung deslokalen Zusammenhangs (MaxFlow fur zwei gegebene Knoten)

⇒ Da κ ≤ δ ≤ d = 2m/n wird der richtige Wert spatestens in Aufruf2m/n + 1 gefunden.

⇒ Komplexitat: O(√nm2)

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 509 / 649

Page 4: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Knotenzusammenhangsalgorithmen

Knotenzusammenhang (Esfahanian & Hakimi)

Verbesserung von Esfahanian & Hakimi:

Lemma

Wenn ein Knoten v zu allen Knoten-Separatoren minimaler Kardinalitatgehort, dann gibt es fur jeden Minimum Vertex-Cut S zwei Knoten ` ∈ LSund r ∈ RS , die zu v adjazent sind.

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 510 / 649

Page 5: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Knotenzusammenhangsalgorithmen

Knotenzusammenhang (Esfahanian & Hakimi)

Beweis.

Annahme: v ist an allen Minimum Vertex-Cutsets beteiligt.

Betrachte die beiden (getrennten) Teile L und R des Restgraphen, dernach dem Loschen verbleibt.

Jede der beiden Seiten muss einen Nachbarn von v enthalten, sonstware v nicht notig, um die Teile zu trennen(und die Knotenmenge ware damit kein minimaler Separator)

Jede Seite, die mehr als einen Knoten enthalt, muss sogar zweiNachbarn von v enthalten, da man sonst durch Ersetzen von v durchden einzigen Nachbarn einen MinCut ohne v konstruieren konnte(Widerspruch zur Annahme).

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 511 / 649

Page 6: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Knotenzusammenhangsalgorithmen

Knotenzusammenhang (Esfahanian & Hakimi)

Algorithmus 15 : Knotenzusammenhang κ (Esfahanian & Hakimi)

Input : Ungerichteter Graph G = (V ,E)Output : κ(G)

κmin ← n − 1;Wahle v ∈ V mit minimalem Grad, also d(v) = δ(G);Seien die Nachbarn N(v) = {v1, v2, . . . , vδ};foreach Nicht-Nachbar w ∈ V \ (N(v) ∪ {v}) do

Berechne κG (v ,w) mit MaxFlow-Prozedur;κmin ← min{κmin, κG (v ,w)};

i ← 1;while i ≤ κmin do

for j ← i + 1 to δ − 1 doif i ≥ δ − 2 or i > κmin then

return κmin;else if {vi , vj} /∈ E then

Berechne κG (vi , vj ) mit MaxFlow-Prozedur;κmin ← min{κmin, κG (vi , vj )};

i ← i + 1;return κmin;

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 512 / 649

Page 7: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Knotenzusammenhangsalgorithmen

Knotenzusammenhang (Esfahanian & Hakimi)

erste Schleife:I Anzahl der Nicht-Nachbarn kann wieder hochstens n − δ − 1 sein⇒ hochstens n − δ − 1 MaxFlow-Aufrufe

zweite Schleife: κ(2δ − κ− 3)/2

Gesamtkomplexitat: n − δ − 1 + κ(2δ − κ− 3)/2

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 513 / 649

Page 8: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Kantenzusammenhangsalgorithmen

Kantenzusammenhang λ kann in ungerichteten ungewichtetenGraphen ebenfalls mit der MaxFlow-Prozedur berechnet werden.

Ersetze dafur jede ungerichtete Kante durch zwei antiparallelegerichtete Kanten mit Kapazitat 1

Berechne dann lokalen Zusammenhang zwischen der entsprechendenQuelle s und der Senke t.

⇒ Resultierendes Netzwerk ist Unit Capacity Network vom Typ 1

⇒ Komplexitat zur Berechnung des lokalen Zusammenhangs fur einKnotenpaar: O(m ·min{m1/2, n2/3})

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 514 / 649

Page 9: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Einfache Kantenzusammenhangsalgorithmen

Trivialer Algorithmus: mit n(n − 1)/2 MaxFlow-Aufrufen den lokalenKantenzusammenhang aller Knotenpaare berechnen

Besser: einen Knoten s festzuhalten und dann fur alle anderenKnoten t die lokalen Zusammenhangszahlen λ(s, t) berechnen

Mindestens einer dieser Knoten muss auf der anderen Seite einesMinCuts liegen.

Deshalb ist das Minimum aller dieser (n − 1) lokalenZusammenhangszahlen λ(s, t) gleich dem (globalen)Kantenzusammenhang λ des Graphen.

Gesamtkomplexitat: O(nm ·min{n2/3,m1/2})

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 515 / 649

Page 10: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

λ-Covering

Der Algorithmus funktioniert auch, wenn man statt der ganzenKnotenmenge nur eine Teilmenge verwendet, die zwei Knoten s, tenthalt, deren lokaler Zusammenhang λ(s, t) gleich dem globalenZusammenhang λ ist.

Eine solche Teilmenge heißt λ-Covering.

⇒ Versuche, die Kardinalitat dieser Knotenmenge zu reduzieren.

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 516 / 649

Page 11: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Komponentengroße

Lemma

Sei S ein Minimum Edge-Cut eines Graphen G = (V ,E ) und sei L,R ⊂ Veine Partition der Knotenmenge, so dass L and R durch S separiert werden.

Wenn λ(G ) < δ(G ), dann besteht jede Komponente von G − S aus mehrals δ(G ) Knoten, d.h. es gilt |L| > δ(G ) und |R| > δ(G ).

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 517 / 649

Page 12: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Komponentengroße

Beweis.

Seien l1, . . . , lk die Elemente von L und sei E [L] = E (G [L]) die Mengeder durch L induzierten Kanten in G .

Es gilt:

δG · k ≤k∑

i=1

dG (li )

≤ 2 · |E [L]|+ |S |

≤ 2 · k(k − 1)

2+ |S |

< k(k − 1) + δG

Aus δG · (k − 1) < k(k − 1) folgt |L| = k > 1 und |L| = k > δG(sowie |R| > δ(G )).

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 518 / 649

Page 13: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Komponentengroße

Folgerung

Wenn gilt λG < δG , dann enthalt jede Komponente von G − S einenKnoten, der mit keiner Kante in S inzident ist.

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 519 / 649

Page 14: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Kantenzusammenhang λ

Lemma

Sei λG < δG und sei T ein Spannbaum von G.Dann enthalten alle Komponenten von G − S mindestens einen Knoten,der kein Blatt in T ist, d.h. die inneren Knoten von T bilden ein λ-Cover.

Beweis.

Nehmen wir an, dass es nicht so ware(d.h. alle Knoten in L sind Blatter von T ).

Also fur keine Kante von T sind beide Endknoten in L, d.h. |L| = |S |.Aus dem vorhergehenden Lemma (λG < δG ⇒ |L| > δG und |R| > δG )

folgt, dass λG = |S | = |L| > δG(Widerspruch zur Annahme).

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 520 / 649

Page 15: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Spannbaum-Berechnung (Esfahanian & Hakimi)

Algorithmus von Esfahanian & Hakimi:

Berechne Spannbaum des gegebenen Graphen.

Wahle beliebigen inneren Knoten v des Baums.

Berechne fur jeden anderen Knoten w , der kein Blatt ist, den lokalenKantenzusammenhang λ(v ,w).

Das Minimum dieser Wertemenge, zusammen mit δG , ergibt genauden Kantenzusammenhang λG .

Ein Baum mit moglichst vielen Blattern ware vorteilhaft, aber dieKonstruktion eines optimalen Baums ist NP-hart.

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 521 / 649

Page 16: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Spannbaum-Berechnung (Esfahanian & Hakimi)

Esfahanian & Hakimi:

Algorithmus zur Berechnung eines Spannbaums T von G , so dassbeide Mengen, L und R eines minimalen Kantenseparators mindestensein Blatt von T enthalten, und nach dem letzten Lemma mindestenseinen inneren Knoten.

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 522 / 649

Page 17: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Spannbaum-Berechnung (Esfahanian & Hakimi)

Algorithmus 16 : Spannbaum-Berechnung (Esfahanian & Hakimi)

Input : Ungerichteter Graph G = (V ,E )Output : Spannbaum T mit einem Blatt und einem inneren Knoten in L

bzw. R

Wahle v ∈ V ;T ← alle Kanten inzident mit v ;while |E (T )| < n − 1 do

Wahle ein Blatt w in T , so dass fur alle Blatter r in T gilt:|N(w) ∩ (V − V (T ))| ≥ |N(r) ∩ (V − V (T ))|;T ← T ∪ {(w , x) ∈ E : x ∈ (V − V (T ))}

return T ;

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 523 / 649

Page 18: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Kantenzusammenhang λ (Esfahanian & Hakimi)

Algorithmus 17 : Kantenzusammenhang λ (Esfahanian & Hakimi)

Input : Ungerichteter Graph G = (V ,E )Output : λ(G )

Konstruiere einen Spannbaum T (voriger Algorithmus);Sei P die kleinere der beiden Mengen(entweder die Blatter oder die inneren Knoten von T );Wahle einen Knoten u ∈ P;c ← min{λG (u, v) : v ∈ P \ {u}};λ← min(δ(G ), c);return λ;

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 524 / 649

Page 19: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Kantenzusammenhang λ (Esfahanian & Hakimi)

Da P als kleinere der beiden Mengen (Blatter / innere Knoten)gewahlt wird, benotigt der Algorithmus hochstens n/2 Berechnungenfur lokale Zusammenhangszahlen.

⇒ Gesamtzeitkomplexitat: O(λmn)

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 525 / 649

Page 20: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Kantenzusammenhang λ (Matula)

Definition

Ein Dominating Set fur einen Graphen G = (V ,E ) ist eineKnotenteilmenge V ′ von V , so dass jeder Knoten, der nicht in V ′ ist, mitmindestens einem Knoten in V ′ uber eine Kante verbunden ist.

Lemma

Im Fall λ(G ) < δ(G ) ist jedes Dominating Set von G auch ein λ-coveringvon G.

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 526 / 649

Page 21: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Kantenzusammenhang λ (Matula)

Verbesserter Algorithmus von Matula:

Analog zur Spannbaum-Methode, wird λ hier berechnet, indem manI ein Dominating Set D von G berechnet,I einen beliebigen Knoten u ∈ D auswahlt undI den lokalen Kantenzusammenhang λ(u, v) fur alle anderen Knoten

v ∈ D \ {u} berechnet.

Das Minimum der Wertemenge (wieder zusammen mit δG ) ist derKantenzusammenhang.

Obwohl die Berechnung eines Dominating Sets minimaler KardinalitatNP-hart ist, kann man zeigen, dass der Algorithmus in Zeit O(mn)lauft, wenn man das Dominating Set wie im folgenden Algorithmuskonstruiert.

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 527 / 649

Page 22: Fortgeschrittene Netzwerk- und Graph-Algorithmen fileZusammenhang Kantenzusammenhangsalgorithmen Kantenzusammenhangsalgorithmen Kantenzusammenhang kann in ungerichteten ungewichteten

Zusammenhang Kantenzusammenhangsalgorithmen

Kantenzusammenhang λ (Matula)

Algorithmus 18 : Berechnung eines Dominating Sets (Matula)

Input : Ungerichteter Graph G = (V ,E )Output : Dominating Set D

Wahle v ∈ V ;D ← {v};while V \ (D ∪ N(D)) 6= ∅ do

Wahle einen Knoten w ∈ V \ (D ∪ N(D));D ← D ∪ {w};

return D;

H. Taubig (TUM) Fortg. Graph- u. Netzwerk-Algorithmen WS’10/11 528 / 649