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