Kapitel 3 - Institut für Algebra, Zahlentheorie und Diskrete Mathematik
Kapitel 3 - Institut für Algebra, Zahlentheorie und Diskrete Mathematik
Kapitel 3 - Institut für Algebra, Zahlentheorie und Diskrete Mathematik
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Diskrete</strong> <strong>Mathematik</strong><br />
Marcel Erné<br />
Fakultät <strong>für</strong> <strong>Mathematik</strong> <strong>und</strong> Physik<br />
Vorlesung<br />
<strong>für</strong> Studierende des<br />
Bachelor- <strong>und</strong> Master-Studienganges <strong>Mathematik</strong><br />
Sommersemester 2011<br />
3. Graphentheorie<br />
57
Inhaltsverzeichnis<br />
3 Graphentheorie 59<br />
3.1 Isomorphie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />
3.2 Eulersche <strong>und</strong> Hamiltonsche Wege . . . . . . . . . . . . . . . . . 67<br />
3.3 Bäume <strong>und</strong> Wälder . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />
3.4 Mehrfacher Zusammenhang . . . . . . . . . . . . . . . . . . . . . 88<br />
58
3 Graphentheorie<br />
In diesem <strong>Kapitel</strong> widmen wir uns einigen elementaren, aber reizvollen Themen<br />
aus der Theorie der (schlichten) Graphen, also der irreflexiven <strong>und</strong> symmetrischen<br />
Digraphen (X, S). Die Relation S ist hier eindeutig durch die Menge<br />
E S<br />
= {xy | xS y} (wobei xy = {x, y})<br />
der Kanten (edges) festgelegt, <strong>und</strong> umgekehrt gibt es zu jeder Teilmenge E von<br />
P 2 X = {xy | x, y ∈ X, x ≠ y} = {Y ⊆X | |Y | = 2},<br />
der Menge aller zweielementigen Teilmengen von X, genau einen Graphen (X, S)<br />
mit E = E S , nämlich denjenigen mit der irreflexiven <strong>und</strong> symmetrischen Relation<br />
S = {(x, y) | xy ∈ E}. Deshalb werden wir der gängigen Konvention folgen,<br />
auch die Paare (X, E) mit E ⊆ P 2 X Graphen zu nennen.<br />
Wie der Name schon sagt, lassen sich zumindest alle endlichen Graphen leicht<br />
graphisch veranschaulichen, indem man die Ecken oder Knoten (vertices), also<br />
die Elemente der Gr<strong>und</strong>menge X, durch Punkte oder kleine Kreise in der<br />
Ebene darstellt <strong>und</strong> je zwei solche durch eine Linie verbindet, wenn die entsprechenden<br />
Ecken x, y des Graphen eine Kante xy bilden. Man sagt in diesem<br />
Fall: x <strong>und</strong> y inzidieren mit der Kante xy, oder x <strong>und</strong> y sind adjazent (die<br />
deutsche Übersetzung ”<br />
benachbart” vermeiden wir, um Verwechslungen mit<br />
dem gleichlautenden ordnungstheoretischen Begriff auszuschließen). Im Fall<br />
X = {x 1 , ..., x n } ist die zugehörige (symmetrische!) Adjazenzmatrix A = (a ij )<br />
in {0, 1} n×n gegeben durch<br />
a ij = 1 ⇔ x i x j ∈ E.<br />
Beachten Sie, dass in der Graphentheorie die gezeichneten Darstellungen eine<br />
andere Bedeutung haben als in der Ordnungstheorie: Während dort nur aufsteigende<br />
Kanten vorkommen <strong>und</strong> stets als von unten nach oben gerichtet angesehen<br />
werden, haben Kanten in der Graphentheorie keine Orientierung, können also<br />
stets ”<br />
in beiden Richtungen durchlaufen” werden. Zwischen beiden Theorien<br />
bestehen aber enge Verbindungen: Indem man Pfeilspitzen wegläßt, also die<br />
entsprechenden Relationen symmetrisiert, erhält man<br />
(1) zu jeder geordneten Menge (X, ⊑)<br />
(2) den Vergleichbarkeitsgraphen (X, ⊏ s ) mit x⊏ s y ⇔ x ⊏ y oder y ⊏ x,<br />
(3) den Unvergleichbarkeitsgraphen (X, ⊑ cs ) mit x⊑ cs y ⇔ x ⋢ y <strong>und</strong> y ⋢ x,<br />
(4) <strong>und</strong> den Nachbarschaftsgraphen (X, ⊏ ∨s ) mit x ⊏ ∨s y ⇔ x ⊏ ∨ y oder y ⊏ ∨ x.<br />
Beispiel 3.1 Die geordnete Menge der Teiler von 12 <strong>und</strong> ihre Graphen<br />
12 <br />
✟ ✟✟✯ 6 ✡ ✡✣ ✻❏❏❪<br />
4<br />
❏<br />
3<br />
✡ ✡✣ ✻✄ ✄✄✗<br />
❏❏❪ ✡ ✡✣ 2 ❏❏❪<br />
1❏❏❪<br />
✟✄<br />
✡ ✡✣ ✄<br />
✟✟<br />
(1)<br />
12 ❝<br />
✟ ✟✟ 6 ❝ ✡☎<br />
❏ ❝ 4<br />
3❏❏<br />
❝ ✡ ❏ ❝ ✡<br />
☎ ☎ 2 ❏❏<br />
❏<br />
1 ❝ ☎✟ ✡ ✟✟<br />
(2)<br />
3<br />
12 ❝<br />
6 ❝ ❝ 4<br />
❝ ✟ ✟✟ ❝ 2<br />
1 ❝<br />
(3)<br />
3<br />
12 ❝<br />
❝ ✡ ❏<br />
6 ❝ 4<br />
❝ ✡ ❏ ❝ ✡ 2<br />
❏<br />
1 ❝ ✡<br />
(4)<br />
59
3.1 Isomorphie<br />
Von essentieller Bedeutung in der Graphentheorie ist wie bei allen strukturellen<br />
Untersuchungen die Frage, wann zwei Graphen oder Digraphen ”<br />
im Wesentlichen<br />
gleich” sind, d.h. durch geeignete Umbenennung ihrer Elemente auseinander<br />
hervorgehen. Hierzu braucht man wieder den Begriff der Isomorphie<br />
(Gleichgestaltigkeit), den wir in <strong>Kapitel</strong> 1 schon kennengelernt haben.<br />
Es seien zwei Digraphen (X, R) <strong>und</strong> (X ′ , R ′ ) gegeben. Dann heißt eine Abbildung<br />
ϕ : X −→ X ′<br />
• inzidenz-erhaltend,<br />
falls xR y ⇒ ϕ(x)R ′ ϕ(y)<br />
• inzidenz-reflektierend, falls xR y ⇐ ϕ(x)R ′ ϕ(y)<br />
• Quasi-Einbettung,<br />
falls xR y ⇔ ϕ(x)R ′ ϕ(y)<br />
<strong>für</strong> alle x, y ∈ X gilt. Eine Einbettung ist eine injektive Quasi-Einbettung, <strong>und</strong><br />
ein Isomorphismus eine bijektive Einbettung. Entsprechend ist ein Isomorphismus<br />
zwischen Graphen (X, E) <strong>und</strong> (X ′ , E ′ ) eine Bijektion ϕ:X −→ X ′ mit<br />
xy ∈ E ⇔ ϕ(x)ϕ(y) ∈ E ′ .<br />
Die Bezeichnungen<br />
ϕ + (R) = {(ϕ(x), ϕ(y)) | xR y} <strong>und</strong> ϕ − (R ′ ) = {(x, y) ∈ X×X | ϕ(x)R ′ ϕ(y)}<br />
erlauben folgende kurze Charakterisierungen der obigen Eigenschaften:<br />
ϕ ist inzidenz-erhaltend ⇔ R ⊆ ϕ − (R ′ ) ⇔ ϕ + (R) ⊆ R ′<br />
ϕ ist inzidenz-reflektierend ⇔ R ⊇ ϕ − (R ′ )<br />
ϕ ist eine Quasi-Einbettung ⇔ R = ϕ − (R ′ )<br />
ϕ ist eine Einbettung ⇔ R = ϕ − (R ′ ) <strong>und</strong> ϕ ist injektiv<br />
ϕ ist ein Isomorphismus ⇔ R = ϕ − (R ′ ) <strong>und</strong> ϕ ist bijektiv.<br />
Zwei Graphen bzw. Digraphen G <strong>und</strong> G ′ heißen isomorph, in Zeichen G ≃ G ′ ,<br />
falls ein Isomorphismus zwischen ihnen existiert. Dies liefert wie bei jedem Isomorphiebegriff<br />
eine Äquivalenzrelation. Die Isomorphieklassen oder speziell ausgewählte<br />
Vertreter dieser Klassen nennt man auch Isomorphietypen.<br />
Die anschaulich einleuchtende Tatsache, dass zwei endliche geordnete Mengen<br />
genau dann isomorph sind, wenn sie gleiche Darstellungen durch Diagramme<br />
haben, lässt sich dahin gehend präzisieren <strong>und</strong> verallgemeinern, dass die<br />
Isomorphie maximal verketteter geordneter Mengen äquivalent zur Isomorphie<br />
ihrer Nachbarschaftsdiagramme ist.<br />
Beispiel 3.2 Nicht-isomorphe geordnete Mengen <strong>und</strong> Graphen<br />
Wir betrachten auf der Menge X = {1, 2, 3, 6} die Teilbarkeitsrelation |, die<br />
gewöhnliche lineare Ordnung ≤ <strong>und</strong> die nicht totale Ordnung<br />
x ⊑ y ⇔ x ≤ y <strong>und</strong> (1, 2) ≠ (x, y) ≠ (3, 6).<br />
So erhalten wir drei geordnete Mengen G = (X, |), G ′ = (X, ≤), G ′′ = (X, ⊑).<br />
Die Identität id X : X → X ist dann<br />
60
inzidenz-erhaltend, aber nicht -reflektierend als Abbildung von G bzw. G ′′ in G ′<br />
inzidenz-reflektierend, aber nicht -erhaltend als Abbildung von G ′ in G bzw. G ′′<br />
weder inzidenz-erhaltend noch -reflektierend als Abbildung von G in G ′′ .<br />
Denn es gilt x | y ⇒ x ≤ y <strong>und</strong> x ⊑ y ⇒ x ≤ y, aber weder x | y ⇒ x ⊑ y<br />
noch x ⊑ y ⇒ x | y (betrachte x = 1 <strong>und</strong> y = 2 bzw. x = 2 <strong>und</strong> y = 3).<br />
❝ 6<br />
6<br />
❝ ✏ ✏ ✏✶ 2❵ 3 6 ❵❵❵❵<br />
❝<br />
❝ ❝<br />
3 ❝ ✡ ❏ 3<br />
G ✘ ✘✘ ✘✿ ✭✾ ✭✭<br />
❝2<br />
✡<br />
<br />
❏ ❝ ✡ ❝<br />
❏❏ G′ ✡ G ′′<br />
2 2❤ ❝ ❝<br />
<br />
1 ❝ ✥✾ ✥ ❤❤ ✡ ❏<br />
✥✥✥<br />
2 1<br />
1<br />
Es gibt keine inzidenz-erhaltende Bijektion zwischen den Nachbarschaftsgraphen<br />
von G (bzw. G ′′ ) <strong>und</strong> G ′ , während die Nachbarschaftsgraphen der nichtisomorphen<br />
geordneten Mengen G <strong>und</strong> G ′′ isomorph sind (1 <strong>und</strong> 3 vertauschen)!<br />
6<br />
❝<br />
3 ❝ ✡ ❏ ❝2<br />
❏ ❝ ✡<br />
1<br />
≃<br />
3<br />
❝<br />
❏❏ ❏<br />
✡<br />
✡<br />
❝ ✡<br />
2<br />
Ein Graph T ist Teilgraph eines Graphen G, wenn sowohl die Eckenmenge<br />
als auch die Kantenmenge von T in der jeweiligen von G enthalten ist. Das<br />
bedeutet nichts anderes, als dass die Inklusionsabbildung von T in G (die jede<br />
Ecke auf sich selbst abbildet) die Inzidenz erhält. Ist sie sogar eine Einbettung,<br />
so spricht man von einem induzierten (Teil-)Graphen. Analog bildet man <strong>für</strong><br />
Digraphen (X, R) <strong>und</strong> Teilmengen Y ⊆ X die von R auf Y induzierte Relation<br />
R| Y = R ∩ (Y ×Y )<br />
<strong>und</strong> nennt (Y, R| Y ) einen induzierten Digraphen. Für einen Graphen G = (X, E)<br />
<strong>und</strong> eine Eckenmenge Y ⊆ X wird der auf X \ Y induzierte ”Restgraph” mit<br />
G − Y bezeichnet. Entsprechend bezeichnet man <strong>für</strong> eine Kantenmenge K ⊆ E<br />
den Graphen (X, E \ K) mit G − K.<br />
Beispiel 3.3 Einige Teilgraphen des vollständigen Graphen mit 5 Ecken<br />
❝ ❝<br />
❝<br />
❝<br />
❝ ✑ ◗ ❝<br />
❈❩<br />
❈❝<br />
✂✚ ✂✂ ❇<br />
✚ ❝ ✑ ◗ ❝<br />
❇<br />
❩ ❇❝<br />
✄ ❩<br />
✄ ❝ ✂✚ ✂✂ ❇<br />
❇ ✚ ❝ ❝<br />
❈ ❩ ❇❝<br />
❈❝<br />
✚ ✚ ❝ ❝<br />
❩<br />
❩ ❝<br />
✄ ❈ ✄ ❈❝<br />
✚ ✚<br />
❝ ✄ ✄<br />
❝ ✂ ✂✂ ❇ ❝ ❝ ❝ ✑ ◗ ❝<br />
❇<br />
❈❩<br />
❇❝<br />
❈❝<br />
✚ ✚ ❝<br />
✄ ❩ ✄<br />
(a) (b) (c) (d) (e) (f)<br />
(a) Gleiche Eckenmenge, nicht induziert.<br />
(b) Verschiedene Eckenmenge, induziert.<br />
(c) Teilgraph, verschiedene Eckenmenge, nicht induziert.<br />
(d) eingebettet in (a), (b), (c), aber kein Teilgraph von (a), (b) oder (c).<br />
(e) Restgraph nach Entfernen der Knoten aus (d).<br />
(f) Restgraph nach Entfernen der Kanten aus (d).<br />
6<br />
❝<br />
❝<br />
1<br />
61
Viele wichtige Eigenschaften von Graphen lassen sich durch Existenz oder<br />
Ausschluss bestimmter Teilgraphen charakterisieren. Spezielle induzierte Teilgraphen<br />
sind die sogenannten n-Ecke. Das sind die induzierten Teilgraphen mit<br />
n Ecken, die einen Zykel bilden. Ein Nachbarschaftsgraph ist stets ”<br />
dreiecksfrei”,<br />
d.h. er enthält keine Dreiecke als Teilgraphen. Kein Vergleichbarkeitsgraph<br />
enthält ein induziertes n-Eck mit einer ungeraden Kantenzahl n > 3. (Warum?)<br />
Unter einer Symmetrie oder einem Automorphismus eines Graphen (oder Digraphen)<br />
G vesteht man einen Isomorphismus zwischen G <strong>und</strong> sich selbst. Jeder<br />
Graph hat einen trivialen Automorphismus, nämlich die Identität id X . Die Automorphismen<br />
eines festen Graphen G bilden eine Gruppe, die Automorphismengruppe<br />
oder Symmetriegruppe Aut G = S(G). Offenbar besitzt ein Graph<br />
G = (X, E) stets genau die gleichen Symmetrien wir der komplementäre Graph<br />
G = (X, P 2 X \ E).<br />
Da die Summe der beiden Kantenzahlen von G <strong>und</strong> G bei n Ecken n(n − 1)/2<br />
ergibt, kann ein Graph nur dann zu seinem Komplement isomorph sein, wenn<br />
seine Kantenzahl n(n − 1)/4 beträgt; das ist natürlich nur dann möglich, wenn<br />
n(n − 1)/2 gerade ist, also z.B. nicht <strong>für</strong> n = 2, 3, 6, 7 oder 10. Die Fälle n = 4<br />
<strong>und</strong> n = 5 studieren wir in Kürze genauer.<br />
Beispiel 3.4 Ein zu seinem Komplement isomorpher Graph mit 8 Ecken<br />
8 ❝ ❝ 1<br />
❛<br />
❝ ❛<br />
7 ☞ ☞ ❛ ❅❝<br />
2<br />
❛ ☞☞<br />
❛❛❛❛<br />
6 ❝ ☞ ❝<br />
❛<br />
❅ ❛<br />
❝ ☞☞ ☞ ☞☞<br />
3<br />
❛ ❝ ☞<br />
5 4<br />
ϕ(7) ❝ ❝<br />
❝ ✦ ✦ ▲❅<br />
<br />
✦ ϕ(2)<br />
ϕ(4) ▲ ❝<br />
❅<br />
▲ ✦<br />
ϕ(5)<br />
<br />
❝ ✦<br />
✦✦✦ ❅<br />
▲<br />
▲<br />
❅<br />
▲<br />
ϕ(1) ❅<br />
❝ ▲▲<br />
▲▲ ❝ ✦ ❅ ✦ ❝<br />
✦ ▲<br />
ϕ(8)<br />
ϕ(6) ϕ(3)<br />
Bei strukturellen Untersuchungen eines Graphen G interessiert besonders<br />
a(G), die Anzahl der Automorphismen (Symmetrien) von G, <strong>und</strong><br />
i(G), die Anzahl der zu G isomorphen Graphen mit gleicher Eckenmenge.<br />
Nach Satz 1.12 kann man jede dieser beiden Zahlen aus der anderen berechnen:<br />
Satz 3.5 Für jeden endlichen (Di-)Graphen G mit n Ecken gilt<br />
n! = a(G)i(G).<br />
Wieviele Graphen gibt es auf einer festen Menge von n Ecken? Offenbar<br />
genau so viele, wie es Teilmengen von P 2 n gibt, also<br />
2 1 2 n(n−1) .<br />
Eine erheblich schwierigere Frage ist, wieviele Isomorphietypen von Graphen mit<br />
n Ecken es gibt. Wir können diese Anzahl g(n) hier nicht allgemein berechnen,<br />
notieren aber die ersten Werte:<br />
62
n 1 2 3 4 5 6<br />
g(n) 1 2 4 11 34 156<br />
Für n = 1, 2, 3 sieht man das sofort; <strong>für</strong> n = 4 <strong>und</strong> n = 5 stellen wir in Kürze<br />
eine komplette Liste der Isomorphietypen auf. Aufgr<strong>und</strong> von Satz 3.5 erhält<br />
man allgemein durch Summation über alle Graphen G mit Eckenmenge n :<br />
g(n) = ∑ 1<br />
i(G) = 1 n!<br />
∑<br />
a(G)<br />
insbesondere 1<br />
n! 2 1 2 n(n−1) ≤ g(n) ≤ 2 1 2 n(n−1) .<br />
Obwohl n! schnell zu riesigen Zahlen anwächst, sind diese im Verhältnis zu den<br />
Zahlen 2 n(n−1)/2 aller Graphen mit n Ecken doch verschwindend klein:<br />
log 2 (n!) = ∑ n<br />
k=1 log 2(k) ≤ n log 2 (n)<br />
2 1 2 n2 (1− 1 n − 2 log 2 n<br />
n ) ≤ 1 n! 2 1 2 n(n−1) ≤ g(n) ≤ 2 1 2 n2 (1− 1 n ) .<br />
Da der Term 2 log 2 n<br />
n<br />
Folgerung 3.6<br />
<strong>für</strong> n → ∞ gegen 0 geht, haben wir:<br />
log<br />
lim 2 g(n)<br />
n→∞ n 2 = 1 2 .<br />
Zwei endliche Graphen sind genau dann zueinander isomorph, wenn sie eine<br />
übereinstimmende graphische Darstellung (eventuell mit unterschiedlicher Beschriftung<br />
der Knoten) besitzen. Es ist aber keineswegs immer einfach, von zwei<br />
Graphen anhand gegebener Zeichnungen festzustellen, ob sie isomorph sind –<br />
denn ein Graph kann sehr verschieden aussehende Darstellungen besitzen.<br />
Beispiel 3.7 Isomorph oder nicht?<br />
Von den nachfolgend skizzierten sechs Graphen mit jeweils 10 Knoten sind keine<br />
zwei in einer Reihe zueinander isomorph, während je zwei Diagramme in einer<br />
Spalte erstaunlicherweise gleiche bzw. isomorphe Graphen darstellen!<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝ ✑ ✑✑ ◗<br />
◗<br />
❝<br />
❝ ❝ ❝<br />
❩ ✂ ✂ ◗<br />
❇ ✏ ❝ ✑ ✑✑ ◗<br />
◗<br />
❝<br />
❇❇ ❇<br />
❝ ✚ ✚ ✂ ❝ ❝ ❝<br />
❇<br />
❇ ✂ ❩ ❇❝<br />
✂<br />
❇❝<br />
✂✂ ✂ ◗<br />
❇ ✏ ❝ ✑ ✑✑ ◗<br />
◗<br />
❇❇ ❇<br />
❇ ❇❝<br />
✂ ✂ ✂ ❝ ✑ ◗ ◗<br />
❝ ✏ ❝<br />
❇❇<br />
❇<br />
✂<br />
❇❝<br />
❝ ✂ ✂ ✂ ❇ ✂<br />
❇❝<br />
✁ ❆❝<br />
✂ ❇❝<br />
✁ ❆❝<br />
✂ ❇❝<br />
✁ ❆❝<br />
✂<br />
G 1<br />
❝ ❝<br />
✁ ❝ ❆<br />
❝ ✁✧ ✧ ❜❜<br />
❝ ❜ ❆ ❝<br />
❆<br />
❝ ✧ ❜ ❝<br />
❜ ✁<br />
❆❝ ✧ ✧✧ ❜ ❝ ✁<br />
G 2<br />
❝ ❝<br />
✁ ❝ ❆<br />
❝ ✁✧ ✧ ❜❜<br />
❝ ❜❆ ❝<br />
❆<br />
❝ ✧ ❜ ❝<br />
✁<br />
❆❝ ❝ ✁<br />
G 3<br />
❝ ❝<br />
✁ ❚ ❝ ✧<br />
❆<br />
❝ ✁ ❚ ❝ ❚ ❆ ❝<br />
❆<br />
❝ ✧ ❚ ❝<br />
✁<br />
❆❝ ❝ ✁<br />
63
Die beiden Bilder in der ersten Spalte zeigen den Petersen-Graph (P 2 M, E) mit<br />
{x, y} ∈ E ⇔ x ∩ y = ∅ <strong>für</strong> eine fünfelementige Menge M. Hier ist P 2 M ausnahmsweise<br />
die Eckenmenge, nicht die Kantenmenge! Ein Isomorphismus zwischen<br />
den beiden Petersen-Graphen klappt die waagerechte Kante des Fünfecks<br />
<strong>und</strong> die beiden Fußpunkte des Sterns nach oben. Bei den beiden mittleren Graphen<br />
muss man nur die obere waagerechte Kante verschieben. Im dritten Fall<br />
(rechts) bildet man das Außenfünfeck im oberen Graphen auf das linke <strong>und</strong> das<br />
Innenfünfeck auf das rechte im unteren Graphen ab (oder umgekehrt).<br />
Sehr mühsam kann der Nachweis werden, dass zwei gegebene Graphen nicht<br />
isomorph sind, denn ohne schlaue Ideen müßte man bei n Ecken im Prinzip n!<br />
Bijektionen testen. Glücklicherweise gibt es aber eine Vielzahl von sogenannten<br />
Invarianten, die bei Isomorphie übertragen werden. Erweist sich eine dieser<br />
Invarianten <strong>für</strong> zwei vorgegebene Graphen als verschieden, so ist man sicher, dass<br />
diese nicht isomorph sein können – ohne eine einzige Bijektion auszuprobieren!<br />
Zwei offensichtliche Invarianten sind die Eckenzahl <strong>und</strong> die Kantenzahl ; denn<br />
ein Isomorphismus ϕ zwischen (X, E) <strong>und</strong> (X ′ , E ′ ) liefert nicht nur eine Bijektion<br />
zwischen den Ecken, sondern wegen ϕ + (E) = E ′ auch eine zwischen den<br />
Kanten. Die Komponentenzahl ist eine weitere Invariante, da ein Isomorphismus<br />
ϕ jeden Weg zwischen x <strong>und</strong> y auf einen Weg zwischen ϕ(x) <strong>und</strong> ϕ(y) abbildet.<br />
Eine feinere Invariante liefert die sogenannte Gradfolge. Die Zahl der zu<br />
einer Ecke x in einem Graphen G adjazenten Ecken nennt man Grad (degree)<br />
oder Valenz von x <strong>und</strong> bezeichnet sie mit d(x) oder genauer mit d G (x). Für<br />
endliche Graphen (X, E) gilt die nützliche Gleichung ∑ x∈X<br />
d(x) = 2|E|. Bei<br />
einer Ecke x eines Digraphen (X, R) unterscheidet man zwischen der positiven<br />
Valenz (Anzahl der hinauslaufenden Pfeile”) d + (x) = |{y | xR y}| <strong>und</strong> der negativen<br />
Valenz (Anzahl der hineinlaufenden Pfeile”) d − (x) = |{y | yR x}|. Die<br />
”<br />
”<br />
Gradfolge eines endlichen Graphen ist die Folge der einzelnen Eckengrade, meist<br />
in (schwach) monoton wachsender Reihenfolge notiert. Da Isomorphismen die<br />
Adjazenz übertragen, müssen isomorphe Graphen identische Gradfolgen haben.<br />
Im Gegensatz zu Beispiel 3.7 kann man bei weniger als fünf Ecken anhand der<br />
Gradfolgen entscheiden, ob zwei Graphen isomorph sind oder nicht.<br />
Beispiel 3.8 Isomorphietypen aller Graphen mit 4 Ecken<br />
❝ ❝<br />
0<br />
❝ ❝<br />
0000<br />
24<br />
❝ ❝<br />
❅<br />
❝ ❅<br />
6<br />
❝<br />
3333<br />
❝ ❝<br />
1<br />
❝ ❝<br />
0011<br />
4<br />
❝ ❝<br />
❅<br />
❝ ❅<br />
5<br />
❝<br />
2233<br />
❝ ❝<br />
2<br />
❝ ❝<br />
0112<br />
2<br />
❝ ❝<br />
❅<br />
❝ ❅<br />
4<br />
❝<br />
1223<br />
❝ ❝<br />
2<br />
❝ ❝<br />
1111<br />
8<br />
❝ ❝<br />
❅<br />
❝ ❅<br />
4<br />
❝<br />
2222<br />
❝ ❝<br />
❅<br />
✟✙<br />
✟ Kantenzahl<br />
❝ ❅ 3<br />
❝ ❝ ❝ ❄<br />
0222 3<br />
6 ❝ ❝<br />
❝ ❝ 1122 2<br />
❝ ❆❑<br />
3 ❆<br />
❝ Automorphismen ✻<br />
1113 ✛ Gradfolge<br />
Je ein Paar komplementärer Graphen ist zu einem ”<br />
Dominostein” verb<strong>und</strong>en.<br />
Nur der letzte der viereckigen Graphen ist zu seinem Komplement isomorph.<br />
64
Beispiel 3.9 Isomorphietypen <strong>und</strong> Anzahl aller Graphen mit 5 Ecken<br />
❝<br />
▲<br />
❝ ❝ ▲▲<br />
0 ❝ <br />
❝ ❝ ❝ ✑ ▲ <br />
❝<br />
00000 1 ▲▲<br />
❝ 120<br />
❝<br />
❝<br />
❝ ❝ ❝ ✑ ❝ ❝ ✑ ◗ ❝<br />
❝ ✑ ◗ ❝<br />
❈❩<br />
❈❝<br />
✂✚ ✂✂ ❇ 00011<br />
❇ ✚ ❩ ❇❝<br />
✄ 10 ❝ 12<br />
✄ ❝ ◗<br />
❝ ❝ ✄ ✄ 2<br />
2<br />
❝ ❝<br />
❝<br />
44444 ❈❩<br />
❈❝<br />
✂✚ ✂✂ ❇<br />
❇ ✚ ❩ ❇❝<br />
✄<br />
01111 00112<br />
9<br />
❝ 8<br />
❝ 4<br />
✄<br />
❝ ◗ ❝<br />
33444<br />
❈ ❩<br />
❈<br />
✚ ❝ ✂✂ ✂ ❇ ❝ ❝<br />
❇ 8 ❈<br />
✚❩<br />
❇❝<br />
❈<br />
❩ ✂ ✂ ❇<br />
❇<br />
❝ ✚ ✚ ❩ ❝<br />
✄ 8<br />
✂ ❇ ✄<br />
33334 23344<br />
✂<br />
✂<br />
❇<br />
✂<br />
✦✂<br />
✦✦✦✦✦✦ ✂<br />
❇<br />
✂<br />
❇<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝<br />
❝ ❝ ✄ ✄ 3<br />
3<br />
3<br />
❝ ❝ ❝ ❝ ❝ ✂ ✂✂ 3<br />
❝<br />
01122 11112 00222 01113<br />
❝ 2<br />
❝ 4<br />
❝ 12<br />
❝ 6<br />
❝ ❝<br />
❈❩ ✂ ✂ ❇ ❝ ❝<br />
❇✚ 7 ❈<br />
❈❝<br />
✂✚ ❩ ❇❝<br />
❈<br />
❩ ✂ ✂ ❇<br />
❇<br />
❝ ✚ ✚ ❝ ❝<br />
❩ ❝<br />
✄ ✂ ❇<br />
7 ❈ ✄ ❈<br />
❩ ✂ ✂ ❇<br />
❝ ✚ ✚ ❝ ❝<br />
❇<br />
❩ ❝<br />
✄ ✂ ❇<br />
7 ❈ ✄ ❈<br />
❩ ❇<br />
❇<br />
❝ ✚ ✚ ❝<br />
✄ 7<br />
❩ ❇ ✄<br />
22334 23333 22244 13334<br />
❛<br />
✂<br />
❇ ❛❛❛❛❛ ❛ ❛❛❛❛❛<br />
✂<br />
❇❇<br />
✦✂<br />
✦ ✦✦✦✦✦<br />
✂<br />
❇ ✂<br />
❇<br />
✂<br />
❇❇<br />
✦✂<br />
❛ ✦✦✦✦✦✦ ✂<br />
❇❇<br />
✂ ❛<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝<br />
❝ ❝ ✄ ✄ 4 ❩<br />
❝ ❩ ❝ ✄ ✄ 4<br />
❝ ❝ ✄ ✄ 4 ✂ ✂ ❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝<br />
❝ ✂ ❝ ✄ ✄ 4<br />
4<br />
❝ ❝ ❝ ✂✂ ✂ ❇<br />
❇ 4<br />
❇❝<br />
11222 02222 01223 11123 11222 11114<br />
❝ 2<br />
❝ 8<br />
❝ 2<br />
❝ 2<br />
❝ 12<br />
❝ 24<br />
❝ ❝<br />
❈❩ ✂ ✂ ❇ ❝ ❝<br />
❇✚ 6 ❈ ✚<br />
❈❝<br />
✂✚ ❩ ❇❝<br />
❈❝<br />
✂ ✂✂ ❇ ❝ ❝<br />
❇ 6 ❈❩ ✂ ✂ ❇ ❝ ❇ ❝ ❝ ❝<br />
❇✚ 6 ❈❩ ❇✚ 6 ❈<br />
✚ ❇❝<br />
❈❝<br />
✂✚ ❩ ❇❝<br />
❈❝<br />
✚❩<br />
❇ ❝ ❈<br />
❩ ❝ ✚ ✂ ✂ ❇<br />
✚ ❝ ❝<br />
❇<br />
❝<br />
✄ ✂ ❩ ❇<br />
6 ❈ ✄ ❈<br />
❩ ❝ ✚ ✚ ❝<br />
✄ 6<br />
❩ ✄<br />
22233 22224 12234 12333 22233 03333<br />
<br />
❇ ❆✂<br />
❆ <br />
❇ ✂ ❆ ❆<br />
❇ ✦✂<br />
❵❵❵❵❵❵❵❵❵❵❵❵❵ ✦<br />
❆<br />
✦✦✦✦✦<br />
✁<br />
✁<br />
✁<br />
✁<br />
✁❆<br />
✁ ❵<br />
❝<br />
❝<br />
❝ ❝<br />
❝ ❝<br />
❝ ✑ ◗ ❝ ❝ ✑ ◗ ❝ ❝ ◗ ❝ ❝ ✑ ❝<br />
❈<br />
❈❝<br />
❝ ✄ ✄ 5 ❈<br />
❈❝<br />
❝ ✄ ✄ 5 ❈<br />
❈❝<br />
❝ ✄ ✄ 5 ❩<br />
❝ ✂✂ ✂ ❇<br />
✚ ✚ ❝ ❝<br />
❇ 5 ❈<br />
❩ ❇❝<br />
❈❝<br />
✚ ✚ ❝ ✑ ◗ ❝<br />
❝ ✄ ✄ 5 ❩<br />
❝ ✂✂ ✂ ❇<br />
❇ 5<br />
❩ ❇❝<br />
22222 10 11233 2 12223 2 12223<br />
02233 4 11224<br />
Die Verbindungskanten zwischen den einzelnen Dominosteinen bedeuten, dass<br />
die jeweilige obere Hälfte des höheren Steines in die des tieferen einbettbar ist,<br />
während es sich bei den unteren Hälften umgekehrt verhält. Nur die beiden Graphen<br />
in der linken unteren Ecke sind zu ihrem eigenen Komplement isomorph!<br />
5!/a(G)<br />
2 · 1<br />
+ 2 · 10<br />
+ 2 · 15<br />
+ 2 · 30<br />
+ 2 · 60<br />
+ 2 · 30<br />
+ 2 · 10<br />
+ 2 · 20<br />
+ 2 · 60<br />
+ 2 · 15<br />
+ 2 · 60<br />
+ 2 · 60<br />
+ 2 · 10<br />
+ 2 · 5<br />
+ 12<br />
+ 60<br />
+ 2 · 60<br />
+ 2 · 30<br />
1024 = 2 10<br />
65
Leider offenbart unsere Liste der Graphen mit 5 Ecken, dass auch die Gradfolgen<br />
nicht ausreichen, um nicht-isomorphe Graphen stets zu unterscheiden:<br />
Der vorletzte Dominostein in der Liste zeigt zwei nicht-isomorphe, zusammenhängende<br />
<strong>und</strong> zueinander komplementäre Graphen mit gleicher Gradfolge.<br />
Die einzigen weiteren Beispiele von Gradfolgen, zu denen zwei nicht-isomorphe<br />
Graphen mit 5 Ecken gehören, sind (1, 1, 2, 2, 2) in der drittletzten Zeile <strong>und</strong><br />
(2, 2, 2, 3, 3) in der vorletzten Zeile des großen Diagramms.<br />
Man könnte jetzt noch einen Schritt weiter gehen, <strong>für</strong> jede Ecke die Gradfolge<br />
der adjazenten Ecken bilden <strong>und</strong> diese Gradfolgen zu einem großen Vektor zusammenhängen.<br />
Damit hat man eine Invariante, die schon sehr gute Unterscheidungsmöglichkeiten<br />
bietet. Jedoch ist diese ”<br />
doppelte Gradfolge” bei größeren<br />
Graphen recht kompliziert. Im Falle der beiden komplementären Graphen mit<br />
5 Ecken <strong>und</strong> gleicher Gradfolge ergeben sich beispielsweise die beiden verschiedenen<br />
doppelten Gradfolgen (3, 2 2, 2 3, 2 3, 1 2 2) <strong>und</strong> (2, 1 3, 2 3, 2 3, 2 2 2). Allerdings<br />
kommen wir auch damit in Beispiel 3.7 nicht weiter: Dort bestehen alle<br />
doppelten Gradfolgen aus der gleichen Anzahl von Dreien.<br />
Weitere Invarianten sind die Vieleckfolgen (z 1 , ..., z n ), wobei z m die Anzahl<br />
der m-Ecke des gegebenen Graphen ist. Speziell ist z 1 die Zahl der Ecken, z 2<br />
die der Kanten <strong>und</strong> z 3 die der Dreiecke. Auch hierin unterscheiden sich die zwei<br />
komplementären fünfeckigen Graphen mit gleicher Gradfolge: Die Vielecksfolgen<br />
lauten (5, 5, 0, 1, 0) <strong>und</strong> (5, 5, 1, 0, 0): der linke Graph des Dominosteins enthält<br />
ein Viereck, aber kein Dreieck, während es bei dem rechten gerade umgekehrt<br />
ist. Und jetzt können wir endlich auch die Nicht-Isomorphie der drei Graphen<br />
in Beispiel 3.7 begünden: G 1 hat keine Vierecke, G 2 hat zwei Vierecke, <strong>und</strong> G 3<br />
hat fünf Vierecke.<br />
Ein Graph ohne nicht-triviale Symmetrien heißt starr. Gibt es überhaupt solche<br />
Graphen? Nach Definition ist jeder einpunktige Graph trivialerweise starr,<br />
aber die Listen der Graphen mit 4 oder 5 Ecken halten eine weitere kleine<br />
Überraschung bereit: Außer den einpunktigen Graphen gibt keinen einzigen starren<br />
Graphen mit weniger als 6 Ecken. Darf man daraus schließen, dass starre<br />
Graphen eine Rarität sind? Nein, im Gegenteil! Mit Methoden, die wir hier nicht<br />
erläutern können, läßt sich zeigen, dass der Anteil der starren Graphen mit n<br />
Ecken bei wachsendem n sogar gegen 1 geht.<br />
Don’t trust in small numbers!<br />
Beispiel 3.10 Konstruktion von starren Grafen<br />
❝ ❝ ❝<br />
❝ ❝ ❝<br />
❝ ❝ ❝<br />
❝ ❝ ❣<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝ ❝ ❝<br />
❝ ❣<br />
❝<br />
❝<br />
❝ ❝<br />
✁❝ ✁ ❝❆❝<br />
✁ ❆❝ ❆❝<br />
✁❝ ❆❝<br />
❝ ❝<br />
66
3.2 Eulersche <strong>und</strong> Hamiltonsche Wege<br />
Als älteste Aufgabe der Graphentheorie gilt das von Leonhard Euler stammende<br />
Königsberger Brückenproblem<br />
Gibt es einen R<strong>und</strong>weg durch die Stadt Königsberg, bei dem man jede Brücke<br />
genau einmal besucht? (“ Über sieben Brücken mußt du geh’n ...”)<br />
A<br />
✛<br />
✚<br />
B<br />
C<br />
✘✛<br />
D<br />
✙✚<br />
(1)<br />
A ❝<br />
✂ ❇❅<br />
❇ ✂ ❅<br />
B ❝<br />
❝ D<br />
✂ ❇<br />
❇ ✂ <br />
C ❝<br />
(2)<br />
A ❝<br />
✂<br />
❇❅<br />
<br />
❇ ✂ ❅<br />
B ❝<br />
❝ D<br />
✂<br />
❇<br />
❇ ✂ <br />
C ❝<br />
(3)<br />
Bei graphentheoretischer Reduktion dieses Problems ”<br />
auf das Wesentliche” bieten<br />
sich die vier Stadtteile A, B, C, D als Knoten <strong>und</strong> die sieben Brücken als<br />
Kanten an. Es ergibt sich das vereinfachte Diagramm (2). Allerdings haben wir<br />
es hier offenbar mit Mehrfachkanten, also mit keinem schlichten Graphen zu<br />
tun. Das spielt aber bei der Lösung des Problems keine Rolle: Indem wir auf<br />
jede Mehrfachkante (oder sogar auf jede Kante) einen weiteren Knoten setzen,<br />
entsteht ein schlichter Graph (3). Nach einigem Probieren kommt man zu der<br />
Überzeugung, dass es dennoch keine Lösung gibt: Stets bleibt man nach ein paar<br />
Schritten in einem Stadtteil stecken, weil keine weiteren Brücken zur Verfügung<br />
stehen, um diesen wieder zu verlassen. Wir fragen daher:<br />
Wieviele zusätzliche Brücken müsste man bauen, um einen ”<br />
Eulerschen R<strong>und</strong>weg”<br />
zu ermöglichen?<br />
Es ist naheliegend, dass an jeden Stadtteil eine gerade Anzahl von Brücken<br />
anschließen muß, damit man diesen stets wieder verlassen kann, nachdem man<br />
dort gelandet ist. Also bauen wir zwei weitere Brücken:<br />
✓<br />
✏A<br />
✛<br />
✒<br />
✓B<br />
✚<br />
✓<br />
✏<br />
✘✛<br />
✑✞<br />
✌<br />
✏✝<br />
D☞<br />
✙✚<br />
✒ ✑ ✒ ✑<br />
C<br />
(4)<br />
A ❝<br />
✂<br />
❇❅ 4<br />
2 3<br />
❇ ✂ 5<br />
<br />
❝ ❅❅<br />
1 B ✏<br />
❝ D<br />
❅ ✂ ❇ 6 9 8<br />
7<br />
❅❇<br />
❝ ✂<br />
C<br />
Und jetzt ist ein R<strong>und</strong>weg schnell gef<strong>und</strong>en. Würden wir auf eine der beiden<br />
zusätzlichen Brücken 1 oder 6 verzichten, so bliebe immerhin noch ein Weg<br />
zwischen zwei Endpunkten, bei dem alle Brücken einmal besucht werden.<br />
(5)<br />
67
Zur allgemeinen Formulierung <strong>und</strong> Lösung des zuvor beschriebenen Problems<br />
nennt man eine Folge K = (x 0 x 1 , x 1 x 2 , ..., x l−1 x l ) von paarweise verschiedenen<br />
Kanten eines Graphen G = (X, E), wobei jeweils die nächste mit<br />
der vorherigen einen Endpunkt gemeinsam hat, einen Kantenzug. Eine Folge<br />
(x 0 , ..., x l ) von Ecken heißt Eulerscher Weg, falls K = (x 0 x 1 , x 1 x 2 , ..., x l−1 x l )<br />
ein Kantenzug mit E = {x i−1 x i | i ∈ l} ist, also alle Kanten des Graphen genau<br />
einmal ”<br />
durchlaufen” werden (Ecken dürfen mehrfach besucht werden). Der<br />
Weg ist offen, falls x 0 ≠ x l . Gilt hingegen x 0 = x l , so spricht man von einem<br />
Eulerschen R<strong>und</strong>weg oder einer Euler-Tour des Graphen G.<br />
Beispiel 3.11 Das Haus vom Nikolaus<br />
ist das bekannteste Beispiel eines Graphen, der mehrere Eulersche Wege, aber<br />
keinen Eulerschen R<strong>und</strong>weg besitzt.<br />
c<br />
c<br />
❝<br />
b ❝ ❅❝d<br />
b ❅<br />
❅ d<br />
❅<br />
❅<br />
❝ ❅ ❝<br />
a e<br />
a<br />
❅<br />
❅<br />
❅<br />
Jeder Euler-Weg hat hier die Endpunkte a <strong>und</strong> e, da dies die einzigen Ecken<br />
mit ungeradem Grad sind; zum Beispiel: (a, b, c, d, e, b, d, a, e).<br />
Und nun zum klassischen Satz von Euler (1736):<br />
Satz 3.12 Ein endlicher zusammenhängender Graph besitzt genau dann eine<br />
Euler-Tour, wenn jede seiner Ecken einen geraden Grad hat.<br />
Wir beweisen bald einen allgemeineren Sachverhalt. Für das ”<br />
Haus vom Nikolaus”<br />
<strong>und</strong> analoge Aufgaben braucht man die ”<br />
offene Variante” des Eulerschen<br />
Satzes:<br />
Folgerung 3.13 Ein endlicher zusammenhängender Graph besitzt genau dann<br />
einen offenen Euler-Weg, wenn alle bis auf zwei Ecken einen geraden Grad<br />
haben. Diese sind dann die Endpunkte eines jeden Euler-Weges.<br />
Man führt diese Aussage auf 3.12 zurück, indem man die beiden Ecken ungeraden<br />
Grades mit einer neu hinzugefügten Ecke verbindet <strong>und</strong> so die Gradbedingung<br />
in Satz 3.12 erfüllt. Der erweiterte Graph hat dann einen Eulerschen<br />
R<strong>und</strong>weg, <strong>und</strong> nach Wegnahme der ”<br />
Hilfsecke” (<strong>und</strong> der beiden Verbindungskanten)<br />
bleibt ein Eulerscher Weg im ursprünglichen Graphen übrig.<br />
Auf die Zusammenhangsvoraussetzung in Satz 3.12 kann man verzichten,<br />
indem man die einzelnen Komponenten betrachtet. Unter einem Kreis in einem<br />
Graphen versteht man eine Folge (x 0 , ..., x l ) von mindestens drei Ecken,<br />
so dass x i−1 x i stets eine Kante ist <strong>und</strong> x i ≠ x j <strong>für</strong> alle i < j < l, aber<br />
x 0 = x l <strong>und</strong> l ≥ 3 gilt. Alternativ nennt man auch den zugehörigen Kantenzug<br />
(x 0 x 1 , x 1 x 2 , ..., x l−1 x l ) oder den entsprechenden Teilgraphen einen Kreis.<br />
e<br />
68
Satz 3.14 Für einen endlichen Graphen G sind folgende Aussagen äquivalent:<br />
(a)<br />
(b)<br />
(c)<br />
Der Grad jeder Ecke von G ist gerade.<br />
Die Kantenmenge von G zerfällt in kantendisjunkte Kreise.<br />
Jede Komponente von G besitzt eine Euler-Tour.<br />
❞ k ′4 ❞<br />
k k4 3 k ❞ ✁ 3<br />
❞ k ❆ ′ 2 ❞ ✁ ❆ ❞ k′ 5 ❞<br />
k 1 ◗<br />
❞ ✁ ✑<br />
✑ k 6❆<br />
k ✁❞ k 5 ◗<br />
k ✁❞<br />
1<br />
′ ❞ k′ 7<br />
❞<br />
2<br />
Beweis. (a)⇒(b): Induktion nach der Anzahl der Kanten. Gibt es überhaupt<br />
keine Kanten, so ist nichts zu zeigen. Andernfalls findet man, startend mit einer<br />
beliebigen Ecke vom Grad > 0, durch Anhängen von Kanten einen Kreis K. Im<br />
Restgraphen, der durch Herausnahme von K entsteht, haben wieder alle Ecken<br />
einen geraden Grad. Nach Induktionsannahme kann die Kantenmenge dieses<br />
Restgraphen in disjunkte Kreise zerlegt werden. Durch Hinzunahme des Kreises<br />
K bekommen wir eine Zerlegung der Kantenmenge von G in Kreise.<br />
(b)⇒(c). Die Kantenmenge einer Komponente Z ist nach (b) disjunkte Vereinigung<br />
von Kreisen (denn jeder Kreis ist zusammenhängend, liegt also ganz in<br />
einer Komponente). Sei Y eine maximale Vereinigung solcher Kreise, die eine<br />
Euler-Tour (k 1 , ..., k l ) enthält. Unter der Annahme, dass Y echt in Z enthalten<br />
ist, finden wir wegen des Zusammenhangs von Z eine Kante k ′ 1 in Z \ Y , die mit<br />
einer Kante k i aus Y einen Endpunkt gemeinsam hat. Diese Kante liegt dann auf<br />
einem zu Y kantendisjunkten Kreis K ′ = (k ′ 1, ..., k ′ m) von Z. Aber dann wäre<br />
(k 1 , ..., k i , k ′ 1, ..., k ′ m, k i+1 , ..., k l ) eine Euler-Tour (durch einen Teilgraphen), im<br />
Widerspruch zur maximalen Wahl von Y .<br />
Der Schluss (c)⇒(a) ist klar: Bei einer Euler-Tour tritt jede Ecke ebenso oft als<br />
Endpunkt wie als Anfangspunkt einer Kante auf.<br />
□<br />
Stellen wir uns vor, das Brückenproblem sollte durch eine R<strong>und</strong>fahrt per Bus<br />
gelöst werden, <strong>und</strong> es gäbe Brücken, die nur in einer Richtung überfahren werden<br />
dürfen. Für diese Situation braucht man nur eine allgemeinere Definition von<br />
Digraphen mit Mehrfachkanten. Die Aussagen <strong>und</strong> ihre Beweise können dann<br />
nahezu wörtlich übernommen werden.<br />
Man definiert daher einen allgemeinen Digraphen als Quadrupel (X, P, a, e),<br />
bestehend aus einer Menge X (von Ecken” oder Knoten”), einer Menge P<br />
” ”<br />
(von Pfeilen” oder gerichteten Kanten”) <strong>und</strong> zwei Funktionen a : P −→ X<br />
” ”<br />
<strong>und</strong> e : P −→ X, die jedem Pfeil p ∈ P einen Anfangspunkt” a(p) <strong>und</strong> einen<br />
”<br />
Endpunkt” e(p) zuordnen. Damit hat man alle Spezialfälle (inklusive Mehrfachkanten,<br />
Schleifen <strong>und</strong> Richtungen) erfasst. Einen gerichteten Weg definiert man<br />
”<br />
dann zweckmäßigerweise als Folge (p 1 , ..., p l ) von Pfeilen mit e(p i−1 ) = a(p i )<br />
<strong>für</strong> 1 < i ≤ l <strong>und</strong> spricht von einem Kantenzug, falls die Pfeile paarweise<br />
verschieden sind. Speziell ist ein solcher Kantenzug (p 1 , ..., p l ) ein (gerichteter)<br />
Eulerscher Weg, falls er alle Pfeile des Graphen enthält. Entsprechend definiert<br />
69
man gerichtete Kreise, Pfade <strong>und</strong> Euler-Touren (bei denen noch e(p l ) = a(p 1 )<br />
zu fordern ist). Schließlich erklärt man <strong>für</strong> jede Ecke x eines allgemeinen Digraphen<br />
die positive Valenz d + (x) als Anzahl der Pfeile p mit Anfangspunkt x, d.h.<br />
a(p) = x, <strong>und</strong> die negative Valenz d − (x) als Anzahl der Pfeile p mit Endpunkt<br />
x, d.h. e(p) = x. Der Eulersche Satz lautet <strong>für</strong> diesen Fall:<br />
Satz 3.15 Für einen endlichen Digraphen sind folgende Aussagen äquivalent:<br />
(a)<br />
(b)<br />
(c)<br />
Für jede Ecke von G ist die positive Valenz gleich der negativen Valenz.<br />
Die Kantenmenge von G zerfällt in kantendisjunkte gerichtete Kreise.<br />
Jede Komponente von G besitzt eine gerichtete Euler-Tour.<br />
Der Beweis bleibt, wie schon gesagt, im Wesentlichen der gleiche, man muss<br />
lediglich statt ungerichteter Kanten Pfeile betrachten.<br />
❞ k ′ ❞<br />
k k4<br />
3<br />
4 ✛ ❞ ✁☛<br />
k 3<br />
❞✲ k ❆❑ ′ 2 ❞ ✁✕ ❆❯ ❞ k′ 5 ❞<br />
k 1 ◗<br />
❞ ✁✕ ✑<br />
✑✰ k 6❆❑<br />
k ✁☛❞ k 5 ◗<br />
k ◗ ✁✕❞<br />
1<br />
′ ❞ k′ 7<br />
❞<br />
2<br />
Bei verallgemeinerten (symmetrischen) Graphen hat man statt der beiden<br />
Funktionen a <strong>und</strong> e nur eine Funktion e, die jeder Kante eine zweielementige<br />
Menge (die der beiden ”<br />
Endknoten”) zuordnet. Der Grad einer Ecke x ist dann<br />
die Anzahl aller Kanten k mit x ∈ e(k).<br />
Satz 3.14 <strong>und</strong> seine gleichlautende Verallgemeinerung auf Graphen mit Mehrfachkanten<br />
läßt sich als Spezialfall von Satz 3.15 interpretieren, indem man in<br />
einem (ungerichteten) Graphen, dessen sämtliche Ecken geraden Grad haben,<br />
jede Kante so orientiert, dass <strong>für</strong> alle Ecken die positive Valenz gleich der negativen<br />
Valenz wird. Dass dies möglich ist, folgt aus der ”<br />
ungerichteten” Version,<br />
die zu jeder Komponente eine (ungerichtete) Euler-Tour liefert, entlang der man<br />
die Orientierung der durchlaufenen Kanten definieren kann.<br />
Ein Spezialfall soll nicht unerwähnt bleiben, das sogenannte<br />
Labyrinthproblem : In einem (ungerichteten) Graphen soll man, bei einem<br />
Knoten startend, alle Kanten in beiden Richtungen einmal durchlaufen <strong>und</strong> zum<br />
Ausganspunkt zurückkehren.<br />
Dass dies möglich ist, sichert Satz 3.15, denn nach Vorschrift laufen stets<br />
gleich viele Pfeile in einen Knoten hinein wie hinaus.<br />
70
Während bei Euler-Touren die Aufgabe darin besteht, jede Kante genau einmal<br />
zu durchlaufen, soll bei Hamilton-Kreisen jede Ecke des gegebenen Graphen<br />
genau einmal besucht werden. Das erste Beispiel <strong>für</strong> solche Problemstellungen<br />
stammt auch aus alten Zeiten:<br />
Hamilton’s Puzzle (1859) ”<br />
Aro<strong>und</strong> the World”<br />
Auf dem Globus sind 20 Städte durch kreuzungsfreie Wege so verb<strong>und</strong>en, dass<br />
von jeder Stadt drei Wege ausgehen <strong>und</strong> jede von Wegen berandete Fläche genau<br />
fünf Grenzwege hat. Finde einen R<strong>und</strong>weg, auf dem jede Stadt genau einmal<br />
besucht wird!<br />
Die Städte liegen auf den Ecken eines Dodekaeders (eines regulären Polyeders<br />
mit zwöf Flächen) (1). Aus Gründen der Übersichtlichkeit legen wir die 20 Ecken<br />
in die Zeichenebene, indem wir das Dodekaeder von einer der 12 Flächen aus<br />
betrachten <strong>und</strong> die äußeren Kanten genügend dehnen (2).<br />
✏<br />
✏<br />
<br />
✜❚ ✔❭ ❚ ✔<br />
✂<br />
✑ ✑✑ ◗<br />
◗ ❭❭<br />
✜<br />
❛ ❇<br />
◗✦ ❇<br />
✂<br />
✂<br />
❇❇<br />
✏ ✏ ❇<br />
❩ ✚<br />
❇ ✂ ✂✂ <br />
❙ ❇<br />
❩❩<br />
✚<br />
✚<br />
✂<br />
✓ ❙✔ ❚ (1)<br />
✏<br />
✏ ✏<br />
✓<br />
❞<br />
✑<br />
◗ ✑ ❝<br />
◗◗◗<br />
✑<br />
❞<br />
✑ ❝ ✑ ◗ ❝ ❞<br />
❛ ❝<br />
✑<br />
❆<br />
✁<br />
◗ ❝ ✦<br />
❇<br />
❇❇<br />
❇<br />
❝ <br />
✂<br />
❇<br />
❝<br />
✂ ❇<br />
✏ ✂ ◗<br />
<br />
✑<br />
✂ ✂✂<br />
❇ ❇<br />
❝ ❝ ❝ ✂ ✂<br />
❇<br />
❇❞<br />
❞<br />
✂ ✂ (2)<br />
✔ ❚<br />
Ein R<strong>und</strong>weg durch alle 20 Städte ist in das Diagramm (2) eingezeichnet.<br />
Dass es 12 Flächen sein müssen, besagt die<br />
Eulersche Polyederformel:<br />
Eckenzahl - Kantenzahl + Flächenzahl = 2,<br />
welche <strong>für</strong> alle kreuzungsfrei in die Ebene zeichenbaren Graphen gilt <strong>und</strong> leicht<br />
durch Induktion (z.B. nach Anzahl der Kanten) zu beweisen ist.<br />
Allgemein nennt man eine Eckenfolge (x 1 , ..., x l ) eines endlichen Graphen<br />
G = (X, E) einen Pfad, falls je zwei aufeinanderfolgende Ecken durch eine Kante<br />
verb<strong>und</strong>en sind, d.h. x i−1 x i ∈ E <strong>für</strong> jedes i ∈ l gilt, <strong>und</strong> einen Hamilton-<br />
Pfad, falls zusätzlich alle Ecken des Graphen genau einmal auftreten. Von einem<br />
Hamilton-Kreis spricht man, wenn auch noch x l x 1 ∈ E erfüllt ist. Ein Graph<br />
heißt Hamiltonsch, falls er einen Hamilton-Kreis besitzt.<br />
Beispiele 3.16 (1) Jedes n-Eck besitzt 2n Hamilton-Kreise (die alle durch zyklische<br />
Vertauschung oder Spiegelung auseinander hervorgehen).<br />
(2) Jeder vollständige Graph K n = (n, P 2 n) (auch n-dimensionales Simplex<br />
genannt) mit n ≥ 3 ist sicher Hamiltonsch: Hier ist <strong>für</strong> jede Permutation σ<br />
der Zahlen 1, ..., n die Folge (σ(1), ..., σ(n), σ(1)) ein Hamilton-Kreis. Im n-<br />
dimensionalen Simplex gibt es also n! Hamilton-Kreise.<br />
71
❝<br />
❝<br />
✑ ❝<br />
❩ ✂ ✂ ❇◗<br />
❈ ❇<br />
❈❝<br />
✚ ✚ ❝<br />
✂ ❩ ❇✄ ✄<br />
❝<br />
❝ ✑ ◗ ❝<br />
❈<br />
❩ ✂ ✂ ❇<br />
❇<br />
❈❝<br />
❝ ✄ ✄<br />
✚ ✚ ✂ ❩<br />
❇<br />
❝<br />
❝ ✑ ◗ ❝<br />
❩ ✂ ❈<br />
❈❝<br />
✚ ✚ ❝<br />
✂ ✂✂ ✂ ❇<br />
❇<br />
❩<br />
❇✄ ✄<br />
Beachten Sie, dass ein n-dimensionales Simplex nur <strong>für</strong> ungerades n eine Euler-<br />
Tour enthält! (Warum?)<br />
(3) Ein Graph (X, E) heißt bipartit, falls es eine Teilmenge Y von X gibt, so dass<br />
alle Kanten zwischen X\Y <strong>und</strong> Y verlaufen, also E ⊆ {xy | x∈X \ Y, y ∈Y } gilt.<br />
Im Fall der Gleichheit spricht man von einem vollständigen bipartiten Graphen.<br />
Die Eckenmenge eines solchen Graphen zerfällt also in zwei disjunkte Teilmengen,<br />
so dass jede Ecke der einen Menge mit jeder der anderen verb<strong>und</strong>en ist,<br />
aber keine zwei Ecken innerhalb einer der beiden Mengen eine Kante bilden.<br />
Man bezeichnet einen solchen Graphen mit K m,n , falls die eine Menge m <strong>und</strong><br />
die andere n Elemente hat. Explizit ist also<br />
K m,n = (m+n, {xy | x ∈ m, y ∈ m+n \ m = {m+1, ..., m+n}).<br />
Während K m,n nach Satz 3.12 genau dann eine Euler-Tour besitzt, wenn sowohl<br />
m als auch n gerade ist, hat K m,n genau dann einen Hamilton-Kreis, wenn m<br />
mit n übereinstimmt. Ein Hamilton-Pfad existiert auch <strong>für</strong> den Fall, dass sich<br />
m <strong>und</strong> n um 1 unterscheiden.<br />
❝ ❝<br />
❍ ❝ ❝ ❝<br />
❅<br />
❝ ✟ ✟✟✟ ❍ ❅ ❝ ❍❍ <br />
❅<br />
❍ ❝ ❝ ✟ ✟✟✟ ❍ ❝ ❍❍<br />
❅ ❅<br />
❅ ❝<br />
K 2,3<br />
K 3,3<br />
Ohne Beweis sei erwähnt, dass ein Graph genau dann bipartit ist, wenn er<br />
keine Kreise ungerader Länge enthält. (Übungsaufgabe!)<br />
(4) Alle fünf Platonischen Körper besitzen Hamilton-Kreise. Beim Dodekaeder<br />
haben wir das schon gesehen. Hier sind die vier anderen (in die Ebene gelegt<br />
<strong>und</strong> deshalb etwas verzerrt):<br />
❝<br />
❝ ❝<br />
✔☞<br />
▲<br />
❚<br />
❝<br />
❅<br />
❝ ❝<br />
<br />
❝<br />
✔☞<br />
❝<br />
✔ ❚<br />
✔✂<br />
✔ ❝ ❚ ❝ ❝<br />
✔❝ ✂ ❚ ❝<br />
✧ ❚❚<br />
❝ ✔<br />
✧<br />
❜ ❜ ❝ ❝ ❅ ❝ ❝ ✔ ❝❚ ❇ ✔❝. ❝ ✔ ❚<br />
❇<br />
❝<br />
▲ ❚<br />
☞★<br />
▲ ♣♣♣<br />
❝ ❚<br />
✔<br />
❆ ✁ ❚<br />
✥✥ ❵❵<br />
❅<br />
✔❝ ❝ ✁ ❚❉<br />
✔ ❳<br />
❝<br />
.❝<br />
❝ ❝ ✔✜✜ ✜ ☎<br />
❵❵❵<br />
◗ ❆ ❭ ❚ ✥✥✥ ✘ ❚<br />
✑ ❭<br />
❚ ❝<br />
Ikosaeder<br />
Tetraeder<br />
Hexaeder<br />
Oktaeder<br />
Nur das Oktaeder besitzt einen Euler-Weg bzw. eine Euler-Tour!<br />
Leider kennt man im Gegensatz zur Gradbedingung <strong>für</strong> Eulersche Graphen<br />
kein einfaches Kriterium, das genau die Hamiltonschen Graphen charakterisiert.<br />
Allerdings gibt es einige ziemlich gute Bedingungen an die Grade, die in vielen<br />
Fällen die Existenz eines Hamilton-Kreises sichern. Soviel ist klar: Je mehr Kanten<br />
ein Graph hat, desto größer ist die Chance, einen Hamilton-Kreis zu finden.<br />
72
Genauer gesagt: Ist G = (X, E) Hamiltonsch, so auch jeder Graph G ′ = (X, E ′ )<br />
mit E ⊆ E ′ . Man wird also versuchen, untere Abschätzungen <strong>für</strong> die Eckengrade<br />
zu finden, die eine Hamilton-Tour garantieren. Das beste bekannte Kriterium<br />
ist der folgende Satz von Chvátal (1972):<br />
Satz 3.17 Erfüllt die aufsteigende Gradfolge (d 1 , ..., d n ) eines Graphen G =<br />
(X, E) mit n ≥ 3 Ecken <strong>für</strong> alle i < n 2<br />
die Bedingung<br />
(1) d i > i oder d n−i ≥ n−i (d.h. max{d i −i−1, d n−i −n+i} ≥ 0),<br />
so gilt:<br />
(2) E = P 2 X, oder es gibt ein xy ∈ P 2 X \ E mit d(x) + d(y) ≥ n.<br />
(3) G ist Hamiltonsch.<br />
Beweis. (2) Wir betrachten eine Nichtkante” xy ∈ P ” 2 X \ E mit maximaler<br />
Gradsumme d(x) + d(y) <strong>und</strong> d(x) ≤ d(y). Unter der Annahme d(x) + d(y) < n<br />
ist i := d(x) < n 2<br />
. Die Menge<br />
Z = X \ {x} \ Ey = {z ∈ X | z ≠ x, zy ∉ E}<br />
hat wegen<br />
|Z| = |X| − 1 − |Ey| = n − 1 − d(y) ≥ d(x) = i<br />
mindestens i Elemente z, die wegen zy ∈ P 2 X \ E <strong>und</strong> der maximalen Wahl<br />
von d(x) + d(y) allesamt d(z) ≤ d(x) = i erfüllen müssen. Daher gilt <strong>für</strong> das i-te<br />
Glied der aufsteigenden Gradfolge d i ≤ i, <strong>und</strong> (1) liefert n−i ≤ d n−i ≤ ... ≤ d n ,<br />
d.h. es gibt mindestens i + 1 Elemente w mit d(w) ≥ n−i, darunter mindestens<br />
eines, das nicht mit x verb<strong>und</strong>en ist (wegen d(x) = i). Aber dann wäre doch<br />
d(x) + d(y) ≥ d(x) + d(w) ≥ i+ n−i = n.<br />
(3) Angenommen, es gäbe ein Gegenbeispiel G = (X, E) mit maximaler Kantenmenge<br />
E ≠ P 2 X. (Der Fall E = P 2 X wurde in Beispiel 3.16 (2) erledigt.)<br />
Wir wählen gemäß Teil (2) ein xy ∈ P 2 X \ E mit d(x) + d(y) ≥ n. Dann hat<br />
der erweiterte Graph G + xy = (X, E ∪ {xy}) einen Hamilton-Kreis, <strong>und</strong> nach<br />
Wegnahme der Kante xy bleibt ein Hamilton-Pfad (x 0 , x 1 , ..., x n ) von x nach y<br />
übrig. Die Mengen<br />
I = {i ∈ n | xx i+1 ∈ E} <strong>und</strong> J = {j ∈ n | yx j ∈ E}<br />
haben wegen |I| + |J| = d(x) + d(y) ≥ n ein gemeinsames Element i, denn die<br />
Vereinigung I ∪ J ist in n−1 enthalten (beachte xy ∉ E). Und nun erweist sich<br />
(x = x 0 , x i+1 , x i+2 , ..., x n = y, x i , x i−1 , ..., x 0 ) doch als Hamilton-Kreis in G. □<br />
x i<br />
❝ ❞ ❝ ❞<br />
x i+1<br />
x i−1 ❝ ❞<br />
<br />
▲<br />
❝ <br />
<br />
❝ <br />
❛ ☞☞ x i+2<br />
❞❝ I<br />
▲ ❅<br />
☞ J<br />
❝ <br />
❝<br />
▲ ☞ ☞☞<br />
x 1 ☞<br />
❛ ☞ x n−1<br />
❅ ❝ ❞<br />
❛<br />
❝ ☞<br />
x = x .......<br />
▲ ☞ <br />
0 x n = y<br />
73
Es gibt natürlich Hamiltonsche Graphen, <strong>für</strong> welche Bedingung (1) verletzt<br />
ist, zum Beispiel ein Fünfeck. Aber der Satz von Chvátal ist scharf in folgendem<br />
Sinn:<br />
Eine aufsteigende Folge (d 1 , ..., d n ) erfüllt genau dann (1), wenn jeder Graph,<br />
dessen Gradfolge durch diese Folge elementweise minorisiert wird,<br />
Hamiltonsch ist.<br />
Zum Beweis muss man zu jeder Folge (d 1 , ..., d n ), welche (1) verletzt, einen nicht<br />
Hamiltonschen Graphen G konstruieren, dessen Gradfolge (d 1 (G), ..., d n (G)) die<br />
Ungleichungen d i ≤ d i (G) <strong>für</strong> alle i ∈ n erfüllt. Gilt <strong>für</strong> ein k < n 2 sowohl d k ≤ k<br />
als auch d n−k ≤ n − k − 1, so erweist sich der Graph G = (n, E) mit<br />
E = {ij | i, j > k} ∪ {ij | i ≤ k, j > n − k}<br />
tatsächlich als nicht Hamiltonsch (warum?) <strong>und</strong> erfüllt die verlangten Ungleichungen<br />
d i ≤ d i (G).<br />
5<br />
❝<br />
2 ❝ 7 ❝ ✑ ◗ 4<br />
❜<br />
1 ❝ ✚ ❜❜ ✚ ❈❩<br />
❈ ❝ ✂✚ ✂✂ ❇<br />
❇ ✚ ❩ ❇❝❝<br />
✄ ✄ n = 7, k = 2<br />
6 3<br />
Bezeichnet g i = g i (G) die Anzahl aller Ecken vom Grad höchstens i, so ist<br />
wegen der Konvention, dass die Gradfolge aufsteigen soll, die Ungleichung d i ≤ i<br />
gleichbedeutend mit i ≤ g i . Daher entspricht (1) der Ungleichung<br />
(1’) min{max{i − g i , n −i − g n−i−1 } | i < n 2 } > 0.<br />
Definitionsgemäß ist g n−1 = g n = n.<br />
Die Bedingung (1) ist offenbar eine Konsequenz des folgenden Ungleichungssystems:<br />
(1”) d i + d n−i ≥ n (i < n 2 ).<br />
Der gleiche Beweis wie zu (3) zeigt außerdem:<br />
Satz 3.18 Haben in einem Graphen mit n ≥ 3 Ecken je zwei nicht adjazente<br />
Ecken x <strong>und</strong> y eine Gradsumme d(x) + d(y) ≥ n, so ist G Hamiltonsch.<br />
Als besonders einprägsamen Spezialfall erhält man den Satz von Dirac (1952):<br />
Folgerung 3.19 Ist G = (X, E) ein Graph mit mindestens drei Ecken <strong>und</strong> ist<br />
jede Ecke zu mindestens der Hälfte aller Ecken adjazent (d.h. d(x) ≥ |X|<br />
2<br />
<strong>für</strong><br />
alle x ∈ X), so hat G = (X, E) einen Hamilton-Kreis.<br />
74
3.3 Bäume <strong>und</strong> Wälder<br />
Was ist die graphentheoretische Abstraktion eines Baumes? Man stellt sich ein<br />
zusammenhängendes, verzweigtes Gebilde vor, bei dem ”<br />
nie zwei Äste wieder<br />
zusammenwachsen”. Deshalb nennt man einen zusammenhängenden <strong>und</strong> kreisfreien<br />
Graphen (also einen ohne Kreise) einen Baum. Ein Wald ist ein kreisfreier<br />
Graph, also eine disjunkte Vereinigung von Bäumen (die Kreisfreiheit überträgt<br />
sich offenbar auf die Komponenten, <strong>und</strong> umgekehrt). Die Komponenten eines<br />
Waldes sind genau seine maximalen Bäume.<br />
Bäume <strong>und</strong> Wälder treten in einer Vielzahl von Anwendungsbereichen auf:<br />
nicht nur in der Botanik, sondern auch der Chemie, der Genetik, der Paläontologie,<br />
der Logik <strong>und</strong> der Informatik.<br />
In einem Graphen nennt man die Knoten vom Grad 1 anschaulich Blätter<br />
(oder Endknoten). Das ”<br />
Abpflücken” von Blättern geht graphentheoretisch folgendermaßen:<br />
Für beliebige Graphen G = (X, E) <strong>und</strong> jeden Knoten y ∈ X<br />
bezeichnet man den auf X \ {y} induzierten Teilgraphen mit G − y. Dann gilt<br />
die folgende, <strong>für</strong> viele Induktionsbeweise nützliche Beziehung:<br />
Lemma 3.20 Sei G ein Graph <strong>und</strong> y ein Blatt von G. Genau dann ist G ein<br />
Baum, wenn G − y ein Baum ist.<br />
Beweis. Bei Wegnahme eines Blattes von einem Baum bleibt offenbar ein kreisfreier<br />
zusammenhängender Graph übrig, während Herausnahme von Knoten mit<br />
einem Grad > 1 den Zusammenhang zerstört (sonst hätte G einen Kreis).<br />
Umgekehrt entsteht aus einem Baum G − y durch Hinzufügen von y wieder<br />
ein Baum, falls y mit genau einem Knoten x von G − y direkt verb<strong>und</strong>en wird:<br />
Der Zusammenhang bleibt bestehen, da y dann mit allen Knoten von G−y durch<br />
einen über x verlaufenden Weg verb<strong>und</strong>en werden kann, <strong>und</strong> Kreise können nicht<br />
entstehen, da y nur einen Nachbarn hat.<br />
□<br />
Wir kommen nun zu drei weiteren wichtigen Charakterisierungen von Bäumen.<br />
Dazu nennen wir einen Graphen<br />
• maximal kreisfrei, wenn er keine Kreise besitzt, aber die Hinzunahme einer<br />
beliebigen Kante einen Kreis erzeugt,<br />
• minimal zusammenhängend, wenn er zusammenhängend ist, aber die Wegnahme<br />
einer beliebigen Kante den Zusammenhang zerstört.<br />
Satz 3.21 Für einen Graphen G = (X, E) sind die folgenden vier Aussagen<br />
äquivalent:<br />
(a)<br />
(b)<br />
(c)<br />
(d)<br />
G ist ein Baum.<br />
Je zwei Knoten von G sind durch genau einen Pfad verb<strong>und</strong>en.<br />
G ist minimal zusammenhängend.<br />
G ist maximal kreisfrei.<br />
75
Beweis. (a)⇒(b). Wegen des Zusammenhangs sind je zwei Knoten x <strong>und</strong> y durch<br />
mindestens einen Pfad verb<strong>und</strong>en. Wären x <strong>und</strong> y durch zwei verschiedene Pfade<br />
(x 0 , ..., x l ) <strong>und</strong> (y 0 , ..., y k ) verb<strong>und</strong>en, so wäre<br />
(x=x 0 , x 1 , ..., x l =y =y k , y k−1 , ..., y 1 , y 0 =x)<br />
ein geschlossenen Weg, aus dem man einen Kreis herausschneiden könnte.<br />
(b)⇒(c). Natürlich ist G zusammenhängend. Wäre <strong>für</strong> eine Kante xy der Graph<br />
G − xy = (X, E \ {xy}) immer noch zusammenhängend, so könnte man x <strong>und</strong><br />
y durch einen Pfad (x 0 , ..., x l ) verbinden, in dem die Kante xy nicht vorkommt.<br />
(c)⇒(a). Hätte G einen Kreis, so könnte man aus diesem eine Kante xy entfernen<br />
<strong>und</strong> behielte immer noch einen zusammenhängenden Graphen: denn jeder<br />
Weg (x 0 , ..., x l ), der die Kante x i−1 x i = xy benutzt, kann durch einen anderen<br />
Weg ersetzt werden, indem die Kante xy durch den Rest des Kreises ausgetauscht<br />
wird, auf dem sie liegt.<br />
(b)⇒(d). Hätte G einen Kreis (x 0 , ..., x l−1 , x l = x 0 ), so wären x 0 <strong>und</strong> x l−1<br />
durch die beiden verschiedenen Pfade (x 0 , ..., x l−1 ) <strong>und</strong> (x 0 , x l−1 ) verb<strong>und</strong>en. Bei<br />
Hinzunahme einer Kante xy liegen x <strong>und</strong> y auf einem Kreis.<br />
(d)⇒(a). Gäbe es in G zwei durch keinen Weg verb<strong>und</strong>ene Knoten x <strong>und</strong> y, so<br />
wäre G + xy = (X, E ∪ {xy}) immer noch kreisfrei, denn ein Kreis (x 0 , ..., x l )<br />
in G + xy müßte die neue Kante xy enthalten, d.h. es wäre x i−1 x i = xy <strong>für</strong> ein<br />
i, etwa x = x i <strong>und</strong> y = x i−1 (sonst umgekehrter Durchlauf). Dann wäre aber<br />
(x=x i , x i+1 , ..., x l , x 0 , x 1 , ..., x i−1 =y) ein Weg in G zwischen x <strong>und</strong> y. □<br />
Für endliche Bäume gibt es besonders einfache Beschreibungen. Zunächst<br />
notieren wir eine Eigenschaft endlicher zusammenhängender Graphen:<br />
Lemma 3.22 Ein endlicher zusammenhängender Graph G mit n Knoten hat<br />
mindestens n−1 Kanten.<br />
Beweis. Die Aussage ist richtig <strong>für</strong> n = 1. Wir gehen induktiv vor <strong>und</strong> betrachen<br />
einen Pfad maximaler Länge in einem Graphen G mit n Knoten, etwa<br />
(x 0 , ..., x l ). Alle mit x 0 in G verb<strong>und</strong>enen Knoten müssen auf diesem Pfad liegen<br />
(sonst könnte man den Pfad verlängern) <strong>und</strong> sind daher durch Wege verb<strong>und</strong>en,<br />
die x 0 nicht enthalten. Deshalb ist G − x 0 immer noch zusammenhängend<br />
(man ersetze alle Wege, die über x 0 führen, durch solche, die andere Knoten<br />
des Pfades benutzen). Nach Induktionsannahme hat G − x 0 mindestens n − 2<br />
Kanten, also G mindestens n−1 Kanten (denn mindestens eine an x 0 hängende<br />
Kante kommt ja hinzu).<br />
□<br />
Satz 3.23 Für einen endlichen Graphen G mit n Knoten sind äquivalent:<br />
(a)<br />
(e)<br />
(f)<br />
G ist ein Baum.<br />
G ist zusammenhängend <strong>und</strong> hat genau n−1 Kanten.<br />
G ist kreisfrei <strong>und</strong> hat genau n−1 Kanten.<br />
76
Beweis. (a)⇒(e) <strong>und</strong> (f). Die Entfernung einer Kante xy bewirkt nach Satz 3.21<br />
(a)⇒(c) den Zerfall in zwei Komponenten. Jede der beiden Komponenten ist<br />
natürlich immer noch kreisfrei, also jeweils ein Baum. Nach Induktionsannahme<br />
haben beide jeweils eine Kante weniger als Knoten. Nach ”<br />
Restaurieren” der<br />
Kante xy gilt das dann auch <strong>für</strong> den Graphen G.<br />
(e)⇒(a). Hat man eine Kante weniger als Knoten zur Verfügung, so ist G<br />
minimal zusammenhängend, denn ein Graph mit n Knoten <strong>und</strong> weniger als n−1<br />
Kanten ist, wie wir in Lemma 3.22 sahen, unzusammenhängend.<br />
(f)⇒(a). Jede Komponente ist kreisfrei <strong>und</strong> zusammenhängend, also ein<br />
Baum. Nach dem schon Bewiesenen hat sie jeweils eine Kante weniger als Knoten.<br />
Das geht aber bei insgesamt n−1 Kanten nicht, außer es war überhaupt<br />
nur eine einzige Komponente vorhanden (denn <strong>für</strong> jede Komponente wird 1<br />
abgezogen). Also ist G zusammenhängend <strong>und</strong> damit ein Baum.<br />
□<br />
Das letzte Argument zusammen mit Lemma 3.22 liefert auch noch eine verblüffend<br />
einfache Charakterisierung endlicher kreisfreier Graphen:<br />
Folgerung 3.24 Die endlichen Wälder sind genau diejenigen endlichen Graphen,<br />
die die folgende ”<br />
Euler-Gleichung” erfüllen:<br />
Anzahl der Knoten = Anzahl der Kanten + Anzahl der Komponenten.<br />
Fassen wir zusammen:<br />
(1) Nach Wegnahme einer Kante aus einem Wald bleibt ein Wald übrig, der<br />
genau eine Komponente mehr als der ursprüngliche hat. Insbesondere zerfällt<br />
ein Baum nach Wegnahme einer Kante in zwei Bäume. Umgekehrt entsteht<br />
durch Verbinden zweier Bäume durch eine Kante ein einzelner Baum.<br />
(2) Nach Wegnahme eines Blattes <strong>und</strong> der damit inzidierenden Kante von<br />
einem Baum (bzw. Wald) bleibt ein Baum (bzw. Wald) übrig. Umgekehrt wird<br />
aus einem Baum durch Hinzufügen einer Kante zwischen einem schon vorhandenen<br />
<strong>und</strong> einem neuen Knoten wieder ein Baum.<br />
(3) In allen anderen Fällen bewirkt die Wegnahme eines Knotens <strong>und</strong> der mit<br />
ihm inzidierenden Kanten den Zerfall in ebensoviele Komponenten, wie Kanten<br />
entfernt wurden. Umgekehrt wird aus einem Wald ein Baum, wenn man je einen<br />
Knoten aus den Komponenten mit einem gemeinsamen neuen Knoten verbindet.<br />
❞<br />
❞<br />
❞<br />
❞<br />
❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞<br />
❅ ❅ <br />
❅ ❅ <br />
❞ ❅ <br />
❅ ❞ ❅ ❞ <br />
❅ <br />
❅ <br />
❅<br />
❞<br />
(0)<br />
❞<br />
(1)<br />
❞<br />
(2)<br />
❞<br />
(3)<br />
77
Während bei den zuvor eingeführten graphentheoretischen Bäumen keine<br />
Richtung der Kanten vorgegeben ist, stellt man sich bei einem ”<br />
echten” Baum<br />
vor, dass er ”<br />
von unten nach oben auseinander wächst”. Dieser Anschauung<br />
wird eine ordnungstheoretische Variante des Baumbegriffes gerecht, die wir jetzt<br />
betrachten wollen. Wir verstehen unter einem Wurzelbaum eine maximal verkettete<br />
geordnete Menge (X, ⊑) mit einem kleinsten Element w (der Wurzel), so<br />
dass keine zwei unvergleichbaren Elemente unter einem gemeinsamen Element<br />
liegen, oder andersherum (durch Kontraposition) ausgedrückt:<br />
(Ψ) x ⊑ z <strong>und</strong> y ⊑ z ⇒ x ⊑ y oder y ⊑ x.<br />
Eine maximal verkettete geordnete Menge mit der Eigenschaft (Ψ) nennen wir<br />
Wurzelwald, falls jedes Element über einem minimalen liegt. (Beachten Sie den<br />
Unterschied zwischen minimalen <strong>und</strong> kleinsten Elementen: Ein kleinstes Element<br />
liegt unter allen anderen, während ein minimales nur die Eigenschaft hat, dass<br />
kein anderes darunter liegt!) Ein Wurzelbaum heißt unär (binar, ternär), wenn<br />
all seine Elemente höchstens einen bzw. zwei bzw. drei obere Nachbarn haben.<br />
Beispiel 3.25 Ein Wurzelwald mit einem unären, einem binären <strong>und</strong> einem<br />
ternären Wurzelbaum.<br />
popo ❝ ❝pott ❝otto ❝ toto<br />
000 001<br />
❝ 4 ❝ ❝<br />
010 011<br />
❝ ❝<br />
100 ❝<br />
101 ❝<br />
110 ❝ ❝ 111<br />
pop<br />
❈ ✄ ❈ ✄ ❈ ✄ ❈ ✄<br />
❝ ❝<br />
❝<br />
3 ❝ 00<br />
❝ 01<br />
❝ 10<br />
❝ pot ❝ ott top<br />
❝ ❝ tot<br />
11<br />
❈ ✄<br />
❈ ✄<br />
❆ ✁ ❆ ✁<br />
❝<br />
❝ ❝<br />
❆<br />
2<br />
❝ ✁ ❆<br />
0<br />
❝ ✁<br />
po<br />
ot<br />
❝ to<br />
1<br />
❅ <br />
❝ ❝<br />
❝<br />
❅<br />
1<br />
❝ <br />
p<br />
❍ o<br />
❝ t<br />
⊥<br />
❍<br />
❍ ❝ ✟ ✟✟✟<br />
∅<br />
Satz 3.26 Eine geordnete Menge ist genau dann ein Wurzelwald, wenn ihre<br />
Komponenten Wurzelbäume sind.<br />
Beweis. Sind die Komponenten Wurzelbäume, so überträgt sich (Ψ) von diesen<br />
auf die Gesamtmenge (denn die Voraussetzung x ⊑ z <strong>und</strong> y ⊑ z ist nur erfüllbar,<br />
wenn x <strong>und</strong> y in der gleichen Komponente liegen).<br />
Umgekehrt ist jede Komponente B eines Wurzelwaldes zusammenhängend<br />
<strong>und</strong> erfüllt (Ψ). Wir wählen ein minimales y in der geordneten Menge B <strong>und</strong><br />
behaupten, dass y unter jedem anderen x ∈ B liegt. Wegen des Zusammenhangs<br />
von B gibt es eine Folge (x=x 0 , x 1 , ..., x l =y) minimaler Länge l mit x i−1 ⊏ x i<br />
oder x i ⊏ x i−1 <strong>für</strong> jedes i ∈ l. Nun ist x l−1 ⊏ y wegen der Minimalität von y<br />
ausgeschlossen; also muss der Fall y ⊏ x l−1 eintreten. Die kleinstmögliche Wahl<br />
von l erzwingt unter der Annahme l > 1 die Beziehung x l−2 ⊏ x l−1 (sonst<br />
könnte man x l−1 wegen der Transitivität weglassen). Aber nun liefert (Ψ) <strong>für</strong><br />
x l−2 statt x zusammen mit der Minimalität von y die Beziehung y ⊑ x l−2 , <strong>und</strong><br />
wir könnten x l−1 doch weglassen. Also ist nur l ≤ 1 <strong>und</strong> y ⊑ x möglich. □<br />
❝ ❝ x l−1<br />
❅<br />
❝ ❅ ❝ ❅ ❅ ❝<br />
x=x 0 x l−2 x l =y<br />
78
Wurzelbäume <strong>und</strong> -wälder werden vielfach auf den Kopf gestellt (dualisiert). Die<br />
Diagrammdarstellung liefert dann ein nach unten verzweigtes Wurzelgeflecht.<br />
Vorsicht! Bei einem dualisierten Baum sind die Vorgänger” die Nachfolger!<br />
”<br />
❝<br />
❝ ✡ ❏ ❝<br />
❝ ✡ ❏ ❝ ❏ ❝<br />
❝ ✡ ❏ ❝ ❝ ✡ ❏ ❝<br />
Wie hängen die Bäume der Graphentheorie mit den Wurzelbäumen der Ordnungstheorie<br />
zusammen? Erinnern wir uns daran, dass der Nachbarschaftsgraph<br />
(X, E) einer geordneten Menge (X, ⊑) durch Symmetrisierung der Nachbarschaftsrelation<br />
⊏ ∨ entsteht, also indem man nur die ungerichteten Kanten zwischen<br />
benachbarten Elementen betrachtet:<br />
E = {xy | x ⊏ ∨ y}.<br />
Satz 3.27 Der Nachbarschaftsgraph eines Wurzelbaumes (X, ⊑) ist ein Baum,<br />
<strong>und</strong> die Ordnung ist durch diesen Baum <strong>und</strong> die Wurzel w festgelegt:<br />
(W) x ⊑ y ⇔ x liegt auf dem Pfad von w nach y.<br />
Umgekehrt gibt es zu jedem Knoten w eines Baumes B = (X, E) genau einen<br />
Wurzelbaum mit Wurzel w, dessen Nachbarschaftsgraph B ist, nämlich den<br />
durch (W) definierten. Aus jedem Baum mit n Knoten entstehen also genau<br />
n Wurzelbäume durch Festlegung der Wurzel.<br />
❝<br />
1<br />
❝ 5<br />
❝ 4<br />
❝ ❝<br />
2 3<br />
3 ❝ ❝ 4<br />
❅ ❝ 2<br />
<br />
w = 1<br />
❝ 5 ❝ 5<br />
❝ 5 1 ❝ ❝ 4 ❝ ❝<br />
1 ❝ ❝ 4 ❝ ❅ 3 ❝ 1 3<br />
❅ 2 ❝ 2<br />
❅ ❅ <br />
w = 2 w = 3 w = 4<br />
❝ 1<br />
❅ ❝2 <br />
❝ 3<br />
❝ 5 ❝ 4<br />
<br />
w = 5<br />
Beweis. Für einen Wurzelbaum (X, ⊑) ist der Graph (X, E) mit E = {xy|x⊏ ∨ y}<br />
wegen der maximalen Verkettung zusammenhängend. Wäre (x 0 , x 1 , ..., x l = x 0 )<br />
ein Kreis in (X, E) minimaler Länge, so könnte nicht <strong>für</strong> jedes i < l die Beziehung<br />
x i ⊏ ∨ x i+1 gelten (sonst wäre x 0 ⊏ x l ), also gibt es ein i mit x i−1 ⊏ ∨ x i<br />
<strong>und</strong> x i+1 ⊏ ∨ x i (wobei x −1 = x l−1 <strong>und</strong> x l+1 = x 1 zu setzen ist). Aber wegen<br />
der Bedingung (Ψ) wäre dann x i−1 mit x i+1 vergleichbar, <strong>und</strong> x i wäre zu einem<br />
dieser Elemente nicht benachbart. Also kann (X, E) keine Kreise enthalten.<br />
Nun sei B = (X, E) ein Baum <strong>und</strong> w ein fest gewählter Knoten. Wir definieren<br />
eine Relation ⊑ auf X durch (W) <strong>und</strong> beachten, dass es nach Satz 3.21<br />
stets einen eindeutigen Pfad zwischen w <strong>und</strong> y gibt. Die Relation ⊑ ist offenbar<br />
reflexiv <strong>und</strong> transitiv. Antisymmetrisch ist sie wegen der Nichtexistenz von<br />
Kreisen: Im Falle x ⊏ y ⊏ x gäbe es einen geschlossenen Weg durch x <strong>und</strong> y,<br />
<strong>und</strong> dieser enthielte einen Kreis. Die so entstehende geordnete Menge (X, ⊑) ist<br />
ein Wurzelbaum mit Wurzel w, denn nach Definition gilt w ⊑ y <strong>für</strong> alle y ∈ X,<br />
<strong>und</strong> im Falle x ⊑ z <strong>und</strong> y ⊑ z liegen x <strong>und</strong> y auf dem Pfad von w nach z,<br />
<strong>und</strong> es folgt x ⊑ y oder y ⊑ x. Der Nachbarschaftsgraph der Ordnung ⊑ ist der<br />
ursprüngliche Baum B (wegen der Eindeutigkeit der verbindenden Pfade). □<br />
79
Aufgr<strong>und</strong> des letzten Satzes kann man die Wurzelbäume mit ”<br />
Stammbäumen”<br />
identifizieren; das sind Paare (B, w), die aus einem Baum B <strong>und</strong> einem festgewählten<br />
Knoten w bestehen. (Stammbäume ”<br />
wachsen in die Vergangenheit”!)<br />
Wurzelbäume <strong>und</strong> Wurzelwälder lassen sich ebenso einfach wie Bäume <strong>und</strong><br />
Wälder rekursiv aufbauen, indem man die folgenden beiden Schritte iteriert:<br />
(A) Aus jedem Wurzelwald entsteht durch Hinzufügen eines disjunkten neuen<br />
Baumes ein neuer Wurzelwald.<br />
(B) Aus jedem Wurzelwald entsteht durch Hinzufügen einer Wurzel, die mit<br />
allen Wurzeln der Komponenten verb<strong>und</strong>en wird, ein Wurzelbaum.<br />
❞ ❞ ❞ ❞ ❞ ❞ ❞<br />
❞ ❞ ❞ ❞ ❅<br />
(A) +<br />
<br />
=<br />
❅ ❅ ❅<br />
<br />
<br />
❞<br />
❞ ❞<br />
❅<br />
<br />
❞ ❞<br />
❞ <br />
❅<br />
<br />
❞ ❞ ❞ ❞<br />
❞ ❅<br />
<br />
❅<br />
<br />
(B)<br />
❞<br />
❞ ❞<br />
❅<br />
<br />
❞ ❞<br />
❞ <br />
❅<br />
<br />
+ =<br />
❅ <br />
❅<br />
❞ ❞ ❞<br />
❞ ❞ ❞ <br />
❅ ❅<br />
<br />
❅ <br />
❅<br />
Konstruktion (B) kann man noch erweitern, indem man auf jeden Knoten<br />
eines Wurzelbaumes einen weiteren Wurzelbaum ”<br />
aufpfropft”.<br />
Der nächste Satz ist anschaulich einleuchtend, bedarf aber doch eines Beweises:<br />
Satz 3.28 Eine maximal verkettete geordnete Menge ist genau dann ein Wurzelbaum,<br />
wenn sie ein kleinstes Element besitzt <strong>und</strong> jedes andere Element genau<br />
einen unteren Nachbarn (“Nachfolger”) hat.<br />
Beweis. Ist (X, ⊑) ein Wurzelbaum <strong>und</strong> (w =x 0 , ..., x l =y) der eindeutige Pfad<br />
von der Wurzel w nach y, so ist x l−1 der eindeutige untere Nachbar von y.<br />
Hat umgekehrt die maximal verkettete Menge (X, ⊑) das kleinste Element<br />
w <strong>und</strong> die genannte Nachfolge-Eigenschaft, so muss (Ψ) gelten: Zu x ⊑ z <strong>und</strong><br />
y ⊑ z finden wir Pfade (z = x 0 , ..., x k = x) <strong>und</strong> (z = y 0 , ..., y l = y) mit x i ⊏ ∨ x i−1<br />
<strong>für</strong> i ∈ k <strong>und</strong> y i ⊏ ∨ y i−1 <strong>für</strong> i ∈ l. Sei i der größte Index mit x i = y i . Im<br />
Falle i < k <strong>und</strong> i < l wäre dann auch noch x i+1 ⊏ ∨ x i <strong>und</strong> y i+1 ⊏ ∨ x i erfüllt,<br />
also x i+1 = y i+1 im Widerspruch zur Wahl von i. Also muss x ⊑ x i = y oder<br />
y ⊑ y i = x gelten.<br />
□<br />
80
Die Isomorphietypen von Bäumen mit maximal 7 Knoten<br />
Automorphismenzahl a <strong>und</strong> Anzahl i der isomorphen Kopien<br />
❞<br />
❞<br />
1<br />
1 1 = 1 −1<br />
❞<br />
2<br />
1 1 = 2 0<br />
<br />
<br />
❞ ❞<br />
❞ ❞ ❞<br />
❞ ❞<br />
720<br />
7<br />
❞<br />
❞<br />
❞<br />
<br />
<br />
❞<br />
❞<br />
❞<br />
2<br />
3 ❅ 3 = 3 1<br />
❅<br />
❞<br />
6<br />
❞<br />
2<br />
4 ❅<br />
12 ❅<br />
16 = 4 2<br />
<br />
❅ <br />
❅<br />
❞<br />
❞<br />
❞ ❞<br />
❞ ❞ ❞<br />
❞ ❞<br />
❞<br />
❞<br />
❞<br />
❞<br />
24<br />
❞<br />
5<br />
<br />
✘ ✘✘ ✘ ✘✘ ✘ ✘ 2<br />
❞<br />
2<br />
❳<br />
60 ❅ ❳ ❳ ❳❳<br />
❳<br />
60 ❅<br />
<br />
❅ ❳❳<br />
❅<br />
❞<br />
❞<br />
❞<br />
❞<br />
❞ ❞ ❞ ❞<br />
125 = 5 3<br />
❞ ❞ ❞<br />
❞ ❞ ❞ ❞ ❞<br />
❞ ❞ ❞ ❞<br />
❞<br />
❞ ❞<br />
❞ ❞ ❞<br />
❞<br />
❞<br />
❞<br />
120<br />
❞<br />
6<br />
❞<br />
8<br />
❞ ❞<br />
2<br />
❞<br />
6<br />
✟<br />
✟<br />
✟ ✁ 120 ❆<br />
❳❳ ✟ ❳❳<br />
<br />
✟ ❳ 90 360◗ ❳❳ ❳❳<br />
✟<br />
✟<br />
✟ ✁✁<br />
✟ ❆❆ ❳❳ ◗◗◗<br />
✟ ✥<br />
✥✥✥✥✥✥✥✥✥✥✏<br />
✥ ❳ ✏ ❳ ❳<br />
❳ ❳❳<br />
✘✘ ✘✘ ✘ ✘✘ ✘ ✘✘<br />
2<br />
❞ ❞<br />
2<br />
✑<br />
✑ 360 ❇ 360 ❅ 1296 = 6 4<br />
<br />
✑<br />
<br />
❇❇ ❳<br />
✑<br />
<br />
❳ ❳<br />
❅ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞<br />
❞ ❞<br />
❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞<br />
❞ ❞ ❞ ❞ ❞ ❞<br />
❞ <br />
❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞<br />
❞ ❞ ❞<br />
❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞<br />
❞ ❞<br />
24 12<br />
❞<br />
6<br />
❞<br />
8<br />
❞<br />
4<br />
❞<br />
2<br />
❞<br />
6<br />
❞<br />
1<br />
❞<br />
2<br />
❞ ❞<br />
2<br />
210 420 840 630 1260 2520 840 5040 2520 2520<br />
81<br />
❞<br />
❞<br />
❞<br />
16807 = 7 5
Die <strong>für</strong> n ≤ 7 gef<strong>und</strong>enen Anzahlen von Bäumen mit n Knoten suggerieren<br />
den folgenden berühmten Satz von Cayley (1889):<br />
Satz 3.29 Auf einer festen Menge von n Knoten gibt es genau<br />
n n−2 Bäume<br />
n n−1 Wurzelbäume<br />
(n + 1) n−1 Wurzelwälder.<br />
Jede dieser drei Anzahlaussagen ist aufgr<strong>und</strong> der vorausgegangenen Überlegungen<br />
zu den beiden anderen äquivalent. Wir werden im Laufe dieses Abschnitts<br />
insgesamt fünf Beweise geben. Jeder ist auf seine Weise durch die jeweils<br />
zugr<strong>und</strong>eliegende Methode instruktiv.<br />
Der erste <strong>und</strong> vielleicht direkteste Beweis liefert sogar noch eine sehr viel<br />
präzisere Aussage, nämlich eine Formel <strong>für</strong> die Anzahl aller Bäume B mit Knotenmenge<br />
n <strong>und</strong> fest vorgegebenen Gradzahlen d i = d B (i) (i = 1, .., n). Da die<br />
Anzahl der Kanten n−1 beträgt, muss die folgende Gleichung erfüllt sein:<br />
(K) ∑ n<br />
i=1 d i = 2n−2 bzw.<br />
∑ n<br />
i=1 (d i−1) = n−2.<br />
Dabei ist stets d i −1 ≥ 0, weil kein Knoten den Grad 0 hat. Mit der Gleichung<br />
(K) läßt sich häufig leicht entscheiden, ob eine gegebene Folge die Gradfolge<br />
eines Baumes sein kann oder nicht.<br />
∑<br />
Satz 3.30 Zu jeder Folge (k 1 , ..., k n ) von ganzen Zahlen k i mit 0 ≤ k i < n <strong>und</strong><br />
n<br />
i=1 k i = n−2 gibt es genau<br />
( )<br />
n−2<br />
= (n−2)!<br />
k 1 ... k n k 1 ! · · · · · k n !<br />
Bäume B mit der Knotenmenge n <strong>und</strong> den Gradzahlen d B (i) = k i +1 (i ∈ n).<br />
Beweis. Der angegebene Multinomialkoeffizient beschreibt bekanntlich die Anzahl<br />
der Zerlegungen einer (n−2)-elementigen Menge in (eventuell leere) Teilmengen<br />
M i mit k i Elementen (i ∈ n). Zu einem Baum mit Knotenmenge n <strong>und</strong><br />
Gradfolge (d 1 , ..., d n ) = (k 1 + 1, ..., k n + 1) erhält man eine solche Zerlegung<br />
von n \ {n, v}, wobei v der zu n adjazente Knoten mit der größten Nummer ist,<br />
indem man man jedem Knoten außer n (aufgefasst als Wurzel) die Menge seiner<br />
Vorgänger <strong>und</strong> der Wurzel n die Menge der Vorgänger bis auf v zuordnet. (Für<br />
jedes Blatt ist die leere Vorgängermenge zu nehmen.)<br />
✞<br />
❞<br />
☎ ✞<br />
❞ ❞<br />
☎<br />
✞ ✝ ✆<br />
❞ <br />
☎<br />
✝<br />
❅<br />
✞<br />
✝ ☎ ❞<br />
✞ ✝<br />
❞ <br />
☎ ✆<br />
✆✝<br />
❅<br />
✞<br />
✆ ✝ ☎ ✆<br />
✆<br />
v <br />
✞<br />
<br />
☎<br />
❞<br />
❅ ✝ ✆<br />
❅<br />
n<br />
Umgekehrt ist aus dieser geordneten Zerlegung der Baum mittels Vorgängermengen<br />
rekonstruierbar, <strong>und</strong> alle Bäume enstehen so auf genau eine Weise. □<br />
82
Aus Satz 3.30 ergibt sich die Cayleysche Formel durch Summation über alle<br />
Multinomialkoeffizienten:<br />
∑<br />
( ) n−2<br />
1 k1 · · · · · 1 kn = (1 + ... + 1) n−2 = n n−2 .<br />
k 1 ... k n<br />
k i≥0,k 1+...+k n=n−2<br />
Die Untersuchung von Bäumen wurde von Cayley im Zusammenhang mit<br />
Fragen aus der Chemie initiiert.<br />
Beispiel 3.31 Alkane sind Kohlenwasserstoffverbindungen C j H 2j+2 , wobei<br />
Kohlenstoffatome (C = •) die Valenz 4 <strong>und</strong> Wasserstoffatome (H = ◦)<br />
die Valenz 1 haben ( ”<br />
Blätter”). Solche C − H−Moleküle entsprechen zusammenhängenden<br />
Graphen mit j+2j+2 = 3j+2 Knoten <strong>und</strong> (4j+2j+2)/2 = 3j+1<br />
Kanten. Nach Satz 3.23 sind also solche Verbindungen zwangsläufig Bäume ! Die<br />
Anzahl solcher Bäume, wobei die ersten 2j + 2 Knoten Valenz 1 <strong>und</strong> die letzten<br />
j Knoten Valenz 4 haben, ist nach Satz 3.30 gleich<br />
(3j)!<br />
, also 1 <strong>für</strong> j = 1, 20 <strong>für</strong> j = 2, 1680 <strong>für</strong> j = 3 <strong>und</strong> 369600 <strong>für</strong> j = 4.<br />
(3!)<br />
j<br />
❞<br />
❞ ❞<br />
❞<br />
j = 1, n = 5<br />
❞ ❞<br />
❞ ❞<br />
❞ ❞<br />
j = 2, n = 8<br />
❞ ❞<br />
❞<br />
❞ ❞<br />
❞ ❞ ❞<br />
j = 3, n = 11<br />
❞ ❞<br />
❞ ❞ ❞ ❞ ❞<br />
❞ ❞ ❞ ❞<br />
❞ ❞ ❞ ❞ ❞ ❞ ❞ ❞<br />
❞<br />
j = 4, n = 14<br />
Wenden wir uns jetzt der Frage zu, wie man Bäume <strong>und</strong> Wälder codieren,<br />
d.h. durch geeignete Zahlenfolgen eindeutig beschreiben kann. Der Einfachheit<br />
halber nehmen wir dabei wieder an, dass die Knotenmenge n = {1, ..., n} sei.<br />
Das naheliegendste Codierungsverfahren wird durch Satz 3.28 geliefert:<br />
Die Nachfolgerfunktion eines Wurzelwaldes ordnet jedem nichtminimalen<br />
Knoten seinen eindeutigen unteren Nachbarn zu. Die Nachbarschaftsrelation<br />
eines Wurzelbaumes ist allerdings dual zur Nachfolgerfunktion, also eine<br />
Vorgängerfunktion (Funktionen sind ja spezielle Relationen)! Irreflexivität bedeutet<br />
<strong>für</strong> eine Funktion F , dass sie keinen Fixpunkt hat (also F (x) = x nie<br />
auftritt). Weiter ist F genau dann intransitiv, wenn F (x) = F k (x) nur <strong>für</strong><br />
k = 1 möglich ist. Im Falle x ≠ F k (x) <strong>für</strong> k ∈ N nennt man F aperiodisch.<br />
Solche Funktionen beschreiben gerade die Wurzelwälder:<br />
Satz 3.32 Für eine Relation F ⊆ n × n sind äquivalent:<br />
(a) F ist die Nachfolgerfunktion eines Wurzelwaldes mit Knotenmenge n.<br />
(b)<br />
(c)<br />
(d)<br />
F ist eine aperiodische Funktion.<br />
F ist eine intransitive Funktion.<br />
F ist eine irreflexive <strong>und</strong> azyklische Funktion.<br />
83
Beweis. (a) ⇔ (c) folgt unmittelbar aus Satz 3.28 <strong>und</strong> der bekannten Tatsache,<br />
dass die maximal veketteten Ordnungen durch Übergang zu Nachbarschaftsrelationen<br />
bijektiv den intransitiven Relationen entsprechen.<br />
Die Äquivalenz von (b) <strong>und</strong> (c) beweist man durch Kontraposition:<br />
(b)⇒(c): Aus k +1 > 1 <strong>und</strong> F (x) = F k+1 (x) folgt <strong>für</strong> y = F (x): y = F k (y).<br />
(c)⇒(b): Aus k ∈ N <strong>und</strong> x = F k (x) folgt k +1 > 1 <strong>und</strong> F (x) = F k+1 (x).<br />
(c) ⇔ (d) ist leicht zu sehen.<br />
Folgerung 3.33 Man erhält eine Bijektion zwischen Wurzelwäldern mit Knotenmenge<br />
n <strong>und</strong> intransitiven Funktionen von Teilmengen der Menge n nach<br />
n, indem man jedem Wurzelwald seine Nachfolgerfunktion zuordnet. Dabei entsprechen<br />
den Wurzelbäumen diejenigen intransitiven Funktionen, deren Definitionsbereich<br />
genau ein Element von n (die Wurzel) nicht enthält.<br />
Beispiel 3.34 Nachfolgercode eines Wurzelwaldes<br />
❞<br />
4<br />
❞<br />
9<br />
❅ 8 ❞<br />
3 6<br />
❞ 1<br />
❅ 2<br />
<br />
<br />
5 7<br />
( )<br />
1 2 3 4 6 8 9<br />
F =<br />
2 7 2 8 1 5 8<br />
Hingegen kann die an der Stelle 2 abgeänderte Funktion<br />
( )<br />
1 2 3 4 6 8 9<br />
˜F =<br />
2 6 2 8 1 5 8<br />
wegen ˜F 3 (2) = 2 kein Nachfolgercode eines Wurzelwaldes sein. In der Tat<br />
enthält der zugehörige Digraph einen Zykel:<br />
4<br />
❞<br />
❅❘ 8 ✠<br />
❄<br />
<br />
5<br />
9<br />
❞<br />
3<br />
❞6<br />
❞ ❄1<br />
❅■<br />
❅❘ ❄<br />
2<br />
<br />
7<br />
Ein Vorteil der zuvor beschriebenen Codierung ist, dass man den zugehörigen<br />
Wurzelwald sehr schnell rekonstruieren kann. Allerdings sieht man einer Funktion<br />
(bzw. der entsprechenden endlichen Folge) nicht immer sofort an, ob sie<br />
aperiodisch ist, also einen Wurzelwald bzw. -baum beschreibt. Man kann jedoch<br />
alle Wurzelwälder bzw. -bäume durch einen sehr einfachen Algorithmus gewinnen:<br />
Beginnend mit den n Knoten 1, ..., n <strong>und</strong> der leeren Kantenmenge, fügt man<br />
Schritt <strong>für</strong> Schritt eine nummerierte <strong>und</strong> gerichtete Kante zwischen der Wurzel<br />
einer Komponente <strong>und</strong> einem beliebigen Knoten einer anderen Komponente des<br />
bis dahin entstandenen Wurzelwaldes hinzu. Für die k-te Kante (in Richtung der<br />
□<br />
84
Nachfolgerfunktion) hat man zwar n Möglichkeiten, den Endpunkt zu wählen,<br />
aber nur noch n−k Möglichkeiten bei der Auswahl des Anfangspunktes (denn<br />
von jedem Punkt darf höchstens ein Pfeil ausgehen, <strong>und</strong> nach dem k-ten Schritt<br />
hat man k Pfeile <strong>und</strong> n − k Komponenten. Insgesamt gibt es also<br />
∏ n−1<br />
k=1<br />
n(n − k) = (n−1)! nn−1<br />
Möglichkeiten der nummerierten Kantenwahl. Am Schluss ist ein Wurzelbaum<br />
entstanden, dessen Kanten mit einer Permutation der Zahlen von 1 bis n−1<br />
belegt sind, <strong>und</strong> jeder ”<br />
kanten-nummerierte” Wurzelbaum ensteht so genau einmal.<br />
Da es (n−1)! solche Permutationen gibt, bleiben nach Entfernen der Nummerierung<br />
der Kanten n n−1 Wurzelbäume. Damit ist der Satz von Cayley zum<br />
zweiten Mal bewiesen.<br />
Die vielleicht eleganteste Codierung von Bäumen geschieht mit Hilfe des<br />
sogenannten Prüfer-Codes. Die simple, aber wirkungsvolle Gr<strong>und</strong>idee besteht<br />
darin, schrittweise die Blätter mit den kleinsten Nummern abzupflücken <strong>und</strong><br />
gleichzeitig die Folge der zum jeweiligen Blatt benachbarten Knoten zu notieren,<br />
bis nur noch zwei Knoten übrigbleiben. (Aufgr<strong>und</strong> unserer Konvention sind die<br />
Nummern die Blätter selbst.)<br />
Satz 3.35 Zu einem gegebenen Baum G = (n, E) definiere man induktiv zwei<br />
Folgen (b i | i = 1, ..., n−2) <strong>und</strong> (a i | i = 1, ..., n−2) durch die Festlegung, dass<br />
b i das kleinste Blatt des Baumes G i = G − {b j | j < i} <strong>und</strong> a i sein Nachbar<br />
in G i ist. Auf diese Weise erhält man eine Bijektion zwischen der Gesamtheit<br />
aller Bäume mit der Knotenmenge n <strong>und</strong> der Menge n n−2 aller (n−2)-stelligen<br />
Folgen (a 1 , ..., a n−2 ) mit Werten in n.<br />
Dies bestätigt wiederum den Satz von Cayley. Die oben konstruierte Folge<br />
(a 1 , ..., a n−2 ) heißt Prüfer-Code des Baumes G. Um Satz 3.35 zu begründen,<br />
müssen wir uns vergewissern, dass jede Folge (a 1 , ..., a n−2 ) in n wirklich als<br />
Prüfer-Code eines eindeutig bestimmten Baumes auftritt. Zu diesem Zweck rekonstruieren<br />
wir den gesuchten Baum wie folgt. Wir setzen a n−1 := a n−2 <strong>und</strong><br />
bestimmen die zugehörigen Blätter rekursiv durch die Vorschrift, dass der Knoten<br />
mit der nächsten Nummer der Folge mit einem neuen Blatt verb<strong>und</strong>en wird,<br />
das die kleinste noch nicht verbrauchte Nummer erhält. b i ist also das kleinste<br />
Element der folgenden Restmenge:<br />
n \ {b 1 , ..., b i−1 , a i , a i+1 , ..., a n−1 } (i = 1, ..., n−1).<br />
Der letzte Knoten b n ist dann der noch übrig gebliebene, <strong>und</strong> die Kanten des<br />
Baumes sind die Zweiermengen a i b i (i = 1, ..., n−1).<br />
Beispiel 3.36 Wir betrachten die Folge (3, 7, 3, 7, 3) <strong>und</strong> bauen schrittweise<br />
den zugehörigen Baum mit der Knotenmenge 7 auf:<br />
5 = min(7 \ {1, 2, 3, 4, 7})<br />
b i 1<br />
2<br />
4<br />
5<br />
6<br />
7<br />
a i<br />
85<br />
3<br />
7<br />
3<br />
7<br />
3<br />
3
7 \ {3, 7}<br />
7 \ {1, 3, 7}<br />
7 \ {1, 2, 3, 7}<br />
7 \ {1, 2, 3, 4, 7}<br />
7 \ {1, 2, 3, 4, 5}<br />
7 \ {1, 2, 3, 4, 5, 6}<br />
1<br />
❞<br />
❅ ❞ 3<br />
1<br />
❞<br />
❅ ❞ 3<br />
❞ 2<br />
❞ 7<br />
❞<br />
1<br />
2<br />
❞ ❞ 7 ❞ 4<br />
❅ ❞ 3<br />
❞<br />
1 5 ❞<br />
❞ ❞ 7<br />
❞2<br />
4<br />
❅ ❞ 3<br />
❞ 5 ❞<br />
1<br />
❞ ❞ 7<br />
❞2<br />
4<br />
❅ ❞ 3<br />
❞<br />
6<br />
❞ 5 ❞<br />
1<br />
❞ ❞ 7<br />
❞2<br />
4<br />
❅ ❞ 3<br />
❞<br />
6<br />
Minimales Abblättern” führt auf die ursprüngliche Codierung:<br />
”<br />
❞ 5 ❞ ❞ 5 ❞<br />
❞2<br />
❞2<br />
1<br />
❞<br />
❞ 7 4<br />
<br />
❅ 3<br />
❞<br />
6<br />
<br />
7 4<br />
❞ 3<br />
❞<br />
6<br />
❞ 5<br />
❞ 7 ❞<br />
<br />
4<br />
3<br />
❞<br />
6<br />
❞ 5<br />
❞ 7 ❞ 7<br />
3 ❞ 3<br />
❞<br />
6<br />
7<br />
❞ 3<br />
❞<br />
6<br />
Eine andere, ebenfalls anschauliche Codierungsmethode <strong>für</strong> Bäume ist die Konstruktion<br />
von “Wirbeltieren”. Am einfachsten läßt sie sich anhand von Wurzelbäumen<br />
erklären. Wir wählen außer der Wurzel w noch einen beliebigen<br />
weiteren “Wirbel” w ′ aus. Ein Wirbeltier ist also ein Baum zusammen mit<br />
zwei speziellen Knoten (die auch gleich sein dürfen). Den eindeutigen Pfad<br />
(w = w 0 , ..., w k = w ′ ) zwischen w <strong>und</strong> w ′ betrachten wir als “Wirbelsäule”.<br />
✓✏<br />
❜ ❜ ❜ ❜<br />
❩ ❆ ✒✑<br />
✄❝ ♣❝♣❝♣<br />
❜ ❜ ❜ ❜ ❝❤❤ w ❦ ′ 4 ✲<br />
❩<br />
5<br />
❆❝❳ ✄ ❳❳3 ❝✟ ✟<br />
f ❈❈<br />
❝ 2 ✲ 4<br />
❜ ❜ ❜ ❜<br />
❡✄ ✄ 3 ✲ 3<br />
❜ ❜ ❜ ❏❏ ❜ ❇❝<br />
✂❝<br />
❈<br />
❤ ❈<br />
❏❏ ❇ ✂ ❤❤❤ ❝<br />
❛ 1 ✲ 2<br />
❝❤❤❤❤ ❝ ❳❳ ◗◗◗<br />
✄ ✄ ❳ ❳ ✐w 5 ✲ 1<br />
f<br />
Wir nehmen als Knotenmenge m <strong>und</strong> ordnen die Wirbel der Größe nach, bestimmen<br />
also die Permutation f der Wirbelsäule mit f(w 0 ) < f(w 1 ) < ... < f(w k ).<br />
Für alle Knoten x außerhalb der Wirbelsäule sei f(x) der eindeutige Nachfolger<br />
von x (auf dem Pfad nach w). Auf diese Weise entsteht eine Funktion<br />
f : m −→ m, die das gegebene Wirbeltier eindeutig codiert.<br />
Umgekehrt kann man aus jeder Funktion f : m −→ m ein Wirbeltier konstruieren,<br />
das mit dem obigen Verfahren wieder die ursprüngliche Funktion liefert.<br />
Dazu betrachtet man die Gesamtheit W aller “periodischen Elemente”, d.h. aller<br />
x, <strong>für</strong> die es ein k ∈ N mit f k (x) = x gibt. Das wird die Wirbelsäule: ihre<br />
Elemente werden “herumgewirbelt”, d.h. f induziert eine Permutation auf W .<br />
(Wegen f k (f(x)) = f(f k (x)) = f(x) <strong>für</strong> x = f k (x) bildet f die Menge W in<br />
86
sich ab, <strong>und</strong> zu x, y ∈ W mit f(x) = f(y) gibt es k <strong>und</strong> l mit f k (x) = x <strong>und</strong><br />
f l (y) = y, also x = f kl (x) = f kl (y) = y. Somit ist f| W injektiv <strong>und</strong> daher als<br />
Abbildung auf der endlichen Menge W sogar bijektiv.) Als Teilmenge von m<br />
ist W durch die gewöhnliche ≤-Relation geordnet. Wir definieren nun eine neue<br />
Ordnung auf m, indem wir x ⊑ y setzen, falls x <strong>und</strong> y beide zu W gehören <strong>und</strong><br />
f(x) ≤ f(y) gilt, oder falls x nicht in W liegt <strong>und</strong> y = f k (x) <strong>für</strong> ein geeignetes k<br />
gilt. Dann ist (m, ⊑) ein Wurzelbaum, dessen Wurzel das kleinste Element von<br />
W ist, während man <strong>für</strong> w ′ das größte Element von W bezüglich ⊑ zu nehmen<br />
hat. Aus diesen Überlegungen resultiert<br />
Satz 3.37 Indem man jedem Wirbeltier, also jedem Tripel (G, w, w ′ ), bestehend<br />
aus einem Baum <strong>und</strong> zwei Knoten, die obige Funktion f zuordnet, erhält man<br />
eine Bijektion zwischen Wirbeltieren <strong>und</strong> Funktionen von m in m. Es gibt also<br />
genau m m Wirbeltiere <strong>und</strong> m m−1 Wurzelbäume mit der Knotenmenge m.<br />
Das bestätigt den Satz von Cayley, da man m 2 Möglichkeiten hat, die beiden<br />
Endwirbel w <strong>und</strong> w ′ auszuwählen.<br />
Schließlich erwähnen wir ohne Beweis (der einige Tricks der linearen <strong>Algebra</strong><br />
benutzt) eine geniale Formel, welche <strong>für</strong> einen beliebigen zusammenhängenden<br />
Graphen die Anzahl seiner Spannbäume oder Gerüste, d.h. aller Teilbäume mit<br />
gleicher Knotenmenge, angibt.<br />
Satz 3.38 Für einen endlichen Graphen G = (n, E) ist die Laplace-Matrix<br />
Q G = (q ij ) ∈ Z n×n definiert durch<br />
q ii = d G (i), q ij = −1 <strong>für</strong> ij ∈ E <strong>und</strong> q ij = 0 sonst.<br />
Der Betrag der Determinante jeder Matrix, die durch Streichen der i-ten Zeile<br />
<strong>und</strong> j-ten Spalte von Q G entsteht, gibt die Anzahl der Spannbäume von G an.<br />
Für den vollständigen Graphen G = K n ergibt dies wieder die Zahl n n−2 .<br />
Beispiel 3.39 Ein Graph <strong>und</strong> seine 15 Spannbäume<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
⎛<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
⎞<br />
2 −1 −1 0 0 0 ⎛<br />
⎞<br />
−1 2 0 −1 0 0<br />
2 0 −1 0 0<br />
Q G =<br />
−1 0 3 −1 −1 0<br />
0 3 −1 −1 0<br />
⎜ 0 −1 −1 3 0 −1<br />
, Q 11 =<br />
⎜−1 −1 3 0 −1<br />
⎟<br />
⎟ ⎝<br />
⎝ 0 0 −1 0 2 −1⎠<br />
0 −1 0 2 −1⎠ , | det Q ij|= 15.<br />
0 0 −1 −1 2<br />
0 0 0 −1 −1 2<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
❝<br />
87
3.4 Mehrfacher Zusammenhang<br />
Dieser Begriff ist <strong>für</strong> die Theorie der Netzwerke, Kommunikations- <strong>und</strong> Transportsysteme<br />
(also generell <strong>für</strong> die Informatik) von großer Bedeutung, doch<br />
können wir hier nur kurz auf einige wenige Aspekte eingehen.<br />
Ein Netzwerk (bestehend aus Knoten <strong>und</strong> Verbindungen) ist umso stabiler,<br />
je mehr Verbindungen zur Verfügungen stehen. So wird man sich häufig<br />
wünschen, dass durch Ausfall einiger ”<br />
Stationen” oder ”<br />
Leitungen” nicht die<br />
Kommunikation oder der Transport zusammenbricht. Der graphentheoretische<br />
Begriff, der diese ”<br />
Robustheit” beschreibt, ist der mehrfache Zusammenhang.<br />
Genauer nennt man einen Graphen G = (X, E) k-fach eckenzusammenhängend<br />
oder k-zusammenhängend, wenn er mehr als k Ecken hat <strong>und</strong> nach Herausnahme<br />
einer beliebigen Menge Y von k−1 Ecken immer noch einen zusammenhängenden<br />
Graphen auf der Restmenge X \ Y induziert. Entsprechend heißt G k-fach kantenzusammenhängend,<br />
falls nach Entfernen von je k−1 Kanten immer noch ein<br />
zusammenhängender Graph übrigbleibt.<br />
Beispiele 3.40 (1) Ein 2-fach eckenzusammenhängender Graph ist stets auch<br />
2-fach kantenzusammenhängend, aber die Umkehrung gilt nicht! Der folgende<br />
Graph ist 2-fach kanten-, aber nicht 2-fach eckenzusammenhängend:<br />
❞ ❞<br />
❏ ✡ ❏ ❞ ✡<br />
❞ ✡ ✡ ❏ ❏ ❞<br />
(2) Bäume sind niemals 2-fach zusammenhängend, da es (außer im Extremfall<br />
von höchstens zwei Ecken) immer einen Knoten gibt, der kein Blatt ist, <strong>und</strong><br />
nach Entfernen eines solchen Knotens zerfällt der Baum. Aus einem ähnlichen<br />
Gr<strong>und</strong> sind Bäume auch nie 2-fach kantenzusammenhängend.<br />
(3) Ein n-Eck (mit n > 2) ist stets 2-fach, aber niemals 3-fach ecken- bzw. kantenzusammenhängend.<br />
Allgemeiner ist jeder Hamiltonsche Graph 2-zusammenhängend<br />
<strong>und</strong> jeder Eulersche Graph 2-fach kantenzusammenhängend.<br />
❝ ❝<br />
❝ ❅❝<br />
❝ ❝<br />
❝ ❅❝<br />
❝<br />
❝ ❝<br />
❝ ❝<br />
❝ ❅❝<br />
❝ ❝<br />
❝ ❅❝<br />
❝ ❝ ❝ ❝ ❝ ❝ ❝ ❝ ❝ ❝<br />
❅ ❝ ❝ ❝ ❝ ❅ ❝ ❝ ❅ ❝ ❝ <br />
(4) Am stärksten zusammenhängend sind natürlich die vollständigen Graphen<br />
(Simplexe) K n = (n, P 2 n). Definitionsgemäß sind sie zwar nicht n-zusammenhängend<br />
(da es nur n Knoten gibt), aber sie sind sowohl (n−1)-ecken- als auch<br />
(n−1)-kantenzusammenhängend. Für den Eckenzusammenhang ist das klar, weil<br />
alle induzierten Teilgraphen wieder Simplexe sind. Für den Kantenzusammenhang<br />
beweisen wir ein stärkeres Resultat:<br />
88
Satz 3.41 Jeder Graph mit n > k Knoten <strong>und</strong> mindestens<br />
(n−1)(n−2)/2 + k = n(n−1)/2 − (n−k−1)<br />
Kanten ist k-fach kantenzusammenhängend.<br />
Nach Herausnahme von n−k−1 Kanten aus einem vollständigen Graphen K n<br />
bleibt also noch ein k-fach kantenzusammenhängender Graph übrig.<br />
Beweis. Zerfällt ein Graph mit n > k Knoten nach Entfernen von k−1 Kanten<br />
in mindestens zwei Komponenten, von denen eine m Elemente hat, so besitzt<br />
der Restgraph maximal<br />
m(m−1)/2 + (n−m)(n−m−1)/2 = n(n−1)/2 − m(n−m) ≤ (n−1)(n−2)/2<br />
Kanten. Der Ausgangsgraph hat also höchstens (n−1)(n−2)/2 + k−1 Kanten.<br />
Durch Kontraposition folgt die Behauptung.<br />
□<br />
Beispiel 3.42 Ein 3-fach kantenzusammenhängender Graph, der nach Entfernen<br />
von drei Kanten zerfällt, also nicht 4-fach kantenzusammenhängend ist:<br />
❝ ❝ ❝ ❝ ❝ ❝<br />
❅<br />
❝ ❅<br />
❅ ❝ ❝ ❅<br />
❅ ❝ ❝ ❅ ❝<br />
❝ ❝<br />
❅<br />
❝ ❅ ❝<br />
Im Folgenden konzentriert sich unser Interesse auf 2-fachen Zusammenhang.<br />
Deinitionsgemäß ist ein Graph mit mindestens drei Knoten genau dann 2-<br />
zusammenhängend, wenn das Entfernen einer beliebigen Ecke den Zusammenhang<br />
nicht zerstört. Solche Graphen besitzen eine naheliegende <strong>und</strong> einfache<br />
Charakterisierung:<br />
Satz 3.43 Ein Graph ist genau dann 2-zusammenhängend, wenn je zwei seiner<br />
Ecken auf einem Kreis liegen.<br />
Beweis. Wenn letzteres der Fall ist, kann man eine beliebige Ecke löschen, <strong>und</strong><br />
es bleibt mindenstens ein Weg zwischen je zwei Ecken des Restgraphen (da<br />
sie auf einem Kreis des ursprünglichen Graphen liegen). Die Umkehrung ist<br />
nicht so einfach zu sehen, man beweist sie zum Beispiel per Induktion über<br />
den Abstand (die Länge eines kürzesten verbindenden Pfades) zwischen zwei<br />
Ecken x <strong>und</strong> y. Ist dieser gleich 1, so ist xy eine Kante, <strong>und</strong> nach Entfernen<br />
derselben bleibt ein Pfad zwischen x <strong>und</strong> y, der zusammen mit xy einen Kreis<br />
liefert, auf dem x <strong>und</strong> y liegen. Ist die Aussage <strong>für</strong> alle Eckenpaare vom Abstand<br />
< k bewiesen, so findet man <strong>für</strong> zwei beliebige Ecken x, y mit Abstand k einen<br />
kürzesten Verbindungspfad (x = x 0 , ..., x k = y). Da x <strong>und</strong> x k−1 den Abstand<br />
k−1 haben, liegen sie nach Induktionsannahme auf einem Kreis K in G. Der<br />
Restgraph G − x k−1 ist zusammenhängend <strong>und</strong> enthält daher einen Pfad von x<br />
nach y. Aus einem Teil dieses Pfades <strong>und</strong> einem Teil des Kreises K bastelt man<br />
nun einen Kreis, der x <strong>und</strong> y enthält, gemäß der nachfolgenden Skizze:<br />
89
❝ ❝<br />
❝ ❅❝<br />
x k−1<br />
❝y<br />
❝ ❝<br />
❝ <br />
❝y<br />
❝ ❝<br />
❝ ❅❝<br />
x k−1<br />
❝y<br />
x ❝ ❝<br />
❅ ❝ ❝ <br />
x ❝ ❝ ❝<br />
❅ ❝ ❝ ❝ <br />
x ❝<br />
❅ ❝ ❝<br />
❝<br />
❝ <br />
Man kann alle 2-zusammenhängenden Graphen sukzessive generieren, indem<br />
man, mit einem Kreis startend, schrittweise neue Pfade anhängt, deren<br />
(verschiedene!) Endpunkte in dem jeweils zuletzt konstruierten Graphen liegen,<br />
während alle anderen (”inneren”) Ecken des Pfades neu hinzukommen.<br />
Beispiel 3.44 Anfügen von Ohren” ”<br />
❝ ❝<br />
❝ ❝<br />
❝ ❝ ❝ ❅❝<br />
❝ ❝ ❅❝<br />
❝<br />
❝ ❅❝<br />
❝<br />
❝ ❝ <br />
❝ ❅❝<br />
❝<br />
❅ ❝<br />
❝ ❅❝<br />
❝<br />
❝<br />
❝ ❝<br />
❅ ❝ ❝ <br />
❝<br />
❝ ❝<br />
❅ ❝ ❝ <br />
❝ ❝ ❝ ❝<br />
❅ ❝ ❅ ❝ ❝ <br />
❝ ❝<br />
❅ ❝ <br />
Etwas anders formuliert, hat man folgende Charakterisierung:<br />
Satz 3.45 Ein endlichen Graph ist genau dann 2-zusammenhängend, wenn er<br />
aus einem Dreieck durch wiederholtes Hinzufügen von Kanten <strong>und</strong> Unterteilen<br />
von bereits vorhandenen Kanten (d.h. Einfügen von neuen Ecken auf diesen<br />
Kanten) hervorgeht.<br />
Zu Satz 3.43 gibt es eine wichtige Verallgemeinerung auf k-fachen Zusammenhang,<br />
den berühmten Satz von Menger (1927). Zu seiner Formulierung brauchen<br />
wir sogenannte trennende Ecken- bzw. Kantenmengen. Man sagt, eine Teilmenge<br />
T von Ecken trennt zwei nicht in T liegende Ecken x <strong>und</strong> y eines Graphen<br />
G = (X, E), falls x <strong>und</strong> y in dem Restgraph G−T durch keinen Weg verb<strong>und</strong>en<br />
werden können, also in zwei verschiedenen Komponenten liegen. Mit anderen<br />
Worten: Jeder x mit y verbindende Weg enthält eine Ecke aus T . Entsprechend<br />
trennt eine Kantenmenge K die Ecken x <strong>und</strong> y, falls x <strong>und</strong> y in verschiedenen<br />
Komponenten des Restgraphen G − K liegen. Offenbar sind Ex = {z | xz ∈ E}<br />
<strong>und</strong> Ey = {z | yz ∈ E} stets trennende Eckenmengen <strong>für</strong> x <strong>und</strong> y, sofern x <strong>und</strong><br />
y nicht adjazent sind. Entsprechend sind {e ∈ E | x ∈ e} <strong>und</strong> {e ∈ E | y ∈ e}<br />
trennende Kantenmengen <strong>für</strong> x <strong>und</strong> y, manchmal sogar die einzigen.<br />
90
Beispiele 3.46 (1) Ein Graph mit drei von sechs zweielementigen trennenden<br />
Eckenmengen <strong>und</strong> zwei von fünf zweielementigen trennenden Kantenmengen <strong>für</strong><br />
x <strong>und</strong> y:<br />
y<br />
❝<br />
❅ <br />
❅ ❝ ❅ ❝<br />
❅ ❝ ❅ ❝<br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❅ ❝<br />
❅ <br />
❅ <br />
❅ ❝ ❅ ❝<br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❅ ❝<br />
❅ ❝ ❅ <br />
❅ <br />
❅ ❝<br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
y<br />
❝<br />
❝ ❅❝<br />
❝ ❅ ❝<br />
❅ ❝ ❅ ❝ ❅ ❝ <br />
❅❝<br />
❅ ❝ ❅ ❝ ❅<br />
❝ ❅ ❝<br />
❅ ❝ ❅ ❝ <br />
x<br />
x<br />
(2) Ein Graph mit drei von elf trennenden Eckenmengen <strong>und</strong> zwei von vier<br />
trennenden Kantenmengen minimaler Mächtigkeit 3 <strong>für</strong> x <strong>und</strong> y:<br />
y<br />
❝<br />
❅<br />
<br />
❝ ❅ ❝ ❅ ❝<br />
❅ ❝ ❝ ❅ ❝ <br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❝ ❅ ❝<br />
<br />
❅ <br />
❅ <br />
❅ ❝ ❝ ❅ ❝ <br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❝ ❅ ❝<br />
❝ ❅ <br />
❅ <br />
❅ ❝ ❅ ❝ <br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❝<br />
❅ ❝<br />
❝ ❅ ❝ ❅ ❝<br />
❅ ❝ ❝ ❅ ❝ <br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❝ ❅ ❝<br />
❝ ❅ ❝ ❅ ❝<br />
❅ ❝ ❝ ❅ ❝ <br />
❅ ❝<br />
<br />
x<br />
(3) Ein Graph mit einer eindeutigen zweielementigen trennenden Eckenmenge<br />
<strong>und</strong> nur zwei trennenden Kantenmengen minimaler Mächtigkeit 3 <strong>für</strong> x <strong>und</strong> y:<br />
y<br />
❝<br />
❝ ❅<br />
❝<br />
❝ ✁✁ ✁ ❆ ✁ ❆❆ ❆✁<br />
❆ ✁<br />
❆❝<br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❝<br />
❅ ❝<br />
❝ ✁✁ ✁ ❆ ✁ ❆❆ ❆✁<br />
❆ ❝ ✁ ❆❝<br />
❅ ❝ <br />
x<br />
y<br />
❝<br />
❝ ❝ ❅ ❝<br />
❝ ✁✁ ✁ ❆ ✁ ❆❆ ❆✁<br />
❆ ❝ ✁ ❆❝<br />
❅ ❝<br />
<br />
x<br />
Zwei Wege zwischen x <strong>und</strong> y heißen eckendisjunkt, falls sie außer den Endecken<br />
x <strong>und</strong> y keinen weiteren gemeinsamen Ecken haben, <strong>und</strong> kantendisjunkt,<br />
falls sie keine gemeinsamen Kanten haben. Die Verallgemeinerung des Satzes<br />
3.43 von 2 auf k lautet nun:<br />
Satz 3.47 Für je zwei nichtadjazente Ecken x <strong>und</strong> y in einem endlichen Graphen<br />
G ist die maximale Anzahl eckendisjunkter Wege von x nach y gleich der<br />
Minimalzahl trennender Ecken. Analoges gilt <strong>für</strong> Kanten statt Ecken.<br />
Beweisskizze. Eine trennende Eckenmenge muss natürlich mindestens so viele<br />
Elemente haben, wie es disjunkte Wege zwischen x <strong>und</strong> y gibt (sonst könnte man<br />
sich auf einem Weg an dieser Trennmenge ”<br />
vorbeimogeln”). Zu zeigen ist also,<br />
dass die Existenz einer x <strong>und</strong> y trennenden Menge T mit einer Minimalzahl von<br />
k Ecken auch k eckendisjunkte Wege zwischen x <strong>und</strong> y garantiert. Dies beweist<br />
man durch Induktion über die Anzahl n der Ecken des Graphen.<br />
91
Der Induktionsbeginn ist klar: Hat G nur die zwei Ecken x <strong>und</strong> y, so ist k =0,<br />
<strong>und</strong> es gibt keinen verbindenden Weg. Wir nehmen nun an, die Behauptung sei<br />
<strong>für</strong> alle Graphen mit weniger als n Ecken wahr. Für die ”<br />
Nachbarschaften”<br />
Ex = {z | xz ∈ E} <strong>und</strong> Ey = {z | yz ∈ E} unterscheiden wir zwei Fälle.<br />
Fall 1. Es gibt eine trennende Menge T mit k Ecken <strong>und</strong> T ⊈ Ex <strong>und</strong> T ⊈ Ey.<br />
Wir betrachten den auf T ∪ K x induzierten Teilgraphen, wobei K x die x enthaltende<br />
Komponente des Restgraphen G − T ist, <strong>und</strong> verbinden eine neue Ecke w<br />
mit allen Ecken aus T ; auf diese Weise entsteht ein Graph G x , der weniger Ecken<br />
als G hat, <strong>und</strong> T erweist sich als trennende Eckenmenge minimaler Mächtigkeit<br />
von x <strong>und</strong> w in G x . Der Graph G y sei analog definiert. Wir demonstrieren die<br />
Konstruktion an Beispiel 3.46 (3).<br />
y<br />
y<br />
y<br />
❝<br />
❝<br />
❝<br />
❝ ❅<br />
❝ ❝ <br />
❅ ❝<br />
❝ ❅<br />
❝<br />
❆<br />
❝ ✁✁ ✁ ❆ ✁<br />
❆❆ ❆<br />
❝<br />
✁<br />
✁<br />
❆❝<br />
❝ ✁✁ ❆<br />
✁ ✁ ❆<br />
w❆<br />
❝ w<br />
✁<br />
❆<br />
❆❆<br />
✁<br />
✁ ❆❝<br />
<br />
✁<br />
❝ ✁✁ ❆<br />
✁ ✁<br />
❆❆ ✁❆<br />
✁<br />
✁ ✁<br />
❆❝<br />
❅ ❝ ❅<br />
❝ <br />
❅<br />
❝ <br />
x G x x<br />
G x<br />
Nach Induktionsannahme gibt es je k eckendisjunkte Wege zwischen x <strong>und</strong> w<br />
in G x , bzw. zwischen y <strong>und</strong> w in G y . Je ein Paar dieser Wege kleben wir an<br />
den Schnittstellen in T zusammen <strong>und</strong> entfernen wieder die Hilfsecke w. Das<br />
Ergebnis ist das rechtsstehende Bild mit k (hier 2) disjunkten Wegen zwischen<br />
x <strong>und</strong> y im ursprünglichen Graphen G.<br />
Fall 2. Alle trennenden Mengen mit k Ecken sind in Ex oder in Ey enthalten.<br />
Falls es eine von x <strong>und</strong> y verschiedene Ecke v gibt, die in keiner solchen Trennmenge<br />
vorkommt, kann man diese Ecke herausnehmen <strong>und</strong> bekommt bereits im<br />
Restgraphen G − v (nach Induktionsannahme) k eckendisjunkte Wege zwischen<br />
x <strong>und</strong> y. Also bleibt der Fall, dass alle Ecken außer x <strong>und</strong> y in Ex oder Ey<br />
liegen. Ein kürzester Weg W zwischen x <strong>und</strong> y enthält dann höchstens zwei<br />
Ecken außer x <strong>und</strong> y. Entfernt man diese, so haben in dem Restgraphen die x<br />
<strong>und</strong> y trennenden Mengen mindestens k−1 Ecken, <strong>und</strong> die Induktionsannahme<br />
liefert k−1 disjunkte Wege, zusammen mit W also k disjunkte Wege in G. □<br />
Zu der Version 3.47 des Satzes von Menger gibt es mehrere naheliegende, aber<br />
auch einige unerwartet weitreichende Varianten. Zum einen kann man eckendisjunkte<br />
durch kantendisjunkte Wege <strong>und</strong> entsprechend trennende Eckenmengen<br />
durch trennende Kantenmengen ersetzen. Zum anderen gelten analoge Aussagen<br />
<strong>für</strong> gerichtete Wege in Digraphen. Das wohl allgemeinste Ergebnis in diesem<br />
Bereich ist der berühmte Satz von Ford <strong>und</strong> Fulkerson (1956), der auch in der<br />
Praxis der Netzplantechnik, der Verkehrsführung <strong>und</strong> anderer Steuerungen von<br />
Flüssen in Netzwerken” eine wichtige Rolle spielt.<br />
”<br />
Um eine mathematisch tragfähige Begriffsbildung <strong>für</strong> solche Situationen zu<br />
haben, definiert man ein Netzwerk als ein Tripel N = (X, R, C), bestehend aus<br />
einer Menge X (von Knoten), einer Relation R ⊆ X ×X (deren Elemente als<br />
G y<br />
92
Kanten oder Pfeile interpretiert weren) <strong>und</strong> einer ”<br />
Gewichts- oder Bewertungsfunktion”<br />
C von R in eine Menge, in der Addition <strong>und</strong> Subtraktion möglich<br />
sind; wir nehmen hier<strong>für</strong> der Einfachheit halber stets die reelle Gerade R (aber<br />
auch der R n oder andere Vektorräume bzw. Gruppen sind gute Kandidaten).<br />
Hat C nur nichtnegative Werte, so spricht man von einer Kapazitätsfunktion.<br />
Beispielsweise kann man mit Hilfe einer solchen Funktion Digraphen mit Mehrfachkanten<br />
codieren, indem man jedem (x, y) ∈ R die Anzahl der Kanten zwischen<br />
x <strong>und</strong> y zuordnet. Manchmal ist es bequem, C auf das ganze Produkt<br />
X × X fortzusetzen, indem man C(x, y) = 0 <strong>für</strong> (x, y) ∈ R c = X ×X \ R setzt.<br />
Für beliebige Funktionen F : R −→ R <strong>und</strong> Teilmengen S ⊆X definieren wir:<br />
R S := R ∩ (S × (X \ S)) (Schnitt zwischen S <strong>und</strong> X \ S)<br />
F + (S) := ∑ p∈R S<br />
F (p)<br />
F − (S) := F + (X \ S)<br />
F ∼ (S) := F + (S) − F − (S)<br />
(Strömung aus S heraus)<br />
(Strömung nach S hinein)<br />
(Strömung zwischen S <strong>und</strong> X \ S).<br />
Wir schreiben F + (x) statt F + ({x}), F − (x) statt F − ({x}) <strong>und</strong> F ∼ (x) statt<br />
F ∼ ({x}). Eine kurze Rechnung zeigt:<br />
F ∼ (S) = ∑ s∈S F ∼ (s),<br />
F ∼ (S ∪ T ) = F ∼ (S) + F ∼ (T ) <strong>für</strong> disjunkte Teilmengen S <strong>und</strong> T von X.<br />
Sind zwei feste Knoten x, y eines Netzwerks N = (X, R, C) gegeben, so nennt<br />
man eine Funktion F : R −→ R einen Fluss von x nach y, falls<br />
(1) 0 ≤ F (p) ≤ C(p) <strong>für</strong> alle Paare p ∈ R <strong>und</strong><br />
(2) F ∼ (z) = 0 <strong>für</strong> alle z ∈ X \ {x, y}.<br />
Da <strong>für</strong> einen Fluss F von x nach y die von x <strong>und</strong> y verschiedenen Knoten keinen<br />
Beitrag zu F ∼ leisten, ist die Zahl<br />
F ∼ (x) = F ∼ (S) = −F ∼ (X \ S) = −F ∼ (y)<br />
konstant <strong>für</strong> alle ”<br />
Schnittmengen” S ⊆X mit x ∈ S <strong>und</strong> y ∉ S. Falls dieser Wert<br />
größtmöglich ist, nennt man F einen maximalen Fluss von x nach y. Aufgr<strong>und</strong><br />
der Bedingung (1) gilt <strong>für</strong> jede Schnittmenge S die Ungleichung<br />
F ∼ (S) ≤ F + (S) ≤ C + (S).<br />
Die Zahl C + (S) = ∑ p∈R S<br />
C(p) nennt man die Kapazität des Schnittes R S .<br />
93
Beispiel 3.48 Ein Fluss <strong>und</strong> vier Schnitte<br />
❝<br />
S 1<br />
❝ ✒ ❅❘ 1 ❝<br />
❝ ✒ 1<br />
x ❅❘0 ❝ ✠2 ❅■ 1 ❝<br />
❅❘2 ❝ ✒1<br />
❅❘ 3<br />
y<br />
❝ ✒ 4<br />
❅❘1 ❝ ✒ 1<br />
❝<br />
S 1<br />
❝ ✒ ❅❘ 1 ❝<br />
❝ ✒ 1<br />
x ❅❘0 ❝ ✠2 ❅■ 1 ❝<br />
❅❘2 ❝ ✒1<br />
❅❘ 3<br />
y<br />
❝ ✒ 4<br />
❅❘1 ❝ ✒ 1<br />
❝<br />
S 1<br />
❝ ✒ ❅❘ 1 ❝<br />
❝ ✒ 1<br />
x ❅❘0 ❝ ✠2 ❅■ 1 ❝<br />
❅❘2 ❝ ✒1<br />
❅❘ 3 y<br />
❝ ✒ 4<br />
❅❘1 ❝ ✒ 1<br />
❝<br />
S 1<br />
❝ ✒ ❅❘ 1 ❝<br />
❝ ✒ 1<br />
x ❅❘0 ❝ ✠2 ❅■ 1 ❝<br />
❅❘2 ❝ ✒1<br />
❅❘ 3 y<br />
❝ ✒ 4<br />
❅❘1 ❝ ✒ 1<br />
Die Zahlen an den Pfeilen geben die Werte eines maximalen Flusses von x nach<br />
y an, wobei die Kapazitätsfunktion C z.B. gleich F sein könnte, aber auch<br />
C(p) = 1 <strong>für</strong> F (p) = 0 <strong>und</strong> C(p) = F (p) sonst<br />
ist eine von vielen möglichen Vorgaben <strong>für</strong> C. Hier gilt <strong>für</strong> jeden Schnitt S<br />
zwischen x <strong>und</strong> y:<br />
F ∼ (S) = 3 ≤ C + (S).<br />
Beispiel 3.49 Die charakteristische Funktion C : R −→ {0, 1} einer Relation<br />
R (<strong>und</strong> im Falle X = n deren Inzidenzmatrix) ist gegeben durch<br />
C(p) = 1 ⇔ p ∈ R.<br />
In dieser Situation ist C + (x) = d + (x) die positive Valenz <strong>und</strong> C − (x) = d − (x)<br />
die negative Valenz von x ∈ X.<br />
In einem zusammenhängenden endlichen Digraphen ist die Bedingung<br />
C ∼ (z) = 0 <strong>für</strong> z ∈ X\{x, y} in Verbindung mit C ∼ (x) = 1 <strong>und</strong> C ∼ (y) = −1 notwendig<br />
<strong>und</strong> hinreichend <strong>für</strong> die Existenz eines gerichteten offenen Euler-Weges<br />
von x nach y (vgl. Satz 3.15). C ist dann ein maximaler Fluss von x nach y.<br />
Bei der algorithmischen Konstruktion maximaler Flüsse braucht man so genannte<br />
F -vermehrende Pfade. Damit sind Pfade (x 0 , ..., x k ) mit der Eigenschaft<br />
gemeint, dass <strong>für</strong> jedes i ∈ k gilt:<br />
(→) p i = (x i−1 , x i ) ∈ R <strong>und</strong> F (p i ) < C(p i ) (Vorwärtspfeil) oder<br />
(←) p i = (x i , x i−1 ) ∈ R <strong>und</strong> F (p i ) > 0 (Rückwärtspfeil).<br />
Jetzt sind wir in der Lage, das wichtige Max-Flow-Min-Cut Theorem von Ford<br />
<strong>und</strong> Fulkerson zu formulieren (<strong>und</strong> im Wesentlichen auch zu begründen), das<br />
den gr<strong>und</strong>legenden Zusammenhang zwischen Flüssen <strong>und</strong> Schnitten herstellt:<br />
Satz 3.50 Für zwei Knoten x, y eines endlichen Netzwerks N = (X, R, C) <strong>und</strong><br />
einen Fluss F zwischen x <strong>und</strong> y sind die folgenden Aussagen äquivalent:<br />
(a) F ist ein maximaler Fluss von x nach y.<br />
(b) Es gibt keinen F -vermehrenden Pfad von x nach y.<br />
(c) F ∼ (S) = C + (S) <strong>für</strong> (mindestens) einen Schnitt R S zwischen x <strong>und</strong> y.<br />
94
Der maximale Wert von Flüssen zwischen x <strong>und</strong> y ist also gleich der minimalen<br />
Kapazität von Schnitten zwischen x <strong>und</strong> y.<br />
Beweisskizze. (a)⇒(b): Gäbe es einen F -vermehrenden Pfad (x 0 , ..., x k ) von x<br />
nach y, so könnte man das Minimum<br />
M := min({C(p i ) − F (p i ) | p i = (x i−1 , x i )∈R} ∪ {F (p i ) | p i = (x i , x i−1 )∈R})<br />
zu allen Werten F (p i ) mit (→) addieren <strong>und</strong> von allen Werten F (p i ) mit (←)<br />
subtrahieren <strong>und</strong> bekäme so einen neuen Fluss (nachprüfen!), der einen um M<br />
größeren Wert als F hätte.<br />
(b)⇒(c): Man betrachtet die Menge S aller Knoten, die von x aus über einen<br />
F -vermehrenden Pfad erreichbar sind. Dann ist<br />
F (p) = C(p) <strong>für</strong> p ∈ R S ,<br />
F (p) = 0 <strong>für</strong> p ∈ R X\S .<br />
Daher hat F ∼ (S) den maximal möglichen Wert C + (S).<br />
(c)⇒(a) ist wegen der <strong>für</strong> alle Flüsse F gültigen Ungleichung F ∼ (S) ≤ C + (S)<br />
klar.<br />
□<br />
Die Aussagen des Satzes von Ford <strong>und</strong> Fulkerson lassen sich leicht in einen<br />
Algorithmus umfunktionieren, der zugleich einen maximalen Fluss <strong>und</strong> einen<br />
minimalen Schnitt zwischen gegebenen Knoten x <strong>und</strong> y produziert. Die Details<br />
hierzu findet man z.B. in dem Buch <strong>Diskrete</strong> <strong>Mathematik</strong> von Ihringer.<br />
Die ”<br />
gerichtete Kantenversion” des Satzes von Menger ergibt sich nun als<br />
ein relativ einfacher Spezialfall: Alle Kanten haben die Kapazität 1. Hat man k<br />
kantendisjunkte gerichtete Pfade von x nach y, so definiert man F (p) = 1 <strong>für</strong> alle<br />
Kanten dieser Pfade, <strong>und</strong> ansonsten F (p) = 0. Das ergibt einen Fluss vom Wert<br />
k, <strong>und</strong> umgekehrt kann sich überlegen, dass jeder solche Fluss F : R −→ {0, 1}<br />
vom Wert k zwischen x <strong>und</strong> y auf diese Weise entsteht. Andererseits ist die<br />
Kapazität eines Schnittes S zwischen x <strong>und</strong> y die Anzahl der von S nach X \ S<br />
laufenden Kanten, <strong>und</strong> dies ist eine x <strong>und</strong> y trennende Kantenmenge (in dem<br />
Sinne, dass jeder gerichtete Pfad von x nach y eine Kante aus dieser Menge<br />
benutzt). Damit gelangen wir zu folgender Variante des Satzes von Menger:<br />
Satz 3.51 Die Maximalzahl kantendisjunkter gerichteter Pfade zwischen zwei<br />
Knoten eines endlichen Digraphen ist gleich der minimalen Mächtigkeit aller<br />
Kantenmengen, die diese beiden Knoten trennen.<br />
Die ”<br />
Knotenvariante” dieses Satzes kann man durch ”<br />
Auseinanderziehen”<br />
der Knoten zu neuen Kanten ableiten.<br />
Schließlich erwähnen wir noch eine wichtige ordnungstheoretische Variante<br />
der vorangehenden Aussagen, den Satz von Dilworth (1950): Darin ist mit einer<br />
Kette eine Menge paarweise vergleichbarer Elemente gemeint (die also x ⊑ y<br />
oder y ⊑ x erfüllen), während ”<br />
Antikette” eine Menge paarweise unvergleichbarer<br />
Elemente bedeutet (<strong>für</strong> die also weder x ⊑ y noch y ⊑ x gilt).<br />
95
Satz 3.52 In einer endlichen geordneten Menge ist die maximale Mächtigkeit<br />
von Antiketten gleich der Minimalzahl von Ketten, deren Vereinigung die ganze<br />
Menge ist.<br />
Besonders gut kann man diesen Satz im Speziallfall endlicher Potenzmengen<br />
PX (aufgefaßt als geordnete Mengen bezüglich der Mengeninklusion ⊆) verstehen.<br />
Die geordneten Mengen Pn sind genau die Isomorphietypen der so genannten<br />
endlichen Booleschen Verbände. Beachten Sie, dass Pn vermittels des<br />
Überganges zu charakteristischen Funktionen isomorph zu der koordinatenweise<br />
durch ≤ geordneten Menge {0, 1} n aller 0-1-wertigen n-Tupel ist.<br />
{1,2,3}<br />
❝<br />
✓<br />
❅<br />
❅ ✏<br />
{1,2}<br />
❝ <br />
{1,3}<br />
❝ ❅ {2,3}<br />
❝<br />
✒<br />
❅<br />
❅ <br />
✑<br />
❅<br />
<br />
✓<br />
❝ ❅ ❝ ≃<br />
❅<br />
❅<br />
❝<br />
✏<br />
{1}<br />
{2}<br />
{3}<br />
✒<br />
❅<br />
❅<br />
✑<br />
❅❝<br />
<br />
P3<br />
∅<br />
111<br />
❝<br />
✓<br />
❅<br />
❅ ✏<br />
011<br />
❝ <br />
101<br />
❝ ❅ 110<br />
❝<br />
✒<br />
❅<br />
❅ <br />
✑<br />
❅<br />
❅<br />
<br />
✓<br />
❝ ❅ ❝ ❅<br />
❝<br />
✏<br />
001<br />
010<br />
100<br />
✒<br />
❅<br />
❅<br />
✑<br />
❅❝<br />
<br />
{0,1}<br />
000<br />
3<br />
In den obigen zwei Diagrammen sind alle Antiketten maximaler Mächtigkeit<br />
sowie eine Zerlegung in je drei symmetrische Ketten eingezeichnet. Dabei heißt<br />
eine aus benachbarten Elementen in {0, 1} n gebildete Kette symmetrisch, wenn<br />
ihr kleinstes Element ebensoviele Einsen wie ihr größtes Element Nullen hat.<br />
Satz 3.53 Jeder endliche Boolesche Verband {0, 1} n ≃ Pn besitzt eine Zerlegung<br />
in symmetrische Ketten. Daher ist die maximale Elementezahl von Antiketten<br />
in Pn bzw. {0, 1} n gleich dem mittleren Binomialkoeffizienten<br />
( ) n<br />
.<br />
⌊n/2⌋<br />
( Beweis. ) Da die Teilmengen von n mit ⌊n/2⌋ Elementen eine Antikette in Pn mit<br />
n<br />
Elementen bilden, genügt es, eine Zerlegung von Pn bzw. {0, 1}<br />
⌊n/2⌋<br />
n in<br />
symmetrische Ketten zu finden. Denn dann enthält jede dieser Ketten höchstens<br />
ein Element einer beliebig vorgegebenen Antikette, <strong>und</strong> andererseits gehört jede<br />
⌊n/2⌋-elementige Teilmenge von Pn zu genau einer dieser Ketten.<br />
Die induktive Konstruktion der symmetrischen Ketten deuten wir in den<br />
nachfolgenden Diagrammen an. In jedem Schritt wird ein (n−1)-dimensionaler<br />
Würfel {0, 1} n−1 zu einem n-dimensionalen Würfel {0, 1} n verdoppelt. Dann<br />
werden die schon konstruierten symmetrischen Ketten des Würfels {0, 1} n−1<br />
(mit 0 beginnende Folgen) um das entsprechende größte Element der nach oben<br />
verschobenen Kopie (mit 1 beginnende Folgen) verlängert, während die entsprechenden<br />
Ketten des verschobenen Würfels um das oberste Element verkürzt<br />
werden. So entsteht eine Zerlegung des Würfels {0, 1} n in symmetrische Ketten.<br />
96
❝<br />
1<br />
❅<br />
❅<br />
❅❝<br />
0<br />
11<br />
❝<br />
❅<br />
❅<br />
10<br />
❝ ❅ <br />
01<br />
❅<br />
❅<br />
❅❝<br />
00<br />
111 ❝<br />
❝ <br />
❅<br />
❅<br />
011<br />
101<br />
❝ ❅ 110<br />
❝<br />
❅<br />
❅ ❅<br />
❅<br />
<br />
❝ ❅ ❝ <br />
❅<br />
❝<br />
001<br />
❅ 010<br />
❅ 100<br />
❅❝<br />
<br />
000<br />
1111 ❝<br />
❅<br />
❅<br />
1011 1101<br />
❝ ❝ ❅ 1110<br />
❝<br />
❅<br />
❝✑ ✑ ✑✑✑✑✑✑✑✑ ❅<br />
❅ ❅ <br />
0111<br />
❝ ❅ <br />
❅ <br />
❝<br />
❅ 1001<br />
❅ 1010<br />
✑ ❅<br />
0011 0101<br />
❝✑ ✑ ❅ ❝<br />
✑ ✑✑✑✑✑✑✑✑<br />
❅ 1100<br />
0110<br />
❅❝<br />
<br />
❅<br />
❅ ❅<br />
❝ ✑ ❅<br />
❅ ❝ <br />
<br />
1000<br />
✑ ❅<br />
❝ ✑ ✑✑✑✑✑✑✑✑<br />
0001<br />
❅ 0010<br />
❅<br />
❅❝<br />
<br />
0100<br />
11111 ❝<br />
✑ ✑✑✑✑✑✑✑✑<br />
◗<br />
0000<br />
❝ ❅<br />
◗<br />
❅◗<br />
11011 11101<br />
❝ ❅ 11110 ◗<br />
❝<br />
❅<br />
10111 ❝✑ ✑✑✑✑✑✑✑✑ ❝ ❅<br />
◗<br />
◗<br />
◗<br />
◗<br />
◗<br />
◗<br />
❅<br />
❅ ❝ <br />
◗<br />
◗<br />
◗<br />
❅◗<br />
◗<br />
◗<br />
◗<br />
❅ ◗<br />
❝<br />
◗<br />
◗<br />
❝ <br />
❅◗<br />
◗ 11001<br />
◗<br />
❅◗<br />
11010<br />
◗<br />
◗<br />
10011<br />
✑ ❅<br />
10101<br />
❝✑ ❅ 10110<br />
❝ ✑ ✑✑✑✑✑✑✑✑<br />
◗<br />
❅<br />
❅❝<br />
<br />
11100<br />
◗<br />
◗<br />
◗<br />
01111<br />
❝<br />
◗<br />
◗<br />
◗<br />
◗<br />
◗<br />
◗ ◗<br />
◗<br />
◗<br />
◗<br />
◗ ◗ ◗<br />
❅<br />
❅ ❅<br />
❝ ✑ ❅<br />
<br />
◗<br />
◗ ◗<br />
◗ <br />
◗<br />
❅<br />
◗<br />
01011<br />
◗<br />
❝<br />
◗<br />
01101 ◗❅<br />
◗ ❝<br />
◗<br />
❅ 01110<br />
◗<br />
❝<br />
◗<br />
◗<br />
◗<br />
◗<br />
◗<br />
❅ ❝ <br />
11000<br />
◗<br />
◗<br />
✑ ◗◗<br />
◗<br />
◗<br />
❅<br />
◗<br />
❝ ✑ ✑✑✑✑✑✑✑✑<br />
◗◗<br />
◗◗<br />
◗<br />
◗◗<br />
◗<br />
10001<br />
◗❅<br />
◗ 10010 ◗<br />
◗◗<br />
❅ <br />
◗ ◗◗ 00111 ❝✑ ✑ ✑✑✑✑✑✑✑✑<br />
◗◗<br />
❅ ◗<br />
◗<br />
<br />
◗◗<br />
❅ ◗<br />
❅<br />
<br />
◗<br />
◗<br />
❅<br />
10100 ◗<br />
◗<br />
❅◗<br />
❝ ✑ ✑✑✑✑✑✑✑✑<br />
◗◗<br />
◗◗<br />
◗<br />
◗<br />
◗ ◗<br />
◗<br />
◗<br />
<br />
◗◗<br />
❝ ◗<br />
❅ ❝ ◗<br />
❅ ❝<br />
◗<br />
❝ <br />
◗ ❅ 01001 ◗<br />
◗00011<br />
◗<br />
✑ ◗<br />
❅ 01010<br />
❅<br />
◗◗00101<br />
◗<br />
❝✑ ✑ ◗❅ 00110<br />
❝<br />
✑ ✑✑✑✑✑✑✑✑<br />
◗<br />
❅ 01100<br />
◗<br />
◗<br />
❅❝<br />
<br />
10000 ◗<br />
◗◗<br />
◗<br />
◗◗<br />
◗<br />
❅ ◗<br />
❅<br />
◗◗<br />
❅<br />
◗◗ ❝ ✑ ◗<br />
<br />
◗ ◗❅<br />
❅ ❝ <br />
01000<br />
◗ ✑ ◗❅<br />
❝ ✑ ✑✑✑✑✑✑✑✑<br />
◗00001<br />
◗<br />
❅ 00010<br />
❅ 00100<br />
◗<br />
◗ ❅❝<br />
✑ ✑✑✑✑✑✑✑✑<br />
00000<br />
97