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