18.01.2014 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!