Graphentheorie Skript Teil3
Transcrição
Graphentheorie Skript Teil3
50 5 Färbungen In der Mathematik werden Probleme oft dadurch gelöst, dass man eine zusätzliche Struktur einführt. Diese Struktur hat in der Regel nur eine Hilfsfunktion, sie kommt weder in der Voraussetzung noch in der Behauptung vor, sondern dient nur für den Beweis. In vielen Fällen kann man eine solche Struktur durch eine Färbung realisieren. Durch eine geschickte Färbung wird dabei ein Problem gelöst, das möglicherweise gar nichts mit Farben zu tun hat. Mit dieser Methode kann man sowohl Existenz- wie auch Nichtexistenzsätze beweisen. Überdeckung eines Schachbretts mit Dominosteinen Wir betrachten ein normales Schachbrett und eine Menge von 2x1-Dominosteinen, von denen jeder genau zwei benachbarte Felder des Schachbretts überdecken kann. Bei den Dominosteinen kommt es nicht auf die Beschriftung an, sondern nur auf die Form. Wir betrachten folgende Aufgabenstellungen: • Kann man die Felder des Schachbretts lückenlos mit Dominosteinen so überdecken, dass sich keine zwei Dominosteine überlappen? • Kann man ein Schachbrett, bei dem man ein Eckfeld ausgeschnitten hat, lückenlos mit solchen Dominosteinen überdecken? • Kann man ein Schachbrett, bei dem man zwei gegenüberliegende Eckfelder ausgeschnitten hat, lückenlos mit solchen Dominosteinen überdecken? Natürlich gibt es sehr viele Lösungen für die erste Aufgabe. Das beschnittene Schachbrett der zweiten Aufgabe hat eine ungerade Anzahl von Feldern (nämlich 63), jeder Dominostein überdeckt aber gleich zwei Felder, d.h. es wird immer nur eine gerade Anzahl von Schachfeldern überdeckt. Die zweite Aufgabe ist also nicht lösbar. Bei der dritten Aufgabe hat das beschnittene Schachbrett 62 Felder, die also im Prinzip durch 31 Dominosteine überdeckt werden könnten. Wenn wir jetzt aber berücksichtigen, dass die Felder eines Schachbretts abwechselnd weiß und schwarz gefärbt sind und zwei gegenüberliegende Eckfelder dieselbe Farbe haben (d.h. es gibt z.B. 32 schwarze und 30 weiße Felder), andererseits ein Dominostein immer jeweils ein weißes und ein schwarzes Feld überdeckt, erkennt man, dass die dritte Aufgabe auch nicht lösbar ist 5. Färbungen 51 5.1 Eckenfärbung An der Kreuzung rechts sind folgende Verkehrsströme gegeben: Die Straße rechts ist eine Einbahnstrasse mit Fahrtrichtung nach links. An der Kreuzung ist (in Fahrtrichtung) eine Spur rechts für den Geradeaus-Verkehr (A) und eine Spur links für die Linksabbieger (B). Außerdem gibt es dort einen Übergang für Fußgänger (C). Auch am Ende der unteren Straße gibt es einen Übergang für Fußgänger (D). Von unten kommende Fahrzeuge dürfen nur nach links abbiegen (E) und von links kommende Fahrzeuge nur nach unten (F). C ✻ F ❄ Es sollen A und C nicht gleichzeitig grün haben, während sich A und D nicht stören. Wir beschreiben die Situation mit einem Graphen: Die Verkehrsströme stellen wir durch Ecken dar und Kanten zeichnen wir dann, wenn sich die Verkehrsströme gegenseitig stören. Man nennt einen solchen Graphen auch Konfliktgraph. Verkehrsströme, die durch eine Kante verbunden sind, dürfen nicht gleichzeitig grün haben. Man könnte das erreichen, wenn man jedem Verkehrsstrom einzeln grünes Licht gibt und die anderen in dieser Zeit rot haben. Das bedeutet hier 6 Grünphasen nacheinander, mit langen Wartezeiten für alle. Es könnten aber z.B. A und D gleichzeitig grün haben. Es ist also sinnvoll, nach einer minimalen Anzahl von Grünphasen zu suchen. ✛ ❄❄ D ✛ A B ✲ ✛ E D s E s sC F s sB s A Konfliktgraph D, r s Wir färben jetzt die Ecken so, dass benachbarte Ecken verschiedene Farben haben. Jede Farbe bedeutet also eine Ampelphase, und alle Verkehrsströme mit der gleichen Farbe können gleichzeitig grün haben. Da der Graph Dreiecke enthält (z.B. BED), braucht man mindestens 3 Farben und man sieht leicht, dass 3 Farben schon reichen, z.B. r (rot), b (blau) und g (grün). E, g s s C, g F, g s s B, b s A, r Konfliktgraph Definition 5.1.1 Sei G = (E, K) ein schlichter Graph. (a) G heißt n-färbbar, wenn man jeder Ecke eine von n Farben zuordnen kann, so dass je zwei benachbarte Ecken verschiedene Farben haben. (b) Das Minimum der Anzahl der notwendigen Farben heißt chromatische Zahl von G. Bezeichnung: χ(G). Ist χ(G) = n, dann heißt G n-chromatisch. 5. Färbungen 52 Bemerkungen und Beispiele 5.1.2 (1) Ein Graph mit Schlingen ist überhaupt nicht färbbar. Für die Färbung der Ecken ist es weiter unerheblich, ob zwei Ecken durch eine oder mehrere (Parallel-) Kanten verbunden sind. Daher beschränken wir uns im folgenden auf schlichte Graphen. χ(G) ≤ p. (2) Hat ein Graph p Ecken, dann gilt (3) Ist G′ ein Teilgraph von G, dann gilt χ(G′ ) ≤ χ(G). (4) χ(Kp ) = p für alle p ∈ IN. (5) Ist G ein Baum, dann gilt χ(G) = 2. (6) Hat G die (Zusammenhangs-) Komponenten G1 , . . . , Gm , dann gilt χ(G) = max χ(Gi ). 1≤i≤m Die 2-chromatischen Graphen lassen sich vollständig charakterisieren: Satz 5.1.3 Es gilt χ(G) = 2 genau dann, wenn G bipartit mit q ≥ 1 Kanten ist. Korollar 5.1.3.1 Es gilt χ(G) ≥ 3 genau dann, wenn G einen ungeraden Kreis enthält. Eine entsprechende Charakterisierung der 3-chromatischen Graphen gibt es (noch) nicht, auch keine brauchbare Methode, zu einem beliebigen Graph G die chromatische Zahl χ(G) zu bestimmen. Eine Abschätzung gibt Satz 5.1.4 Ist p0 die Eckenzahl eines größten vollständigen Teilgraphen von G, dann gilt p0 ≤ χ(G) ≤ ∆(G) + 1. Die obere Schranke ist für vollständige Graphen und Kreise mit ungerader Eckenzahl bestmöglich. Für die anderen Graphen lässt sie sich verbessern: Satz 5.1.5 (Brooks) Ist weder vollständig noch ein Kreis mit ungerader Eckenzahl, dann gilt χ(G) ≤ ∆(G). Satz 5.1.6 (Heawoodscher Fünffarbensatz) Planare Graphen sind 5-färbbar. 5. Färbungen 53 5.2 Färbung von Landkarten Definition 5.2.1 Sei G = (E, K) ein ebener Graph ohne Brücken. Die zugehörige Landkarte heißt n-flächenfärbbar, wenn man jedem Land eine von n Farben zuordnen kann, so dass je zwei benachbarte Länder (d.h. mit einer gemeinsamen Kante) verschiedene Farben haben. Bemerkung und Beispiel 5.2.2 (1) Für Graphen mit Brücken ist die Definition nicht sinnvoll. (2) Wie man an der Landkarte zum K4 erkennt, braucht man mindestens 4 Farben, um eine beliebige Landkarte (ohne Brücken) zu färben. Aus dem nächsten Satz ergibt sich ein Zusammenhang zwischen Eckenfärbung und Landkartenfärbung: Satz 5.2.3 Sei G = (E, K) ein ebener zusammenhängender Graph ohne Brücken und Schlingen. Dann ist G genau dann n-färbbar, wenn der duale Graph G∗ n-flächenfärbbar ist. Als Folgerungen ergibt sich: Satz 5.2.4 Sei G ein ebener zusammenhängender Graph ohne Brücken und Schlingen, und G∗ sein dualer Graph. Dann gilt: (a) G ist 2-flächenfärbbar genau dann, wenn G Eulersch ist. (b) G sei 3-regulär (bzw. kubisch). G ist 3-flächenfärbbar genau dann, wenn jedes Land der zugehörigen Landkarte eine gerade Anzahl von Randkanten besitzt. (c) Das Vierfarbenproblem zur Färbung der Länder einer Landkarte ist äquivalent zum Vierfarbenproblem zur Färbung der Ecken eines ebenen Graphen. 5.3 Kantenfärbung Bei den Vorrunden zu einer Fußball-EM oder -WM bilden je 4 Mannschaften eine Gruppe, und jede Mannschaft einer Gruppe muss gegen jede andere Mannschaft der Gruppe spielen. Natürlich soll keine Mannschaft zwei Spiele gleichzeitig bzw. an demselben Tag bestreiten. Wieviele Spieltage sind notwendig? Wir betrachten das Problem am Beispiel der Vorrunde bei der WM 2002 in Japan und Südkorea und der Gruppe mit Deutschland (D), Kamerun (CAM), Irland (IRL) und Saudi-Arabien (KSA) und stellen die Spiele mit Hilfe eines Graphen dar. Die Mannschaften werden durch Ecken und ein Spiel zwischen zwei Mannschaften durch eine Kante zwischen den entsprechenden Ecken dargestellt. Damit ergibt sich der vollständige Graph K4 . 5. Färbungen 54 IRL Ordnet man jetzt jedem Spieltermin eine Farbe zu, dann dürfen zwei benachbarte Kanten nicht dieselbe Farbe haben. Die Anzahl der notwendigen Spieltage ist also gleich der Mindestanzahl der Farben, mit denen die Kanten des Graphen so färbt, dass keine zwei benachbarte Kanten dieselbe Farbe haben. In unserem Beispiel sieht man leicht, dass man 3 Spieltermine benötigt. KSA ✉ ✉ r b b g ✉ D g r Spielgraph ✉ CAM Definition 5.3.1 Sei G = (E, K) ein schlichter Graph. (a) G heißt n-kantenfärbbar, wenn man jeder Kante eine von n Farben zuordnen kann, so dass je zwei benachbarte Kanten verschiedene Farben haben. (b) Das Minimum der Anzahl der notwendigen Farben heißt kantenchromatische Zahl oder chromatischer Index von G. Bezeichnung: χ′ (G). Bemerkungen und Beispiele 5.3.2 (1) Hat ein Graph q Kanten, dann gilt (2) Ist G′ ein Teilgraph von G, dann gilt χ′ (G) ≤ q. χ′ (G′ ) ≤ χ′ (G). (3) Hat G die (Zusammenhangs-) Komponenten G1 , . . . , Gm , dann gilt χ′ (G) = max χ′ (Gi ). 1≤i≤m (4) Ist C ein Kreis mit p Ecken und p gerade, dann gilt χ′ (C) = 2 und sonst χ′ (C) = 3. Satz 5.3.3 Sei G ein schlichter Graph. Dann gilt: (a) χ′ (G) ≥ ∆(G). (b) Ist G bipartit, dann gilt χ′ (G) = ∆(G). ( ∆(Kp ) = p − 1 falls p gerade (c) χ′ (Kp ) = . ∆(Kp ) + 1 = p falls p ungerade (d) (Vizing) ∆(G) ≤ χ′ (G) ≤ ∆(G) + 1. Bemerkung 5.3.4 Mit Hilfe von Satz 5.3.3 kann man lateinische Quadrate der Seitenlänge n ∈ IN konstruieren. 55 6 Matchings Wir konnten das Briefträgerproblem in Beispiel 1.4.21 (2) lösen, wenn der zugehörige Graph Eulersch war, d.h. wenn der Graph nur Ecken mit geradem Grad hatte. Für Graphen mit genau 2 ungeraden Ecken musste zusätzlich der kürzeste Weg zwischen den beiden Ecken bestimmt werden, was mit den Algorithmen von Dijkstra oder Floyd-Warshall gelingt. Hat man allerdings mehr als 2 ungerade Ecken, z.B. 2n, dann reicht es nicht aus, alle kürzesten Wege zwischen je zwei ungeraden Ecken zu bestimmen, sondern man muss n dieser Wege so auswählen, dass keine zwei dieser Wege eine gemeinsamen Anfangs- und Endpunkte haben und dass die Summe der Längen der n Wege minimal wird. 6.1 Matchings und erweiternde Wege Definition 6.1.1 Sei G = (E, K) ein Graph. (a) Eine Kantenmenge M ⊂ K heißt Matching oder Korrespondenz oder Paarung, wenn M keine Schlinge enthält und keine zwei Kanten von M benachbart sind. (b) Ein Matching M in G heißt gesättigt, wenn es kein Matching M ′ 6= M von G gibt mit M ⊂ M ′. (c) Ein Matching M in G heißt maximal, wenn es kein Matching M ′ von G gibt mit mehr Kanten, und die Anzahl der Elemente von M heißt dann Kantenunabhängigkeitszahl α0 (G). (d) Ein Matching M in G heißt perfekt, wenn jede Ecke von G mit einer der Kanten von M inzident ist, und fast-perfekt, wenn jede Ecke von G außer einer mit einer der Kanten von M inzident ist. Beispiele 6.1.2 In G1 besteht jedes nichtleere Matching aus genau einer Kante, und jede der Kanten bildet ein Matching. Es ist ein gesättigtes und maximales, aber kein perfektes Matching. In G2 sind z.B. {a1 b1 , a2 b2 , a3 b3 }, {a1 b2 , a2 b1 , a3 b3 } und {a1 b2 , a2 b3 , a3 b1 } gesättigte, maximale und perfekte Matchings. In G3 ist z.B. {a1 a3 , a4 a6 } gesättigt, aber nicht maximal und nicht perfekt, {a1 a2 , a3 a4 , a5 a6 } gesättigt, maximal und perfekt. In G4 ist {a1 a2 , a3 a4 } gesättigt, maximal, aber nicht perfekt. ① ① ① b1 ① ① ① ① G1 b3 ① a6 ① a5 ① a4 ① a4 ① ① a2 ① ① ① ① b2 ① ① a1 ① a2 G2 ① a3 ① a1 ① a3 ① a2 G3 ① a3 ① a1 ① ① ① ① G4 6. Matchings 56 Bemerkungen 6.1.3 Sei G = (E, K) ein beliebiger Graph mit p Ecken. Dann gilt: (1) Jedes maximale Matching ist gesättigt. (2) Jedes perfekte oder fast-perfekte Matching ist maximal. (3) Ist M ein Matching mit pM Ecken und qM Kanten, dann gilt pM = 2qM . (4) Ist M ein perfektes Matching mit qM Kanten, dann gilt p = 2qM . (5) Ist M ein fast-perfektes Matching mit qM Kanten, dann gilt p = 2qM + 1. (6) Ist G zusammenhängend mit ∆(G) ≤ 2, dann hat G für p gerade ein perfektes und für p ungerade ein fast-perfektes Matching. Eine sinnvolle Abschätzung der Kantenzahl eines beliebigen maximalen Matchings nach oben gibt Satz 6.1.4 Sei G ein Graph mit p Ecken. (a) Ist M0 ein gesättigtes Matching von G mit qM0 Kanten, M ein beliebiges Matching mit qM Kanten, dann gilt qM ≤ 2qM0 , und die Ungleichung ist scharf. (b) Gibt es in G ein gesättigtes Matching M0 mit qM0 Kanten und gilt 4qM0 < p, dann gibt es in G kein perfektes Matching. Wir wollen nun ein Kriterium für maximale Matchings herleiten. Aus dem Beweis ergibt sich ein Verfahren zur Bestimmung eines solchen maximalem Matchings. Definition 6.1.5 Sei G = (E, K) ein Graph, M ein Matching von G. (a) Ein Weg W in G heißt M-alternierender Weg, wenn seine Kanten abwechselnd zu M und K \ M gehören. (b) Ein M-alternierender Weg W heißt M-erweiternder Weg, wenn keine seiner beiden Endecken in einer Kante von M liegen. Beispiele 6.1.6 Für das (maximale) Matching M1 = {e1 e3 , e4 e5 , e2 e10 , e6 e9 , e7 e8 } in G sind e5 e4 e1 e3 e10 und e3 e1 e5 e4 e2 e10 e9 e6 e7 e8 M1 -alternierende, aber nicht M1 -erweiternde Wege. Für das (nicht maximale) Matching M2 = {e1 e2 , e3 e5 , e6 e7 , e8 e10 } in G ist e4 e5 e3 e1 e2 e6 e7 e8 e10 e9 ein M2 -erweiternder Weg. e4 ✈ e5 ✈ ✈ e1 e9 ✈ e3 ✈ e10 ✈ ✈ ✈ e2 e6 Matching M1 in G e4 ✈ e8 ✈ e5 ✈ ✈ e7 ✈ e1 e9 ✈ e3 ✈ e10 ✈ ✈ ✈ e2 e6 Matching M2 in G e8 ✈ ✈ e7 6. Matchings 57 Satz 6.1.7 (Berge) Ein Matching M in einem Graph G ist maximal genau dann, wenn es keinen M-erweiternden Weg in G gibt. Definition 6.1.8 Sei G = (E, K) ein Graph ohne Schlingen. (a) Eine Eckenmenge E ′ ⊂ E heißt unabhängig in G, wenn keine zwei Ecken aus E ′ benachbart sind. Ist E ′ unabhängig und gibt es keine unabhängige Eckenmenge in G mit mehr Elementen, dann heißt E ′ maximal unabhängig und die Anzahl ihrer Elemente Eckenunabhängigkeitszahl α(G). (b) Eine Eckenmenge E ′′ ⊂ E heißt Eckenüberdeckung von G, wenn jede Kante von G mindestens eine Endecke in E ′′ hat. Ist E ′′ eine Eckenüberdeckung von G und gibt es keine weitere Eckenüberdeckung von G mit weniger Elementen, dann heißt E ′′ minimale Eckenüberdeckung und die Anzahl ihrer Elemente Eckenüberdeckungszahl β(G). (c) Eine Kantenmenge K ′′ ⊂ E heißt Kantenüberdeckung von G, wenn jede Ecke von G Endecke mindestens einer Kante in K ′′ ist. Ist K ′′ eine Kantenüberdeckung von G und gibt es keine weitere Kantenüberdeckung von G mit weniger Elementen, dann heißt K ′′ minimale Kantenüberdeckung und die Anzahl ihrer Elemente Kantenüberdeckungszahl β0 G). Beispiele und Bemerkungen 6.1.9 (1) Ein Matching heißt auch in G unabhängige Kantenmenge. Entsprechend heißt die Anzahl der Elemente eines maximalen Matchings Kantenunabhängigkeitszahl α0 (G). (2) Hat G keine isolierte Ecke, dann ist K eine Kantenüberdeckung von G. Jede isolierte Ecke liegt in jeder maximalen unabhängigen Eckenmenge und in keiner minimalen überdeckenden Eckenmenge. (3) Hat ein Graph G = (E, K) p Ecken und keine Kanten, dann ist E unabhängig und es gilt α(G) = p. Jede Teilmenge von E ist überdeckend, d.h. es gilt β(G) = 0. p (4) Für den vollständigen Graph gilt α(Kp ) = 1, β(Kp ) = p − 1, β0 (Kp ) = , wenn p gerade, 2 p+1 , wenn p ungerade ist. und β0 (Kp ) = 2 6. Matchings 58 (5) Im folgenden Graph G1 sind z.B. {b1 , b2 , b3 , b4 } und {a3 , b1 , b3 , b4 } unabhängige Eckenmengen, {a1 , a2 , a3 , a4 , a5 } und {a1 , a3 , a5 , b3 , b4 } maximale unabhängige Eckenmengen, d.h. es gilt α(G1 ) = 5. Weiter sind {a1 , a2 , a3 , a4 , a5 } und {a1 , a2 , a4 , a5 , b2 } Eckenüberdeckungen von G1 und {b1 , b2 , b3 , b4 } und {a2 , a4 , b1 , b2 } minimale Eckenüberdeckungen, d.h. es gilt β(G1 ) = 4. {a1 b1 , a2 b4 , a3 b2 , a4 b3 , a5 b3 } ist minimale Kantenüberdeckung von G1 , d.h. es gilt β0 (G1 ) = 5. {a2 b4 , a3 b2 , a4 b3 , a5 b1 } ist ein maximales Matching von G1 , d.h. es gilt α0 (G1 ) = 4. b1 ① ① a1 b2 ① ① a2 b3 ① ① a3 b4 ① ① a4 ① a5 G1 Satz 6.1.10 Sei G = (E, K) ein Graph ohne Schlingen mit p Ecken. Dann gilt: (a) E ′ ⊂ E ist genau dann unabhängig in G, wenn E \ E ′ eine Eckenüberdeckung von G ist. (b) α(G) + β(G) = p. (c) α0 (G) ≤ β(G). (d) Gibt es ein Matching M und eine Eckenüberdeckung E ′ von G mit jeweils r Elementen, dann gilt α0 (G) = β(G) = r. (e) Hat G keine isolierten Ecken, dann gilt α0 (G) + β0 (G) = p. Daraus folgt α(G) ≤ β0 (G). Bemerkung 6.1.11 Für den Kreis C3 gilt α0 (C3 ) = 1, β(C3 ) = 2, also nicht die Gleichheit. 6. Matchings 59 6.2 Matchings in bipartiten Graphen, Hallscher Heiratssatz Beim sogenannten Personal-Zuteilungsproblem gibt es n zu erledigende Aufgaben und m < n Personen, die für mehrere dieser Aufgaben qualifiziert sind. Gesucht ist eine Aufgabenverteilung, so dass möglichst viele Personen beschäftigt sind. Stellt man jetzt jede Person und jede Aufgabe als Ecke dar, dann erhält man als zugehöriges mathematisches Modell einen bipartiter Graphen, in dem ein maximales Matching gesucht ist. Zur Formulierung des nächsten Satzes benötigen wir Definition 6.2.1 Nachbarschaftsmenge von x bzw. E ′ . Sei G = (E, K) ein Graph. (a) Für x ∈ E bzw. E ′ ⊂ E heißt N(x) := {y ∈ E; xy ∈ K} bzw. N(E ′ ) := [ N(x) x∈E ′ (b) Ist G bipartit mit Partition E = E1 ∪ E2 , M ein Matching, so dass jede Ecke von E1 Endecke einer Kante von M ist, dann heißt M vollständiges Matching von E1 nach E2 . Beispiele 6.2.2 (1) Im Graph aus Beispiel 6.1.9 (5) ist N(a3 ) = {b2 } und N({b1 , b2 }) = {a1 , a2 , a3 , a4 , a5 }. (2) Im Graph aus Beispiel 6.1.9 (5) ist {a2 b4 , a3 b2 , a4 b3 , a5 b1 } ein vollständiges Matching von {b1 , b2 , b3 , b4 } nach {a1 , a2 , a3 , a4 , a5 }, aber nicht umgekehrt. Wenn es ein vollständiges Matching von E1 nach E2 gibt, dann müssen für jede Auswahl von Personen mindestens die gleiche Anzahl von Aufgaben zur Verfügung stehen. Der folgende Satz sagt aus, dass diese Bedingung auch hinreichend für die Existenz eines vollständigen Matchings ist. Satz 6.2.3 (Heiratssatz von Hall) Sei G = (E = E1 ∪ E2 , K) ein bipartiter Graph. Dann gibt es genau dann ein vollständiges Matching M in G von E1 nach E2 , wenn für alle S ⊂ E1 N(S) mindestens so viele Elemente hat wie S. Für bipartite Graphen gilt an Stelle von Satz 6.1.10 (c) die Gleichheit: Satz 6.2.4 (König) Sei G = (E = E1 ∪E2 , K) ein bipartiter Graph mit p Ecken, α die Eckenunabhängigkeitszahl, α0 die Kantenunabhängigkeitszahl, β die Eckenüberdeckungszahl, β0 die Kantenüberdeckungszahl. Dann gilt: p (a) β(G) = α0 (G) ≤ . 2 (b) Hat G keine isolierten Ecken, dann gilt α(G) = β0 (G). 6. Matchings 60 Zum Schluss soll ein Algorithmus zur Konstruktion maximaler Matchings vorgestellt werden: Es ist kein Problem, ein gesättigtes Matching M zu konstruieren. Wegen Satz 6.1.4 hat dann M mindestens halb so viele Kanten wie ein maximales Matching. Ist M perfekt oder fast-perfekt, dann ist es nach Bemerkung 6.1.3 (2) maximal. Ist das nicht der Fall, dann wählt man eine nicht mit M inzidente Ecke e und sucht nach einem M-erweiternden Weg mit Anfangsecke e. Gibt es einen solchen Weg, dann erhält man mit Hilfe dieses Wegs ein Matching M ′ mit einer Kante mehr als M, und man kann das Verfahren erneut mit M ′ durchlaufen. Sonst gibt es auch bezüglich eines größeren Matchings keinen erweiternden Weg von e aus, d.h. man kann e aus G entfernen und das Verfahren für G − e durchführen. Die Schwierigkeit bei dieser Vorgehensweise liegt in der Aufgabe, systematisch einen M-erweiternden Weg mit Anfangsecke e zu finden. Für bipartite Graphen geschieht das mit der ungarischen Methode. Dazu benötigen wir folgende Definition 6.2.5 Sei G = (E, K) ein Graph, M ein Matching in G. Für eine nicht mit M inzidente Ecke e ∈ E heißt ein Baum T = (ET , KT ) M-alternierender Wurzelbaum mit Wurzel e, wenn folgendes gilt: • e ∈ ET , • jede Ecke u ∈ ET , e 6= u, ist mit e durch einen (eindeutigen) M-alternierenden Weg verbunden. Ein M-alternierender Wurzelbaum heißt gesättigt, wenn man T durch keine Kante aus G vergrößern kann. Beispiel 6.2.6 Der folgenden Graph G mit dem gesättigten Matching M = {a2 b1 , a4 b2 , a5 b7 , a6 b5 } b1 ① b2 ① ① a1 b3 ① ① a2 b4 ① ① a3 b5 ① b6 ① ① a4 ① a5 G hat den gesättigten M-alternierenden Wurzelbaum a3 ✉ b2 ✉ a4 ✉ b1 ✉ b5 ✉ a6 ✉ b8 ✉ ✉ b6 ✉ b4 ✉ b3 T a2 ✉ b7 ① ① a6 b8 ① ① a7 6. Matchings 61 Satz 6.2.7 Sei G = (E = E1 ∪ E2 , K) ein bipartiter Graph, M ein Matching von G und e ∈ E eine nicht mit M inzidente Ecke. Weiter sei T ein M-alternierender Wurzelbaum mit Wurzel e. Dann gilt: (a) Ist W ein M-erweiternder Weg in T mit Anfangsecke e, den man in G durch keine Kante aus M verlängern kann, dann ist W ein M-erweiternder Weg in G. (b) Ist T gesättigt und gibt es in T keinen M-erweiternden Weg mit Anfangsecke e, dann auch nicht in G. Damit ergibt sich folgender Algorithmus für einen bipartiten Graph G = (E = E1 ∪ E2 , K) (oBdA |E1 | ≤ |E2 |) mit einem gesättigten Matching M mit Eckenmenge EM : 1. Für EM ∩ E1 = E1 beende man den Algorithmus. Sonst wähle eine Ecke e ∈ E1 \ EM und setze S1 = {e}, S2 = ∅, T = (ET , KT ) mit ET = {e}, KT = ∅. 2. Für S2 = N (S1 ) setze man E1 := E1 \ {e} und gehe zu Schritt 1. Sonst wähle y ∈ N (S1 ) \ S2 und eine Kante xy mit x ∈ ET und gehe zu Schritt 3. 3. Inzidiert y mit M , dann gibt es eine Kante yz ∈ M mit z 6∈ ET . Setze S1 := S1 ∪ {z}, S2 := S2 ∪ {y}, ET := ET ∪ {y, z}, KT := KT ∪ {xy, yz}, T := (Et , KT ) und gehe zu Schritt 2. Sonst ist der im Baum T eindeutige e-x-Weg, erweitert um die Kante xy, ein M -erweiternder Weg in G. Ersetze das Matching M mit Hilfe des Weges durch ein neues mit einer Kante mehr und gehe zu Schritt 1. Beispiel 6.2.8 Wir betrachten im folgenden Graph G b1 ① b2 ① ① a1 b3 ① ① a2 b4 ① ① a3 b5 ① ① a4 b6 ① ① a5 b7 ① ① a6 b8 ① ① a7 G mit E1 = {a1 , a2 , . . . , a7 }, E2 = {b1 , b2 , . . . , b8 } das gesättigte Matching M = {a2 b1 , a4 b2 , a5 b7 , a6 b5 } , d.h. EM = {a2 , a4 , a5 , a6 , b1 , b2 , b5 , b7 }. 1. Durchlauf: Schritt 1: Es gilt E1 \ EM = {a1 , a3 , a7 }. Wahl der Anfangsecke e = a1 ergibt den Baum mit Ecke a1 und ohne Kanten. Weiter ist S1 = {a1 }, S2 = ∅, N(S1 ) = {b1 , b2 }. 6. Matchings 62 Schritt 2: N(S1 ) \ S2 = {b1 , b2 }. Wahl von y1 = b1 und Kante a1 b1 . Schritt 3: b1 inzidiert mit M und es ergibt sich z1 = a2 . Setze S1 = {a1 , a2 }, S2 = {b1 }, ET = {a1 , a2 , b1 }, KT = {a1 b1 , b1 a2 }. Damit erhält man N(S1 ) = {b1 , b2 } und den M-alternierenden Wurzelbaum T1 a1 ✉ ✉ b1 T1 ✉ a2 Schritt 2: N(S1 ) \ S2 = {b2 }, d.h. y2 = b2 . Schritt 3: b2 inzidiert mit M und es ergibt sich z2 = a4 . Wahl der Kante a1 b2 ergibt S1 = {a1 , a2 , a4 }, S2 = {b1 , b2 }, ET = {a1 , a2 , a4 , b1 , b2 }, KT = {a1 b1 , b1 a2 , a1 b2 , b2 a4 }. Damit erhält man N(S1 ) = {b1 , b2 } und den M-alternierenden Wurzelbaum T2 . Wahl der Kante a2 b2 ergibt S1 = {a1 , a2 , a4 }, S2 = {b1 , b2 }, ET = {a1 , a2 , a4 , b1 , b2 }, KT = {a1 b1 , b1 a2 , a2 b2 , b2 a4 }. Damit erhält man N(S1 ) = {b1 , b2 } und den M-alternierenden Wurzelbaum T2′ . b1 ✉ a2 ✉ ✉ ✉ a4 a1 ✉ a1 T2 b2 ✉ ✉ b1 ✉ a2 ✉ b2 ✉ a4 T2′ Schritt 2: Es gilt in beiden Fällen S2 = N(S1 ), d.h. beide M-alternierende Wurzelbäume sind gesättigt und enthalten keinen M-erweiternden Weg, d.h. man startet den Algorithmus neu mit E1 = {a2 , a3 , a4 , a5 , a6 , a7 } und demselben Matching. 2. Durchlauf: Schritt 1: Es gilt E1 \ EM = {a3 , a7 }. Wahl der Anfangsecke e = a3 ergibt den Baum mit Ecke a3 und ohne Kanten. Weiter ist S1 = {a3 }, S2 = ∅, N(S1 ) = {b2 , b5 }. Schritt 2: N(S1 ) \ S2 = {b2 , b5 }. Wahl von y1 = b2 und Kante a3 b2 . Schritt 3: b2 inzidiert mit M und es ergibt sich z1 = a4 . Setze S1 = {a3 , a4 }, S2 = {b2 }, ET = {a3 , a4 , b2 }, KT = {a3 b2 , b2 a4 }. Damit erhält man N(S1 ) = {b2 , b5 , b1 } und den M-alternierenden Wurzelbaum T1 a3 ✉ ✉ b2 T1 ✉ a4 Schritt 2: N(S1 ) \ S2 = {b5 , b1 }. Wähle y2 = b5 . Schritt 3: b5 inzidiert mit M und es ergibt sich z2 = a6 und die Kante a3 b5 und S1 = {a3 , a4 , a6 }, S2 = {b2 , b5 }, ET = {a3 , a4 , a6 , b2 , b5 }, KT = {a3 b2 , b2 a4 , a3 b5 , b5 a6 }. Damit erhält man N(S1 ) = {b2 , b5 , b1 , b3 , b4 , b6 , b8 } und den M-alternierenden Wurzelbaum T2 6. Matchings 63 b2 ✉ a4 ✉ ✉ b5 ✉ a6 a3 ✉ T2 Schritt 2: N(S1 ) \ S2 = {b1 , b3 , b4 , b6 , b8 }. Wähle y3 = b1 . Schritt 3: b1 inzidiert mit M und es ergibt sich z2 = a2 und die Kante a4 b1 und S1 = {a3 , a4 , a6 , a2 }, S2 = {b2 , b5 , b1 }, ET = {a3 , a4 , a6 , a2 , b2 , b5 , b1 }, KT = {a3 b2 , b2 a4 , a4 b1 , b1 a2 , a3 b5 , b5 a6 }. Damit erhält man N(S1 ) = {b2 , b5 , b1 , b3 , b4 , b6 , b8 } und den M-alternierenden Wurzelbaum T3 b2 ✉ a4 ✉ ✉ b5 ✉ a6 b1 ✉ a2 ✉ a3 ✉ T3 Schritt 2: N(S1 ) \ S2 = {b3 , b4 , b6 , b8 }. Wähle y4 = b3 . Schritt 3: b3 inzidiert nicht mit M und es ergibt sich in dem um b3 und a6 b3 erweiternden Baum T4 der M-erweiternde Weg a3 b5 a6 b3 . b2 ✈ a4 ✈ b1 ✈ ✈ b5 ✈ a6 ✈ b3 a2 ✈ a3 ✈ T4 Damit erhält man als neues Matching M = {a2 b1 , a3 b5 , a4 b2 , a5 b7 , a6 b3 }. b1 ① b2 ① ❤ a1 b3 ① ① a2 b4 ① ① a3 b5 ① ① a4 b6 ① ① a5 b7 ① ① a6 b8 ① ① a7 G Wahl der Anfangsecke e = a7 führt bei Wahl von y1 = b5 , x1 = a7 , z1 = a3 , y2 = b7 , x2 = a7 , z2 = a5 , y3 = b2 , x3 = a3 , z3 = a4 , y4 = b3 , x4 = a5 , z4 = a6 , y5 = b4 , x5 = a5 auf den M-alternierenden Wurzelbaum T mit dem M-erweiternden Weg a7 b7 a5 b4 . b5 ✉ a3 ✉ ✉ ✉ a5 a7 ✉ b2 ✉ a4 ✉ ✉b4 T b7 ✉ b3 ✉ a6 Damit erhält man als neues Matching M = {a2 b1 , a3 b5 , a4 b2 , a5 b4 , a6 b3 , a7 b7 }. 6. Matchings 64 b1 ① b2 ① ❤ a1 b3 ① ① a2 b4 ① ① a3 b5 ① ① a4 b6 ① ① a5 b7 ① ① a6 b8 ① ① a7 G Wegen EM = {a2 , a3 , a4 , a5 , a6 , a7 } bricht der Algorithmus ab. M ist ein maximales Matching. Bemerkung 6.2.9 Damit haben wir natürlich nicht das Müllproblem gelöst, denn die in Frage kommenden perfekten Matchings sind ja bekannt und müssen nicht mehr konstruiert werden. 1965 entwickelte Edmonds einen Algorithmus, der ein perfektes Matching mit minimalem Gewicht in polynomialer Laufzeit (O(n3 )) konstruiert. (s. Korte-Vygen:Kombinatorische Optimierung) 65 7 7.1 Netzwerke Flüsse und Schnitte Von einem bestimmten Gut (z.B. Wasser) soll eine möglichst große Menge von einem festen Ort (der Quelle) zu einem anderen Ort (der Senke) transportiert werden. Zum Transport stehen Leitungen mit Zwischenstationen zur Verfügung, die allerdings jeweils in ihrer Kapazität beschränkt sind. Wir stellen Quelle, Senke und Zwischenstationen als Ecken und die Leitungen als gerichtete Kanten eines Graphen dar. Die Quelle bezeichnen wir im Folgenden meist als Startecke s, die Senke als Zielecke z. Das Problem ist natürlich nur dann lösbar, wenn es überhaupt einen Transportweg von s nach z, also im Graph einen gerichteten s, z-Weg gibt. Direkte Verbindungen zwischen Start und Ziel spielen für die Lösung des Problems keine Rolle. Daher schließen wir diese aus. Definition 7.1.1 Sei G = (E, K) ein gerichteter Graph, s, z ∈ E nicht benachbarte Ecken mit → − sz 6∈ K, und es gebe einen (gerichteten) Weg in G von s nach z. Weiter sei c : K → IR eine Funktion auf der Kantenmenge mit 0 ≤ c(k) für alle Kanten k ∈ K. N = (E, K, s, z, c) heißt Netzwerk mit der Quelle s und dem Ziel bzw. der Senke z, c heißt (obere) Kapazität von N. Beispiel und Bemerkungen 7.1.2 (1) Der folgende Graph stellt ein s-z-Netzwerk dar mit Kapazität c, die bei den Kanten angegeben ist. Auf dem Weg se1 e3 z kann die Menge 4 transportiert werden, auf dem Weg se2 e4 z die Menge 2 und auf dem Weg se2 e3 z die Menge 1. Allgemein gilt: Die Menge, die auf einem festen Weg transportiert werden kann, ist durch das Minimum der Kapazitäten der beteiligten Kanten nach oben beschränkt. e1 e3 ✲ s ✒ ✁✕ ❅ ✁ ❅4 5 ✁ ❅ ❘ s ❅ s s z 1 ✁ ✁ ❅ ✒ ✁ 3❅ 2 ✁ ❅ ❘ s✁ ❅ ✲ s e2 e4 3 s 17 (2) Eine Verallgemeinerung des Problems erhält man, wenn man durch jede Kante eine Mindestmenge durchschicken muss, d.h. es eine weitere Funktion cu auf der Kantenmenge gibt mit cu (k) ≤ c(k) für alle k ∈ K. Wie das folgende Beispiel zeigt, kann dadurch unser Optimierungsproblem bei unglücklichen Werten von cu und c unlösbar sein. Dabei wurde jeder Kante untere und obere Kapazität als Paar (cu |c) zugeordnet. s s (0|1) ✲ s e1 (2|3) ✲ s z 7. Netzwerke 66 Schickt man z.B. durch ein (Rohrleitungs-)Netzwerk von der Quelle s zur Senke z eine Flüssigkeit, so sollte innerhalb des Netzwerks nichts verschwinden und nichts dazukommen, d.h. die Menge, die in eine innere Ecke hineinfließt, sollte auch aus ihr herausfließen. Weiter wird durch die Kapazitätsfunktion die Mengen, die durch eine bestimmte Kante strömen, nach oben beschränkt. Wir beschreiben jetzt die Menge, die durch eine bestimmte Kante fließt, durch eine weitere Kantenfunktion. Definition 7.1.3 Eine Abbildung f : K → IR in einem Netzwerk N = (E, K, s, z, c), die die beiden Bedingungen X X → = → für alle e ∈ E \ {s, z} f (− ew) (i)f (k) ≤ c(k) für jedes k ∈ K, (ii) f (− ue) − → ew∈K − → ue∈K erfüllt, heißt Fluss. X X → − → heißt Wert |f | des Flusses. |f | = f (− su) f (− us) − → su∈K − → us∈K Bemerkungen 7.1.4 X X → − → (1) Es gilt |f | = f (− zu). f (− uz) − → uz∈K zu∈K → sowie − → die Kapazitäten (2) Oft wird bei Netzwerken gefordert, dass für Kanten der Form − us zu und damit jeder mögliche Fluss Null sind. Dann gilt natürlich X X → = → |f | = f (− su) f (− wz). − → su∈K − → wz∈K Definition 7.1.5 Die Aufgabe, zu jedem Netzwerk N = (E, K, s, z, c) mit p Ecken und q Kanten den Fluss f ∈ IRq mit maximalem Wert zu finden, heißt Problem des größten Flusses (max flow problem) . Beispiel 7.1.6 Im folgenden Netzwerk mit p = 4 Ecken, q = 5 Kanten und c(ki ) = 1, i = 1, . . . , 5, gibt es einen maximalen Fluss mit Wert 2. r ✒ ❅ ❅ k2 ❅ ❘ r ❅ r z k5 ❅ ✒ k3❅ k4 ❅ ❘ ❄ ❅ r k1 s 7. Netzwerke 67 7.2 Der Algorithmus von Ford-Fulkerson Entfernt man aus einem Fluss-Netzwerk genügend viele Kanten, dann liegen Quelle und Senke in verschiedenen Zusammenhangskomponenten, ein Fluss von der Quelle zur Senke ist also nicht mehr möglich. Existierte vorher ein Fluss, dann musste sein Wert vollständig durch die entfernten Kanten geflossen sein, er kann also nicht größer als die Gesamt-Kapazität der entfernten Kanten sein. Wir betrachten spezielle Schnitte des Graphen (s. Definition 1.4.12): Definition 7.2.1 (a) Sei (E, K, s, z, c) ein Netzwerk. Ein Schnitt (S, Z) heißt (s-z-)Schnitt des Netzwerks, wenn s ∈ S und z ∈ Z. X → (b) c(S, Z) = c(− e− heißt Kapazität des Schnittes (S, Z). i ej ) − → e− i ej ∈K, ei ∈S, ej ∈Z Satz 7.2.2 Sei N = (E, K, s, z, co ) ein Netzwerk, (S, Z) ein Schnitt und f ein Fluss. Dann gilt X X → → |f | = f (− e− f (− e− i ej ) − i ej ). − → e− i ej ∈K, ei ∈S, ej ∈Z − → e− i ej ∈K, ei ∈Z, ej ∈S Insbesondere ist |f | ≤ c(S, Z), d.h. der Wert jedes Flusses ist kleiner oder gleich dem Infimum der Kapazitäten aller Schnitte. Weiter gilt: Gibt es einen Fluss f und einen Schnitt (S, Z) mit |f | = c(S, Z), dann ist der Fluss maximal. Beispiel 7.2.3 Bei jeder Kante k wird durch x|y die (obere) Kapazität co (k) = x und der Fluss f (k) = y bezeichnet. 1|1 ✲ a d ✸ ◗ ◗ ✻ ◗ ◗ 2|2 2|2 1|0 ◗ 2|1 2|1 ◗ ◗ ◗ 2|2 ✲ ❄ 1|1 ◗✲ 2|2 ◗✲ s ◗ sz ◗ s e b ✸ ✸✻ ◗ ✑✑ ◗ ✑ 1|0 ✑ ◗ 1|1 1|1 2|1 ◗ ✑ 2|1 ◗◗ 1|1 ✲ ✑ s c❄ f Ein (minimaler) Schnitt ist z.B. (S, Z) mit S = {s, b, c}. Die Kapazität des Schnitts und der Wert des angegebenen (maximalen) Flusses ist 5. Es ist offensichtlich kein Problem, für ein Netzwerk einen zulässigen Fluss zu finden. Um einen Fluss mit möglichst großem Wert zu konstruieren, bietet es sich an, s, z-Wege maximal auszureizen. Allerdings sind diese Wege im allgemeinen nicht kantendisjunkt. In s nicht absehbare Kapazitätsbeschränkungen späterer Kanten können dazu führen, dass der so gefundene Fluss nicht maximal ist. Betrachtet man z.B. bei dem vorhergehenden Beispiel die Wege sadz, sbez und scf z, dann erhält man auf diese Weise einen Fluss mit Wert 3, der also nicht maximal ist. 7. Netzwerke 68 Beispiel 7.2.4 1|1 ✲ a d ✸ ◗ ◗ ✻ ◗ ◗ 2|1 2|1 1|0 ◗ 2|0 2|0 ◗ ◗ ◗ ◗◗ ◗◗ ❄ 2|1 1|1 2|1 s sz ✲ ✲ ✲ s e b ✸ ✑ ✸ ◗ ✑ ✻ ◗ ✑ 1|0 ✑ ◗ 1|0 1|0 2|1 ◗ ✑ 2|1 ◗◗ 1|1 ✲ ✑ s c❄ f Wir wollen nun Kriterien für einen maximalen Fluss entwickeln. Definition 7.2.5 Gegeben sei ein Netzwerk N = (E, K, s, z, c) und ein (zulässiger) s-z-Fluss f . Weiter sei W = (s = e0 , e1 , . . . , en = z) ein ungerichteter s-z-Weg im unterliegenden Graph. −→ (a) Die Kante k = ei−1 ei von W heißt Vorwärtskante von W , wenn − e− i−1 ei ∈ K und Rück− − − → wärtskante von W , wenn ei ei−1 ∈ K. (b) Gilt für jede Vorwärtskante k von W f (k) < c(k) und für jede Rückwärtskante f (k) > 0, dann heißt W zunehmender Weg (bezüglich f ). Beispiel 7.2.6 Wieder wird bei jeder Kante k durch x|y die Kapazität c(k) = x und der Fluss f (k) = y bezeichnet. 1|0 ✲ a d ✸ ◗ ◗ ✑✑ ✻ ◗ ◗ 2|0 2|1 ✑ 1|0 2|1 2|0 ◗ ◗ ✑ ◗ ◗ ✑ ✑ 2|0 ✲ ❄ 1|0 ◗◗ 2|1 ◗◗ s s ✲ ✲z s e b ✸ ✸ ◗ ✑✑ ✑✑ ✻ ◗ ✑ ✑ 1|0 ✑ ◗ 1|0 1|0 ✑ 2|0 2|0 ◗ ✑ ✑ ◗◗ ✑ 1|0 ✲ ✑ s c❄ f vorher 1|1 ✲ a d ✸ ◗ ◗ ✑✑ ✻ ◗ ◗ 2|1 2|1 ✑ 1|0 2|0 2|0 ◗ ◗ ✑ ◗ ◗ ✑ ✑ 2|0 ✲ ❄ 1|0 ◗◗ 2|1 ◗◗ s s ✲ ✲z s e b ✸ ✸ ◗ ✑✑ ✑✑ ✻ ◗ ✑ ✑ 1|0 ✑ ◗ 1|0 1|1 ✑ 2|1 2|0 ◗ ✑ ✑ ◗◗ ✑ 1|0 ✲ ✑ s c❄ f nachher Ein zunehmender Weg ist W = sceadz. Man kann auf jeder Vorwärtskante von W den Fluss um 1 erhöhen und auf jeder Rückwärtskante um 1 vermindern. Dann ist weiter die Bedingung aus Definition 7.1.3 für den neuen Fluss erfüllt und sein Wert um 1 größer als der Wert des ursprünglichen Flusses. Satz 7.2.7 Ein Fluss f auf einem Netzwerk N = (E, K, s, z, co) ist genau dann maximal, wenn es keinen bzgl. f zunehmenden Weg gibt. Korollar 7.2.7.1 Sei S die Menge aller von s aus auf einem zunehmenden Weg in einem Netzwerk N erreichbaren Ecken, Z := E \ S, f ein Fluss auf N. Dann gilt: f ist maximal genau dann, wenn |f | = c(S, Z). Im Beispiel 7.1.6 waren die Kapazitäten ganzzahlig, nämlich 1, und es wurde ein ebenfalls ganzzahliger maximaler Fluss gefunden, d.h. ein Fluss f mit f (k) ∈ ZZ für alle k ∈ K. 7. Netzwerke 69 Satz 7.2.8 Ist N ein Netzwerk mit nur ganzzahligen Kapazitäten, dann gibt es einen ganzzahligen maximalen Fluss auf N. Für den Zusammenhang zwischen den Schnitten und den Flüssen ergibt sich Satz 7.2.9 (Maximalfluss–Minimalschnitt) Der maximale Wert der Flüsse auf einem Netzwerk N ist gleich der minimalen Kapazität der Schnitte in N. Bemerkungen 7.2.10 (1) In der Praxis spielen irrationale Kapazitäten in Netzwerken keine Rolle, da im Computer nur rationale Zahlen darstellbar sind. (2) Satz 7.2.7 liefert den Algorithmus von Ford-Fulkerson, der für einen vorliegenden Fluss (z.B. f ≡ 0) entweder zeigt, dass er maximal ist, oder einen zunehmenden Weg konstruiert, mit dessen Hilfe ein größerer Fluss gefunden werden kann. Dazu werden die Ecken sukzessive, beginnend mit s, mit einer dreistelligen Markierung versehen: - Die erste Markierung m1 (e) gibt die Vorgängerecke auf einem möglichen zunehmenden ungerichteten Weg an, - die zweite Markierung m2 (e) ∈ {+, −}, ob die Kante m1 (e)e eine Vorwärts- oder Rückwärtskante ist, - und die dritte Markierung d(e), um welchen Anteil der Fluss entlang dieser Kante verändert werden kann, um den Gesamtfluss zu verbessern. Weiter werden in einer LISTE“ die Ecken aufgeführt, die selbst schon markiert wurden, ” aber nicht schon zur Markierung weiterer Ecken benutzt wurden. 1. Schritt: Gehe von einem Anfangsfluss aus (z.B. f ≡ 0). Markiere s durch m1 (s) = s, m2 (s) = −, d(s) = ∞. 2. Schritt: Setze LIST E := {s} und m1 (e) := m2 (e) := 0, d(e) := ∞ für alle e ∈ E \ {s}. → → 3. Schritt: Für jedes e ∈ LIST E betrachte alle Ecken v, w ∈ E \ LIST E mit f (− ev) < c(− ev) (Vorwärtskante) − → bzw. f (we) > 0 (Rückwärtskante). Gibt es keine derartigen Ecken und ist d(z) = ∞, dann gibt es keinen zunehmenden s-z-Weg, der Fluss f ist maximal und der Algorithmus bricht ab. → − Sonst setze m1 (v) := m1 (w) := e, m2 (v) := +, m2 (w) := − und d(v) := min(c(− ev) − f (→ ev), d(e)) − → bzw. d(w) := min(f (we), d(e)) und LIST E := LIST E ∪ {v, w}. 4. Schritt: Ist m1 (z) 6= 0, dann Schritt (5). Sonst fahre mit Schritt (3) fort. 5. Schritt: N enthält einen zunehmenden s-z-Weg. Rekonstruiere den Weg und erhöhe den Fluss entlang des zunehmenden Weges um d(z). Fahre mit Schritt (2) fort. (3) Die Sätze machen keine Eindeutigkeitsaussage, d.h. es kann mehrere Flüsse mit maximalem Wert geben. Für ganzzahliges c ist mindestens einer von ihnen ganzzahlig. 7. Netzwerke 70 Beispiel 7.2.11 Für das Netzwerk 6|0 as ✲cs ✒❅ 5|0 ✒ ❅ ❅ 3|0 ❅6|0 ❅ ❅ ❘ sz ss ❅ 3|0 ❅ ✒ ❅ 5|0❅ 6|0 ❅ ❅ ❘s ❘s ❅ ✲ b d 1|0 mit dem Fluss f0 ergibt sich s a b c d z Liste s, −, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ {s} s, +, 5 s, +, 5 {s, b, a} a, +, 5 a, +, 3 {s, a, b, c, d} c, +, 5 {s, b, c, d, a, z} mit dem zunehmende Weg sacz nur mit Vorwärtskanten und d = 5. Wir erhöhen auf den Vorwärtskanten den Fluss f0 um 5 und erhalten 6|5 as ✲cs ✒❅ 5|5 ✒ ❅ 6|5 ❅ 3|0 ❅ ❅ ❅ ❘ sz ss ❅ 3|0 ❅ ✒ ❅ 5|0❅ 6|0 ❅ ❅ ❘s ❘s ❅ ✲ b d 1|0 Der Algorithmus auf diesen Fluss f1 angewendet ergibt s a b c d z Liste s, −, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ {s} s, +, 5 {s, b} b, +, 3 b, +, 1 {s, b, c, d} c, −, 3 c, +, 1 {s, b, c, d, a, z} mit dem zunehmende Weg sbcz nur mit Vorwärtskanten und d = 1. Wir erhöhen auf den Vorwärtskanten den Fluss f1 um 1 und erhalten 6|5 as ✲cs ✒❅ 5|5 ✒ ❅ ❅ 3|1 ❅6|6 ❅ ❅ ❘ sz ss ❅ 3|0 ❅ ✒ ❅ 5|1❅ 6|0 ❅ ❅ ❘s ❘s ❅ ✲ b d 1|0 Der Algorithmus auf diesen Fluss f2 angewendet ergibt 7. Netzwerke 71 s a b c d z Liste s, −, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ {s} s, +, 4 {s, b} b, +, 2 b, +, 1 {s, b, c, d} c, −, 2 d, +, 1 {s, b, c, d, a, z} mit dem zunehmende Weg sbdz nur mit Vorwärtskanten und d = 1. Wir erhöhen auf den Vorwärtskanten den Fluss f2 um 1 und erhalten 6|5 as ✲cs ✒ ❅ ✒❅ 5|5 ❅ 3|1 ❅6|6 ❅ ❅ ❘ sz ss ❅ 3|0 ❅ ✒ ❅ 5|2❅ 6|1 ❅ ❅ ❘s ❘s ❅ ✲ b d 1|1 Der Algorithmus auf diesen Fluss f3 angewendet ergibt s a b c d z Liste s, −, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ {s} s, +, 3 {s, b} b, +, 2 {s, b, c} c, −, 2 {s, b, c, a} a, +, 2 {s, b, c, a, d} d, +, 2 {s, b, c, a, d, z} → − − → − → − → mit dem zunehmende Weg sbcsadz mit den Vorwärtskanten sb, bc, ad, dz, der Rückwärtskante → − ac und d = 1. Wir erhöhen auf den Vorwärtskanten den Fluss f3 um 2, verringern ihn auf der Rückwärtskante um 2 und erhalten 6|3 as ✲cs ✒❅ 5|5 ✒ ❅ 6|6 ❅ 3|3 ❅ ❅ ❅ ❘ sz s s ❅ 3|2 ❅ ✒ ❅ 5|4❅ 6|3 ❅ ❅ ❘s ❘s ❅ ✲ b d 1|1 Der Algorithmus auf diesen Fluss f4 angewendet ergibt s a b c d z Liste s, −, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ 0, 0, ∞ {s} s, +, 1 {s, b} Der Algorithmus bricht ab mit d(z) = 0, d.h. der Fluss f4 ist maximal mit Wert 9. Der zugehörige → − − → → minimale Schnitt mit S = {s, b} und Z = {a, c, d, z} ist {− sa, bc, bd} mit Kapazität 9. 7. Netzwerke 72 Bemerkungen 7.2.12 (1) Bei ganzzahligen oder rationalen Kapazitäten liefert der Algorithmus von Ford-Fulkerson das gewünschte Ergebnis. Bei irrationalen Kapazitäten kann es passieren, dass der Algorithmus nicht abbricht und die Folge der Flusswerte konvergiert gegen einen falschen Flusswert. Mit einer Abwandlung von Edmonds-Karp wird das verhindert und die Anzahl der notwendigen Durchläufe eingeschränkt. (2) Ist N = (E, K, s, z, cu , co ) ein Netzwerk, w ∈ IR eine Zahl, und ist γ : K → IR eine Kostenfunktion auf K, dann ergeben sich für jeden Fluss f mit |f | = w die Kosten X γ(f ) := γ(k)f (k). k∈K Unter allen Flüssen mit Wert w denjenigen zu finden mit minimalen Kosten, heißt Problem der Bestimmung eines kostenminimalen Flusses (min cost flow problem). 7.3 Trennende Mengen In einem zusammenhängenden Graph gibt es zwischen je zwei Ecken immer einen verbindenden Weg. Meistens gibt es mehrere solcher Wege, die aber durchaus gemeinsame Kanten oder Ecken haben können. Wir untersuchen hier die Frage, wie viele kantendisjunkte bzw. eckendisjunkte Verbindungswege es für ein festgelegtes Eckenpaar gibt. Es gibt dabei einen Zusammenhang zu der Ausfallsicherheit von Kommunikationsnetzen. Wir verallgemeinern zunächst die Begriffe trennende Ecke“ und Brücke“: ” ” Definition 7.3.1 Sei G ein ungerichteter Graph ohne Schlingen. (a) Die kleinste Anzahl von Ecken von G, deren Entfernung einen nicht zusammenhängenden Graph oder K1 ergibt, heißt Ecken-Zusammenhangszahl σ(G). (b) Die kleinste Anzahl von Kanten von G, deren Entfernung einen nicht zusammenhängenden Graph oder K1 ergibt, heißt Kanten-Zusammenhangszahl λ(G). (c) Sei r ∈ IN. G heißt r-fach zusammenhängend, wenn σ(G) ≥ r, und r-fach kantenzusammenhängend, wenn λ(G) ≥ r. Bemerkungen und Beispiele 7.3.2 (1) G = K1 oder G ist nicht zusammenhängend ⇐⇒ σ(G) = 0 ⇐⇒ λ(G) = 0. (2) Es gilt σ(G1 ) = λ(G1 ) = δ(G1 ) = 2, σ(G2 ) = λ(G2 ) = δ(G2 ) = 3, σ(G3 ) = λ(G3 ) = δ(G3 ) = 4, σ(G4 ) = 1, λ(G4 ) = 3, δ(G4 ) = 3 und σ(G5 ) = 2, λ(G5 ) = 3, δ(G5 ) = 4. 7. Netzwerke 73 ① ① ① ① ① ① ① ① ① ① ① ① ① ① ① ① ① ① G1 G2 ✈ G3 ✈ ✈ ✈ ✈ ✈ ✈ ✈ G4 ① ✈ ✈ ✈ ✈ ✈ ✈ ✈ ✈ ✈ G5 (3) σ(Kp ) = λ(Kp ) = δ(Kp ) = p − 1. (4) Für einen beliebigen Weg W mit q > 0 Kanten gilt λ(W ) = σ(W ) = δ(W ) = 1. (5) Für einen beliebigen Kreis C mit q > 2 Kanten gilt λ(C) = σ(C) = δ(C) = 2. (6) Ist G 6= K1 zusammenhängend, dann ist G auch einfach zusammenhängend und einfach kantenzusammenhängend. (7) Es gilt σ(G) = 1 genau dann, wenn G = K2 oder G mindestens 3 Ecken enthält, zusammenhängend ist und mindestens eine trennende Ecke enthält. Es gilt λ(G) = 1 genau dann, wenn G mindestens 2 Ecken enthält, zusammenhängend ist und mindestens eine Brücke enthält. (8) G ist zweifach zusammenhängend (d.h. σ(G) ≥ 2) genau dann, wenn G zusammenhängend ist und mindestens 3 Ecken, aber keine trennende Ecke enthält. G ist zweifach kantenzusammenhängend (d.h. λ(G) ≥ 2) genau dann, wenn G zusammenhängend ist und mindestens 2 Ecken, aber keine Brücke enthält. (9) Für gerichtete Graphen übertragen sich die Zusammenhangsdefinitionen. Sei G ein gerichteter Graph ohne Schlingen mit p Ecken. Ist G nicht stark zusammenhängend oder G = K1 , dann heißt G 0-fach stark zusammenhängend und 0-fach stark kantenzusammenhängend und man setzt σ(G) := λ(G) := 0. G heißt r-fach stark zusammenhängend, wenn p ≥ r + 1 und G − E ′ stark zusammenhängend ist für alle E ′ ⊂ E mit höchstens r − 1 Elementen. Ist G r-fach stark zusammenhängend, aber nicht (r + 1)-fach, dann setzt man σ(G) := r. G heißt r-fach stark kantenzusammenhängend, wenn G − K ′ stark zusammenhängend ist für alle K ′ ⊂ K mit höchstens r − 1 Elementen. Ist G r-fach stark kantenzusammenhängend, aber nicht (r + 1)-fach, dann setzt man λ(G) := r. Die Beispiele zeigen einen offensichtlichen Zusammenhang zwischen σ, λ und δ: 7. Netzwerke 74 Satz 7.3.3 Sei G ein ungerichteter Graph ohne Schlingen. Dann gilt σ(G) ≤ λ(G) ≤ δ(G) Der letzte Satz gibt leicht bestimmbare obere Schranken für σ und λ, der nächste Satz eine untere Schranke für σ. Satz 7.3.4 Sei G ein ungerichteter schlichter, aber nicht vollständiger Graph mit p Ecken. Dann gilt σ(G) ≥ 2δ(G) + 2 − p, und die Ungleichung ist bestmöglich. Korollar 7.3.4.1 Sei G ein ungerichteter schlichter, aber nicht vollständiger Graph mit p ≤ δ(G) + 2 Ecken. Dann gilt σ(G) = λ(G) = δ(G). Sei ein Verkehrsnetz mit Kreuzungen (Ecken) und Straßen (Kanten) mit zwei festen verschiedenen Ecken u, v gegeben. Gesucht ist eine Möglichkeit, möglichst wenige Kontrollstellen in den Kreuzungen einzurichten, so dass jeder u-v-Weg durch mindestens eine Kontrollstelle läuft. Definition 7.3.5 Zwei Wege in einem Graph heißen (ecken-) disjunkt, wenn sie keine inneren Ecken gemeinsam haben, und kantendisjunkt, wenn sie keine Kante gemeinsam haben. Satz 7.3.6 (Ford-Fulkerson, Menger) Sei G ein schlichter Graph mit verschiedenen, nicht benachbarten Ecken u, v. Dann gilt (a) Die Minimalzahl der u und v trennenden Kanten ist gleich der Maximalzahl der kantendisjunkten u-v-Wege. (b) Die Minimalzahl der u und v trennenden Ecken ist gleich der Maximalzahl der disjunkten u-v-Wege. Korollar 7.3.6.1 Sei G ein ungerichteter schlichter Graph mit p ≥ 2 Ecken, r ∈ IN. Dann gilt: (a) G ist r-fach kantenzusammenhängend genau dann, wenn je zwei Ecken durch r kantendisjunkte Wege verbunden werden können. (b) G ist r-fach zusammenhängend genau dann, wenn je zwei Ecken durch r disjunkte Wege verbunden werden können. I Inhaltsverzeichnis 0 Einleitung 1 1 Grundbegriffe, Eulersche und Hamiltonsche Graphen 1.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Matrixdarstellungen von Graphen, Isomorphie . . . . . 1.3 r- und bipartite Graphen . . . . . . . . . . . . . . . . . 1.4 Eulersche Graphen . . . . . . . . . . . . . . . . . . . . 1.5 Hamiltonsche Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . 4 . 8 . 11 . 12 . 17 2 Bäume 23 2.1 Brücken, trennende Ecken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 Bäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Minimale bzw. maximale spannende Bäume in bewerteten Graphen . . . . . . . . 28 3 Kürzeste und längste Wege 33 3.1 Kürzeste Wege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Längste Wege in Netzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4 Planare Graphen 4.1 Definition . . . . . . . . 4.2 Eulersche Polyederformel 4.3 Der Satz von Kuratowski 4.4 Dualität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 41 42 46 48 5 Färbungen 50 5.1 Eckenfärbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.2 Färbung von Landkarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.3 Kantenfärbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6 Matchings 55 6.1 Matchings und erweiternde Wege . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.2 Matchings in bipartiten Graphen, Hallscher Heiratssatz . . . . . . . . . . . . . . . 59 7 Netzwerke 65 7.1 Flüsse und Schnitte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.2 Der Algorithmus von Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3 Trennende Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8 Anhang VI Index G ∗ k, 46 G + k, 23 G − e, 23 G − k, 23 Kp , 6 Km,n , 11 N(E ′ ), 59 N(x), 59 ∆(G), 6 α(G), 57 α0 (G), 55 α0 (G), 57 β(G), 57 β0 (G), 57 χ′ (G), 54 χ(G), 51 δ(G), 6 grad (e), 7 grad + (e), 7 grad − (e), 7 λ(G), 72 ρU (s, e), 34 σ(G), 72 c(G), 20 ungerichteter, 25 benachbart, 4, 5, 42 bewerteter Graph, 28 Bewertung, 28 bipartit, 11 Brücke, 24 Chinese Postman, 17, 36 chromatische Zahl, 51 chromatischer Index, 54 Digraph, 7 Dijkstra, 35 disjunkte Wege, 74 Dodekaeder, 43 Doppelpyramide, 43 Dreiecksoperation, 36 dual, 48 eben, 41 Ecke, 4 adjazent, 4 benachbart, 4 gerade, 6 Grad, 6 ungerade, 6 Ecken-Zusammenhangszahl, 72 eckendisjunkt, 74 Eckenüberdeckung, 57 Eckenüberdeckungszahl, 57 Eckenunabhängigkeitszahl, 57 Einbettung, 41 Eingangsgrad, 7 Endecke, 7 erreichbar, 14 euklidischer Graph, 41 Euler-Charakteristik, 44 Euler-Graph, 15 Euler-Kantenzug, 15 Euler-Tour, 15 Eulersche Polyederformel, 42 Abstand zweier Ecken, 34 Abstandsmatrix, 36 adjazent, 4, 5, 42 Adjazenzmatrix, 9 Algorithmus gieriger, 32 Greedy-, 32 von Floyd-Warshall, 36 von Ford-Fulkerson, 69 von Kruskal, 29 von Prim, 31 Anfangsecke, 7 Antiprisma, 43 Ausgangsgrad, 7 Ausstellungsbesuch, 17 Baum gerichteter, 27 minimaler spannender, 28 färbbar, 51 Fläche II INDEX Geschlecht einer, 44 nichtorientierbare, 44 orientierbare, 44 flächenfärbbar, 53 Floyd-Warshall, 36 Fluss, 66 kostenminimaler, 72 Ford-Fulkerson, 69 Fünffarbensatz, 52 gerade Ecke, 6 gerichtete Kante, 7 gerichteter Graph, 7 gieriger Algorithmus, 32 Grad einer Ecke, 6, 7 Graph bewerteter, 28 ebener, 41 euklidischer, 41 gerichteter, 7 plättbarer, 41 planarer, 41 regulärer, 6 schlichter gerichteter, 7 ungerichteter, 4 unterliegender, 7 Greedy-Algorithmus, 32 Hamilton-Graph, 18 Hamilton-Kreis, 18 Hamilton-Weg, 18 Handlungsreisender, 21 Haus des Nikolaus, 16 Hierholzer, 16 Hülle, 20 Ikosaeder, 43 induzierter Teilgraph, 23 Invariante, 11 inverse Kante, 7 inzident, 4 Inzidenzmatrix, 9 isoliert, 5 isomorph, 10 Jordan -Bogen, 41 -Kurve, 41 k-regulär, 6 Kante adjazent, 5 benachbart, 5 gerichtete, 7 inverse, 7 parallele, 7 ungerichtete, 4 Kanten-Zusammenhangszahl, 72 kantenchromatische Zahl, 54 kantendisjunkt, 74 kantenfärbbar, 54 Kantenfolge, 12 Anfangsecke, 12 Endecke, 12 geschlossene, 12 innere Ecke, 12 offene, 12 Kantenüberdeckung, 57 Kantenüberdeckungszahl, 57 Kantenunabhängigkeitszahl, 55, 57 Kantenzug, 12 Kapazität eines Schnittes, 67 obere, 65 Knoten, 4 Königsberger Brückenproblem, 4 Komponente, 13 starke, 14 Kontraktion, 46 Korrespondenz, 55 kostenminimaler Fluss, 72 Kreis, 12 kritischer Weg, 39 Kruskal, 29 kubisch, 8 kürzester Weg, 34 Land, 42 benachbart, 42 Landkarte, 42 M-alternierender Weg, 56 M-erweiternder Weg, 56 Matching, 55 III INDEX fast-perfektes, 55 gesättigtes, 55 maximales, 55 perfektes, 55 vollständiges, 59 max flow problem (MFP), 66 maximal eben, 44 maximal nicht Hamiltonsch, 19 maximale unabhängige Eckenmenge, 57 maximale unabhängige Kantenmenge, 57 Maximalfluss–Minimalschnitt–Satz, 69 Mehrfachkanten, 5, 7 MFP, 66 minimale Eckenüberdeckung, 57 minimale Kantenüberdeckung, 57 minimaler spannender Baum, 28 Multigraph, 5 n-chromatisch, 51 Nachbarschaftsmenge, 4, 59 Netzplan, 38 Netzwerk, 65 Oktaeder, 43 Orientierung, 7 paar, 11 Paarung, 55 parallele Kanten, 5, 7 PERT, 40 Petersen-Graph, 47 plättbar, 41 planar, 41 platonische Körper, 43 Potential, 38 Prim, 31 Prisma, 43 Problem des chinesischen Briefträgers, 17 Problems des größten Flusses, 66 Pyramide, 43 Quelle, 65 r-fach kantenzusammenhängend, 72 r-fach stark kantenzusammenhängend, 73 r-fach stark zusammenhängend, 73 r-fach zusammenhängend, 72 r-partit, 11 regulär, 6 Rückwärtskante, 68 s-z-Schnitt, 67 schlichter gerichteter Graph, 7 schlichter Graph, 5 Schlinge, 5 Schnitt, 14 schwach zusammenhängend, 14 Senke, 65 spannender Teilgraph, 23 stark zusammenhängend, 14 Teilgraph, 23 Tetraeder, 43 Traveling Salesman Problem, 21 trennende Ecke, 24 unabhängige Kantenmenge, 57 unabhängige Eckenmenge, 57 ungarische Methode, 60 ungerade Ecke, 6 unterliegender Graph, 7 Unterteilung, 46 Verbindungskante, 4 vollständiger Graph, 6 vollständiger r-partiter Graph, 11 Vorwärtskante, 68 Wald, 25 Weg, 12 M-alternierender, 56 kritischer, 39 M-erweiternder, 56 zunehmender, 68 Wert, 28 Wert eines Flusses, 66 Würfel, 43 Wurzel, 27 Wurzelbaum, 27 gesättigter M-alternierender, 60 M-alternierender, 60 Ziel, 65 zunehmender Weg, 68 zusammenhängend, 13 schwach, 14 IV INDEX stark, 14 zusammenhängende Ecken, 13 zusammenhängender Graph, 13 Zusammenhangszahl, 72 Zyklus, 12 V VI 8 Anhang Beweis Satz von Kuratowski: Angenommen, es gibt einen nichtplättbaren Graphen G, der keine Unterteilung von K5 oder K3,3 als Teilgraph enthält, und G sei minimal bezüglich Eckenoder Kantenzahl p bzw. q. 1.Behauptung: p ≥ 5 und σ(G) ≥ 3. Beweis: K4 und jeder Teilgraph von K4 ist plättbar, d.h. p ≥ 5. Angenommen, σ(G) = 0, d.h. G = K1 oder G nicht zusammenhängend. Wegen p ≥ 5 ist G 6= K1 . Seien G1 , . . . , Gn die Komponenten von G, dann enthält keine Komponente eine Unterteilung von K5 oder K3,3 als Teilgraph und jede Komponente hat weniger Ecken als G, ist also plättbar. Damit ist auch die Vereinigung, also G, plättbar. Widerspruch. Angenommen, σ(G) = 1, d.h. G ist zusammenhängend und hat mindestens eine trennende Ecke e, d.h. G − e ist nicht zusammenhängend. Seien G1 = (E1 , K1 ) und G2 = (E2 , K2 ) die Teilgraphen von G mit E1 ∪ E2 = E, E1 ∩ E2 = {e} und den durch G induzierten Kantenmengen K1 und K2 , dann enthalten G1 und G2 keine Unterteilung von K5 oder K3,3 als Teilgraph und beide haben weniger Ecken als G, sind also plättbar. Beide haben also eine ebene Darstellung und man kann e jeweils als Außenecke“ darstellen. Damit ist die Vereinigung der Darstellungen eine ebene Darstellung ” von G, d.h. G ist plättbar. Widerspruch. Angenommen, σ(G) = 2, d.h. G ist zusammenhängend, hat keine trennende Ecke, aber eine trennende Eckenmenge {u, v}, d.h. G − {u, v} ist nicht zusammenhängend. Seien G1 = (E1 , K1 ) und G2 = (E2 , K2 ) die Teilgraphen von G mit E1 ∪ E2 = E, E1 ∩ E2 = {u, v} und den durch G induzierten Kantenmengen K1 und K2 , k := uv, G′i := Gi + k, i = 1, 2. Für k ∈ K ist G′i = Gi , enthält also keine Unterteilung von K5 oder K3,3 als Teilgraph. Sei k 6∈ K. Angenommen G′i enthält eine Unterteilung von K5 oder K3,3 als Teilgraph. Dann ist k Teil dieses Teilgraphen. Wegen σ(G) = 2 existiert ein u-v-Weg Wi in G, der k nicht enthält, und Gi + Wi enthält eine Unterteilung von K5 oder K3,3 als Teilgraph (mit Wi als Ersatz“ für k). Damit enthält aber auch G eine Unterteilung von K5 oder K3,3 als ” Teilgraph. Widerspruch. G′1 und G′2 haben weniger Ecken als G, sind also plättbar, und es gibt jeweils Einbettungen in die Ebene mit k als Außenkante, die außerdem als Teil einer Geraden gewählt werden kann. Legt man die Einbettungen von G′1 und G′2 in verschiedene Halbebenen bezüglich dieser Geraden, dann erhält man eine ebene Einbettung von G, d.h. G ist plättbar. Widerspruch. 2. Behauptung: Sei = uv eine beliebige Kante von G, G′ := G − k = (E, K ′ ) und σ(u, v) die Mächtigkeit einer kleinsten u-v-trennenden Eckenmenge in G. Dann gilt σ(u, v) ≥ 2, d.h. es gibt einen Kreis in G′ , der u und v enthält. Beweis: Angenommen, σ(u, v) = 0, d.h. k ist Brücke in G und λ(G) ≤ 1. Widerspruch wegen 3 ≤ σ(G) ≤ λ(G) ≤ 1. 8. Anhang VII Angenommen, σ(u, v) = 1, d.h. es gibt eine u-v-trennende Ecke w, die auf jedem u-v-Weg in G′ liegt. Sei G′′ := (E, K ′′ ) mit K ′′ := K ′ ∪ {uw, wv}. w ist trennende Ecke von G′′ , d.h. G′′ − w ist nicht zusammenhängend. Seien G′′1 = (E1′′ , K1′′ ) und G′′2 = (E2′′ , K2′′ ) die Teilgraphen von G′′ mit E1′′ ∪ E2′′ = E, E1′′ ∩ E2′′ = {w} und den durch G induzierten Kantenmengen K1′′ und K2′′ , u ∈ E1′′ , v ∈ E2′′ . Angenommen, G′′1 enthält eine Unterteilung von K5 oder K3,3 als Teilgraph. Dann ist uw Kante dieses Teilgraphen. Sei W1′′ ein u-w-Weg in G′ , der uw nicht enthält. Dann enthält auch G′′ − uw + W1′′ eine Unterteilung von K5 oder K3,3 als Teilgraph. Der letzte Graph ist aber ein Teilgraph von G. Widerspruch. Analog enthält auch G′′2 keine Unterteilung von K5 oder K3,3 als Teilgraph. Beide Graphen haben weniger Ecken als G, sind also plättbar und haben eine ebene Darstellung, und man kann uw bzw. wv jeweils als Außenkante“ und w als Außenecke“ ” ” darstellen. Damit kann man auch die Kante k = uv in der Ebene kreuzungsfrei hinzufügen, und G ist Teilgraph des Graphen G′′ + k, also plättbar. Widerspruch. G′′ 1 u r G′′ 2 r w r v k Fall σ(u, v) = 2: Sei {z1 , z2 } eine u-v-trennende Kantenmenge in G′ . Dann gibt es wieder Teilgraphen G′1 = ′ ′ ′ ′ ′ ′ ′ (E1′ , K1′ ) und G′2 = (E2′ , K2′ ) von ( G mit E1 ∪ E2 = E, E1 ∩ E2 = {z1 , z2 }, u ∈ E1 , v ∈ E2 , {z1 z2 } falls z1 z2 ∈ K K1′ ∪ K2′ = K ′ und K1′ ∩ K2′ = . ∅ sonst Wegen p ≥ 5 existiert (außer u, v, z1, z2 ) mindestens eine weitere Ecke z3 . OBdA sei z3 ∈ E2′ . Sei K3 der vollständige Graph mit Ecken z1 , z2 und v und G′′1 := G′1 ∪ K3 + k, G′′2 := G′2 ∪ K3 . Dann gilt G′′1 ∪ G′′2 = G und G′′1 ∩ G′′2 = K3 . G′′1 und G′′2 haben genau den Graphen K3 gemeinsam und u ∈ G′′1 , z3 ∈ G′′2 , d.h. {z1 , z2 , v} ist eine u-z3 -trennende Eckenmenge. Andererseits gilt σ(G) ≥ 3, d.h. es gibt mindestens 3 disjunkte u-z3-Wege in G, die jeweils in einen Teilweg von u nach K3 , einen Teilweg innerhalb von K3 und einen Teilweg von K3 nach z3 zerlegt werden können. Enthält G′′1 eine Unterteilung von K5 oder K3,3 als Teilgraph, dann liegen die Kanten dieses Teilgraphen in G′1 + k oder in K3 , also in G oder K3 . Im letzteren Fall kann man die Kanten in K3 durch entsprechende Wege in G′2 ersetzen, und man erhält eine entsprechende Unterteilung von K5 oder K3,3 als Teilgraph von G. Widerspruch. 8. Anhang VIII Analoges gilt für G′′2 . Damit enthalten weder G′′1 noch G′′2 eine Unterteilung von K5 oder K3,3 als Teilgraph und sie haben nach Konstruktion weniger Ecken als G, sind also plättbar. Seien G̃1 und G̃2 ebene Einbettungen von G′′1 bzw. G′′2 und K̃3 die daraus resultierende ebene Einbettung des K3 . Gibt es im Innern von K̃3 eine Ecke x ∈ G̃1 und im Äußern von K̃3 eine Ecke y ∈ G̃1 , dann kann man diese und auch z3 durch disjunkte Wegetripel mit den Ecken von K̃3 verbinden und erhält eine Unterteilung des K3,3 in G. Widerspruch. K̃3 ist also Begrenzung eines Landes von G̃1 und man kann eine ebene Darstellung finden, so dass K̃3 äußeres Land von G̃1 ist. Entsprechend ist K̃3 Begrenzung eines Landes von G̃2 , und wir wählen eine Darstellung, so dass K̃3 inneres Land von G̃2 ist. Zeichnet man nun G̃1 in das innere Land von G̃2 , dann erhält man eine ebene Einbettung von G. Widerspruch. Fall σ(u, v) ≥ 3: G′ hat gleiche Eckenzahl wie G, aber weniger Kanten als G, ist also plättbar. Sei OBdA schon G′ eben. Gesucht ist eine Möglichkeit, k = uv kreuzungsfrei einzuzeichnen. Wegen σ(u, v) ≥ 3 gibt es mindestens 3 disjunkte u-v-Wege W1 , W2 , W3 in G′ , und diese zerlegen die Ebene in 3 Gebiete F1 , berandet durch W2 und W3 , F2 , berandet durch W1 und W3 , und F3 , berandet durch W1 und W2 . (Eines dieser Gebiete ist unbeschränkt.) Gibt es ein Land der Landkarte zu G′ , das z.B. in F1 liegt und sowohl u als auch v als Randpunkt hat, dann kann man k = uv innerhalb dieses Landes zeichnen und erhält eine ebene Darstellung von G. Widerspruch. Sonst liegen auf den Wegen W1 , W2 und W3 Zwischenecken“, z.B. e23 auf W2 , e32 auf W3 , und ” es gibt einen e23 -e32 -Weg W23 innerhalb F1 , einen e21 -e12 -Weg W12 innerhalb F3 von e21 auf W2 nach e12 auf W1 und einen e31 -e13 -Weg W13 innerhalb F2 von e31 auf W3 nach e13 auf W1 . Wir betrachten jetzt verschiedene Fälle, je nachdem ob zwei Ecken, die auf demselben Weg liegen, gleich oder verschieden sind: 1. Fall: e12 = e13 , e21 = e23 , e31 = e32 ergibt K5 . e12 r k e12 W1 r u W2 u r e21 W3 e31 r r r r e21 r v r v r e31 8. Anhang IX 2. Fall: e12 = e13 , e21 = e23 , e31 6= e32 ergibt K3,3 . k e12 W1 r W2 u e21 W3 e31 e12 ur r r r e32 r r v r r e32 r r r e31 v e21 e21 ur e31 k e12 W1 r W2 u e21 W3 e32 r r r r r v r r e31 r r e32 v r e12 3. Fall: e12 = e13 , e21 6= e23 , e31 6= e32 ergibt Unterteilung von K3,3 . k e12 W1 e12 r ur r e32 r e21 r r W2 u r r e23 W3 e31 r e21 r v r e32 r r r e31 v e23 e12 ur e32 k e12 W1 r W2 u r e21 W3 e31 r r r r r e23 r e23 v r e32 r r e31 r v r e21 8. Anhang X k e12 W1 e12 r e32 vr r r e21 r W2 r u r r e21 W3 e32 r e23 r v r r e31 r r e31 u e23 e12 vr e32 k e12 W1 W2 r u r e23 W3 e32 r r r r e21 r r r e23 v r e31 r r e31 r u e21 4. Fall: e12 6= e13 , e21 6= e23 , e31 6= e32 ergibt Unterteilung von K3,3 . Zum Beispiel k e12 e13 r W1 e13 r e32 ur r r e12 r r W2 u r e23 r r e21 v r W3 e31 e21 r r e32 r e31 r v r e23 8. Anhang XI Zu Bem. 4.4.2 (5): Für die isomorphen Graphen G1 und G2 aus Bemerkung 4.2.5 (1) l1 l1 ① ① l2 l4 l3 ① ① ① l5 l6 ① ① l2 ① l3 ①l4 ① l6 l5 ① ① G2 G1 ∗ ∗ ergeben sich die nicht isomorphen dualen Graphen G1 und G2 mit ∆(G∗1 ) = 5 und ∆(G∗2 ) = 4 e∗5 ① e∗4 ① ① e∗6 e∗3 ① ① ① e∗1 G∗1 e∗2 e∗5 ① e∗4 ① ① e∗6 e∗3 ① ① ① e∗1 G∗2 e∗2 8. Anhang XII Überdeckung eines Schachbretts mit Dominosteinen 8. Anhang XIII Beispiel zum Beweis des Fünffarbensatzes e3 ❤ r e2 r u e4 r e1 ① r e5 Ecke u vom Grad 5 mit Nachbarn ❤ ❤ ① r ① ❤ r ❤ r r ① e3 ❤ ① ① r e2 ❤ r u e4 r r ❤ r e5 r e1 ① ❤ ❤ r ① ❤ ① ❤ ① Graph mit Farben a1 (schwarz) und a3 (weiß) ❤ ❤ ① e3 ❤ ① ① ❤ ① ❤ ❤ ① e1 ① ❤ ❤ ❤ ① e1 und e3 in verschiedenen Komponenten des Teilgraphen G′ nur mit Farben a1 und a3 ❤ ❤ ① r ① ❤ r ❤ r r ① e3 ❤ ❤ ① r e2 ❤ e4 r r ① r r u r e5 e1 ❤ ① ❤ r ❤ ① Neuer Graph mit umgefärbter Komponente von e1 in G′ ① 8. Anhang XIV ❤ ❤ ① r ① ❤ r ❤ r r ① e3 ❤ ❤ ① r e2 ❤ e4 r r ① r r u r e5 e1 ① ❤ ❤ r ① ❤ ① e1 und e3 in derselben Komponente des Teilgraphen G′ nur mit Farben a1 und a3 Zusammen mit u gibt es einen Kreis in G′ durch e1 und e3 , und e2 liegt im Innern, e4 im Äußern. e2 und e4 in verschiedenen Komponenten des Teilgraphen G′′ nur mit Farben a2 und a4