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