Kapitel 3 - Institut für Algebra, Zahlentheorie und Diskrete Mathematik

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