• Keine Ergebnisse gefunden

Gomory-Hu Bäume

N/A
N/A
Protected

Academic year: 2021

Aktie "Gomory-Hu Bäume"

Copied!
18
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

©30.11.18 Jens M. Schmidt

Gomory-Hu Bäume

Jens M. Schmidt b

S a

T

t X‘

V-X‘

X

(2)

©30.11.18

Flussäquivalente Graphen und Gomory-Hu Bäume

Nicht-kreuzende Schnitte, Symmetrische Submodulare Mengenfunktionen

Algorithmus von Gomory und Hu

Überblick

(3)

©30.11.18 Jens M. Schmidt

Sei G ungerichtet mit Gewichtsfunktion (Gewicht 0 <=> keine Kante).

(für negative Gewichte ist schon Min-Schnitt NP-schwer wegen Max-Schnitt) d(S) := Größe des Schnittes  S  V

 (s,t) := Größe d(S) eines minimalen s-t-Schnittes S

Lemma [Transitivität von  ]:  (s,t)  min{  (s,u),  (u,t)} für alle s,t,u  V.

Beweis: Jeder s-t-Schnitt ist entweder s-u-Schnitt (falls u  V-S) oder u-t-Schnitt (falls u  S).

Fluss-äquivalente Graphen

u S

s

V-S

t

(4)

©30.11.18

Lemma: Es gibt höchstens n-1 verschiedene Werte  (s,t) über alle s,t  V.

Beweis:

Betrachte K

n

mit Kantengewichten 

G

(s,t)

T := maximaler Spannbaum von K

n

Beh.: Für jede Knoten s,t und der Kante vw kleinsten Gewichts auf dem s-t-Pfad P in T gilt  (s,t) =  (v,w).

 (s,t)   (v,w), sonst wäre T nicht maximal

Sei P := sp

1

...p

k

t

 (s,t)  min{  (s,p

1

),  (p

1

,t)} nach Transitivität  min{  (s,p

1

),...,  (p

k

,t)}

=  (v,w)

→ jetzt: stärkere Baumdarstellung dieser minimalen s-t-Schnittgrößen

Fluss-äquivalente Graphen

41

3 2

1

p

1

s

t

w

v

P

(5)

©30.11.18 Jens M. Schmidt

Zwei Graphen G und H auf der Knotenmenge V heißen fluss-äquivalent, wenn für alle s,t  V gilt: 

H

(s,t) = 

G

(s,t).

Jeder Graph G hat einen fluss-äquivalenten Baum H.

(z.B. der vorige maximale Spannbaum)

Achtung: H muss nicht Teilgraph von G sein.

T := Baum mit Kante vw

C

vw

:= Knotenmenge der Komponente von T-vw, die v enthält

Ein Baum T auf der Knotenmenge V heißt Gomory-Hu Baum von G, falls C

vw

für jede Kante vw  T ein minimaler v-w-Schnitt von G ist.

Fluss-äquivalente Graphen

1 1

1 1

1

e

d

a b

c

2 2

1 1

e d

a b

  c

G

fluss-äquivalent zu G

kein Teilgraph von G: ad  G

kein GH-Baum: C

de

= {a,d}, d

G

(C

de

)=3 Gomory-Hu Baum sogar Pfad → Übung

2 1

1

e

2

c

a d b

(6)

©30.11.18

Lemma: Ein Gomory-Hu Baum T von G mit Gewichtung d(C

e

) für jedes e  T ist fluss-äquivalent zu G.

Für Knoten s,t  V sei vw eine kleinste Kante auf dem s-t-Pfad P:=sp

1

...p

k

t in T

→ 

T

(s,t) = 

T

(v,w) = 

G

(v,w) da T Baum und nach Gomory-Hu-Definition

G

(s,t)  

G

(v,w) = 

T

(s,t) da v-w-Schnitt C

vw

von G auch s-t-Schnitt von G ist

G

(s,t)  

G

(v,w) = 

T

(s,t):

G

(s,t)  min{ 

G

(s,p

1

),..., 

G

(v,w), 

G

(p

k

,t)} nach Transitivität

Fluss-äquivalente Graphen

41

3 2

1

s

t

w v

P

(7)

©30.11.18 Jens M. Schmidt

Flussäquivalente Graphen und Gomory-Hu Bäume

Nicht-kreuzende Schnitte, Symmetrische Submodulare Mengenfunktionen

Algorithmus von Gomory und Hu

Überblick

(8)

©30.11.18

Lemma: Sei S,T ein minimaler s-t-Schnitt mit s  S und a,b Knoten in S. Dann

existiert ein minimaler a-b-Schnitt X mit X  S. (mit entweder a  X oder b  X) Beweis:

Sei X' ein minimaler a-b-Schnitt mit t  X' (o.B.d.A. a  X')

→ S  X' ist s-t-Schnitt (enthält s, aber nicht t)

→ d(S  X')  d(S) (da S minimal)

Für X := S  X' gilt wegen Submodularität von d:

d(X) + d(S  X')  d(S) + d(X')

→ d(X)  d(X')

→ X ist (wie X') ein minimaler a-b-Schnitt

benötigt Submodularität von d

benötigt Symmetrie von d: d(X)=d(V-X) für alle X  V

→ Gomory-Hu Bäume können sogar für beliebige nicht-negative symmetrische submodulare Mengenfunktionen d mit der gleichen Methode konstruiert werden.

Nicht-kreuzende minimale Schnitte

b S a

T

t X‘

V-X‘

X

(9)

©30.11.18 Jens M. Schmidt

Lemma: Sei S,T ein minimaler s-t-Schnitt mit s  S und a,b Knoten in S. Dann

existiert ein minimaler a-b-Schnitt X mit X  S. (mit entweder a  X oder b  X) Beweis:

Sei X' ein minimaler a-b-Schnitt mit t  X' (o.B.d.A. a  X')

→ S  X' ist s-t-Schnitt (enthält s, aber nicht t)

→ d(S  X')  d(S) (da S minimal)

Für X := S  X' gilt wegen Submodularität von d:

d(X) + d(S  X')  d(S) + d(X')

→ d(X)  d(X')

→ X ist (wie X') ein minimaler a-b-Schnitt

Korollar 1 [merken]:  minimaler a-b-Schnitt A,B mit a  A, so dass T entweder ganz in A oder ganz in B enthalten ist. (A ist entweder X oder V-X)

Korollar 2: 

G/T

(a,b) = 

G

(a,b)  a,b  S. (Kontraktion senkt  nicht+min.Schnitt bleibt)

Nicht-kreuzende minimale Schnitte

Kontraktion

b S a

T

t X‘

V-X‘

X

(10)

©30.11.18

Flussäquivalente Graphen und Gomory-Hu Bäume

Nicht-kreuzende Schnitte, Symmetrische Submodulare Mengenfunktionen

Algorithmus von Gomory und Hu

Überblick

(11)

©30.11.18 Jens M. Schmidt

Sei V

1

,...,V

k

Partition von V.

T := Baum auf der Knotenmenge {V

1

,...,V

k

}.

Für Baumkante V

v

V

w

sei C

vw

:=  C

VvVw

.

T ist Gomory-Hu Baum für V

1

,...,V

k

, falls für jede Kante V

v

V

w

 T ein a  V

v

und b  V

w

existiert, so dass C

vw

ein minimaler a-b-Schnitt von G ist.

→ Gomory-Hu Baum für {v

1

},...,{v

n

} ist Gomory-Hu Baum.

Generalisierte Gomory-Hu Bäume

d(Cvw)=3

Cvw Cvw

V

v

V

2

V

1

V

4

V

w

V

3

(12)

©30.11.18

Algorithmus [gibt Gomory-Hu Baum T

n

aus]:

k := 1 und somit V

1

:= {V} T

1

:=({V},  ) ist GH-Baum für einzigen Knoten {V}

Für k := 1 bis n-1 konstruiere GH-Baum T

k+1

(1 Knoten mehr) aus GH-Baum T

k

Wähle v mit a,b  V

v

V

v

mit  2 Elementen existiert wegen k<n

A,B := minimaler a-b-Schnitt von G mit a  A

Gomory-Hu Algorithmus

Gomory-Hu Baum T Gomory-Hu Baum T

2

V

1

A B

a b V

1

∩B

l(a,b)

A∩V

1

A B

V1

:= V2

:=

(13)

©30.11.18 Jens M. Schmidt Cw v

V2 V1

Vv

A B

a b

V3

Vw V4

Cvw

Algorithmus [gibt Gomory-Hu Baum T

n

aus]:

k := 1 und somit V

1

:= {V} T

1

:=({V},  ) ist GH-Baum für einzigen Knoten {V}

Für k := 1 bis n-1 konstruiere GH-Baum T

k+1

(1 Knoten mehr) aus GH-Baum T

k

Wähle v mit a,b  V

v

V

v

mit  2 Elementen existiert wegen k<n

A,B := minimaler a-b-Schnitt von G mit a  A,

so dass für alle Nachbarn V

w

von V

v

in T

k

gilt: C

wv

 A oder C

wv

 B (Korollar 1)

Splitte V

v

in neue adjazente Knoten V

v

 A und V

v

 B und ersetze Endknoten V

v

jeder Kante V

v

V

w

durch V

v

 A, falls C

wv

 A, und durch V

v

 B, falls C

wv

 B.

V

k+1

:= V

v

 B und V

v

:= V

v

 A.

Gomory-Hu Algorithmus

Gomory-Hu Baum T

k

mit C

wv

 B

Gomory-Hu Baum T

k+1

V

w

ist adjazent zu V

v

 B

T aus Korollar 1 (C

vw

ist min. s-t-Schnitt wegen T

k

)

V2

V1 A B

V3

Vw

V4 Vv∩B

A∩Vv

l(a,b)

Vv Vk+ 1

:= :=

(14)

©30.11.18 Jens M. Schmidt

Korrektheit:

T

k

Baum => T

k+1

Baum

Schnitt A,B existiert nach Korollar 1 nicht-kreuzender Schnitte (iterativ angewandt für alle V

v

V

w

 T

k

mit jeweils S=C

vw

und T=C

wv

)

Gomory-Hu Baum-Bedingung für T

k+1

erfüllt für

Neue Kante V

v

V

k+1

durch a  V

v

und b  V

k+1

Alte Kanten nicht inzident zu V

v

oder V

k+1

da Kantenendblöcke unverändert

Gomory-Hu Algorithmus

Cw v

V2 V1

Vv

A B

a b

V3

Vw V4

Cvw

V2 V1

A B

V3

Vw

V4 Vk+1

Vv

b a

(15)

©30.11.18 Jens M. Schmidt

Alte Kanten inzident zu o.B.d.A. V

k+1

:

C

vw

war minimaler s-t-Schnitt in T

k

Falls s in V

k+1

: weiterhin erfüllt durch s und t

Falls s in V

v

:

Gomory-Hu Algorithmus

Cw v

V2 V1

Vv

A B

a b

V3

Vw V4

Cvw

V2 V1

A B

V3

Vw

V4 Vk+1

Vv

l(a,b)

t s

l(s,t)

b a

(16)

©30.11.18 Jens M. Schmidt

Alte Kanten inzident zu o.B.d.A. V

k+1

:

C

vw

war minimaler s-t-Schnitt in T

k

Falls s in V

k+1

: weiterhin erfüllt durch s und t

Falls s in V

v

:

Gomory-Hu Algorithmus

Cw v

V2 V1

Vv

A B

a b

V3

Vw V4

Cvw

V2 V1

A B

V3

Vw

V4 Vk+1

Vv

t s

l(s,t)

b a

(17)

©30.11.18 Jens M. Schmidt

Alte Kanten inzident zu o.B.d.A. V

k+1

:

C

vw

war minimaler s-t-Schnitt in T

k

Falls s in V

k+1

: weiterhin erfüllt durch s und t

Falls s in V

v

: erfüllt durch b und t (zu zeigen ist  (b,t)=  (s,t)):

 (b,t)   (s,t) da b auf Seite von s im min. Schnitt C

vw

in T

k

war

 (b,t)   (s,t): wie bekommen wir für Transitivität a und s zusammen?

Kontrahiere minimalen a-b-Schnitt A

Nach Korollar 2 bleibt  (b,t) dadurch unverändert

 (b,t)  min{  (b,{A}),  ({A},t)} Transitivität

 ({A},b) =  (a,b)   (s,t) da a-b-Schnitt A auch s-t-Schnitt ist

 ({A},t)   (s,t) da jeder {A}-t-Schnitt auch s-t-Schnitt ist

Gomory-Hu Algorithmus

Cw v

V2 V1

Vv

A B

a b

V3

Vw V4

Cvw

V2 V1

A B

V3

Vw

V4 Vk+1

Vv

l(a,b)

t s

l(s,t)

b a

(18)

©30.11.18 Jens M. Schmidt

Theorem: Ein Gomory-Hu Baum kann in Zeit O(n Fluss(n,m)) berechnet werden.

(Fluss(n,m) := Zeit für das Berechnen eines maximalen s-t-Flusses) Beweis:

Kontrahiere jedes C

ji

zu Einzelknoten in Zeit O(n+m).

Mit Korollar 2 reicht es aus, einen beliebigen min. a-b-Schnitt zu berechnen.

Finde Zugehörigkeit der kontrahierten Knoten zu A oder B.

Gesamtlaufzeit: O(Fluss(n,m)) pro Iteration (dominiert Kontraktionszeit)

Verschärfungen von Gomory-Hu Bäumen auf nicht-triviale min-cuts existieren:

[2017 Lo, S.]. Implikation: Jeder Graph hat O(n/  )  -kantenzshngd. Komponenten.

Gomory-Hu Algorithmus

Cw v

V

2

V

1

V

v

A B

a b

V

3

V

w

V

4

Cvw

Referenzen

ÄHNLICHE DOKUMENTE

Sollten Sie Wünsche, Anliegen oder Fragen haben, an der Rezeption wird Ihnen immer gerne Auskunft gegeben. Öffnungszeiten von Freitag bis Sonntag sind stark

Umschlagssoftware mit neuen Tools aufgerüstet um z.B. die Termin- und Servicesendungen besser zu steuern, zu überwachen und die ankommenden Linienfahrzeuge für

Aktuelle Studie aus OÖ belegt: Psychisches Wohlbefinden ist wichtiger denn je!.. Jede/r dritte EuropäerIn leidet laut WHO mindestens einmal im Leben an einer psychischen

Nutzungseinheit über mehrere Geschoße verteilt Eingabe der Bruttoflächen auf Ebene der Geschoße Flächen auf Gebäudeebene: bebaute

Wir setzen umfassende Maßnahmen am Arbeitsmarkt, etwa im Rahmen des kürzlich unterzeichneten ‚Pakt für Arbeit und Qualifizierung‘, die Investitionsprämie des Bundes wird

Natur- und Artenschutz sind die gelebte Verantwortung für unsere Heimat und müssen daher langfristig mit Weitsicht und Hausverstand gedacht werden.. Die Erhaltung

Ärztinnen und Ärzte aus etwa 600 Ordinationen haben sich bereit erklärt, Impfungen durchzuführen und werden dafür gezielt auf ihre Patientinnen und Patienten, auf welche

„Gerade im Sommer bieten die öffentlichen Badeplätze – sowohl des Landes Oberösterreich als auch das vielfältige Angebot der Bundesforste und der Gemeinden –