Graphentheorie

Werbung
Graphentheorie
Prof. Dr. Anand Srivastav
Wintersemester 2014/15
ENTWURF vom 23.12.2014 bis zum Kapitel 5.
Korrekturen und Anregungen sind willkommen!
Inhaltsverzeichnis
1 Grundlagen
5
1.1
Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2
Einfache Struktureigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2 Bäume und Wege in Graphen
13
2.1
Minimal aufspannende Bäume . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.2
Kürzeste Wege in Graphen mit Kantengewichten . . . . . . . . . . . . . . . . . .
15
3 Matching und Vertex-Cover
19
3.1
Matching und Vertex-Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.2
Bipartites Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.3
Der Satz von Tutte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4 Flüsse
27
4.1
Gerichtete Graphen und Flüsse . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.2
Das Max-Flow/Min-Cut-Theorem . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.3
Schneller Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
4.4
Zusammenhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.5
Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5 Planarität von Graphen
41
5.1
Die Eulerformel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5.2
Der Satz von Kuratowski und Wagner
. . . . . . . . . . . . . . . . . . . . . . .
44
5.3
Färbbarkeit planarer Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
3
Kapitel 1
Grundlagen
1.1.
Graphen
Wir vereinbaren folgende Bezeichnungen.
Ź
N “ {1, 2, 3, . . .}, N0 :“ N Y {0}, für n P N setzen wir rns :“ {a P N ;
a ď n}.
Ź Für eine Menge M bezeichne
PpM q :“ {T ; T Ď M } die Potenzmenge von M . Für eine
:“ {T Ď M ; |T | “ n} die Menge der n-elementigen Teilmengen
Menge M und n P 0 sei M
n
von M . Ist M endlich, so gilt
N
Ź Sei k P
M
n
!
!
|M |
|M |!
“
“
.
n
n!p|M | ´ nq!
N und seien f, g : Nk Ñ Rě0 Abbildungen. Wir schreiben
f pnq “ Opgpnqq, falls es c1 , c2 P Rą0 gibt, so dass für alle n P N gilt:
f pnq ď c1 gpnq ` c2 ,
f pnq “ Ωpgpnqq, falls gpnq “ Opf pnqq,
f pnq “ Θpgpnqq, falls f pnq “ Opgpnqq und f pnq “ Ωpgpnqq,
f pnq nÑ8
f pnq “ opgpnqq, falls
ÝÑ 0.
gpnq
N
R
N
R
Beispiel 1.1. Für f :
Ñ ě0 , n ÞÑ 170n2 ` 13n ´ 21, g :
Ñ ě0 , n ÞÑ n2 und
h : Ñ ě0 , n ÞÑ log2 n gilt: f pnq “ Opgpnqq, hpnq “ Opgpnqq, gpnq “ Θpf pnqq, hpnq “ opgpnqq,
hpnq “ Θpln nq.
N R
Definition 1.2 (Graphen und Hypergraphen).
(i) Ein Hypergraph oder Mengensystem ist ein Tupel H “ pV, Eq, bestehend aus einer endlichen
V , der Knotenmenge und der Menge der Hyperkanten E Ď PpV q.
(ii) Ein einfacher Graph ist ein Hypergraph, in dem alle Hyperkanten die Kardinalität genau
zwei haben.
Wir notieren Graphen in der Regel durch das Tupel G “ pV, Eq, wobei
E Ă V2 . Eine Kante e hat die Form e “ {v, w}, u, v P V . Für einen Graphen G
bezeichnet V pGq die Menge seiner Knoten und EpGq die Menge seiner Kanten.
5
Kapitel 1. Grundlagen
~ besteht aus einer endlichen Knotenmenge V und einer
(iii) Ein gerichteter Graph G “ pV, Eq
~ Ď V ˆ V . Dabei interpretieren wir für eine Kante pv, wq P E
~ den Knoten v
Kantenmenge E
als Anfangs- und w als Endpunkt der Kante pv, wq. Man zeichnet pv, wq oft als Vektorpfeil
mit Anfangspunkt v und Spitze w ein.
Beispiel 1.3.
(i) Hypergraph
H “ p{1, 2, 3, 4, 5}, {{1, 2}, {1, 3, 5}, {2, 3, 4}}q
(ii) (einfacher) Graph
G “ p{1, 2, 3, 4, 5}, {{1, 2}, {1, 3}, {2, 4}, {3, 4}, {3, 5}, {4, 5}}q
(iii) gerichteter Graph
G “ p{1, 2, 3, 4, 5}, {p1, 2q, p2, 1q, p3, 5q, p4, 5q}q
6
1.1. Graphen
Vereinbarung. Wenn im folgenden von einem Graphen die Rede ist – ohne nähere Angaben,
zu welcher Klasse er gehört, so ist stets ein einfacher Graph mit n Knoten und m Kanten
gemeint.
Sei G “ pV, Eq ein Graph und n :“ |V | ą 0.
Ź Zwei Knoten v, w P V heißen benachbart, falls {v, w} P E. Für v P V sei
Γpvq :“ {w P V ; {v, w} P E}
die Nachbarschaft von v und degpvq :“ |Γpvq| der Grad von v.
Ź Für V 1 Ď V sei ΓpV 1 q :“ ⋃vPV 1 Γpvq die Nachbarschaft von V 1 .
N
1
1
1
Ź Gibt es r P mit degpvq “ r für alle v P V , so heißt G r-regulär. Ein Graph
1 G “ pV , E q
heißt Teilgraph von G, falls V 1 Ď V und E 1 Ď E. Gilt zusätzlich E 1 “ E X V2 , so heißt G1
induzierter Teilgraph von G, und wir schreiben: G1 “ G|V 1 .
Beispiele.
7
Kapitel 1. Grundlagen
Ź Für V 1 Ď V und E 1 Ď E sei
!
V zV 1
q und G ´ E 1 :“ pV, EzE 1 q.
G ´ V :“ pV zV , E X
2
1
1
Für v P V schreiben wir statt G ´ {v} auch G ´ v, und analog für e P E statt G ´ {e} auch
G ´ e.
Für eine Menge W mit W X V “ H und eine beliebige Menge F zweielementiger Mengen sei
G ` W :“ pV Y W, Eq und G ` F :“ pV Y ⋃ F, E Y F q
die Addition der Graphen G und W .
Ź Sei H “ pW, F q ein weiterer Graph. G und H heißen isomorph, in Zeichen G » H, wenn es
eine bijektive Abbildung ϕ : V Ñ W gibt, so dass für alle v, w P V gilt:
{v, w} P E ô {ϕpvq, ϕpwq} P F.
Die Abbildung ϕ heißt Isomorphismus.
Ź Sei v1 , v2 , . . . , vn eine Aufzählung der Knoten von G. Die Matrix A “ paij q P {0, 1}nˆn mit
aij :“


1,
falls {vi , vj } P E

0
sonst
heißt Adjazenzmatrix von G.
Sei e1 , e2 , . . . , em eine Aufzählung der Kanten von G. Die Matrix B “ pbij q P {0, 1}nˆm mit
bij :“


1,
falls vi P ej

0
sonst
heißt (Knoten-Kanten)-Inzidenzmatrix von G. Die Gestalt der Matrizen A und B hängt von
der gewählten Aufzählung der Knoten und Kanten ab. Dies ist jedoch unwesentlich, da A und
B den Graphen G (unabhängig von der gewählten Aufzählung) bis auf Isomorphie festlegen.
Ź G heißt vollständiger Graph. wenn E “ V2 und wir schreiben: G “ Kn . G heißt leerer Graph,
wenn E “ H. Ein vollständiger Teilgraph heißt Clique, ein leerer induzierter Teilgraph heißt
unabhängige Menge.
~ ein einfacher
Ź Das Komplement von G ist der Graph Ḡ :“ Kn ´ E. Sei G P {pV, Eq, pV, Eq}
oder gerichteter Graph und seien v, w P V . Ein Subgraph P heißt Weg von u nach v in G,
kurz u-v-Weg, wenn V pP q “ {v1 , . . . , vk } und für alle i P rk ´ 1s gilt: {vi , vi`1 } P E (bzw.
~ P heißt geschlossen, falls v1 “ vk . Einen Weg P notieren wir auch durch
pvi , vi`1 q P E).
P “ v1 , . . . , vk .
Ź Ist P “ pv1 , . . . , vk q ein Weg, so heißt |P | :“ k ´ 1 die Länge des Weges P .
Ź Sind P1 “ v1 , . . . , vk und P2 “ w1 , . . . , wl zwei Wege, so bezeichne P1 ˝ P2 den Weg
v1 , . . . , vk , w2 , . . . , wl .
8
1.1. Graphen
Ź Ein Pfad ist ein Weg P mit |P | “ |V pP q| ´ 1, d.h. alle Knoten auf P sind verschieden.
Achtung: Die Bezeichnung kommt aus der englischsprachigen Literatur, hier wird ein Pfad
meist als “path” bezeichnet, während ein Weg “walk” genannt wird.
Ź Ein Weg P “ v1 , . . . , vk , v1 heißt Kreis, falls |P | ě 3 und v1 . . . , vk ein Pfad ist. G heißt
kreisfrei, wenn es keinen Kreis in G gibt.
Ź Ein Graph G heißt zusammenhängend, wenn für alle v, w P V ein Weg von v nach w
existiert. Ein zusammenhängender induzierter Teilgraph von G, der in keinem anderen
zusammenhängenden Teilgraphen von G echt enthalten ist, heißt Zusammenhangskomponente
von G. G heißt Baum, wenn G kreisfrei und zusammenhängend ist. G heißt Wald, wenn G
kreisfrei ist.
Ź Ein Graph G heißt bipartit, wenn es V1 , V2 Ď V gibt mit V1 X V2 “ H, V1 Y V2 “ V und
E Ď {{v1 , v2 } ; v1 P V1 , v2 P V2 }. In diesem Fall heißt pV1 , V2 q eine Bipartition von G und wir
schreiben G “ pV1 ẎV2 , Eq.
Ź Ist E “ {{v1 , v2 } ; v1 P V1 , v2 P V2 } so heißt G vollständig bipartit und wir schreiben G “
Kn1 ,n2 , wobei n1 :“ |V1 |, n2 :“ |V2 |.
Ź Sei G “ pV, Eq ein zusammenhängender Graph. Für alle u.v P V heißt
dG pu, vq :“ min {|P | ; P ist ein u-w-Weg}
der Abstand von v zu w. Ein u-v-Weg P mit |P | “ dG pu, vq heißt kürzester Weg von u nach
v in G.
Kürzeste Wege lassen sich effizient berechnen.
Algorithm 1: Breitensuche
Eingabe: Graph G “ pV, Eq, Knoten v0 P V .
Ausgabe: Ein Baum, der die kürzesten Wege von v0 zu allen Knoten beschreibt.
8
pW, F q Ð p{v0 }, Hq;
Q :“ pv0 q;
/* Q dient als Warteschlange */
solange Q nicht-leer tue
Seien v1 , . . . , vl so dass Q “ pv1 , . . . , vl q;
Bestimme w1 , . . . , wk so dass Γpv1 q X pV zW q “ {w1 , . . . , wk };
Q Ð pv2 , . . . , vl , w1 , . . . , wk q;
W Ð W Y {w1 , . . . , wk };
F Ð F Y {{v, w} ; w “ w1 , . . . , wk };
9
Ausgabe pW, F q;
1
2
3
4
5
6
7
Proposition 1.4. pW, F q ist ein Baum und enthält die kürzesten Wege in g von v0 nach w für
alle w P V .
9
Kapitel 1. Grundlagen
1.2.
Einfache Struktureigenschaften
Proposition 1.5. Sei G “ pV, Eq ein Graph mit n :“ |V |, m :“ |E|. Dann gilt
(i)
P
vPV
degpvq “ 2m.
(ii) Die Anzahl der Knoten ungeraden Grades in G ist gerade.
(iii) Ist G zusammenhängend, so ist m ě n ´ 1.
(iv) Ist G kreisfrei, so ist m ď n ´ 1.
Beweis. (i). Wenn man degpvq über alle Knoten v summiert, wird jede Kante genau zweimal
P
betrachtet. Also gilt vPV degpvq “ 2m.
(ii). Es ist
P
v: degpvq gerade
degpvq eine gerade Zahl, etwa 2p. Mit (i) folgt
X
X
degpvq “
v: degpvq ungerade
X
degpvq `
v: degpvq ungerade
degpvq ´ 2p
v: degpvq gerade
“ 2m ´ 2p “ 2pm ´ pq.
P
Damit ist v: degpvq ungerade degpvq gerade und somit auch die Anzahl der Summanden (da jeder
Summand ungerade ist).
(iii). Per Induktion über n. Für n “ 1 ist die Aussage trivial. Sei nun G ein zusammenhängender
Graph auf n ě 2 Knoten. Wir wählen einen beliebigen Knoten v und betrachten den Graphen
H “ G ´ v. H ist nicht notwendig zusammenhängend. Wir nehmen an, dass H in k Zusammenhangskomponenten Z1 , . . . , Zk zerfällt mit n1 , . . . , nk Knoten, also n1 ` ... ` nk “ n ´ 1. Nach
Induktionannahme enthält der von Zi induzierte Untergaph von H mindestens ni ´ 1 Kanten.
Da G zusammenhängend ist, muß v mit jeder Komponente Zi durch wenigstens eine Kante
verbunden sein. Somit enthält G insgesamt mindestens
k`
k
X
k
X
i“1
i“1
pni ´ 1q “
ni “ n ´ 1
Kanten.
(iv). Per Induktion über n. Für n “ 1 ist m “ 0. Sei jetzt n ě 2. Wir wählen eine Kante
e P E so, dass H “ G ´ e eine Zusammenhangskomponente mehr als G hat. Also zerfällt H in
zusammenhängende, kreisfreie Graphen H1 , . . . , Hk , k ě 2, mit Knotenzahlen n1 , . . . , nk , und
ni ď n ´ 1 für alle i P rks. Nach Induktionshypothese hat jeder Graph Hi höchstens ni ´ 1
Kanten, und damit hat G höchstens
pni ´ 1q ` .. ` pnk ´ 1q ` 1 “ pn1 ` .. ` nk q ´ pk ´ 1q ď n ´ 1
Kanten.
Korollar 1.6. Sei G “ pV, Eq ein Baum, n :“ |V |, m :“ |E|. Dann gilt m “ n ´ 1.
Beweis. Folgt aus Proposition 1.5 (iii) und (iv).
Satz 1.7. Für einen Graph G sind folgende Aussagen äquivalent:
10
1.2. Einfache Struktureigenschaften
(a) G ist ein Baum.
(b) G ist ein minimaler zusammenhängender Graph.
(c) G ist ein maximaler kreisfreier Graph.
Beweis. (a) ùñ (b). Da G kreisfrei ist, zerstört die Entnahme einer Kante den Zusammenhang.
(b) ùñ (c). Seien u, v P V . Da G zusammenhängend ist, gibt es einen Weg von u nach v. Fügt
man die Kante {u, v} ein, so bildet sie zusammen mit dem Weg einen Kreis.
(c) ùñ (a). Angenommen, G ist nicht zusammenhängend. Wähle zwei Zusammenhangskomponenten K1 und K2 . Zwischen diesen kann eine Kante eingefügt werden, ohne dass ein Kreis
entsteht. Dies ist ein Widerspruch zu (c).
Definition 1.8. Sei G “ pV, Eq ein zusammenhängender Graph. Ein Baum T “ pV, F q mit
F Ď E heißt Gerüst oder aufspannender Baum von G.
Korollar 1.9. Jeder zusammenhängender Graph enthält einen aufspannenden Baum.
Beweis. Betrachte den folgenden Algorithmus. Alternativ wende Breitensuche an, Algorithmus 1.
Algorithm 2: Aufspannender Baum
Eingabe: Graph G “ pV, Eq, E “ {e1 , . . . , em }.
Ausgabe: Ein aufspannender Baum von G.
4
T Ð pV, Hq;
für i Ð 1 bis n tue
wenn T ` ei kreisfrei dann
T Ð T ` ei ;
5
Ausgabe T ;
1
2
3
N
Definition 1.10. Sei G “ pV, Eq ein Graph, k P . Eine k-Färbung von G ist eine Funktion
f : V ÝÑ rks, so dass für je zwei benachbarte Knoten u, v P V gilt f puq ‰ f pvq.
Die chromatische Zahl χpGq ist die kleinste Zahl k P
N, so dass eine k-Färbung von G existiert.
Satz 1.11. Sei G “ pV, Eq ein nicht-leerer Graph. Es sind äquivalent:
(a) G ist bipartit, etwa V “ S ẎT , EpSq “ EpT q “ H.
(b) χpGq “ 2.
(c) G enthält keinen ungeraden Kreis.
11
Kapitel 1. Grundlagen
Beweis. (a) ùñ (b). Wir können alle Knoten in S mit einer ersten Farbe färben und die in T
mit einer zweiten Farbe, d.h. χpGq ď 2. Da E ‰ H haben wir χpGq ě 2 (die Enden einer Kante
müssen verschieden gefärbt sein).
(b) ùñ (c). Sei f eine 2-Färbung von G. Wir zerlegen die Knotenmenge V in zwei Mengen S,
T , wobei jede Menge monochromatisch ist, d.h. S :“ f ´1 p1q und T :“ f ´1 p2q. Dann haben wir
S ẎT “ V . Es enthalten weder T noch S eine Kante. Sei C “ pv1 , v2 , .., vl , v1 q ein Kreis in G.
O.B.d.A. sei v1 P S. Da innerhalb von S (und T ) keine Kante verläuft, gilt
v2 P T, v3 P S, . . . , vl P T, v1 P S.
Der Index l ist gerade, d.h die Länge des Pfades pv1 , .., vl q ist ungerade und somit hat C gerade
Länge.
(c) ùñ (a). O.B.d.A. sei G zusammenhängend. Wir wählen einen Knoten v 0 . Mit S bezeichnen
wir die Menge aller Knoten, die von v 0 geraden Abstand haben, und mit T das Komplement
von S. Angenommen, es gibt eine Kante {v, u} P S. Es seien Pv “ pv1 “ v 0 , v2 , . . . , vk “ vq,
Pu “ pu1 “ v 0 , u2 , . . . , ul “ uq kürzeste Pfade von v 0 nach v bzw u. Nach Voraussetzung haben
Pv und Pu gerade Länge. Sei s der letzte gemeinsame Knoten auf den beiden Pfaden, d.h.
s P V pPv q X V pPu q, etwa s “ vi0 “ uj0 , und für alle i ą i0 gilt vi R V pPu q und für alle j ą j0 gilt
uj R V pPv q. Dann bildet C :“ ps “ vi0 , vi0 `1 , . . . , v “ vk , u “ ul , ul´1 , . . . , uj0 `1 , uj0 “ sq einen
Kreis. Da Pv und Pw jeweils kürzeste Pfade sind, gilt i0 “ j0 . Der Teilweg von s nach v von
Pv und der von s nach u von Pu sind somit beide gerade. Damit hat C ungerade Länge, ein
Widerspruch.
Algorithm 3: Test auf Bipartition
Eingabe: Ein Graph G “ pV, Eq.
Ausgabe: Ob G bipartit, und falls ja: Bipartition, sonst ein Kreis ungerader Länge.
1
2
3
4
5
6
12
Wähle ein v0 P V ;
Führe Breitensuche durch und partitioniere V in S und T , so dass
S “ {w ; dpv0 , wq gerade}, und T “ {w ; dpv0 , wq ungerade};
für alle e “ {v, w} P E tue
wenn v, w P S oder v, w P T dann
Ausgabe Nein, sowie ein Kreis ungerader Länge konstruiert wie im Beweis von
Satz 1.11;
Ausgabe Ja, sowie Bipartition S, T ;
Kapitel 2
Bäume und Wege in Graphen
2.1.
Minimal aufspannende Bäume
Lemma 2.1. Sei G “ pV, Eq ein Graph. Folgende Aussagen sind äquivalent.
(a) G ist ein Baum.
(b) Zwischen je zwei Knoten von G existiert genau ein Pfad.
(c) G ist zusammenhängend und |E| “ |V | ´ 1.
Satz 2.2 (Cayley-Formel). Die Anzahl der aufspannenden Bäume des Kn ist gleich nn´2 (für
n ě 2).
Beweis. siehe J. Matoušek, J. Nešetřil, Diskrete Mathematik, Seite 249–270.
Schreibweise. Sei f : M Ñ
P
tPT f ptq.
R eine Abbildung und T
Ď M . Dann schreiben wir f pT q für
Problem 2.3 (Minimal aufspannender Baum (MST)).
Eingabe Zusammenhängender Graph G “ pV, Eq, Kantengewichtsfunktion c : E Ñ
Q.
Aufgabe Finde einen aufspannenden Baum T “ pV, F q von G mit minimalem Gewicht, d.h. mit
cpF q “ min {cpF 1 q ; T 1 “ pV, F 1 q ist Baum }.
Algorithm 4: MST (Kruskal)
Eingabe: G “ pV, Eq mit n :“ |V |, m :“ |E|, c : E Ñ
Q.
5
T Ð pV, Hq;
Sortiere die Kanten nach Gewicht: cpe1 q ď cpe2 q ď . . . ď cpem q;
für i Ð 1 bis m tue
wenn T ` ei kreisfrei dann
T Ð T ` ei ;
6
Ausgabe T ;
1
2
3
4
13
Kapitel 2. Bäume und Wege in Graphen
Beispiel 2.4. Wir wenden den Kruskal-Algorithmus auf folgenden Graphen an.
Ein möglicher Ablauf des Algorithmus sieht dann so aus.
Satz 2.5 (Kruskal, 1956). Der Kruskal-Algorithmus findet einen MST in Zeit Opmnq.
Beweis. Sei T “ pV, F q die Ausgabe des Algorithmus. Angenommen, T ist nicht zusammenhängend. Dann gibt es zwei Zusammenhangskomponenten und eine Kante e1 P EzF , die diese
verbindet. Sei e P EzF die leichteste Verbindungskante der beiden Zusammenhangskomponenten.
Dann ist T ` e kreisfrei und folglich e P F im Widerspruch zur Wahl von e. Somit ist T
zusammenhängend. Nach Konstruktion ist T auch kreisfrei und enthält alle Knoten von G, also
ist T ein Gerüst von G. Angenommen, es gibt einen MST T ˚ “ pV, F ˚ q mit cpF ˚ q ă cpF q.
Für alle i P rn ´ 1s sei fi P F diejenige Kante, die der Algorithmus als i-te hinzugefügt
hat. Wir können T ˚ so wählen, dass der kleinste Index k P rn ´ 1s mit fk R F ˚ maximal
ist. T ˚ ` fk besitzt einen Kreis C. Dieser enthält eine Kante g mit g R F . Wegen g P F ˚ und
{f1 , . . . , fk´1 } P F ˚ ist pV, {f1 , . . . , fk´1 }}Y{g}q kreisfrei. Da g R F gilt, folgt cpgq ě cpfk q. Dann
aber ist T 1 “ pV, F 1 q :“ T ˚ ` fk ´ g ein Gerüst von G mit cpF 1 q “ cpF ˚ q ` cpfk q ´ cpgq ď cpF ˚ q,
d.h. T 1 ist ein MST mit {f1 , . . . , fk } P F 1 im Widerspruch zur Wahl von T ˚ .
Zur Laufzeit: Die Eingabelänge ist Ωpm ` nq. Das Sortieren der Kanten lässt sich in Zeit
Opm log mq erledigen. Mit Breitensuche ist der Test auf Kreisfreiheit in Zeit Opnq möglich,
also ist die Gesamtlaufzeit Opmnq.
Bemerkung 2.6. Durch eine geschicktere Implementierung lässt sich die Laufzeit des KruskalAlgorithmus auf Opm log nq verringern (siehe B. Korte, J. Vygen, Combinatorial Optimization,
Seite 120).
14
2.2. Kürzeste Wege in Graphen mit Kantengewichten
Algorithm 5: MST (Prim)
Eingabe: G “ pV, Eq mit n :“ |V |, m :“ |E|, c : E Ñ
Q.
4
Wähle v P V und setze T Ð p{v}, Hq;
solange V pT q ­“ V tue
Wähle e P E mit minimalem Gewicht unter allen Kanten mit |e X V pT q| “ 1;
T Ð T ` e;
5
Ausgabe T ;
1
2
3
Beispiel 2.7. Mit dem Graphen aus Beispiel 2.4 als Eingabe kann der Prim-Algorithmus wie in
Abbildung 2.1 dargestellt arbeiten.
Abbildung 2.1. Beispiel für den Prim-Algorithmus.
Satz 2.8 (Jarnik, 1930; Prim, 1957). Der Prim-Algorithmus bestimmt einen MST in Zeit Opn2 q
– bei Verwendung geeigneter Datenstrukturen („Fibonacci-Heaps“, siehe M.L. Fredman, R.E.
Tarjan, Fibonacci heaps and their uses in improvemed network optimization problems, Journal of
the ACM 34 (1987), Seite 596–615) sogar in Zeit Opm ` n log nq.
2.2.
Kürzeste Wege in Graphen mit Kantengewichten
Q
Definition 2.9. Sei G “ pV, Eq ein zusammenhängender Graph und c : E Ñ
eine Kantengewichtsfunktion. Für alle v, w P V sei dG pv, wq :“ min{cpP q | P P {v Ñ w}G }, wobei
cpP q :“ cpEpP qq. Ein Weg P P {v Ñ w}G mit cpP q “ dG pv, wq heißt kürzester Weg von v nach
w in G.
Lemma 2.10 (Optimalitätsprinzip). Ist P “ pv, . . . , x, wq ein kürzester Weg von v nach w mit
cpeq ě 0 für alle e P EpP q, so ist P ´ w :“ pv, . . . , xq ein kürzester Weg von v nach x.
Beweis. Angenommen, es gibt einen Weg P 1 von v nach x mit cpP 1 q ă cpP ´ wq. Dann gilt
cpP 1 ˝ px, wqq “ cpP 1 q ` cp{x, w}q ă cpP ´ wq ` cp{x, w}q “ cpP q. P 1 ˝ px, wq ist ein Pfad von v
nach w. Da alle Kantengewichte nichtnegativ sind, enthält P 1 ˝ px, wq einen Weg P ˚ von v nach
w mit cpP ˚ q ď cpP 1 ˝ px, wqq ă cpP q im Widerspruch zur Wahl von P .
Bemerkung 2.11. Die Voraussetzung nicht-negativer Kantengewichte ist notwendig, wie der
Beispielgraph aus Abbildung 2.2 zeigt.
15
Kapitel 2. Bäume und Wege in Graphen
Abbildung 2.2. In diesem Graph gilt: dpa, cq “ ´9 “ dpa, bq. Wegen cppa, b, cqq “ ´9 ist pa, b, cq
ein kürzester Weg von a nach c. Der Weg pa, bq ist jedoch kein kürzester Weg von a nach b, denn
cpa, bq “ 1 ą dpa, bq.
Q
Korollar 2.12. Sei G “ pV, Eq ein zusammenhängender Graph und c : E Ñ ě0 eine Kantengewichtsfunktion. Dann gibt es für jedes v0 P V einen Baum T “ pV, F q, so dass für alle v P V
gilt: Der eindeutig bestimmte Weg von v0 nach v in T ist ein kürzester Weg von v0 nach v in G.
Beweis. Sei T ein Baum mit maximaler Knotenmenge V 1 , so dass für alle v 1 P V 1 der Weg
von v0 nach v 1 in T ein kürzester Weg in G ist. Angenommen, es gibt ein v P V zV 1 . Sei y der
erste Knoten auf einem kürzesten Weg von v0 nach v in G, der nicht in T liegt. Nach dem
Optimalitätsprinzip ist pv0 , . . . , yq P {v0 Ñ y}T `y ein kürzester Weg in G, und nach Wahl von y
liegt der Vorgängerknoten x von y in T . Da T ` y ein Baum ist, erhalten wir einen Widerspruch
zur Wahl von T .
Problem 2.13 (Kürzeste Wege).
Eingabe: Zusammenhängender Graph G “ pV, Eq, c : E Ñ
Qě0, Startknoten v0.
Aufgabe: Finde ein Gerüst T von G, so dass für alle v P V gilt: dT pv0 , vq “ dG pv0 , vq.
Algorithm 6: Dijkstra
Eingabe: G “ pV, Eq, c : E Ñ
1
2
3
4
5
6
7
8
9
10
Qě0, v0 P V .
für alle v P V tue
lpvq Ð 8;
v Ð v0 , lpvq Ð 0, V 1 Ð {v}, F Ð H;
solange V 1 ­“ V : tue
für alle w P ΓpvqzV 1 tue
wenn lpwq ą lpvq ` cp{v, w}q dann
lpwq Ð lpvq ` cp{v, w}q und ppwq Ð v;
Wähle v P V zV 1 mit lpvq “ min {lpwq ; w P V zV 1 };
V 1 Ð V 1 Y {v}, F Ð F Y {v, ppvq};
Ausgabe T :“ pV, F q;
Beispiel 2.14. Das Beispiel aus Abbildung 2.3 zeigt einen Ablauf des Dijkstra-Algorithmus.
Die umrahmten Felder geben die berechneten Abstände zum Startknoten v0 an.
16
2.2. Kürzeste Wege in Graphen mit Kantengewichten
Abbildung 2.3. Beispiel für den Dijkstra-Algorithmus..
Satz 2.15 (Dijkstra, 1959). Der Algorithmus Dijkstra löst das Kürzeste-Wege-Problem in
Zeit Opn2 q.
Beweis. Der Algorithmus arbeitet analog zum Prim-Algorithmus und konstruiert daher in Zeit
Opn2 q ein Gerüst von G. Sei Vi die Knotenmenge V 1 nach der i-ten Ausführung von 3.2 und
V0 :“ {v0 }. Vi unterscheidet sich von Vi´1 nur durch den neu hinzugefügten Knoten vi :“ Vi zVi´1 .
Wir zeigen per Induktion über i:
p˚q Für alle v P Vi gilt: dT pv0 , vq “ lpvq “ dG pv0 , vq.
Offenbar gilt p˚q für V0 . Sei v P Vi , und p˚q gelte für i ´ 1. Falls v P Vi´1 ist, gilt p˚q nach
Induktionsvoraussetzung. Anderenfalls ist v “ vi , und es gilt:
lpvi q “ lpppvi qq ` cp{vi , ppvi q}q
“ dT pv0 , ppvi qq ` cp{vi , ppvi q}q nach Induktionsvoraussetzung,
da ppvi q P Vi´1
“ dT pv0 , vi q.
Sei P “ pv0 “ u0 , u1 , . . . , uk “ vi q ein kürzester Weg in G und sei j P rks minimal mit uj R Vi´1 .
Da Vi´1 durch vi vergrößert wird und uj´1 P Vi´1 ist, gilt:
lpvi q ď lpuj q ď lpuj´1 q ` cp{uj , uj´1 q}q
“ dG pv0 , uj´1 q ` cp{uj , uj´1 }q nach Induktionsvoraussetzung
“ dG pv0 , uj q, da P ein kürzester Weg ist
ď dG pv0 , vi q.
Mit lpvi q “ dT pv0 , vi q folgt dT pv0 , vi q “ dG pv0 , vi q.
Bemerkung 2.16.
17
Kapitel 2. Bäume und Wege in Graphen
(i) Der Dijkstra-Algorithmus funktioniert analog für das kürzeste-Wege-Problem in gerichteten Graphen.
(ii) Der Dijkstra-Algorithmus lässt sich auch mit Laufzeit Opm ` n ¨ log nq implementieren
(mit Fibonacci-Heaps, siehe Fredman, Tarjan, 1987).
(iii) Für das Kürzeste-Wege-Problem mit beliebigen rationalen Kantengewichten gibt es einen
Algorithmus, der in Zeit Opmnq einen Kreis mit negativem Gesamtgewicht findet oder alle
kürzesten Wege berechnet (modifizierter Moore-Bellman-Ford-Algorithmus, siehe Korte,
Seite 144).
18
Kapitel 3
Matching und Vertex-Cover
3.1.
Matching und Vertex-Cover
Definition 3.1. Sei G “ pV, Eq ein Graph.
(i) Eine Menge M Ď E heißt Matching (Paarung), wenn für alle e1 ­“ e2 P M gilt: e1 X e2 “ H.
(ii) Ein Matching M Ď E heißt (kardinalitäts-)maximal, wenn für jedes Matching M 1 Ď E gilt:
|M 1 | ď |M |. Die Mächtigkeit eines maximalen Matchings in G bezeichnen wir mit νpGq.
(iii) Ein Matching M Ď E heißt perfekt (1-Faktor), wenn |M | “ |V |{2 gilt.
Problem 3.2 (Maximales Matching).
Eingabe: Graph G “ pV, Eq.
Aufgabe: Finde ein maximales Matching in G.
Definition 3.3. Sei G “ pV, Eq ein Graph und M Ď E.
(i) Ein Knoten v P V wird von M überdeckt, wenn es e P M gibt mit v P e.
(ii) Ein Pfad in G heißt M -alternierend, wenn er abwechselnd Kanten aus M und EzM durchläuft
(oder Länge 1 hat).
(iii) Ein M -alternierender Pfad heißt M -augmentierender Pfad, wenn seine Endknoten nicht von
M überdeckt werden.
Satz 3.4 (Berge, 1957). Sei G “ pV, Eq ein Graph und M Ď E ein Matching in G. M ist genau
dann maximal, wenn G keinen M -augmentierenden Pfad enthält.
Beweis. „ñ“: Sei M maximal. Angenommen, es gibt einen M -augmentierenden Pfad P in G.
Dann ist M 1 :“ pM zEpP qq Y pEpP qzM q ein Matching mit |M 1 | “ |M | ` 1.
„ð“: Sei M ein Matching, so dass G keinen M -augmentierenden Pfad enthält und sei M 1 ein
maximales Matching. Wir betrachten den Teilgraphen H :“ p⋃pM Y M 1 q, M Y M 1 q. Alle Knoten
in H haben Grad höchstens 2. Daher besteht H aus Kreisen und Wegen. Jeder Kreis enthält
ebensoviele Kanten aus M wie aus M 1 . Die Wege sind M - und M 1 -alternierend und haben
gerade Länge, da es weder M - noch M 1 -augmentierende Pfade gibt. Also enthalten auch die
Wege ebensoviele Kanten aus M wie aus M 1 . Es folgt: |M | “ |M 1 |.
19
Kapitel 3. Matching und Vertex-Cover
Definition 3.5. Seien A und B Mengen. Dann ist A∆B :“ pAzBq Y pBzAq die symmetrische
Differenz von A und B.
Algorithm 7: Bipartites maximales Matching
Eingabe: G “ pV1 ẎV2 , Eq.
3
M Ð H;
solange es existiert ein M -augmentierender Pfad P in G tue
M Ð M ∆EpP q;
4
Ausgabe M
1
2
Satz 3.6. Der Algorithmus 7 Bipartites maximales Matching lässt sich so implementieren,
dass er in Zeit Opmnq das Problem Maximales Matching in bipartiten Graphen löst.
Beweis. Die Korrektheit folgt aus dem Satz von Berge. Schritt 2 implementieren wir mittels
wie folgt modifizierter Tiefensuche: Wir betrachten für jeden Knoten zwei Adjazenzlisten ΓM
und ΓEzM , wobei für alle v P V die Liste ΓM pvq alle Nachbarn w mit {v, w} P M enthalte und
ΓEzM pvq die Liste der Nachbarn w mit {v, w} P EzM sei. In jeder Iteration von 2 wählen wir
einen unmarkierten, nicht durch M überdeckten Startknoten v1 und markieren ihn mit 1. Für
mit 1 markierte Knoten werden nur Nachbarn aus ΓEzM betrachtet und mit 2 markiert. Für
mit 2 markierte Knoten werden nur Nachbarn aus ΓM betrachtet und mit 1 markiert. Für
jeden Knoten v wird ein Vorgängerknoten als ppvq abgespeichert. Die Suche bricht ab, sowie ein
nicht von M überdeckter Knoten w mit 2 markiert wurde, mit dem M -augmentierender Pfad
P :“ pw, ppwq, ppppwqq, . . . , v1 q als Suchergebnis. Sind alle von v1 erreichbaren Knoten markiert,
ohne dass ein M -augmentierender Pfad gefunden wurde, so wird ein neuer unmarkierter, nicht
von M überdeckter Startknoten v1 gewählt. Der Algorithmus terminiert, wenn alle Knoten
markiert sind. ΓM und ΓEzM lassen sich in Zeit Opmq erzeugen. Die Suche hat ebenfalls Laufzeit
Opmq. Da jeder Knoten höchstens einmal als Startknoten einer Suche betrachtet wird, ist
die Gesamtlaufzeit Opmnq. Es bleibt zu zeigen, dass die modifizierte Tiefensuche stets einen
M -augmentierenden Pfad findet, wenn ein solcher existiert. Angenommen, die Tiefensuche
betrachtet überhaupt keinen Anfangsknoten eines M -augmentierenden Pfades als Startknoten,
obwohl ein solcher Anfangsknoten v1 existiert. Dann wird v1 von der Tiefensuche markiert, und
zwar auf dem Pfad von einem nicht von M überdeckten Startknoten v0 aus. Da v1 nicht von
M -Uberdeckt wird, ist dieser Pfad ein M -augmentierender Pfad im Widerspruch zur Annahme.
Sei nun v1 der erste Knoten, den die modifizierte Tiefensuche als Startknoten betrachtet, für den
ein M -augmentierender P “ pv1 , . . . , vk q existiert. Zu dem Zeitpunkt, an dem v1 Startknoten
wird, ist kein Knoten auf P markiert, denn wäre vi von einem Startknoten v0 aus markiert worden,
so gäbe es einen M -alternierenden Weg P 1 von v0 nach vk oder nach v1 mit nicht-überdeckten
Endknoten. Da G bipartit ist, enthielte P 1 nur gerade Kreise, so dass durch Weglassen der
Kreiskanten ein M -augmentierender Pfad entstünde. Sei i P rks der größte Index, so dass vi von
der Tiefensuche mit Startknoten v1 markiert wird. Offenbar ist vi ­“ v1 . Angenommen, vi ­“ vk .
Sei P1 “ pv1 “ v11 , v21 , . . . , vl1 “ vi q der alternierende Pfad von v1 nach vi , den die Tiefensuche
findet, und P2 P {v1 Ñ vi }G der Teilpfad von P .
20
3.2. Bipartites Matching
1. Fall: {vi´1 , vi } P M . Dann gilt {vi , vi`1 } P EzM . Da die Tiefensuche vi`1 nicht als Nachbarn
1
von vi betrachtet, obwohl vi`1 unmarkiert ist, gilt {vl´1
, vl1 } P EzM . Dann aber ist |P1 | ungerade
und |P2 | gerade, und folglich enthält G einen geschlossenen Weg ungerader Länge, im Widerspruch
zur Wahl von G als bipartit.
1
, vl1 } P M , d.h. |P1 | ist gerade und |P2 |
2. Fall: {vi´1 , vi } P EzM . Dann folgt analog {vl´1
ungerade, im Widerspruch zur Wahl von G als bipartit.
Somit gilt vi “ vk , und die Tiefensuche findet einen M -augmentierenden Pfad.
Definition 3.7. Sei G “ pV, Eq ein Graph. T Ď V heißt Vertex-Cover (Knotenüberdeckung),
wenn für alle e P E gilt: e X T ­“ H. Mit τ pGq bezeichnen wir die Größe einer Knotenüberdeckung
minimaler Mächtigkeit.
Problem 3.8 (Vertex-Cover).
Eingabe: G “ pV, Eq, k P
N.
Frage: Ist τ pGq ď k?
Bemerkung 3.9. τ pGq ě νpGq.
Beweis. Seien M ein Matching und T ein Vertex-Cover von G. Dann gibt es für jedes e P M ein
v P T mit v P e. Da die Kanten aus M disjunkt sind, folgt |T | ě |M |.
3.2.
Bipartites Matching
Satz 3.10 (Hall 1935;Heiratssatz). Sei G “ pV, Eq ein bipartites Graph mit Bipartition V “
S Y T , S X T “ H. Es gilt νpGq “ |S| genau dann, wenn |N pAq| ě |A| für alle A Ď S.
Abbildung 3.1. S sei die Menge der Jungs, T die der Mädchen, Eine kante steht für Sympathie
21
Kapitel 3. Matching und Vertex-Cover
Vollständig Heirat ist möglich, wenn jeder Junge s P S ein Mädchen t P T findet.
Der Heiratssatz ist ein Struktursatz. Leider ist es nur in 2|S| Zeit möglich, alle Teilmengen A Ď S
auf die Hall-Bedingung|N pAq| ě |A| zu testen.
Beweis. (Satz 3.10)
Wir benutzen Induktion nach |S|.
Induktionsanfang: |S| “ 1. Hier gibt es wegen |N pSq| ě |S| “ 1 einen t P T , das mit dem Knoten
s P S gematcht werden kann und die Behauptung gilt.
Induktionsschluß: Sei |S| ě 2 and wir nehmen an, daß die Behauptung für Graphen mit
Bipartitions-menge der Kardinalität höchstens |S| ´ 1 gilt.
Ź Full: |N pAq| ě |A| ` 1 für alle A Ď S, A ‰ S. Sei {a, b} P E beliebig gewählt und betrachte
G1 :“ Gz{a, b}. Für jedes A Ď Sz{a} gilt nun.
|NG1 pAq| ě |NG pAq| ´ 1 ě |S| ` 1 ´ 1 “ |S|
Damit besitzt G1 ein Matching M von S nach T und |M | “ |S| ´ 1 nach Induktionsvoraussetzung. Nun füge man die Kante {a, b} zu M hinzu und erhalte so ein Matching M 1 mit
|M 1 | “ |S| ´ 1 ` 1 “ |S|.
Ź Full: Es gibt ein A1 Ď S, A1 ‰ S, A1 ‰ H mit |N pA1 q| “ |A1 |. Sei G1 der Graph auf der
Knotenmenge A1 Y N pA1 q. Diese erfüllt die Hall-Bedingung und da |A1 | ă |S|, besitzt er nach
Induktionsvoraussetzung ein Matching M von A1 nach N pA1 q mit |M | “ |A1 |. Sei G2 “ GzG1 .
G2 erfüllt ebenfalls die Hall-Bedingung.
Nehmen wir für einen moment an, daß dies nicht der Fall ist. Dann gibt es A Ď SzV pG1 q und
NG2 pAq ă |A|. Somit
|NG pA Y A1 q| ď |NG pAq| ` |NG pA1 q|
“ |NG2 pAq| ` |NG pA1 q|
ă |A| ` |A1 |
“ |A Y A1 |,
ein Widerspruch zu Hall-Bedingung für G.
Also enthält G ´ G2 ein Matching F mit |F | “ |SzA1 | “ |S| ´ |A|. Die Mengen M und F sind
nach Konstruktion disjunkt Ferner gilt.
|M Y F | “ |A1 | ` |S| ´ |A1 | “ |S|,
also wird S nach T gematcht.
22
3.2. Bipartites Matching
Korollar 3.11 („Heiratssatz“, Frobenius, 1917). Sei G “ pS ẎT, Eq ein bipartiter Graph. Genau
dann hat G ein perfektes Matching, wenn |S| “ |T | und |ΓpHq| ě |H| für alle H Ď S.
Wie sieht νpGq in einem allgemeinen bipartiten Graphen G “ pS ŸT, Eq aus ?
Das Problem ist, daß die Hallbedingung |N pAq| ě |A| für gewisse A Ď S verletzt sein kann.
Eine Menge A Ď S mit |A| ą |N pAq| kann nicht vollständig gematcht werden. Die in diesem
Sinn nicht matchbaren Knoten definieren den Matchingdefekt.
Definition 3.12. Sei G “ pS ŸT, Eq ein bipartiter Graph. Der Matchingdefekt von G ist
defpGq :“ max{|A| ´ |N pAq| : A Ď S}.
Korollar 3.13. (Defektversion des Heiratssatzes) Sei G “ pS ŸT, Eq ein bipartiter Graph. Dann
gilt
νpGq “ |S| ´ defpGq.
Beweis. Sei A Ď S mit |A| ´ |N pAq| “ defpGq. Sei maximales Matching. Es gilt: |A X ⋃ M | “
|NM pAq Ď |N pAq|, folglich
νpGq “ |M | “ |S X ⋃ M | “ |pSzAq X ⋃ M | ` |A X ⋃ M |
ď |SzA| ` |N pAq| “ |S| ´ |A| ` |N pAq| “ S ´ defpGq.
Sei D eine neue Knotenmenge mit |D| “ defpGq. Setze G1 “ pS ŸpT Y Dq, E Y {{s, d}; s P S, d P
D}q. Dann gilt für A Ď S:
|NG1 pAq| “ |NG pAq Y D|
“ |NG pAq| ` defpGq
“ |NG pAq| ` max
e ´ |N
|A|
G
e A
e
pAq|;
Ď S|
ě |NG pAq| ` |A| ´ |NG pAq|
“ |A|.
Also erfüllt G1 die Heiratsbedingung, und es existiert ein Matching M in G1 mit |S| “ |M |. Sei
f “ M X E. Dann gilt |M
f | ě |M | ´ |D| “ |S| ´ defpGq und somit auch νpGq ě |S| ´ defpGq.
M
Ein Vertex-Cover (oder Knotenüberdeckung) in einem Graphen G “ pV, Eq ist eine Teilmenge
W Ď V , in der all Kanten sind. τ pGq ist die Größe eines Vertex-Cover minimaler Kardinalität.
Es gilt νpGq ď τ pGq für jeden Graphen G.
Satz 3.14. (Dualitätssatz für Bipartites Matching / Vertex-Cover) Ist G bipartit, so gilt
νpGq “ τ pGq.
23
Kapitel 3. Matching und Vertex-Cover
Beweis. Sei A Ď S mit defpGq “ |A| ´ |N pAq|. W :“ pSzAq Y N pAq ist ein Vertex-Cover von
G, da es keine Kanten zwischen A und T zN pAq gibt. Es folgt:
τ pGq ď |W |
“ |S| ´ |A| ` |N pAq|
“ |S| ´ defpGq
“ νpGq pKorollar 3.13q
3.3.
Der Satz von Tutte
Tutte gab 1947 ein einfaches Kriterium für die Existenz eines 1-Faktors in allgemeinen Graphen
an. Ist G ein Graph, so sei qpGq die Anzahl der ungeraden Zusammenhangskomponenten von
G “ pV, Eq. Besitzt G einen 1-Faktor, dann ist offensichtlich
|S| ě qpG ´ Sq für alle S Ď V,
(3.1)
denn jede ungerade Zusammenhangskomponente von G ´ S enthält einen ungematchten Knoten,
der durch Hinzunahme von S durch eine Matchingkante mit S verbunden wird. Der Satz
von Tutte lehrt, daß diese Bedingung auch hinreichend ist. Die Bedingung (3.1) nennen wir
Tutte-Bedingung.
Satz 3.15 (Tutte, 1947). Ein Graph G “ pV, Eq besitzt einen 1-Faktor genau dann, wenn
|S| ě qpG ´ Sq für alle S Ď V gilt.
Beweis. „ñ“ ist nach der obigen Beobachtung klar.
„ð“ Annahme 1: G besitzt keinen 1-Faktor.
Sei G˚ der Graph, der aus G durch Hinzufügen von Kanten entsteht, derart, daß G˚ kantenmaximal ist und keinen 1-Faktor enthält. G˚ erfüllt die Tutte-Bedingung, denn
qpG˚ ´ Sq ď qpG ´ Sq für alle S Ď V.
gilt, da durch Hinzufügen von Kanten ungerade Komponenten von G ´ S entweder ungerade
bleiben oder zu geraden Komponenten verschmolzen, werden.
Sei K Ď V , so daß jeder Knoten aus K zu allen Knoten aus V in G˚ adjazent ist. K heißt
das Zentrum von G˚ . Sei G1 “ G˚ ´ K. Wir zeigen, daß jede Zusammenhangskomponente von
G1 vollständig ist. Dann läßt sich aber folgendermaßen ein 1-Faktor von G˚ konstruieren, im
Widerspruch zur Annahme 1:
Ist K “ H, so ist mit der Tutte-Bedingung 0 “ |K| ě qpG˚ ´ Kq “ qpG˚ q, also qpG˚ q “ 0 und
alle Zusammenhangskomponenten von G˚ sind gerade. Da sie zudem vollständig sind, finden
24
3.3. Der Satz von Tutte
wir einen 1-Faktor in jeder Komponente und somit in G˚ . Sei nun K ‰ H, In jeder geraden
Zusammenhangskomponente von G1 finden wir einen 1-Faktor. Aus jeder ungeraden Komponente
von G1 verbinden wir genau einen Knoten mit je einem Knoten aus K. Die verbleibenden,
gerade viele Knoten in jeder ungeraden Zusammenhangskomponente von G1 werden vollständig
gematcht. Sei K0 die Menge der verbleibenden ungematchten Knoten von K.
Wegen 0 “ |H| ě qpG˚ ´ Hq “ qpG˚ q ist qpG˚ q “ 0 und alle Zusammenhangskomponenten von
G˚ sind gerade, mithin ist |V | gerade. Im Fall, dass qpG˚ ´ Kq gerade ist, ist |KzK0 | gerade,
somit ist |K0 | “ |V zpKzK0 q| “ |V | ´ |KzK0 | gerade und in K0 existiert ein perfektes Matching.
Falls qpG˚ ´ Kq ungerade ist, ist |KzK0 | ungerade. Sei Vg die Menge der Knoten in geraden
und Vu die Menge der Knoten in ungeraden Zusammenhangskomponenten von G˚ ´ K. Wegen
qpG˚ ´ Kq ungerade ist |Vg | ungerade und somit
|K0 | “ |V zpVg Y Vu Y pKzK0 qq|
“ |V | ´ |Vg | ´ |Vu | ´ |KzK0 |
|{z}
gerade
|{z}
gerade
|{z}
ungerade
| {z }
ungerade
ist gerade. In K0 können daher alle Knoten gematcht werden.
Annahme 2: Es gibt eine Zusammenhangskomponente von G1 , die nicht vollständig ist.
Dann existieren paarweise verschiedene Knoten a, b, c R K mit {a, b}, {b, c} P E, aber {a, c} R E.
Außerdem gibt es einen Knoten d P V mit {b, d} R E, denn sonst wäre ja b P K. Da G˚
kanten-maximal ist, besitzen die Graphen G1 “ G˚ ` {a, c} und G2 “ G˚ ` {b, d} jeweils einen
1-Faktor M1 bzw. M2 . Da G˚ keinen 1-Faktor besitzt, gilt {a, c} P M1 und {b, d} P M2 . Sei
P “ d . . . yx ein maximaler, pM1 , M2 q-alternierender Pfad in G˚ , der in d mit einer M1 -Kante
beginnt.
Fall 1: Die letzte Kante in P ist eine M1 -Kante. Dann ist x “ b, denn andernfalls läßt sich P
mit einer an x anliegenden M2 -Kante verlängern. Wir entfernen aus M2 die M2 -Kanten von P
und ersetzen diese durch die M1 -Kanten von P . Dieses neue Matching ist aber ein 1-Faktor in
G˚ im Widerspruch zur Wahl von G˚ .
25
Kapitel 3. Matching und Vertex-Cover
M “ pM2 zpM2 X P qq Y pM1 X P q
Fall 2: Die letzte Kante von P ist eine M2 -Kante. Dann ist aber x “ a oder x “ c, denn
andernfalls ließe sich P mit einer M1 -Kante, fortsetzen. Wir entfernen aus M2 die M2 -Kanten
von P und nehmen die M1 -Kanten von P sowie die Kante {a, b} zu M2 hinzu. Dieses modifizierte
Matching ist ein 1-Faktor von G˚ , Widerspruch!
M “ pM2 zpM2 X P qq Y pM1 X P q Y {a, b}
Damit ist Annahme 2 und daher auch Annahme 1 falsch.
Korollar 3.16 (Petersen, 1891). Jeder kubische Graph ohne Brücke hat einen 1-Faktor.
Beweis. Sei G “ pV, Eq ein kubischer Graph ohne Brücke. Wir zeigen, daß G die Tutte-Bedingung
erfüllt. Sei S Ď V und sei C eine ungerade Zusammenhangskomponente von G ´ S. Da G
kubisch ist, ist die Summe der Grade der Knoten von C somit ungerade.
Ist epS, Cq die Anzahl der Kanten zwischen C und S und e1 die Anzahl der Kanten in C, so gilt
X
vPC
|
degpvq ´epS, Cq “ |2 {z
¨ e}1 ,
gerade
{z
ungerade
}
also ist epS, Cq ungerade. Weil G kubisch ist, hat G keine Brücke. Daher epS, Cq ě 2, und weil
epS, Cq ungerade ist, gilt epS, Cq ě 3. Für die Gesamtzahl der Kanten epG ´ S, Sq, die zwischen
S und G ´ S verlaufen, folgt
3qpG ´ Sq ď epG ´ Sq ď 3|S| ,
also gilt die Tutte-Bedingung |S| ě qpG ´ Sq. Nach dem Satz von Tutte besitzt G einen
1-Faktor.
26
Kapitel 4
Flüsse
4.1.
Gerichtete Graphen und Flüsse
~ “ pV, Eq,
~ wobei V eine Menge ist und E
~ Ď V ˆ V . Wir
Ein gerichteter Graph ist ein Paar G
~ nennt man
~ Kanten. px, yq P E
nennen die Elemente aus V Knoten und die Elemente aus E
´1
die Kante von x nach y. Mit px, yq bezeichnen wir die Kante py, xq. Diese Notation wenden
~ ´1 q etwa ist der gerichtete Graph, der aus G
~ durch
wir auch auf Mengen von Kanten an. pV, E
Umdrehen sämtlicher Kanten hervorgeht.
~ und N ´ pxq :“ {y P V ; py, xq P E}
~ die
Für alle x P V seien N ` pxq :“ {y P V ; px, yq P E}
Out-Nachbarn bzw. In-Nachbarn von x.
Wir definieren Wege in gerichteten Graphen analog zum ungerichteten Fall. Es ist also W “
~ Manchmal spricht
x1 . . . xl ein Weg der Länge l in G, falls für alle i P rl ´ 1s gilt pxi , xi`i q P E.
man bei Wegen in gerichteten Graphen zur Verdeutlichung, dass es hier auf die Richtungen
der passierten Kanten ankommt, auch von gerichteten Wegen. Es bezeichne EpW q die von W
passierten Kanten, also EpW q “ {pxi , xi`1 ; i P rl ´ 1s}. Wenn es der Kontext erlaubt, werden
wir auch W mit EpW q identifizieren.
Wir nennen einen Weg x1 . . . xl einen Pfad der Länge l, wenn alle Knoten paarweise verschieden
sind.
~ ÝÑ Q`
~
Eine Funktion c : E
0 heißt Kapazitätsfunktion. Für eine Kante px, yq P E nennen wir
den Wert cpx, yq die Kapazität dieser Kante.
~ cq, wobei G
~ “ pV, Eq
~ ein gerichteter Graph ist, nennt man auch Netzwerk.
Das Tupel pG,
~ Ñ Rě0 . Für px, yq P E
~ nennen wir f px, yq den Fluss
Ein Pseudofluss ist eine Funktion f : E
von x nach y, oder auch den Fluss durch die Kante px, yq. Wir sagen auch, die Kante px, yq ist
flussführend, wenn f px, yq ą 0.
~ Ñ Rą0 heißt s-t-Fluss in G
~ bezüglich der
Definition 4.1. Seien s, t P V . Ein Pseudofluss f : E
Kapazitäten c, falls die folgenden Bedingungen gelten:
~
(i) f peq ď cpeq für alle e P E.
27
Kapitel 4. Flüsse
(ii) (Kirchhoffbedingung)
X
X
f px, yq “
yPN ` pxq
f pz, xq
zPN ´ pxq
für alle x P V z{s, t}.
Der Knoten s heißt in diesem Kontext auch Quelle (source), und t heißt Senke (sink). Ein solches
~ c, s, tq, wobei G
~ “ pV, Eq
~ ein gerichteter Graph ist, heißt Netzwerk.
Tupel pG,
Für alle x P V definiere den Nettofluss von x als
Bf pxq :“
X
X
f px, yq ´
yPN ` pxq
f pz, xq.
(4.1)
zPN ´ pxq
Bf pxq ist also die Differenz von Einfluss in x und Ausfluss aus x. Die Kirchhoffbedingung lässt
sich jetzt auch so formulieren: Bf pxq “ 0 für alle x P V z{s, t}.
Proposition 4.2. Sei f ein s-t-Fluss. Dann gilt: Bf psq “ ´Bf ptq.
Beweis. TODO: Beweis
Der Wert |f | eines s-t-Flusses f ist der gemeinsame Wert von Bf psq und ´Bf ptq. Ein maximaler
s-t-Fluss einer Instanz I “ pV, E, c, s, tq ist ein solcher, dessen Wert unter allen s-t-Flüssen von I
maximal ist. Den Wert eines maximalen s-t-Flusses einer Instanz I bezeichnen wir mit fmax pIq,
oder nur mit fmax , falls die Instanz durch den Kontext festgelegt ist.
Problem 4.3 (Max-Flow).
~ c, s, tq mit G
~ “ pV, Eq.
~
Eingabe: Ein Netzwerk I “ pG,
Gesucht: Ein s-t-Fluss f von I mit |f | “ fmax pIq.
Proposition 4.4. Es gibt einen maximalen s-t-Fluss.
~ auffassen. Somit ist die
Beweis. Ein s-t-Fluss g lässt sich als Vektor im Rm mit m “ |E|
m
Menge K aller s-t-Flüsse eome Teilmenge des R . Wir versehen den Rm mit der k¨k8 -Norm.
Mit cmax “ kck8 gilt kgk8 ď cmax , also ist K beschränkt. Für jedes x P V ist die Abbildung
f ÞÑ Bf pxq von K nach R stetig. Daraus folgt, dass bei einer konvergenten Folge von s-t-Flüssen
auch deren Grenzwert die Kirchhoffbedingung erfüllt. Somit ist K auch abgeschlossen, insgesamt
also kompakt nach dem Satz von Heine-Borel.
28
4.1. Gerichtete Graphen und Flüsse
Da insbesondere die Abbildung f ÞÑ |f | p“ Bf psqq, die jedem Fluss seinen Wert zuordnet, stetig
ist, nimmt sie auf K ihr Maximum an. Es gibt also einen maximalen s-t-Fluss.
~ c, s, tq ein Netzwerk mit G
~ “ pV, Eq,
~ f ein Pseudofluss und
Definition 4.5 (Schnitte). Sei pG,
S ĎV.
~ ; x P S, y R S} ist der (gerichtete) Schnitt, oder auch kurz
(i) Die Menge δpSq :“ {px, yq P E
c
Schnitt, zwischen S und S “ V zS.
~ ; x R S, y P S} den (gerichteten) Schnitt, oder auch
(ii) Es bezeichnet δ ´1 pSq :“ {px, yq P E
kurz Schnitt, zwischen S c und S.
(iii) Ist s P S und t R S, so heißt δpSq ein s-t-Schnitt.
(iv) Der Nettofluss eines s-t-Schnittes δpSq sei
X
Bf pδpSqq :“
P
ePδpSq
f peq.
ePδ ´1 pSq
ePδpSq
(v) Es ist cpδpSqq :“
X
f peq ´
cpeq die Kapazität des Schnittes δpSq.
~ Wir schrei(vi) Es bezeichne cmin die Kapazität eines kapazitäts-minimalen s-t-Schnittes in G.
~ durch den Kontext festgelegt ist.
ben meistens cmin , wenn G
Wir können nun das Min-Cut-Problem formulieren.
Problem 4.6 (Min-Cut).
~ c, s, tq mit G
~ “ pV, Eq.
~
Eingabe: Ein Netzwerk I “ pG,
Gesucht: Ein s-t-Schnittf mit minimaler Kapazität.
Lemma 4.7. Für jeden s-t-Fluss f und jeden s-t-Schnitt δpSq gilt Bf pδpSqq “ |f |.
Beweis. Beweis. Wir führen Induktion über |S|. Der Anfang S “ {s} ist klar nach Definition
von |f |. Sei |S| ě 2 und v P Sz{s}. Wir haben
`
δ pSz{v}q “
´
δ pSz{v}q “
`
`
`
´
´
´
δ pSqz δ pvq X δ pSq
δ pSqz δ pvq X δ pSq
!
´
´
´
`
`
`
!
Ÿ δ pvqz δ pSq X δ pvq
!
,
!
Ÿ δ pvqz δ pSq X δ pvq
.
Dann gilt mit der Induktionsvoraussetzung
|f| “ Bf pSz{v}q
“ f pδ ` pSz{v}qq ´ f pδ ´ pSz{v}qq
!
`
`
`
´
´
´
!
“ f δ pSqz δ pvq X δ pSq
´ f δ pSqz δ pvq X δ pSq
´
´
´
`
`
`
!
` f δ pvqz δ pSq X δ pvq
!
´ f δ pvqz δ pSq X δ pvq
29
Kapitel 4. Flüsse
“ f pδ ` pSqq ´ f δ ` pvq X δ ` pSq ` f pδ ´ pvq ´ f δ ´ pSq X δ ´ pvq
´ f pδ ´ pSqq ` f δ ´ pvq X δ ´ pSq ´ f pδ ` pvq ` f δ ` pSq X δ ` pvq
“ f pδ ` pSqq ´ f pδ ´ pSqq
“ Bf pSq .
Satz 4.8 (Schwache Dualität). fmax ď cmin .
Beweis. Sei f ein maximaler s-t-Fluss, d.h. |f | “ fmax . Sei δpSq ein beliebiger s-t-Schnitt. Mit
Lemma 4.7 gilt:
fmax “ Bf pδpSqq “
X
f peq ´
X
f peq
ePδ ´1 pSq
ePδpSq
ď
X
f peq
ePδpSq
ď
X
cpeq
ePδpSq
“ cpδpSqq.
Also fmax ď cmin .
Satz 4.8 beschreibt die schwache Dualität zwischen dem maximalen s-t-Fluss und dem minimalen
s-t-Schnitt. Wir zeigen nun, dass sogar fmax “ cmin gilt.
4.2.
Das Max-Flow/Min-Cut-Theorem
~ c, s, tq,
Aus technischen Gründen ist es hilfreich anzunehmen, dass in einer Instanz I “ pG,
~ “ pV, Eq,
~ keine entgegengesetzten Kanten vorliegen. D.h. wir möchten, dass mit einer Kante
G
e P E nicht auch die umgekehrte Kante e´1 sich in E befindet. Sollten sich die Kanten e “ pv, wq
sowie e´1 “ pw, vq in E befinden, so fügen wir einen zusätzlichen Knoten x ein und ersetzen e
durch die beiden Kanten pv, xq und px, wq. Wir erhalten so V 1 und E 1 . Die neue Kapazität c1
setzen wir c1 pv, xq :“ c1 px, wq :“ cpv, wq und c1 peq :“ cpeq für alle e P Ez{pv, wq}. Ein optimaler
s-t-Fluss für I 1 führt offenbar sofort auf einen optimalen s-t-Fluss für I. Das Ersetzen aller
entgegengesetzter Kanten in I dauert Opmq, und die Größe der Instanz ändert sich nur um einen
konstanten Faktor.
Somit machen wir ohne Beschränkung der Allgemeinheit folgende Voraussetzung.
Konvention 4.9. Für den Rest des Kapitels, soweit nicht explizit anders ausgewiesen, sind alle
~ c, s, tq frei von entgegengesetzten Kanten. Wenn also e P E gilt, so folgt e´1 R E.
Instanzen pG,
Mit anderen Worten: E X E ´1 “ H.
30
4.2. Das Max-Flow/Min-Cut-Theorem
Ist ein ungerichteter Pfad P “ x1 . . . xl in unserer Instanz gegeben, so wird nun damit eindeutig
eine Folge von Kanten e1 , . . . , el´1 festgelegt. Wir nennen diejenigen Kanten ei , für die ei “
pxi , xi`1 q gilt, Vorwärtskanten und diejenigen, für die ei “ pxi`1 , xi q gilt, Rückwärtskanten.
Die Menge aller dieser Kanten auf P bezeichnen wir mit EpP q und manchmal auch nur mit
P , wenn aus dem Kontext ersichtlich ist, dass die Kanten und nicht die Knoten gemeint
sind.
Sei f ein s-t-Fluss und P “ x1 . . . xl ein ungerichteter s-t-Pfad so, dass folgendes gilt:
•
f peq ă cpeq, falls e eine Vorwärtskanten auf P ist.
•
0 ă f peq, falls e eine Rückwärtskante auf P ist.
Dann nennen wir P einen f -augmentierenden Pfad.
f -augmentierende Pfade sind wichtig, da sie die Möglichkeit bieten, den Fluss f zu vergrößern.
Definition 4.10. Sei f ein s-t-Fluss und P “ x1 . . . xl ein ungerichteter s-t-Pfad Wir definieren
für alle e P EpP q
e :“


cpeq ´ f peq
falls e eine Vorwärtskante auf P ist

f peq
falls e eine Rückwärtskante auf P ist
und
P :“ min e .
ePEpP q
Es gilt unmittelbar:
Proposition 4.11. P ist f -augmentierend genau dann, wenn P ą 0.
P ist der Betrag, um den wir den Wert von f einfach vergrößern können.
~ cq, G
~ “ pV, Eq
~ und P “ x1 . . . xl ein f -augmentierender
Lemma 4.12. Sei f ein s-t-Fluss in pG,
~ sei
Pfad. Für jede Kante e “ px, yq P E




1 ,
fP peq :“ ´1 ,


 0
falls e eine Vorwärtskante auf P ist
falls e eine Rückwärtskante auf P ist
sonst.
Dann ist fP ein s-t-Fluss.
31
Kapitel 4. Flüsse
~ Ñ Rě0 definiert durch f ˚ peq :“ f peq ` P fP peq. Dann ist auch f ˚ ein s-t-Fluss,
Sei ferner f ˚ : E
und es gilt
|f ˚ | “ |f| ` P .
Beweis. f ˚ erfüllt die Kirchhoffbedingung: Sei x P V z{s, t}. Für x R P gilt die Kirchhoffbedingung offensichtlich. Ist hingegen x P P , so kann x zwischen zwei Vorwärtskanten oder zwischen
zwei Rückwärtskanten oder zwischen einer Vorwärts- und einer Rückwärtskante liegen.
In den ersten beiden Fällen ist der eingehende Fluss gleich dem ausgehenden Fluss. Im dritten
Fall gilt f ˚ pe1 q “ f pe1 q ` p und f ˚ pe2 q “ f pe2 q ´ p , somit gilt
X
X
f ˚ peq ´
yPN ` pxq
X
f ˚ peq “
yPN ´ pxq
yPN ` pxq
X
“
X
f peq ´
´pf ˚ pe1 q ` f ˚ pe2 qq
yPN ´ pxqz{u,v}
f peq ´
yPN ` pxq
X
f peq ´ pp ´ p q
yPN ´ pxq
“0 ,
~
da f die Kirchhoffbedingung erfüllt. f ˚ erfüllt dier Kapazitätsbedingung. Für e P EzEpP
q ist
nichts zu zeigen. Ist e P EpP q eine Vorwärtskante, so gilt
f ˚ peq “ f peq ` P ď f peq ` cpeq ´ f peq ď cpeq .
Ist e eine Rückwärtskante, so gilt
f ˚ peq “ f peq ´ P ď f peq ´ f peq “ 0 ď cpeq .
Der Flusswert von f ˚ ist schließlich
X
|f ˚ | “ Bf ˚ psq “
f ˚ ps, yq ´
yPN ` psq
“
X
f ps, yq ´
yPN ` psqz{x}
X
f ˚ pz, sq
zPN ´ psq
X
f pz, sq ` f ps, xq ` P
zPN ´ psq
“ Bf psq ` P “ |f| ` P ,
falls ps, xq P EpP q. Analog erhält man für px, sq P EpP q das Gewünschte.
Solange es in der Instanz also noch f -augmentierende Pfade gibt, kann man f vergrößern. Das
gibt die Idee für einen ersten Algorithmus zur Lösung des Problems Max-Flow: Starte mit dem
Fluss f :“ 0 und vergrößere diesen entlang f -augmentierender Pfade.
Die effiziente Bestimmung eines f -augmentierenden Pfades (oder der Nachweis, dass es keinen
solchen mehr gibt), kann mit dem Residualgraph erfolgen. Zu einem Fluss f in der Instanz
~ c, s, tq mit G
~ “ pV, Eq
~ definieren wir:
pG,
n
o
~ ` :“ e P E
~ ; f peq ă cpeq
E
f
n
o
~ ´ :“ e´1 P E
~ ´1 ; f peq ą 0 ,
E
f
~ f :“ E
~ ` YE
~ ´ . Den Graphen G
~ f :“ pV, E
~ f q nennen wir den Residualgraphen von f .
und E
f
f
Wir haben unmittelbar:
32
4.2. Das Max-Flow/Min-Cut-Theorem
~ f ist ein f -augmentierender Pfad für I und umgekehrt.
Proposition 4.13. Ein s-t-Pfad in G
~ f können s-t-Pfade mit einer Breitensuche gefunden werden, solange es welche gibt. Es
In G
folgt:
Lemma 4.14. Ein f -augmentierender Pfad kann in Opmq Zeit gefunden, oder aber seine
Nichtexistenz nachgewiesen werden.
Algorithm 8: Ford-Fulkerson
1
2
3
4
5
6
7
8
~ c, s, tq, G
~ “ pV, Eq.
~
Eingabe: Eine Instanz I “ pG,
Ausgabe: Ein s-t-Fluss f von I mit |f | “ fmax pIq.
Initialisiere f :“ 0;
repeat
Bestimme Gf ;
Ausgehend von s führe eine Graphensuche in Gf durch;
~ f , stoppe;
Gibt es keinen s-t-Pfad in G
~ f (welcher somit ein f -augmentierender Pfad für I ist),
Gibt es einen s-t-Pfad P in G
so berechne P ;
Setze f :“ f ` P fP ;
until endlos;
Proposition 4.15. Bei rationalen Kantenkapazitäten terminiert der Ford-Fulkerson-Algorithmus
in Opmfmax q Zeit.
Beweis. Da alle Kantenkapazitäten rationale Zahlen sind, gibt es für sie einen gemeinsamen
Nenner N P N. Für jeden f -augmentierenden s-t-Pfad P ist P der Wert des Flusses über eine
Kante oder die Differenz aus dem Fluss über eine Kante und einer Kapazität. Ist also f peq für
~ eine rationale Zahl der Form n (n P N), dann ist auch P ein Vielfaches von 1 .
alle Kanten e P E
N
N
Da der initiale Fluss f “ 0 unsere Annahme erfüllt, erhalten wir induktiv, dass in Algorithmus 8
der Fluss in jedem Schritt um ein Vielfaches von (und damit mindestens um) N1 erhöht wird.
Somit werden höchstens fmax {N Schritte benötigt. Mit Lemma 4.14 erhalten wir die gemischte
Laufzeit.
Satz 4.16 (Max-Flow/Min-Cut-Theorem). Der Ford-Fulkerson-Algorithmus liefert, falls er
terminiert, einen maximalen s-t-Fluss und es gilt fmax “ cmin in Opmfmax q Zeit.
Beweis. Nachdem der Algorithmus terminiert ist, gibt es im Netzwerk keine f -augmentierenden
s-t-Pfade mehr. Sei U Ď V die Menge aller Knoten, die auf einem f -augmentierenden Pfad
mit Startknoten s zu erreichen sind. Es gilt dann s P U und t R U , womit δpU q ein s-t-Schnitt
ist. Für alle e “ px, yq P δpU q gilt f peq “ cpeq, da sonst der x-erreichende f -augmentierende
~
s-t-Pfade um e verlöngert werden könnte. Mit demselben Argument gilt für eine Kante e P E,
33
Kapitel 4. Flüsse
für die e P δ ´1 pU q ist, dass f peq “ 0. Es folgt
X
Bf pδpU qq “
ePδpU q
X
“
f peq ´
X
f peq
ePδ ´1 pU q
cpeq “ cpδpU qq.
ePδpU q
Mit dem Satz4.8 und Lemma 4.7 folgt
cmin ě fmax ě |f| “ Bf pδpU qq “ cpδpU qq ě cmin .
Wir haben also in dieser Ungleichungskette überall Gleichheit und damit |f | “ fmax .
Ferner erhalten wir das folgende Korollar.
~ c, s, tq, G “ pV, Eq
~ eine Instanz so, dass cpeq P N für alle e P E
~
Korollar 4.17. Sei I “ pG,
gilt. Dann findet der Algorithmus von Ford und Fulkerson in Opmfmax q Zeit einen ganzzahligen
~
maximalen s-t-Fluss f , d.h. es gilt |f | “ fmax pIq und f peq P N für alle e P E.
4.3.
Der Fluss-Algorithmus von Edmonds und Karp
Unter Umständen kann der Ford-Fulkerson-Algorithmus sehr lange brauchen, bis er terminiert.
Man betrachte zum Beispiel die folgende Instanz:
Es gilt hier fmax “ 2 ¨ 10k . Wählt der Algorithmus als f -augmentierende Pfade abwechselnd die
Pfade mit den Kanten abe und dbc, so benötigt er 2 ¨ 10k Iterationen, um einen maximalen Fluss
zu finden. Dies ist nicht polynomiell in der Eingabelänge.
Wir werden sehen, dass die Wahl von einem kürzesten f -augmentierenden Pfad zu folgenden
Verbesserungen führen:
•
Eine Laufzeit von Opnm2 q,
•
Die Forderung, dass alle Kantenkapazitäten rational sind, kann fallengelassen werden.
~ c, s, tq, G
~ “ pV, Eq
~ eine Instanz und H
~ “ pV, F~ q ein Graph auf V .
Definition 4.18. Sei I “ pG,
~
(i) Sei dst pHqdie
Länge eines kürzesten s-t-Pfades in H.
~ bezeichnen wir die Menge aller Kanten e P F~ , für die gilt: Es gibt einen
(ii) Mit Eµ pHq
~ der e enthält.
s-t-Pfad mit Länge dst pHq,
34
4.3. Schneller Ford-Fulkerson
~ c, s, tq, G
~ “ pV, Eq.
~ Definiere G
~ 1 :“ pV, E
~ Y Eµ pGq
~ ´1 q. Dann gilt
Lemma 4.19. Sei I “ pG,
~ “ Est pG
~ 1q
(i) Est pGq
~ “ dst pG
~ 1q
(ii) dst pGq
~ ist wegen (ii) auch ein s-t-Pfad
Beweis. Aussage (ii) folgt aus (i): ein kürzester s-t-Pfad in G
~ 1 q ď dst pGq,
~ und wenn wir die Rollen von G
~ 1 , somit gilt dst pG
~ und G
~ 1 vertauschen, folgt
in G
1
~ ď dst pG
~ q, also (ii).
dst pGq
~ 1 keine Kanten aus E
~ st pGq
~ ´1
Für den Beweis von (i) zeigen wir, dass ein kürzester s-t-Pfad in G
~ auch einer in G
~ 1 und umgekehrt, was sofort
enthält. Denn dann ist ein kürzester s-t-Pfad in G
~ st pGq
~ “E
~ st pG
~ 1 q impliziert. Annahme: Es gibt einen kürzesten s-t-Pfad P in G
~ 1 , der eine Kante
E
´1
´1
~ st pGq.
~
~ st pGq
~
aus E
enthält. Sei e “ pw, vq die erste derartige Kante auf P und sei e “ pv, wq P E
~ Da e P E
~ st pGq,
~ gibt es einen
Von den Pfaden P1 “ s . . . w und P2 “ v . . . t ist P1 ein Pfad in G.
~
s-t-Pfad Q in G, der e enthält. Die Pfade Q1 “ s . . . v und Q2 “ w . . . t sind sowohl Pfade in
~ ď lpP1 Q2 q.
~ als auch in G
~ 1 . Der Pfad P1 Q2 “ s . . . w . . . t ist ein s-t-Pfad in G,
~ also dst pGq
G
~ somit dst pG
~ 1 q ď lpQ1 P2 q.
Andererseits ist Q1 P2 “ s . . . v . . . t ein s-t-Pfad in G,
Der entscheidende Punkt ist, dass die Pfade P1 Q2 und Q1 P2 genau zwei Knoten weniger
traversieren als P und Q. Somit gilt
~ ` dst pG
~ 1 q ď lpP1 Q2 q ` lpQ1 P2 q
dst pGq
“ |V pP1 Q2 q| ` |V pQ1 P2 q|
“ |V pP q| ` |V pQq| ´ 2
~ ` dst pG
~ 1q ´ 2
“ dst pGq
~ ` dst pG
~ 1q ,
ă dst pGq
Widerspruch.
35
Kapitel 4. Flüsse
Algorithm 9: Edmonds und Karp, 1972
~ c, s, tq, G
~ “ pV, Eq.
~
Eingabe: Ein Netzwerk pG,
1
2
3
4
5
6
7
8
Ausgabe: Ein s-t-Fluss f mit |f | “ fmax .
Initialisiere f :“ 0;
repeat
~f;
Erzeuge G
~ f durch. Dies bestimmt einen kürzesten
Führe beginnend bei s Breitensuche in G
~ f , falls ein solcher existiert;
gerichteten s-t-Pfad in G
~ f , so Abbruch.;
Findet die Breitensuche keinen s-t-Pfad in G
~ f , so bestimme P bezüglich
Findet die Breitensuche einen kürzesten s-t-Pfad P in G
des durch P induzierten f -augmentierenden Pfades.;
Setze f :“ f ` P fP ;
until endlos;
Satz 4.20. Der Algorithmus von Edmonds und Karp bestimmt einen s-t-Fluss mit maximalem
Wert in der Zeit Opnm2 q. Diese Aussage bleibt richtig, selbst wenn die Kantenkapazitäten nicht
sämtlich rational sind.
Beweis. Wenn wir Gf mit Adjazenzlisten erzeugen, geht die Breitensuche in Opmq. Jeder der
Schritte 2 bis 6 braucht dann Opmq. Somit kostet eine Iteration Opmq.
Wir zeigen nun, dass es nach spätestens Opmnq Iterationen keinen f -augmentierenden s-t-Pfad
mehr gibt. Wie im Beweis des Max-Flow/Min-Cut-Theorems (Satz 4.16) sieht man dann, dass f
ein Fluss maximalen Wertes ist. Dies gibt die Gesamtlaufzeit von Opnm2 q.
~ f für irgendeine Iteration gegeben und P darin ein kürzester s-t-Pfad. Definiere G
~ 1f :“
Sei G
~ f Y Eµ pG
~ f q´1 q. Sei fP der entlang P augmentierte s-t-Fluss.
pV, E
~ f ein Subgraph von G
~ 1f . Ob und in welcher Richtung zwei Knoten in G
~ f verbunden
Es ist dann G
P
P
~ verbinden, und deren
sind, hängt alleine vom Fluss auf den Kanten, die diese Knoten in G
Kapazitäten ab. Beim übergang von f zu fP gab es diesbezüglich nur Veränderungen entlang
~ f q enthalten sind, folgt die Behauptung.
von P . Da die Kanten von P in Est pG
Wir erhalten mit Lemma 4.19 (ii)
~ 1 q “ µpGf q,
µpGf ˚ q ě µpG
f
(4.2)
Die obige Ungleichung gilt in jeder Iteration, also wird die Länge kürzester s-t-Pfade nicht kleiner.
~ f q ă dst pG
~f q
Da die Länge eines kürzesten s-t-Pfades höchstens n ist, kann die Ungleichung dst pG
P
in höchstens n Iterationen gelten. In diesem Fall sagen wir, dass ein Knoten „verbraucht“ wurde.
~ f q “ dst pG
~ f q?
Was passiert aber, wenn in einer Iteration kein Knoten verbraucht wird, also dst pG
P
~ f q “ dst pG
~ 1 q. Wir bemerkten bereits, dass G
~ f ein Subgraph von G
~f
Dann folgt aus (1): dst pG
f
P
P
~ f auch ein kürzester s-t-Pfad in G
~ 1 , somit E
~ st pG
~f q ď
ist. Also ist jeder kürzeste s-t-Pfad in G
f
P
P
~ st pG
~1 q “ E
~ st pG
~ f q. Offenbar gilt aber EpP
~ qďE
~ st pG
~ f q. Auf jeder Kante von P , auf der das
E
f
36
4.4. Zusammenhang
~ f , also auch nicht
Minimum der Flussausnutzung P angenommen wird, ist nicht mehr in G
P
~ st pG
~ f q enthalten. Wir sagen, eine Kante wurde „verbraucht“. Somit wird in jeder Iteration
in E
entweder ein Knoten oder eine Kante verbraucht. Wenn eine Kante verbraucht wird, so geschieht
dies nacheinander höchstens Opmq mal, denn spätestens dann wird wieder ein Knoten verbraucht.
Da nur n Knoten vorhanden sind, kann es höchstens Opnmq Iterationen geben.
4.4.
Zusammenhang
~ “ pV, Eq
~ ein gerichteter Graph und C “ x1 . . . xl ein Kreis in G.
~ Wie üblich ist V pCq
Es sei G
~
die Knotenmenge und EpCq
“ {pxi , xi`1 q, pxl , x1 q ; i P rl ´ 1s} die Kantenmenge von C. Anders
als im ungerichteten Fall können unter Umständen Kreise in gerichteten Graphen bereits auf
nur zwei Knoten realisiert werden. Wie aber auch schon im ungerichteten Fall gibt es hier keine
Kreise der Länge Null (und auch nicht der Länge 1).
~ “ pV, Eq
~ ein gerichteter Graph. Ein s-t-Fluss einer Instanz pG,
~ c, s, tq
Definition 4.21. Sei G
~ derart gibt, dass jede Kante des Kreises flussführend
heißt kreisfrei, wenn es keinen Kreis in G
ist.
~ “ pV, Eq
~ ein gerichteter Graph und pG,
~ c, s, tq eine Instanz. Zu jedem
Proposition 4.22. Sei G
1
~ gibt es einen kreisfreien s-t-Fluss f so, dass |f | “ |f 1 |. Ist f ganzzahlig, so kann
s-t-Fluss f in G
auch f 1 ganzzahlig gewählt werden.
~ e1 , . . . , e l
Beweis. Wir eliminieren sukzessive die flussführenden Kreise. Sei x1 . . . xl ein Kreis in G,
die Kanten dieses Kreises und f pei q ą 0 für alle i P rls. Setze δ :“ min{f pei q ; i P rls}. Dann ist
δ ą 0, und im Falle eines ganzzahligen Flusses ist δ P N. Ferner ist f pej q “ δ für ein j P rns.
Definiere den neuen Fluss f˜
f˜peq :“


f peq ´ δ
falls e P {e1 , . . . , el }

f peq
sonst
.
Dann ist f˜ wieder ein s-t-Fluss, denn für keinen Knoten hat sich der Nettofluss verändert. Aus
diesem Grunde ist auch |f˜| “ |f |. Aber der Kreis x1 , ¨ ¨ ¨ , xl ist nicht mehr flussführend für f˜.
Wir iterieren dieses Verfahren. Ist f ganzzahlig, so ist wegen δ P N auch f˜ ganzzahlig.
~ c, s, tq, G
~ “ pV, Eq.
~ Ist eine Funktion
Sei PpIq die Menge aller s-t-Pfade in einer Instanz pG,
g : PpIq ÝÑ Rě0 gegeben, so erhalten wir durch
~ ÝÑ Rě0 , e ÞÑ
f :E
X
gpP q
P PPpGq
~ q
ePEpP
einen Fluss. Sofern dieser die Kapazitätsbedingungen erfüllt, ist es auch ein s-t-Fluss, da die
Kirchhoffbedingung automatisch erfüllt ist. Die folgende Proposition beschreibt, dass man jeden
kreisfreien Fluss und damit nach Proposition 4.22 im wesentlichen jeden Fluss auf diese Weise
ausdrücken kann.
37
Kapitel 4. Flüsse
~ c, s, tq eine Instanz des
~ “ pV, Eq
~ ein gerichteter Graph und pG,
Proposition 4.23. Sei G
~ so, dass |f | ě 0. Dann gibt es g : PpIq ÝÑ Rě0
Flussproblems. Sei f ein kreisfreier s-t-Fluss in G
P
so, dass für alle e P E gilt f peq “ P PPpIq,ePP gpP q. Ist f ganzzahlig, so kann auch gpP q P Z für
alle P P PpIq erreicht werden.
Beweis. Übungsaufgabe 4.4.
Für kreisfreie Flüsse mit nichtnegativem Wert werden wir im folgenden je nach Anwendung eine
passende der beiden Darstellungen wählen.
Wir wenden uns nun dem Zusammenhang zu.
Definition 4.24.
(i) Sei k P N. Ein Graph G “ pV, Eq heißt k-zusammenhängend, falls |V | ě k ` 1 und G ´ W
für jede Menge W Ď V mit |W | ď k ´ 1 zusammenhängend ist.
(ii) G heißt k-kantenzusammenhängend, falls |V | ě 2 und GzF für jede Menge F Ď E mit
|F | ď k ´ 1 zusammenhängend ist.
(iii) Definiere die Zusammenhangszahl von G als
κpGq :“ max{k ; G ist k-zusammenhängend},
und die Kantenzusammenhangszahl von G als
λpGq :“ max{k ; G ist k-kantenzusammenhängend}.
Satz 4.25 (Menger 1932). Sei G “ pV, Eq ein Graph und s, t P V .
(i) Die minimale Anzahl1 der Kanten, die s und t trennen, ist gleich der maximalen Anzahl
kantendisjunkter s-t-Pfade in G.
(ii) Es seien s, t P V nicht benachbart. Die minimale Anzahl der Knoten, die s und t trennen,
ist gleich der maximalen Anzahl knotendisjunkter s-t-Pfade in G.
Beweis. Zu (i) Seien λ die Kardinalität einer kardinalitäts-minimalen s-t-trennenden Kantenmenge und sei p die Kardinalität einer kardinalitäts-maximalen Menge kantendisjunkter s-t-Pfade
in G. Zu zeigen ist λ “ p. Entfernt man aus jedem dieser Pfade eine Kante, so ist die Menge
dieser Kanten ein s-t-Kantenschnitt. Daher gilt λ ě p.
Für die anderen Abschätzung wenden wir das Max-Flow/Min-Cut-Theorem (Satz 4.16) an.
Gemeint ist die Kardinalität einer kardinalitäts-minimalen Menge von Kanten, deren Herausnahme aus dem
Graphen s und t trennt. Die später gebrauchte Bezeichnung „maximale Anzahl“ ist auch in diesem Sinne zu
verstehen.
1
38
4.5. Aufgaben
~ c, s, tq folgendermaßen: für x, y P V gilt
Wir definieren die Instanz I “ pV, E,
~ : ðñ {s, x} P E
ps, xq P E
~ : ðñ {x, t} P E
px, tq P E
~ : ðñ {x, y} P E und x, y P V z{s, t}
py, xq, px, yq P E
~
cpeq :“ 1 @e P E
~ “ pV, Eq.
~ Jede s und t trennende Menge von Kanten in G definiert einen s-tSchreibe G
~ im Sinne des Max-Flow/Min-Cut-Theorems. Ist cmin die Kapazität eines minimalen
Schnitt in G
~ cq, so haben wir λ “ cmin .
s-t-Schnitts in pG,
~ cq, den wir nach Proposition
Nach 4.17 gibt es einen ganzzahligen maximalen s-t-Fluss f in pG,
4.22 kreisfrei wählen können. f sei als Funktion auf PpIq beschrieben.
Dann gilt f pP q P {0, 1} für alle P P PpIq. Da die Kapazitäten sämtlich 1 sind, ist somit die Menge
aller flussführenden Pfade, deren Kardinalität k sei, kantendisjunkt. Wegen der Kreisfreiheit
führen keine zwei Kanten px, yq und py, xq Fluss. Somit definieren die flussführenden Pfade auch
im ungerichteten Graphen G eine Menge von k kantendisjunkten Pfaden, womit p ě k gilt. Nach
Definition von k ist k “ |f |. Es folgt
p ě k “ |f| “ fmax “ cmin “ λ.
~ wie in (i). In dieser Instanz ersetze jeden Knoten v P V z{s, t} durch zwei
Zu (ii). Seien I und G
Knoten v` , v´ . Die In-Kanten von v werden zu In-Kanten von v` und die Out-Kanten von v zu
Out-Kanten von v´ . Dazu gibt es die Kante pv` , v´ q. Wende das Max-Flow/Min-Cut-Theorem
auf das entstandene Netzwerk an.
Aus dem Mengerschen Satz erhalten wir den Satz von Whitney.
Korollar 4.26 (Whitney). Sei G “ pV, Eq ein Graph mit |V | ě 2.
(i) G ist k-kantenzusammenhängend genau dann, wenn je zwei Knoten durch k kantendisjunkte Wege verbunden werden können.
(ii) G ist k-knotenzusammenhängend genau dann, wenn je zwei Knoten durch k knotendisjunkte Pfade verbunden werden können.
4.5.
Aufgaben
4.1. Sei f ein s-t-Fluss. Dann gilt: Bf psq “ ´Bf ptq.
4.2. Für jeden s-t-Fluss f und jeden s-t-Schnitt δpSq gilt Bf pδpSqq “ |f |.
~ c, s, tq, G
~ “ pV, Eq.
~ Definiere G
~ 1 :“ pV, E
~ Y Eµ pGq
~ ´1 q. Dann gilt
4.3. Sei I “ pG,
~ “ Est pG
~ 1q
(i) Est pGq
39
Kapitel 4. Flüsse
~ “ dst pG
~ 1q
(ii) dst pGq
~ c, s, tq eine Instanz des Flussproblems. Sei f
~ “ pV, Eq
~ ein gerichteter Graph und pG,
4.4. Sei G
~ so, dass |f | ě 0. Dann gibt es g : PpIq ÝÑ Rě0 so, dass für alle
ein kreisfreier s-t-Fluss in G
P
e P E gilt f peq “ P PPpIq,ePP gpP q. Ist f ganzzahlig, so kann auch gpP q P Z für alle P P PpIq
erreicht werden.
4.5. Man zeige, dass es in jedem Netzwerk, welches nur ganzzahlige Kantenkapazitäten hat,
einen optimalen Fluss mit ganzzahligen Werten gibt. Ferner verdeutliche man sich an einem
Beispiel, dass dies im Falle mehrerer Güter nicht so zu sein braucht.
4.6. Konstruiere mit dem Flussalgorithmus von Ford-Fulkerson ein Maximum-Matching in einem
bipartiten Graphen.
4.7. Konstruiere (direkt) mit dem Flussalgorithmus von Ford-Fulkerson ein Vertex-Cover minimaler Kardinalität in einem bipartiten Graphen.
4.8. Zeige mit dem Max-Flow/Min-Cut Theorem die Dualität von Matching und Vertex-Cover
im bipartiten Fall.
4.9. Jeder zusammenhängende Graph besitzt einen Knoten, dessen Herausnahme den Zusammenhang nicht zerstört.
4.10. Sei k ě 2 eine natürliche Zahl. Ein zusammenhängender, k-regulärer bipartiter Graph ist
2-zusammenhängend.
4.11. Sei cpGq die Anzahl der Zusammenhangskomponenten eines Graphen G “ pV, Eq (n “
|V |, m “ |E|). Dann gilt cpGq ` m ě n.
4.12. a) Für jeden Graphen G gilt κpGq ď λpGq.
b) λpGq ď δpGq
(Hinweis zu a): Betrachte die Fälle λpGq “ 0, 1 gesondert und führe dann den Beweis für den
Fall λpGq ě 2.)
4.13. Ein 3-regulärer Graph heißt kubisch. Zeige κpGq “ λpGq für kubische Graphen G.
4.14. Sei G “ Qd der d´dimensionale Würfelgraph. Bestimme κpGq und λpGq.
40
Kapitel 5
Planarität von Graphen
5.1.
Die Eulerformel
Anschaulich heißt ein Graph planar, wenn er sich in der Ebene so zeichnen lässt, dass sich
Kanten nur dort überschneiden, wo sie gemeinsam in einem Knoten inzidieren. Die Kanten
können dabei Kurvenstücke im R2 sein. Ein solche Darstellung nennt man eine kreuzungsfreie
Einbettung in der Ebene. Wir präzisieren dies mit Hilfe von Jordankurven.
Definition 5.1. Sei γ : r0, 1s ÝÑ R2 eine stetige Abbildung. Dann heißt γ ein Jordanbogen,
wenn γ injektiv ist. γ heißt eine Jordankurve, wenn γ|r0,1q injektiv ist und γp0q “ γp1q gilt. Wir
bezeichnen jeweils auch das Bild γpr0, 1sq Ă R2 als Jordanbogen oder -kurve.
Aus dem Zusammenhang wird immer klar sein, ob mit „Jordanbogen“ oder „Jordankurve“ eine
Funktion oder eine Teilmenge des R2 gemeint ist.
Sind a, b P R, a ă b und γ̃ : ra, bs ÝÑ R stetig, so ist offenbar J :“ γ̃pra, bsq ein Jordanbogen, wenn γ̃ injektiv ist und J eine Jordankurve, wenn γ̃|ra,bq injektiv und γ̃paq “ γ̃pbq
ist.
Wir zitieren ohne Beweis ein fundamentales Ergebnis über Jordankurven, das in Vorlesungen
zur komplexen Analysis bewiesen wird.
Satz 5.2 (Jordanscher Kurvensatz (1905)). Sei J eine Jordankurve. Dann hat R2 zJ genau zwei
Zusammenhangskomponenten K1 , K2 , und es gilt BK1 “ J “ BK2 .
Definition 5.3. Sei G “ pV, Eq ein Graph.
(i) Seien φV , φE zwei Abbildungen φV : V ÝÑ R2 und φE von E in die Menge aller Jordanbögen. Es gelten die folgenden Bedingungen:
•
φV ist injektiv.
•
φE peq X φV pV q “ φE peqp{0, 1}q für alle e P E.
•
φE peqp{0, 1}q “ φV peq.
•
φE peq X φE pf q “ φV pe X f q für alle e, f P E, e ‰ f .
Dann nennen wir das Paar pφV , φE q eine Einbettung von G.
41
Kapitel 5. Planarität von Graphen
(ii) Das Bild pφV pV q, φE pEqq in R2 nennen wir den eingebetteten Graphen oder auch ebenen
Graphen G.
(iii) G heißt planar, wenn er eine Einbettung in R2 besitzt.
Abbildung 5.1. Planare Graphen.
Abbildung 5.2. Nicht-planare Graphen.
Im folgenden identifizieren wir bei planaren Graphen den (abstrakten) Graphen mit dem
eingebetteten Graphen (zu irgendeiner Einbettung). G steht also abhängig vom Zusammenhang
für ein Paar pV, Eq oder für eine Menge aus Punkten und Jordanbögen oder auch für eine
Teilmenge des R2 . Wir sprechen auch von Knoten und Kanten, wenn eigentlich Punkte oder
Jordanbögen im R2 gemeint sind.
42
5.1. Die Eulerformel
Durch den Begriff der Einbettung wird eine Darstellung, eine Zeichnung des Graphen in der
Ebene formalisiert, bei der gilt:
•
Jeder Knoten wird durch einen anderen Punkt in der Ebene dargestellt.
•
Jede gezeichnete Kante überschneidet die Menge dieser Punkte genau mit ihren Enden.
•
Jede gezeichnete Kante verbindet die Punkte ihrer Endknoten miteinander.
•
Gezeichnete Kanten schneiden sich genau in den Punkten, die zu Knoten gehören, in denen
diese Kanten inzident sind.
Definition 5.4. Sei G ein planarer Graph. Dann heißen die Zusammenhangskomponenten von
R2 zG die Gebiete von G.
Man kann zeigen, dass die Ränder der Gebiete Vereinigung von Kanten sind. Da ein eingebetteter
Graph beschränkt ist, hat er genau ein unbeschränktes Gebiet.
Proposition 5.5. Sei G ein planarer Graph. Dann hat G genau dann genau ein Gebiet, wenn
G ein Wald ist.
Beweis. Ist G ein Wald, so gibt es nur das eine Gebiet von G, nämlich das unbeschränkte
Gebiet. Umgekehrt, wenn G einen Kreis enthält, so besitzt G mit dem Jordanschen Kurvensatz
mindestens zwei Gebiete.
Satz 5.6 (Eulerformel). Sei G “ pV, Eq ein planarer, zusammenhängender Graph mit Gebietsmenge R. Dann gilt
|V | ´ |E| ` |R| “ 2.
Beweis. Wir führen eine Induktion nach |R| durch.
Ist |R| “ 1, so besitzt G keinen Kreis und ist, weil zusammenhängend, ein Baum, also |V | ´
|E| ` |R| “ |V | ´ p|V | ´ 1q ` 1 “ 2.
Sei nun |R| ě 2. Dann besitzt G einen Kreis und ist kein Baum. Sei C ein solcher Kreis. Sei
e P C eine Kante. Dann gilt: G1 :“ G ´ e hat |R1 | “ |R| ´ 1 Gebiete. Mit G1 “ pV 1 , E 1 q und
der Induktionsvoraussetzung erhalten wir 2 “ |V 1 | ´ |E 1 | ` |R1 | “ |V | ´ p|E| ´ 1q ` p|R| ´ 1q “
|V | ´ |E| ` |R|.
Definition 5.7. Unter der Taillenweite (oder auch Girth) eines Graphen G verstehen wir die
Länge eines kürzesten Kreises in G. Hat G keine Kreise, so setzen wir 8 als seine Taillenweite.
Satz 5.8. Sei G “ pV, Eq ein planarer, zusammenhängender Graph mit n :“ |V | ě 3, m :“ |E|
g
und Taillenweite g. Dann gilt m ď max{ g´2
pn ´ 2q, n ´ 1}, falls g ‰ 8 und sonst m “ n ´ 1.
Beweis. Es gilt 3 ď g ď 8.
Fall 1: g “ 8, dann ist G ein Baum, also m “ n ´ 1.
Fall 2: g ă 8, dann gilt g ď n.
Induktion über n:
43
Kapitel 5. Planarität von Graphen
Induktionsanfang: Sei n “ 3. Dann ist G “ K3 und g “ 3 und die Behauptung gilt mit
pg{pg ´ 2qqpn ´ 2q “ 3.
Induktionsschluss:
Fall a: G besitzt eine Brücke e P E. G ´ e besitzt zwei Zusammenhangskomponenten G1 “
pV1 , E1 q, G2 “ pV2 , E2 q. Sei ni “ |Vi |, mi “ |Ei |, i “ 1, 2. Dann gilt
m “ m1 ` m2 ` 1
g
g
ď max{
pn1 ´ 2q, n1 ´ 1} ` max{
pn2 ´ 2q, n2 ´ 1} ` 1
g´2
g´2
g
ď max{
pn ´ 2q, n ´ 1}.
g´2
Fall b: G besitzt keine Brücken. Dann liegt jede Kante im Rand von genau 2 Gebieten von G.
Sei ri die Anzahl der Gebiete von G mit genau i begrenzenden Kanten. Dann ist
2m “
X
iri “
i
also
m`2
Es folgt m ď
g
pn
g´2
X
iri ě g
iěg
Satz 5.6
“
X
ri “ g|R|,
i
n ` |R| ď n `
2m
.
g
´ 2q.
Korollar 5.9. Sei G “ pV, Eq planar und n :“ |V | ě 3, m :“ |E|. Dann gilt m ď 3n ´ 6 und,
falls der Graph dreiecksfrei ist, m ď 2n ´ 4.
Korollar 5.10. K5 und K3,3 sind nicht planar.
Beweis. |EpK5 q| “
5
2
“ 10, aber 3|V pK5 q| ´ 6 “ 9, mit Korollar 5.9 ist K5 nicht planar.
|EpK3,3 q| “ 9, aber 2|V pK3,3 q| ´ 4 “ 8. Wiederum mit Korollar 5.9 ist K3,3 nicht planar.
5.2.
Der Satz von Kuratowski und Wagner
Definition 5.11.
(i) Seien v, w Knoten des Graphen G. Wir sagen, H gehe aus G durch Verschmelzen der
Knoten v und w hervor, wenn sich in H anstelle von v und w ein neuer Knoten befindet,
mit dem alle Kanten inzident sind, die vorher mit v oder w inzident waren. Alle übrigen
Knoten und Kanten sind in H wie in G.
(ii) Der Graph H gehe aus dem Graphen G dadurch hervor, dass zunächst Knoten oder
Kanten gelöscht und dann Knoten verschmolzen werden. Dann nennen wir H einen Minor
von G. Wir sagen auch, G enthalte H als Minor.
44
5.3. Färbbarkeit planarer Graphen
(iii) Der Graph G gehe aus dem Graphen H durch sukzessives Einfügen neuer Knoten vom
Grad 2 auf Kanten hervor, d.h. die Kanten von H werden durch Pfade der Länge ě 1
ersetzt. Dann heißt G Unterteilung von H.
(iv) Wir sagen, G enthalte H als Unterteilung (oder als topologischen Minor), wenn G einen
Subgraphen besitzt, der eine Unterteilung von H ist.
Wir zitieren ohne Beweis:
Satz 5.12 (Kuratowski und Wagner). Sei G ein Graph. Dann sind äquivalent:
(i) G ist planar.
(ii) G enthält weder K5 noch K3,3 als Minor.
(iii) G enthält weder K5 noch K3,3 als topologischen Minor.
5.3.
Färbbarkeit planarer Graphen
In diesem Abschnitt geht es um die Färbbarkeit planarer Graphen. Diese lassen sich mit „wenigen“
Farben färben. Kenneth Appel, Wolfgang Haken (in Zusammenarbeit mit John Koch) zeigten
durch einen computergestützten Beweis 1976, dass jeder planare Graph mit vier Farben gefärbt
werden kann. Der Beweis besteht aus einer Fallunterscheidung mit mehereren tausend Fällen.
Der heutzutage kürzeste Beweis hat immerhin nur noch 633 Fallunterscheidungen (Seymour et
al, 1996).
Hier führen wir nur Beweise für die 6- und anschließend die 5-Färbbarkeit von planaren Graphen,
um einen Einblick in das Thema zu geben.
Lemma 5.13. Ein planarer Graph G “ pV, Eq besitzt einen Knoten mit Grad höchstens 5.
Beweis. Angenommen die Aussage ist falsch. Dann gilt deg v ě 6 für alle v P V , insbesondere
P
n ě 3. Es folgt 2m “ vPV deg v ě 6n, also m ě 3n. Dies ist ein Widerspruch zu Korollar
5.9.
Satz 5.14. Jeder planare Graph G ist mit sechs Farben färbbar.
Beweis. Wir führen Induktion über die Anzahl der Knoten. Nach Lemma 5.13 gibt es einen
Knoten v mit Grad höchstens 5. G ´ v ist planar und besitzt nach Induktionsvoraussetzung
eine 6-Färbung. Wähle diese und setze sie auf v fort, indem für v eine der 6 Farben ausgesucht
wird, die nicht unter den Nachbarn von v vorkommt. Da v höchstens 5 Nachbarn hat, ist dies
möglich.
Satz 5.15. Jeder planare Graph G ist mit fünf Farben färbbar.
45
Kapitel 5. Planarität von Graphen
Beweis. Induktion über die Anzahl der Knoten : Besitzt G nur einen Knoten so ist nichts zu
zeigen und der Induktionsanfang ist gegeben und wir können zum Induktionsschluss gehen.
Annahme: G sei nicht mit fünf Farben färbbar. Wir wählen unter diesen Graphen den Graph G
so, dass die Anzahl der Kanten minimal ist. Wir identifizieren G mit einer ebenen Einbettung.
Gibt es einen Knoten mit Grad höchstens 4, so können wir wie im Beweis von Satz 5.14 zeigen,
dass G 5-färbbar ist. Widerspruch! O.B.d.A habe nun also jeder Knoten mindestens Grad 5.
Dann gibt es nach Lemma 5.13 einen Knoten v so, dass deg v “ 5 ist. Seien v1 , . . . , v5 die
Nachbarn von v und so nummeriert, dass sie in der Einbettung im Uhrzeigersinn liegen (siehe
Abbildung 5.3).
Abbildung 5.3. v und seine Nachbarn.
Nach Induktionsvoraussetzung gibt es eine 5-Färbung von G ´ v. Ohne Beschränkung der
Allgemeinheit habe vi die Farbe i. Bezeichne Hpi, jq den von den Knoten der Farben i und j
induzierten Subgraphen von G. Wir zeigen:
Für alle i, j P r5s, i ‰ j, liegen vi und vj in der selben Zusammenhangskomponente
von Hpi, jq.
(5.1)
Angenommen, vi und vj liegen für eine Wahl von i, j P r5s, i ‰ j, in verschiedenen Zusammenhangskomponenten von Hpi, jq. In der Komponente von vi können wir die Farben i und j
46
5.3. Färbbarkeit planarer Graphen
vertauschen und haben weiterhin eine zulässige Färbung vorliegen. In dieser Färbung haben vi
und vj beide die Farbe j. Unter den 5 Nachbarn von v kommen also nur noch vier Farben vor,
womit eine der fünf Farben für v übrig bleibt. Wir färben v mit dieser Farbe und erhalten eine
5-Färbung von G. Widerspruch. Damit gilt 5.1.
Es liegen also insbesondere v1 und v3 zusammen in einer Komponente von Hp1, 3q und v2 und v4
zusammen in einer Komponente von Hp2, 4q. Somit gibt es einen Pfad P1,3 in Hp1, 3q bestehend
abwechselnd aus Knoten der Farben 1 und 3 (weil er in Hp1, 3q verläuft) von v1 nach v3 . Ebenso
gibt es einen Pfad P2,4 in Hp2, 4q der v2 mit v4 verbindet und abwechselnd aus Knoten der
Farben 2 und 4 besteht.
Abbildung 5.4. P1,3 und P2,4 schneiden sich.
Aufgrund der Lage der Knoten in der Einbettung kreuzen sich P1,3 und P2,4 , (siehe in Abbildung
5.4). Dies kann aber nicht in einem Knoten passieren, da die Farbe der Knoten eindeutig ist.
Also kreuzen sich die Pfade außerhalb von Knoten und es liegt keine ebene Einbettung vor, im
Widerspruch zur Planarität von G.
47
Herunterladen