Kapitel 8 Graphen Warum jeder ungerade Kreis eine freie Ecke hat – Und warum das beim Heiraten nicht stört Titel eines Vortrags einer Kinderuni Graphen bilden eine fundamentale Datenstruktur in der Diskreten Mathematik. Entstehung und Entwicklung der Graphentheorie waren weitgehend durch das Bemühen, gekennzeichnet, eine Lösung des 4–Farbenproblems anzugeben; siehe unten. Die Informatik ist heutzutage Motor der Entwicklung und erfolgreicher Abnehmer von Resultaten der diskreten Mathematik und insbesondere der Graphentheorie. Hier entwerfen wir eine kleine Skizze interessanter Fragestellungen.1 Bäume sind ein Spezialfall von Graphen, in der Informatik werden Bäume häufig als Datenstruktur eingesetzt, in der Modellierung von Alltagsproblemen findet man sie als Entscheidungshilfen. 8.1 Definition und Diagramme Isomere sind chemische Verbindungen der gleichen Summenformel, aber unterschiedlicher chemischer Struktur und teilweise auch mit unterschiedlichen chemischen, physikalischen und biologischen Eigenschaften. Die in saurer Milch weit verbreitete DL-Milchsäure – sie kommt in Milch, Früchten und in in tierischen Organen vor – enthält zwei Isomere. In der Abbildung 8.1 ist links die D(-)-Milchsäure, rechts die L(+)-Milchsäure als chemische Formel abgebildet. Dabei steht H für Wasserstoff, C für Kohlenstoff, O für Sauerstoff. Die beiden Isomere sind spiegelgleich. H COOH | C OH | CH3 HO COOH | C H | CH 3 Abbildung 8.1: Milchsäure In der Abbildung lassen sich Eckpunkte“– die Mo” leküle – und Kanten“ – die Verknüpfungen – erkennen. ” Damit ist die Struktur der Graphen angesprochen. In diesem Kapitel soll auch die Rede von ganz einfachen Graphen sein, nämlich solchen, die in den Verzweigungen einem realen Baum ähneln: ein realer Baum hat eine Wurzel, er verzweigt von unten nach oben in Äste und Zweige, endet in Blättern, Äste und Zweige verwachsen aber nicht miteinander. Man sagt, auf Graphen 1 Im Internet findet man ein ziemlich umfangreiches Skriptum unter: www2.informatik.hu-berlin.de/alcox/lehre/skripte/ga/ 142 übertragen, es entsteht kein Kreis, wie dies etwa beim Haus vom Nikolaus zutrifft, das 5 Ecken (◦) und 8 Kanten (—) besitzt;2 siehe Abbildung 8.2. Damit sind schon die Grundbausteine der Graphentheorie angesprochen: zwei Objekte stehen in einer vorgegebenen Beziehung oder nicht. Mit dem Begriff des Graphen erfassen wir gerade diese Situation, wie wir noch sehen werden. Beginnen wir mit einem bestens bekannten Gra” phen“. Er hat 5 Ecken (◦) und 8 Kanten (—) und ist im Rythmus von Dies ist das Haus vom Ni–ko–laus in einem Zug auf das Papier zu zaubern, ohne zweimal eine Kante nachziehen zu müssen. Damit sind schon wesentliche Begriffe der Graphentheorie angesprochen. Definition 8.1.1 Ein Graph G = G(E, K) besteht aus einem Paar (E, K), wobei E eine nichtlee- Abbildung 8.2: Das Haus vom Nikolaus re Menge von Ecken und K eine Menge von Kanten ist und einer Vorschrift, die jeder Kante k ∈ K genau zwei (verschiedene oder gleiche) Ecken a, b ∈ E zuordnet, die wir Endecken von k nennen; ist a = b, so nennen wir k eine Schlinge bei a. Im Allgemeinen haben wir endliche Graphen im Blick, also Graphen, deren Eckenmenge eine endliche Menge ist. (Im englischen Sprachgebrauch spricht man bei Kanten von vertices oder nodes und bei Kanten von edges; daher G = G(V, E).) Ist G = G(E, K) ein Graph, so sagen wir, dass k ∈ K die Ecken a und b verbindet, wenn a, b Endecken von k sind; oft schreiben wir dafür k = {a, b} oder kurz k = ab . Ecken, die durch eine Kante verbunden sind, nennen wir benachbart. Eine Ecke, die zu keiner Kante Endecke ist, nennen wir isoliert. Sind zwei Ecken durch Kanten k1 , k2 , . . . , kn , n ≥ 2, verbunden, so heißen die Kanten k1 , . . . , kn Mehrfachkanten. Wir betrachten im Folgenden ausschließlich einfache Graphen, also solche, die weder Schlingen noch Mehrfachkanten besitzten. Einen Graph veranschaulicht man sich am besten durch ein Diagramm, indem man die Ecken als Punkte der (Zeichen–)Ebene zeichnet und die Kanten als Kurven zwischen den Endpunkten zeichnet; hier wird die zweistellige Relation, die abstraktes Kernstück eines Graphen ist, deutlich. Dadurch ist auch die Bezeichnung Graph“ erklärt: das Ecken–Kanten–System erinnert an die ” graphische Darstellung von Funktionen. Abbildung 8.3: Vollständige Graphen Beispiel 8.1.2 Hat man bei einem Graphen G(E, K) als Eckenmenge E = {1, . . . , n}, so kann man offenbar insgesamt 12 n(n−1) verschiedene Kanten einzeichnen. Da man nun zu jeder Kante 2 Es kann im Rythmus von Dies ist das Haus vom Ni–ko–laus in einem Zug auf das Papier gezaubert werden, ohne zweimal eine Kante nachziehen zu müssen. 143 1 die Auswahl treffen kann, ob sie im Graphen vorkommen soll ja oder nein, gibt es 2 2 n(n−1) verschiedene Graphen. Die Anzahl der Ecken eines Graphen G = G(E, K) wird üblicherweise als Ordnung von G bezeichnet, die Anzahl seiner Kanten als Größe. Einen Graph nennt man dann dicht, wenn das Verhältnis d von Größe zu Ordnung groß ist; bei einer Veranschaulichung in der Ebene kann man Dichte“ sehen. ” Beispiel 8.1.3 Betrachte ein Beispiel einer endlichen Geometrie“: ” P := {A, B, C} , G := {{A, B}, {A, C}, {B, C}} (a) (b) Abbildung 8.4: Bipartite Graphen P steht für die Punkte, G steht für die Menge der Geraden. Dies ist ein Graph G(P, G). Endecken etwa der Kante k := {A, B} sind A und B. Einige einfache Graphen sind so wichtig, dass sie eigene Namen tragen. Z.B. heißen die einfachen Graphen Gn := G(E, K) mit Eckenanzahl n und einer Kante zwischen jedem Paar von Ecken vollständige Graphen. In Abbildung 8.3 sind Diagramme dazu für n ≤ 5 enthalten. Weitere Graphen spezieller Struktur sind die bipartiten Graphen G = G(E, K), bei denen es eine Zerlegung der Eckenmenge E gibt derart, dass E = U ∪ V , U ∩ V = ∅, und jede Kante hat eine Ecke in U und eine Ecke in V . Ist jede Ecke aus U mit einer Ecke aus V verbunden, so sprechen wir von einem vollständigen bipartiten Graphen; wir bezeichnen sie mit Gm,n , wobei hier die Zerlegung so möglich ist, dass U m und V n Ecken hat. Der vollständige bipartite Graph G3,3 ist in Abbildung 8.4 (a) skizziert. Abbildung 8.4 (b) gibt einen unvollständigen bipartiten Graphen wieder. Beispiel 8.1.4 Geplant ist ein Tennisturnier mit fünf Teilnehmern a, b, c, d, e . Die Turnierbedingungen seien: (1) Es steht nur ein Tennisplatz zur Verfügung. (2) Jeder Teilnehmer spielt gegen jeden anderen Teilnehmer genau einmal. (3) Kein Teilnehmer spielt in zwei aufeinanderfolgenden Spielen. In der Abbildung 8.5 (a) stellt jede der zehn Verbindungslinien eines der Spiele dar. In der Abbildung 8.5 (b) ist auch ein Spielplan aufgezeichnet: Die zehn Punkte repräsentieren die Spiele, und zwei Punkte sind genau dann verbunden, wenn sie keinen gemeinsamen Spieler haben; die zugehörige Abbildung ist also ein Graph mit 10 Ecken und 15 Kanten. Der fett eingezeichnete Weg“ liefert eine Lösung für die obigen Bedingungen (1), (2), (3). ” Das Diagramm haben wir nicht willkürlich gestaltet, sondern eine ästhetisch ansprechende und einprägsame Form dafür gewählt. Der Graph in Abbildung 8.5 (b) ist der berühmte Petersengraph. Seine Bedeutung liegt in der Liste von Eigenschaften, die er besitzt oder nicht besitzt. 144 a ab ce e b cd bc ae ad c be d (a) Der zugehörige Graph de bd ac (b) Ein erlaubter Spielplan Abbildung 8.5: Graph für ein Tennisturnier Definition 8.1.5 Sei G = G(E, K) ein Graph. Eine Ecke e hat Grad d = d(e), wenn die Anzahl der Kanten, die e als Endecke haben, d ist. Lemma 8.1.6 (Handschlaglemma) Sei G = G(E, K) ein Graph mit m Kanten. Dann gilt: X 2m = d(v) . v∈E Beweis: Wir zählen die Paare (v, k), v ∈ E, k ∈ K, ab, für die v Endecke von k ist. Da jede Kante genau 2 Endecken hat, ist die Anzahl einerseits 2m, andererseits trägt jede Ecke v ∈ E mit d(v) zu dieser Anzahl bei. Die Wortwahl für das obige Lemma kommt von der Interpretation, dass man sich K als die Paare von Personen (E) vorstellen kann, die sich per Handschlag begrüßen. Man kann daraus folgern, dass die Anzahl der Personen, die auf einer Party eine ungerade Anzahl von Gästen mit Handschlag begrüßt haben, gerade ist. Graphentheorie hat vielfältige Anwendungen; etwa (-) Reise- oder Transportplanung (-) Datenstrukturen in der Informatik (-) Computernetzwerke (-) Strukturformeln in der Chemie (-) Anwendungen in der Mathematik Wir bringen Graphen häufig mit einem Diagramm auf das (planare) Papier, je nach Ge” schmack“ in unterschiedlichen Darstellungen. Führen uns unterschiedliche Darstellungen zu unterschiedlichen Betrachtunbgsweisen? Dazu ist wichtig: Definition 8.1.7 Zwei Graphen G = G(E, K), G′ = G(E ′ , K ′ ) heißen isomorph, in Zeichen G∼ = G′ , falls es eine bijektive Abbildung ϕ : E −→ E ′ gibt, so dass gilt: k = {u, v} ist eine Kante in G genau dann, wenn k′ := {ϕ(u), ϕ(v)} eine Kante in G′ ist. 145 Beispielsweise sind alle vollständigen Graphen mit n Ecken isomorph. Daher ist es gerechtfertigt, für solche Graphen eine(!) Bezeichnung zu vergeben: Gn . Zu entscheiden, ob Graphen isomorph sind, ist so einfach nicht. Hilfreich dabei sind Invarianten“ bei Anwendung eines Isomorphismus: ” Ecken werden auf Ecken vom selben Grad abgebildet, . . . . Offensichtlich wird durch die Relation G ∼ G′ genau dann, wenn G, G′ isomorph sind“ eine ” Äquivalenzrelation erzeugt. Bemerkung 8.1.8 Die Betrachtung von Isomorphismen ist auch in anderen Strukturen (Gruppen, Körpern, Vektorräume, . . . ) ein wichtiger Gesichtspunkt. Damit soll geklärt werden, wann sind Objekte als gleich anzusehen, auch wenn sie in unterschiedlichem Kleide“ daherkom” men. Isomorphismen beschreiben Strukturgleichheit“. Wir formulieren zur Erläuterung noch ” den Sachverhalt bei Gruppen. ∼ G′ , falls es eine Zwei Gruppen (G, •), (G′ , •′ ) heißen isomorph, in Zeichen G = bijektive Abbildung ϕ : G −→ G′ gibt mit ϕ(x) •′ ϕ(y) = ϕ(x • y) für alle x, y ∈ G . 8.2 Wege, Kreise, Zusammenhang Mit den nun folgenden Begriffen Kantenzug, Weg, Kreis“ können wir etwas über die Feinstruk” tur von Graphen herausfinden. Definition 8.2.1 Sei G(E, K) ein Graph. (a) Sind v0 , v1 , . . . , vl ∈ E, so dass vi mit vi+1 für jedes i = 0, . . . , l − 1 verbunden ist, so nennen wir W := [v0 , . . . , vl ] einen Kantenzug von v0 nach vl der Länge l . (b) Ein Kantenzug W = [v0 , . . . , vl ] heißt Weg, falls alle zugehörigen Kanten vi vi+1 paarweise verschieden sind. (c) Ein Weg W = [v0 , . . . , vl ] heißt Kreis, falls v0 = vl gilt. Ohne Beweis führen wir an, dass aus jedem Kantenzug von v0 nach vl ein Weg von v0 nach vl gemacht werden kann durch Weglassung von Kanten (Beachte die Absprache, dass wir nur endliche Graphen betrachten). Beispiel 8.2.2 Betrachte den vollständigen Graphen G4 ; siehe Abbildung 8.3: er hat 4 Ecken und 6 Kanten; die Dichte ist also 32 . Er enthält Kreise der Länge 3 und 4. Intuitiv sollte man erwarten, dass ein dichter Graph lange“ Kreise enthalten sollte. Dazu gibt es auch eine präzise ” Aussage, nämlich den Satz von Dirac (1952), der diese Erwartung bestätigt: gilt für die Dichte d ≥ 2, so gibt es einen Kreis der Länge größer als d . Definition 8.2.3 Ein Graph G(E, K) heißt zusammenhängend, wenn je zwei Ecken durch einen Kantenzug verbindbar sind. Offenbar ist Verbindbarkeit“ eine Äquivalenzrelation auf der Eckenmenge eines Graphen. Die ” Äquivalenzklassen bezüglich dieser Relation heißen Zusammenhangskomponenten des Graphen. 146 Bemerkung 8.2.4 Wir betrachten stets ungerichtete Graphen, d.h. solche, deren Kanten beim Durchlaufen keine Richtung auszeichnen. Ungerichtete Graphen sind solche, deren Kanten mit einem Pfeil“ dargestellt werden; sie können nur in Pfeilrichtung durchlaufen werden. ” Gewichtete Graphen sind Graphen, bei denen Kanten ein Gewicht tragen, das die Kosten“ ” angibt, wenn die Kante durchlaufen wird. Definition 8.2.5 Sei G(E, K) ein Graph. (a) Ein Weg W = [v0 , . . . , vl ] heißt ein Eulerweg, wenn der Weg jede Kante des Graphen genau einmal enthält. (b) Ein Eulerweg heißt ein Eulerkreis, wenn er ein Kreis ist. (c) Der Graph heißt Eulergraph, falls er einen Eulerkreis enthält. D D a a d e A b e A C C c c B g d g b f f B (a) Skizze der Landkarte (b) Der zugehörige Graph Abbildung 8.6: Das Königsberger Brückenproblem Der Begriff Eulerkreis“ stammt von dem vermutlich ältesten graphentheoretisch erfassten ” Problem, nämlich dem Königsberger Brückenproblem, das seine Lösung durch L. Euler3 im Jahre 1736 fand. Die Abbildung 8.6 zeigt 4 Landstücke A, B, C, D und 7 Verbindungsbrücken a, b, . . . , g. Frage: Ist es möglich, von der Insel A aus einen Spaziergang zu machen, bei dem man alle Brücken genau einmal passiert und schließlich nach A zurückkehrt? Übersetzen wir dies in die Graphensprache, so resultiert der Graph aus Abbildung 8.6 (b). Euler hat die Frage nach einer zulässigen Tour im Königsberger Brückenproblem negativ beantworten können, indem er zeigte, dass kein Eulerkreis existiert. Dafür gibt es eine sehr einfache Argumentation. Sie geht so: In jeder Ecke kann man die Anzahl der Kanten zählen, die dort enden; diese Anzahl ist der Grad der Ecke. Soll es einen Eulerkreis geben, dann muss jede Ecke offenbar geraden Grad haben. Beim Königsberger Brückenproblem gibt es aber Ecken ungeraden Grades. Folgerung 8.2.6 Ist G ein Eulergraph, dann hat jede Ecke geraden Grad. 3 Euler, Leonhard (1707 — 1783) 147 Beweis: Dies ist die Argumentation von Euler. Gilt auch die Umkehrung in Korollar 8.2.6? Ja, sie gilt, wenn mann nur zusammenhängende Graphen betrachtet! Dies ist das Resulat von Hierholzer (1873). Damit ist auch klar, dass Eulergraphen schnell ( in linearer Zeit“) anhand der geraden Eckengrade erkannt werden können. ” Aber wie konstruiert man einen Eulerweg? Darüber gibt auch das Resultat von Hierholzer Auskunft. Die sehr befriedigende Zusatznachricht ist, dass dies auch sehr schnell ( in linearer Zeit“) ” bewerkstelligt werden kann. Definition 8.2.7 Sei G(E, K) ein Graph. (a) Ein Weg W = [v0 , . . . , vl ] heißt Hamiltonweg, wenn der Weg W jede Ecke des Graphen genau einmal enthält. (b) Ein Weg W = [v0 , . . . , vl ] heißt Hamiltonkreis, wenn W ′ := [v0 , . . . , vl−1 ] ein Hamiltonweg ist und v0 = vl gilt. Das Problem der Hamiltonkreise ist ungleich tiefliegender als das der Eulerkreise, für Anwendungen aber sehr viel interessanter: es gibt keine Charakterisierungen für Hamiltonkreise, für Eulerkreise schon.4 (a) Dodekaeder (b) Tetraeder (c) Würfel Abbildung 8.7: Hamiltonkreise Bekanntlich gibt es fünf reguläre Körper/platonische Körper: Tetraeder, Würfel, Oktaeder, Dodekaeder, Ikosaeder. Dies zu zeigen, ist die Theorie der Graphen ein entscheidendes Hilfsmittel, ebenso dafür, das bekannte Färbungsproblem, das wir unten noch kennenlernen werden, zu lösen. Hamilton fragte nach einem Hamiltonkreis im Graphen, der dem Kantenweg auf dem Dodekaeder entspricht. Die Abbildung 8.7 (a) gibt die Antwort. In Abbildung 8.7 (b), (c) finden wir Hamiltonkreise zu anderen regulären Körpern. Dabei verwenden wir die sogenannten Schlegel–Diagramme für die platonischen Körper: Projektionen der Körper auf eine Zeichenebene von einem Punkt über dem Körper. Euler behandelte schon das Problem des Rösselsprungs auf einem n × n–Schachbrett. Gefordert ist, dass der Springer von einem Feld beginnend mit kontinuierlichen Zügen alle Felder genau einmal berührt (und dann eventuell wieder zu seinem Ausgangspunkt zurückkehrt). Nehmen wir ein (quadratisches) Schachbrett mit n2 Feldern und verbinden wir zwei Ecken, wenn sie durch einen Springerzug verbunden sind; es resultiert ein Graph. Dann ist die Frage 4 Spezielle Aufgaben, die sich mit der Problematik Hamiltonweg/Hamiltonkreis beschäftigen, sind viel älter als die Graphentheorie. 148 nach einem Hamiltonweg bzw. Hamiltonkreis klar.5 In Abbildung 8.8 ist ein Hamiltonweg für den Rösselsprung auf einem 9 × 9–Schachbrett aufgeführt. Wie oben schon angemerkt, Hamiltongraphen lassen sich nicht so einfach charakterisieren wie Eulergraphen. Da die Ordnung 5 2 7 80 77 74 11 16 13 n eines Graphen stets die Länge eines Ha8 79 4 1 10 81 14 75 18 miltonkreises angibt, kann man einen Ha3 6 9 78 73 76 17 12 15 miltonkreis dadurch finden, dass man alle 32 29 34 69 66 63 24 19 22 n-elementigen Teilmengen der Kantenmenge daraufhin überprüft, ob sie einen Hamilton35 68 31 72 27 70 21 64 25 kreis darstellen. Dies ist bei dichten Graphen 30 33 28 67 62 65 26 23 20 ein sehr aufwändiges Verfahren. Es ist aber 39 36 41 56 71 58 47 52 49 kein sehr viel schnelleres Verfahren bekannt, 42 55 38 61 44 53 50 59 46 ja es sieht so aus, als gebe es kein sehr viel 37 40 43 54 57 60 45 48 51 schnelleres Verfahren; siehe nächstes Kapitel. Die Suche nach notwendigen und hinreiAbbildung 8.8: Rösselsprung chenden Bedingungen für die Existenz eines Hamiltonweges hat ein umfangreiches Gebäude von neuen Begriffen und Fragestellungen hervorgebracht. 8.3 Planare Graphen Wir haben schon darauf hingewiesen, dass wir üblicherweise einen Graphen G(E, K) durch ein Punkt–Linien–System in der Ebene veranschaulichen. Gibt es eine Darstellung, in der die Kanten von G sich nur an Ecken treffen aber niemals dazwischen, so sagen wir, der Graph G ist plättbar und nennen den so darstellbaren Graphen einen ebenen Graphen (enbettbar in die Ebene). Isolierte Ecken spielen dabei keine Rolle, sie können ja irgendwohin platziert werden, allerdings darf keine Kante über eine isolierte Ecke laufen. In Abbildung 8.9 sind einige ebene Graphen dargestellt. Dort sieht man auch, wie der Graph zum Haus vom Nikolaus plättbar ist. Ist G(E, K) ein ebener Graph, so zerlegen die Kanten die Ebene in endlich viele (topologisch) zusammenhängende Gebiete, von denen genau eines, das äußere“ Gebiet, nicht beschränkt ist. ” Zusammenhängend bedeutet hier (etwas oberflächlich): Wir können zwischen je zwei Punkten des Gebietes mit Bleistift (ohne abzusetzen) eine Linie ziehen, die das betreffende Gebiet nicht verläßt. Der Grund dafür ist der berühmte Jordansche Kurvensatz: Eine geschlossene Jordankurve γ zerlegt die Ebene in zwei topologisch zusammenhängende Gebiete, von denen genau eines nicht beschränkt ist. Dies heißt: Zwei Punkte der Ebene können genau dann durch eine Jordan–Kurve verbunden werden, die γ nicht trifft, wenn sie entweder beide im Inneren oder beide im Äußeren von γ liegen. So einleuchtend dieser Satz auch ist, sein Beweis ist alles andere als leicht. Wir wollen nun erläutern, wie das Färbungsproblem für Landkarten mit den Resultaten der Graphentheorie zusammenhängt. 5 Das Studium der Hamiltonwege und Hamiltonkreise wurde 1856, etwa gleichzeitig, von Kirkmann und Hamilton angeregt. 149 6 1 3 4 2 5 (a) (b) (c) Abbildung 8.9: Beispiele für ebene Graphen Wir können also unterstellen, dass bei einem ebenen Graphen die Linien (die für die Kanten stehen) die Ebene in endlich viele topologisch zusammenhängende Gebiete zerlegen. Diese Gebiete wollen wir Länder nennen. Haben wir umgekehrt eine reale Landkarte“ L gegeben, so können wir L sofort einen ebenen ” Graphen G(E, K) zuordnen: Die Ecken E sind die Schnittpunkte verschiedener Grenzen und die Kanten sind die zwischen Schnittpunkten verlaufenden Grenzlinien; eine Insel wird als Punkt und seine Grenze als Schlinge dargestellt. Wir halten ausdrücklich fest: Länder grenzen entlang einer Grenzlinie aneinander, nicht nur in einem Punkt, und die Länder sind zusammenhängend, d.h. je zwei Punkte eines Landes sind durch einen Streckenzug verbindbar, der das Land nicht verlässt. Definition 8.3.1 Eine Landkarte L(E, K, L) ist ein ebener Graph G = G(E, K) zusammen mit den zu G gehörenden Ländern L . Länder, die eine gemeinsame Grenze haben, nennen wir benachbart. Definition 8.3.2 Eine Färbung einer Landkarte L(E, K, L) ist eine Färbung der Länder mit endlich vielen verschiedenen Farben, und zwar so, dass Länder, die eine gemeinsame Grenzkante besitzen, stets verschiedene Farben erhalten. Mit diesen Begriffen können wir nun den 4–Farben–Satz formulieren: Für jede Landkarte reichen 4 Farben für eine Färbung aus. Der 4–Farben–Satz hat eine interessante Geschichte, die Beweisversuche dazu haben viel zur Entwicklung der Graphentheorie beigetragen. Schon 1878 legte A. Kempe einen Beweisversuch für den 4–Farben Satz vor. Obwohl Kempes Beweis einen Fehler enthielt – er wurde 1890 von Heawood entdeckt –, so vereinigte er doch nahezu alle Ideen, die zur endgültigen Lösung 100 Jahre später geführt haben. Der 5–Farbensatz von Heawood aus dem Jahre 1898 sagt, dass stets 5 Farben ausreichen. Ein korrekter Beweis für den 4–Farbensatz wurde 1976 von Appel und Haken vorgelegt. Allerdings wurde der Beweis von der mathematischen Welt mit gemischten Gefühlen aufgenommen, denn der Beweis wurde geführt unter massivem Einsatz von Computern. Es gibt nun einen Beweis, der zwar immer noch nicht ohne Computer auskommt, der diesen aber schon reduziert einsetzt. Nach der Skizzierung des 4–Farbensatzes liegt es auf der Hand, was Färbungen von Graphen sein sollen: benachbarte Ecken sollen unterschiedliche Farben erhalten. Wir werden diese Frage im Kapitel über Abbildungen wieder aufgreifen. Hier nur ein Beispiel, das einen Anwendungshintergrund der Problematik aufzeigt. 150 Beispiel 8.3.3 In einem Zoo soll der Aquariumsbereich umgebaut werden und dazu Notbecken aufgestellt werden. Dabei ist zu berücksichtigen, dass gewisse Fischarten sich nicht vertragen und daher nicht in ein gemeinsames Becken eingebracht werden dürfen. Es ist das Ziel, mit möglichst wenig Notbecken auszukommen. Seien 1, . . . , N die unterschiedlichen Fischarten; sie dienen als Ecken eines Graphen. Zwei Fischarten sind durch eine Kante verbunden, wenn sie sich nicht vertragen. Es entsteht ein Graph. Jeder Fischart soll nun eine Farbe – sie steht für ein Becken – so zugeordnet werden, dass Knoten, die mit einer Kante verbunden sind, eine unterschiedliche Farbe erhalten. Kommen wir zu planaren Graphen zurück. Jedem planaren Graphen können Fächen zugeordnet werden; eines davon ist die Außenfläche. Satz 8.3.4 (Eulerscher Polyedersatz) Sei G = G(E, K) ein planarer zusammenhängender Graph mit n = #E, m = #K und f Flächen. Dann gilt: n+f −m = 2 (8.1) Beweis: Den Beweis können wir hier nicht führen. Er bedient sich im Allgemeinen der vollständigen Induktion und der speziellen Graphen Bäume“; siehe unten. Für m = 0 können wir die Richtigkeit ” aber erkennen. Hier muß nämlich n = f = 1 sein (Zusammenhang!). 8.4 Bäume Eine weitere einfache, aber wichtige Graphenklasse ist die der Bäume. Bäume sind beispielsweise als Datenstrukturen in der Informatik und bei der Betrachtung von elektrischen Netzwerken von großer Bedeutung. Definition 8.4.1 Ein Graph heißt Baum, wenn er zusammenhängend ist und keine Kreise enthält. Ein Baum heißt Binärbaum, wenn der Grad einer jeden Ecke höchstens zwei ist. In Abbildung 8.10 sind im wesentlichen alle“ Bäume mit höchstens 6 Ecken aufgeführt. ” (a) Alle Bäume mit höchstens 5 Ecken (b) Alle Bäume mit 6 Ecken Abbildung 8.10: Alle Bäume mit höchstens 6 Ecken Bäume lassen sich ziemlich einfach charakterisieren. Wir geben drei äquivalente Charakterisierungen ohne vollständigen Beweis an. Satz 8.4.2 Sei G ein Graph mit n Ecken. Es sind äquivalent: (a) G ist ein Baum. 151 (b) Je zwei Ecken des Graphen sind durch genau einen Weg verbunden. (c) G ist zusammenhängend, aber für jede Kante k von G ist der Graph G′ := G(E, K\{k}) nicht zusammenhängend. (d) G ist zusammenhängend und besitzt genau n − 1 Kanten. (e) G besitzt keinen Kreis und besitzt genau n − 1 Kanten. Beweis: Wir beweisen nicht alle Implikationen. a) =⇒ b). Da ein Baum zusammenhängend ist, gibt es stets einen Weg, der zwei beliebige Ecken verbindet. Annahme, es gibt mindestens zwei Wege, die ein gegebenes Paar e, e′ von Ecken verbindet. Wenn beide Wege keine Kante gemeinsam haben, bilden sie einen Kreis: wir laufen den einen Weg von e nach e′ und laufen nun den zweiten Weg von e′ nach e . Enthalten die beiden Wege eine gemeinsame Kante, dann finden wir wieder einen Kreis, denn die beiden Wege treffen sich nun in einer Ecke e′′ , die beide Wege gemeinsam haben. In jedem Falle haben wir, dass der Graph einen Kreis enthält. Widerspruch! b) =⇒ c). Es ist klar, dass G zusammenhängend ist. Sei k = uv eine Kante mit Endecken u, v . Dann ist [u, v] der einzige Weg, der u, v verbindet; in G′ := G(E, K\{k}) können also u, v nicht durch einen Weg verbunden sein. Also kann G′ nicht zusammenhängend sein. c) =⇒ d). Auf Graphen kennen wir die Äquivalenzklassen der Zusammenhangskomponenten; siehe oben. Der zusammenhängende Graph G hat eine Zusammenhangskomponente. Nimmt man eine Kante {k} weg, entsteht ein Graph G′ := G(E, K\{k}), der zwei Zusammenhangskomponenten hat. Nach Wegnahme aller Kanten hat der entstandene Graph n keine Kante ist mehr und daher n Zusammenhangskomponenten. Also muss es n − 1 Kanten im Graphen geben. Die Datenstruktur Baum“ wird bei hierarchischen Beziehungen und bei rekursiven Struk” turen verwendet. Beispiele sind etwa: • Stammbaum • Mathematische Formeln • Struktogramme von Firmen • Gliederung von Büchern Das Beispiel des Stammbaums einer Familie: er enthält als Knoten einen Stammvater, Stammeltern, . . . , Großeltern, Eltern, Kinder, Enkel,. . . . Unter diesen Mitgliedern gibt es die wohlbekannten Abstammungsbeziehungen, die mit Kanten angegeben werden können. Die Genealogie beschäftigt sich mit der Erforschung solcher Stammbäume Ein Wurzelbaum ist ein Baum, bei dem unter den Knoten eine Relation Vorfahre“ und ” Nachkomme“, Eltern“ und Kinder“ erklärt ist, dargestellt durch die Kanten. Den Knoten, ” ” ” der keinen Vorfahren hat, nennen wir Wurzel. Ein solcher existiert, da wir ja keine Kreise haben; siehe Abbildung 8.11. In der Darstellung unterscheiden wir interne Knoten (dargestellt durch Kreise), also solche, die Nachkommen haben, und externe Knoten (dargestellt durch Quadrate), also solche, die keine Nachkommen besitzen, welche auch Blätter heissen, wie oben schon vereinbart. Im Gegensatz zu realen Bäumen wird die Wurzel im allgemeinen an den Kopf des Baumes gelegt; 152 Die Höhe eines Knoten in einem Baum ist die Länge des längsten Weges von diesem Knoten zu einem Blatt. Die Höhe eines Baumes ist die Höhe seiner Wurzel. Die maximale Anzahl der direkten Nachfolger, die ein Knoten hat, heißt Grad des Baumes. Entscheidungsbäume sind eine spezielle Darstellungsform von Entscheidungsregeln. Sie veranschaulichen aufeinanderfolgende, hierarchische Entscheidunw gen. Sie haben eine Bedeutung in der Stochastik zur Veranschaulichung von mehrstufiger Experimente und bedingter Wahrscheinlichkeiten, im Data-Mining, in M E der Entscheidungstheorie sowie in der ärztlichen Entscheidungsfindung. Wir erläutern dies an folgenden E M E M Beispielen. E Beispiel 8.4.3 Mark und Erich bestreiten eine Tennisauseinandersetzung: Wer zuerst zwei Sätze hintereinander oder insgesamt drei Sätze gewonnen hat, gewinnt die Auseinandersetzung. Alle möglichen Ergebnisse des Wettkampfes entsprechen den Worten MM,MEMM,MEMEM,MEMEE,MEE, M E E E M M E M M E M Abbildung 8.11: Ein Tennisspiel EMM,EMEMM,EMEME,EMEE,EE Der Weg von der Wurzel des Baumes bis zum Endpunkt gibt an, wer jeweils den Wettkampf gewonnen hat. Wetter sonnig sonnig bedeckt regnerisch regnerisch regnerisch bedeckt sonnig sonnig regnerisch sonnig bedeckt bedeckt regnerisch Temperature heiß heiß heiß mild kühl kühl kühl mild kühl mild mild mild heiß mild Luftfeuchtigkeit hoch hoch hoch hoch normal normal normal hoch normal normal normal hoch normal hoch windig nein ja nein nein nein ja ja nein nein nein ja ja nein ja Spielen? nein nein ja ja ja nein ja nein ja ja ja ja ja nein Abbildung 8.12: Eine Entscheidungstabelle Beispiel 8.4.4 Wir wollen ein Spiel im Freien von den Bedingungen Wetter“, Temperatur“, ” ” Luftfeuchtigkeit“, windig“ abhängig machen. Die Tabelle 8.12 gibt Aufschluss über die Regeln, ” ” nach denen die Entscheidung gefällt werden sollen. Jedem Attribut Wetter“, Temperatur“, Luftfeuchtigkeit“, windig“ können wir einen be” ” ” ” schrifteten Entscheidungsbaum zuordnen. Etwa für Wetter den in Abbildung 8.13 abgebideten. 153 Abbildung 8.13: Ein Spiel im Freien 8.5 Binär- und Suchbäume Wir halten fest: (a) Ein Wurzelbaum heißt Binärbaum, wenn jeder Knoten höchstens 2 Kinder hat. (b) Ein Binärbaum heißt voller Binärbaum, wenn jeder Knoten genau 2 Kinder hat. (c) Ein Binärbaum heißt vollständiger Binärbaum, wenn er ein voller Binärbaum ist und alle Blätter diesselbe Tiefe haben. Im Baum 8.11 finden wir einen vollen Binärbaum vor. Ein Binärbaum zeichnet sich gegenüber dem allgemeinen Wurzelbaum folgendermaßen aus: • Jeder Knoten außer der Wurzel hat genau einen direkten Vorgänger. • Jeder Knoten hat null bis zwei direkte Nachfolger, die als linker bzw. rechter Nachfolger unterschieden werden. • Der Binärbaum besteht also aus einer Wurzel und zwei Teilbäumen, wobei ein Baum und damit auch ein Teilbaum leer sein kann. • Eine Sonderform ist der vollständige Binärbaum, bei dem jeder Knoten außer den Blättern zwei nicht leere Teilbäume besitzt und jeder Pfad die gleiche Länge hat. Satz 8.5.1 Ist T ein voller Binärbaum mit m Blättern und n internen Knoten, dann gilt: m=n+1 Beweis: Lassen wir den Baum, ausgehend von der Wurzel wachsen“. Bei diesem Prozess verwandelt ” sich in jedem Schritt ein Blatt in einen internen Knoten, gleichzeitig wachsen aus diesem neuen internen Knoten zwei neue Blätter. In der Bilanz vergrößert sich die Anzahl der internen Knoten um 1, und genauso die Anzahl der Blätter um 2 − 1 = 1 . Die Differenz m − n bleibt also unverändert. Sie beträgt am Anfang 1, denn dann ist die Wurzel ein externer Knoten, und m − n = 1 − 0 = 1 . Daher gilt also immer m − n = 1 . In einem vollständigen Binärbaum ist die Gesamtzahl der Knoten leicht zu ermitteln, denn es ist klar, dass in der Tiefe t sich 2t Knoten befinden. Die Anzahl der Blätter ist somit m = 2h , wenn h die Höhe des Baumes ist. Also ist die Anzahl der internen Knoten n = 2h − 1 . Zählt man die internen Knoten ebenenweise ab, erhält man 1 + 2 + 4 + · · · + 2h−1 Also gilt die Gleichheit 1 + 2 + 4 + · · · + 2h−1 = 2h − 1, 154 eine Identität, die man auch direkt auf unterschiedlichste Weisen beweisen kann. Hier ist eine elegante Variante: 1 + 2 + 4 + · · · + 2h−1 = (1 + 2 + 4 + · · · + 2h−1 )(2 − 1) = (2 + 4 + 8 + · · · + 2h ) − (1 + 2 + 4 + · · · + 2h−1 ) = 2h − 1 Offensichtlich kann man also in einem binären Baum der Tiefe h höchstens 2h − 1 Knoten unterbringen. Bei einem unvollständigen Baum sind es dann weniger. Im ungünstigsten Fall lassen sich nur h Elemente unterbringen, genau dann, wenn jeder Knoten nur einen Nachfolger besitzt. In diesem Fall degeneriert der Baum zu einer linearen Liste“. ” Einem Wurzelbaum kann man eine Menge von Tupeln mit Einträgen aus (0, 1) zuordnen, indem man jeden Pfad verfolgt und 0 für einen Abzweig nach links und 1 für einen Abzweig nach rechts vermerkt. Insgesamt ist also ein Wurzelbaum eine Teilmenge W von ∗ {0, 1} := ∞ [ k=0 {0, 1} × · · · × {0, 1} {z } | k−mal mit der Eigenschaft, dass für k ≥ 1 stets mit u := (u1 , . . . , uk−1 , uk ) auch ũ := (u1 , . . . , uk−1 ) zu W gehört. Das leere Tupel u = () steht für den Wurzelknoten. In der Sprache der Alphabete ist {0, 1}∗ die Menge der Wörter über dem Alphabet {0, 1} . Jeder Pfad von der Wurzel ist ein Wort über diesem Alphabet, das die Länge der Tiefe des Blattes hat. Satz 8.5.2 (Fano-Kraft) Sei B die Menge der Blätter in einem vollen Binärbaum T, durchnummeriert durch 1, . . . , m . Sei l(k) die jeweilige Tiefe der Blätter. Dann gilt: m X 2−l(k) = 1 k=1 Beweis: Wir wandern von der Wurzel aus durch den Baum bis wir in einem Blatt landen. In jedem internen Knoten haben wir eine Entscheidung zu treffen, ob wir die rechte oder linke Kante wählen. Um zum Blatt k der Tiefe l(k) zu gelangen, sind l(k) richtige“ Entscheidungen zu ” treffen. Also 1 1 1 · · · · · · = 2−l(k) 2} |2 2 {z l(k)−mal Da wir mit Sicherheit in irgendeinem Blatt landen, summieren sich die Wahrscheinlichkeiten“ ” zu 1 auf. In der Informatik ist das folgende Problem von überragender Bedeutung: Gegeben sei n Nummern (Zahlen in N0 ) a1 , . . . , an , alle paarweise verschieden. Gesucht ist ein Speicherverfahren für Computer, das ein schnelles Auffinden dieser Nummern möglich macht. Man denke etwa an das Problem, Matrikelnummern von Studierenden zu speichern. Wir betrachten dazu volle Binärbäume als Ablegespeicher. Der Binärbaum wird sukzessive nach einem Verfahren aufgebaut, bei dem die größeren Zahlen weiter rechts, die kleineren weiter links untergebracht sind. Linke und rechte Nachkommen in einem Baum haben wir oben schon erklärt mit der Beschreibung durch die Wörter über dem Binäralphabet. Man geht daher so vor: 155 (1) Platziere a1 in der Wurzel. Ist n > 1, hänge an diese Wurzel zwei Blätter an; sie sind mögliche Plätze für a2 . (2) Gilt a2 > a1 , so gehe von der Wurzel nach rechts in das angehängte Blatt, lege a2 dort ab, mache dieses Blatt zu einem internen Knoten durch Anhängen von zwei Blättern. Gilt a2 < a1 , so gehe von der Wurzel nach links in das angehängte Blatt, lege a2 dort ab, mache dieses Blatt zu einem internen Knoten durch Anhängen von zwei Blättern. (3) Sind schon a1 , . . . , aj−1 Nummern im Baum untergebracht, so durchlaufe den Baum von der Wurzel nach unten bis ein Blatt erreicht ist. An jedem besuchten internem Knoten vergleiche aj mit der dort abgelegten Nummer a . Ist aj > a setze den Weg nach rechts unten fort, ist aj < a setze den Weg nach links unten fort. Lege aj im erreichten Blatt ab und mache es zu einem internen Knoten durch Anhängen von zwei Blättern. Hat man die Nummern nach dem obigen Verfahren abgelegt, so kann man eine Zahl im Suchbaum wieder finden, indem man so vorgeht: Man vergleicht a an der Wurzel mit a1 und geht nach rechts oder links in die Tiefe, je nachdem, ob a1 > a oder a1 < a ist. So stößt man schließlich auf a . hat man die Suche mit einem a durchgeführt, das gar nicht im Suchbaum gespeichert ist, so stellt man dies fest, wenn man in einem Blatt angelangt ist. Eine interessante Frage ist, ob bei zufälligen“Nummerfolgen die so entstehenden Suchbäume ” equilibriert sind in folgendem Sinne: ihre Tiefe hn unterscheidet sich nicht drastisch von der ” Tiefe eines vollständigen Baumes mit der Tiefe h, so dass n = 2h − 1 ist (2h − 1 ist die Anzahl der internen Knoten). Logarithmiert man hier, so fragt man sich also, ob die Suchbäume zu zufälligen Nummerfolgen etwa die Tiefe hn ∼ log2 n haben. Nun ist es so, dass man hn ≤ 1.4 ∼ log2 n beweisen kann. Wir kommen in Kapitel 7 darauf zurück. 8.6 1.) 2.) Übungen Sei G = G(E, K) ein Graph. Der Komplementgraph G von G hat als Eckenmenge E und als Kantenmenge alle möglichen Kanten zwischen den Ecken, mit Ausnahme der Kanten in G . Finde den Komplementgraph zum Haus vom Nikolaus“. ” Jeder Graph mit mindestens zwei Ecken desselben Grades. 3.) Zeige: Die Isomorphie von Graphen ist eine Äquivalenzrelation auf der Menge der Graphen. 4.) Finde zwei Beispiele von selbstkomplementären Graphen. Dabei heißt ein Graph selbstkomplementär, wenn G zu seinem Komplementärgraphen G isomorph ist. 5.) Mindestens einer der Graphen G, G ist zusammenhängend. 6.) Sei G ein Graph mit n Ecken. Zeige: Gilt d(e) ≥ zusammenhängend. 7.) Zeige: Ein Kreis in einem Graphen ist bipartit genau dann, wenn alle Ecken gerade sind. 8.) Zeige: Jeder endliche Baum hat mindestens zwei Blätter. 9.) Beweise in Satz 8.4.2 die Implikation a) =⇒ b) . 1 2 (n − 1) für alle Ecken, dann ist G 10.) Ist der vollständige bipartite Graph Gn,n+1 ein Hamiltongraph? 11.) Ist der Petersengraph ein Hamiltongraph? 12.) Gibt es einen interessanten“ Graphen, der zugleich eulersch und hamiltonsch ist? ” 156 13.) Versuche den arithmetischen Ausdruck (in Maple-Schreibweise) ((a+b) * (c-d-7))/(23 * e) als Binärbaum darzustellen. Wieviele Blätter hat eine solche Darstellung. 14.) Sei G = G(E, K) ein Graph. Zeige, dass die Anzahl der Ecken von ungeradem Grad stets gerade ist. Hinweis: Handschlaglemma und Aufspaltung“ des Graphen in Ecken mit geradem Grad ” und Ecken mit ungeradem Grad. 15.) Betrachte die Graphen a b c d e b a e h g f c (a) (a) d (b) Bestimme einen Eulerkreis im Graphen (a). (b) Gibt es einen Eulerkreis im Graphen (a), wenn man die Kante, die f mit e verbindet, wegnimmt? (c) Bestimme einen Hamiltonkreis im Graphen (b). 16.) Betrachte den Wurzelbaum 8.11. Beschreibe alle Pfade von der Wurzel zu den Blättern mit Wörtern über dem Alphabet {0, 1} . 17.) Erzeuge den Suchbaum zur Nummernfolge 6, 1, 9, 5, 3, 7 . 157