Graphentheorie 1 Aus der Kursbeschreibung Vor nunmehr 270 Jahren stand das so genannte Königsberger Brückenproblem, das dem berühmten Mathematiker Leonhard Euler (1707–1783) von dem damaligen Bürgermeister der Stadt Danzig C.L.G. Ehler vorgelegt wurde, an der Wiege der Graphentheorie. Über den Fluss Pregel führten zu jener Zeit sieben Brücken und Ehler fragte, ob es einen Rundgang durch Königsberg geben könne, der jeweils genau einmal über jede der Brücken führt. Euler widmete dieser Frage eine dreizehnseitige Abhandlung und stellte dabei die Königsberger Brücken und Wege mithilfe eines geometrischen Gebildes dar, das aus »Ecken« und »Kanten« bestand (heute spricht man von einem Graphen) und untersuchte, ob es einen geschlossenen Weg durch diesen Graphen gibt, der jede Kante nur einmal enthält. Da es, wie Euler erkannte, nur dann einen solchen Rundweg in diesem Graphen geben kann, wenn der »Grad« der Ecken (also die Anzahl seiner unmittelbaren Nachbarn) eine gerade Zahl ist, war gezeigt, dass ein solcher Rundgang durch Königsberg mit den gewünschten Vorgaben nicht existieren konnte, da jede Ecke von ungeradem Grad war. Verwandt mit diesem Problem ist die Frage, warum zwar das »Haus des Nikolaus« ohne abzusetzen gezeichnet werden kann, jedoch nicht das »Doppelhaus des Nikolaus«. Ein weiteres Problem, das die Entwicklung der Graphentheorie wesentlich beeinflusst hat, ist das »Vierfarben-Problem«, bei dem die Frage untersucht werden soll, ob sich jede beliebige Landkarte so mit vier Farben einfärben lässt, dass keine zwei Länder, die eine Grenze gemeinsam haben, gleichfarbig sind. Diese Frage ist erst zum Ende des letzten Jahrhunderts geklärt worden. Dass die Graphentheorie aber nicht zum Bereich der reinen Unterhaltungsmathematik gerechnet werden kann, zeigt das große Interesse, das ihr in den Anwendungsbereichen der Mathematik zu Teil wird. Bereits 1847 nutzte G.R. Kirchhoff (1824–1887) grundlegende Resultate der Graphentheorie in seiner Arbeit über elektrische Netzwerke. A. Cayley (1821–1895) stellte mit ihrer Hilfe in der zweiten Hälfte des 19. Jahrhunderts Untersuchungen zu Anzahlen chemischer Verbindungen an. In der zweiten Hälfte des 20. Jahrhunderts nahm die Graphentheorie durch das Bestreben, Probleme in diskreter Weise zu modellieren, um sie einer Bearbeitung durch Computer zugänglich zu machen, einen rasanten Aufschwung. Die Informatik und die diskrete Optimierung gehören heute zu den wichtigsten Anwendungsbereichen der Graphentheorie. Aber auch die Technik und die Wirtschaftsund Sozialwissenschaften nutzen zur Problembeschreibung und -lösung graphentheoretische Methoden. Es verwundert daher nicht, dass die Graphentheorie zu jenen Gebieten der Mathematik zählt, die im Zentrum der aktuellen Forschung stehen und die sich heute am schnellsten weiterentwickeln. 7 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 Im Kurs wurde aus der Stoffmenge, welche die Graphentheorie umfasst, natürlich ausgewählt. Ebenso konnten nicht alle Zweige dieser Theorie berücksichtigt werden. Es wurde versucht, aus der Angebotsfülle einige interessante Fragestellungen auszuwählen, um an ihnen exemplarisch die Arbeitsweise der Graphentheorie und der Mathematik überhaupt deutlich werden zu lassen. Begriffs- und Modellbildung, die aus Anwendungen geschöpft werden, wurden dabei besonders berücksichtigt. Der Kurs bestand aus drei Teilen, die zeitlich mitund ineinander verwoben waren. Im ersten Teil wurden einige nötige Grundlagen gelegt. Der zweite Teil untersuchte in Form kleiner Projekte Einzelfragen und Anwendungen der Graphentheorie in »theoretischer« und »praktischer« Form. Diese Projekte, die kleine Forschungsvorhaben darstellten, verlangten Kreativität, Spaß an theoretischen und praktischen »Knobelaufgaben«, die Fähigkeit sich selbstständig mit neuen und ungewohnten Fragestellungen auseinander zu setzen, Geduld und die Bereitschaft, in kleinen Teams zu arbeiten. Im dritten Teil wurden die Ergebnisse der Projektarbeit in Form von Vorträgen dem gesamten Kurs vorgestellt. Die Darstellung der bearbeiteten Projekte bildet den Inhalt der folgenden Dokumentation. 2 Einleitung (Carolin Sellmann, Charlotte Mielke) Definition 1 Ein (endlicher) Graph ist ein Tupel G = (V, E), wobei V eine endliche nicht leere Menge und E eine Teilmenge der zweielementigen Teilmengen von V ist. Die Elemente von V heißen Knoten (engl.: vertices), die Elemente von E Kanten (engl.: edges) von G. Beispiel: Ein Beispiel für einen Graphen ist das Haus des Nikolaus (Abbildung 1.1). Es besteht aus acht Kanten und fünf Knoten {A, B, C, D, E}. Der Schnittpunkt in der Mitte zählt nicht als Knoten. Definition 2 Ein Knoten v1 heißt Nachbar eines Knoten v2 genau dann, wenn v1 durch eine Kante mit v2 verbunden ist. Beispiel: Im Haus des Nikolaus sind beispielsweise die Knoten A und B oder die Knoten D und B Nachbarn. Definition 3 Der Grad d(v) eines Knoten v ∈ V ist die Anzahl seiner Nachbarn. Abb. 1.1: Das ist das Haus des Nikolaus. Beispiel: Der Knoten A im Haus des Nikolaus hat den Grad 3, also d(A) = 3. Definition 4 (1) Ein Weg W (engl.: walk) ist eine Folge von (nicht notwendig verschiedenen) Knoten, die jeweils durch Kanten verbunden sind. (2) Ein Weg, in dem jeder Knoten nur einmal vorkommt, heißt Pfad P (engl.: path). (3) Ein Weg heißt Zykel, falls der erste Knoten gleich dem letzten ist. Ein kreuzungsfreier Zykel (d.h.: die Knoten wiederholen sich nicht) heißt Kreis. Beispiele: (1) Die Knotenfolge (C, D, E, G, H, I, H, G, F ) ist ein Weg. (2) Die Knotenfolge (A, B, C, D, E, G, H, I) ist ein Weg und ein Pfad. (3) Die Knotenfolge (C, D, E, G, F, C) ist ein Weg, ein Pfad und ein Kreis. 8 Abb. 1.2: Wege, Pfade und Kreise Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie Kurs 7.1: Graphentheorie 3 Eulersche Graphen (Carolin Sellmann, Charlotte Mielke) 3.1 Definitionen Definition 5 Ein Multigraph ist ein Graph, in dem mehrere Kanten zwischen zwei Knoten zugelassen sind. Definition 6 Ein Pseudograph ist ein Multigraph , wobei hier zusätzlich Schlingen zugelassen sind. Definition 7 Ein Graph G heißt zusammenhängend, wenn zwischen je zwei Knoten ein Weg existiert. 3.2 Königsberger Brückenproblem Das erste und bekannteste Problem der Graphentheorie ist das Königsberger Brückenproblem. Durch Königsberg fließt die Pregel, welche die Stadt in zwei Inseln und zwei Stadtgebiete teilt. Diese sind über sieben Brücken miteinander verbunden, wie man der Abbildung 1.3 entnehmen kann. Leonhard Euler (1707-1783) sollte einen Rundweg durch die Stadt Königsberg finden. Dieser Rundgang sollte an einem Punkt starten, über jede der sieben Brücken genau einmal führen und schließlich zum Startpunkt zurückführen. Im Jahre 1736 formulierte Leonard Euler den Beweis für die Unmöglichkeit eines solchen Rundganges. Das Königsberger Brückenproblem lässt sich wie folgt mathematisieren: Die vier Stadtteile werden auf die vier Knoten A, B, C und D zusammengezogen und sind jeweils paarweise über Kanten verbunden, welche sich nicht schneiden. Die Kanten repräsentieren die sieben Brücken in Königsberg. In der Graphentheorie bezeichnet man einen geschlossenen Kantenzug, der jede Kante von G genau einmal enthält, als Eulerschen Rundweg. Einen Graphen, der einen Eulerschen Rundweg enthält, Abb. 1.3: Das Königsberger nennt man auch Eulerschen Graphen. Das Königsberger Brücken- Brückenproblem problem zu lösen, bedeutet also, einen Eulerschen Rundweg zu finden. Dazu beweisen wir den folgenden Satz: 9 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 Satz 1 Wenn ein Graph G = (V, E) einen Eulerschen Rundweg enthält, dann ist G zusammenhängend und jeder Knoten von G hat einen geraden Grad. Beweis: Gegeben sei ein Eulerscher Graph G, der einen Eulerschen Rundweg Z enthält. Da Eulersche Rundwege geschlossene Kantenzüge sind, also Start- und Endpunkt übereinstimmen, muss G zusammenhängend sein. Wir stellen uns vor, dass man nun diesem Kantenzug folgt, so dass jeder Knoten über eine Kante angelaufen und über eine andere Kante wieder verlassen wird. Jeder Knoten wird so h-mal während eines Rundgangs angelaufen und wieder verlassen. Daraus folgt, dass der Grad jedes Knoten gerade sein muss. q.e.d. Analog gilt dieser Beweis auch für Pseudographen. Denn bei einer Schlinge erhöht sich der Grad eines Knoten um zwei, weil die Schlinge am gleichen Knoten startet und endet. Zum Königsberger Brückenproblem: Wie man nun leicht der Abbildung 1.3 entnehmen kann, hat jeder Knoten des zum Königsberger Brückenproblems gehörenden Graphen einen ungeraden Grad. Zum Beispiel ist der Grad des Knoten A gleich drei. Ein Eulerscher Rundweg ist somit nicht möglich. 3.3 Satz von Hierholzer Lemma 1 Hat jeder Knoten eines Graphen G = (V, E) geraden Grad, so liegt jeder Knoten auf einem Rundweg in G. Beweis: Angenommen, a ist ein Knoten in G. Wir beginnen nun einen Rundgang. Jeder Knoten b, den wir erreichen, hat entweder noch eine Kante, die noch nicht durchlaufen wurde, denn der Eckengrad ist gerade, oder keine unbenutzte Kante. Im letzten Fall muss b die Ausgangsecke sein, da dort der Weg begonnen wurde. Damit ist der Rundweg gefunden. q.e.d. Satz 2 Ist ein Graph G = (V, E) zusammenhängend und der Grad jedes Knotens gerade, dann enthält G einen Eulerschen Rundweg. Beweis: Sei G ein zusammenhängender Graph, dessen Knoten alle von geradem Grad sind. C sei der längste Rundweg in G. Wenn C = G, ist C ein Eulerscher Rundweg, da C jeden Knoten von G enthält und der Satz ist bewiesen. Enthält C nicht jeden Knoten von G, entfernen wir die Kanten von C aus G und definieren: G − C =: H Der Grad aller Knoten von H ist gerade; denn der Grad aller Knoten in C (ohne H) ist gerade und wir haben eine gerade Anzahl von Kanten abgezogen. Da G zusammenhängend ist, gibt es mindestens einen Knoten a, der sowohl in C als auch in H liegt. Aus dem zuvor gezeigten Lemma folgt, dass a auf einem Rundweg D in H liegt. Nun erweitern wir C, indem wir den Rundweg D an C anhängen. Der so entstandene Rundweg ist offensichtlich länger als C. Das ist ein Widerspruch, da wir angenommen hatten, C sei der längste Rundweg. q.e.d. 3.4 Eulerscher Pfad Definition 8 Sei G = (V, E) ein Pseudograph. Ein Eulerscher Pfad in G ist ein Kantenzug, der jede Kante und jede Ecke enthält. Dabei darf jede Kante nur genau einmal vorkommen. Satz 3 Ein Pseudograph enthält genau dann einen Eulerschen Pfad, wenn G zusammenhängend ist und genau zwei Knoten ungeraden Grad haben. Beweis: ⇒: G enthalte einen Eulerschen Pfad T . Aus der Definition folgt, dass G zusammenhängend ist. Nun beginne man das Durchlaufen bei einer Ecke a und beende es bei einer Ecke b. Daraufhin füge man eine Kante e von a nach b hinzu. Dann ist T + e ein Eulerscher Rundweg in dem Pseudographen G + e, und nach dem Satz von Euler hat jede Ecke von G + e einen geraden Grad. Wenn man e nun wieder entfernt, sind die einzigen Knoten, die nun von ungeradem Grad sind, die Knoten a und b. ⇐: Nun nehme man an, dass G zusammenhängend ist und genau zwei Ecken a und b mit ungeradem Grad hat. Wie zuvor füge man eine Kante e von a nach b hinzu. Dann ist G + e zusammenhängend und jede Ecke hat einen geraden Grad. Nach dem Satz von Hierholzer enthält G + e einen Eulerschen Rundgang C. C − e ist ein Eulerscher Pfad in G. q.e.d. 10 Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie 3.5 Aufteilen von Graphen Der Graph G in Abbildung 1.4 enthält einen Eulerschen Rundweg, da alle Knoten vom Grad vier, also von geradem Grad sind. Dass sich Graphen, deren Knoten alle vom Grad vier sind, in zwei Teilgraphen einteilen lassen, die ebenfalls einen Eulerschen Rundweg enthalten, ist der Inhalt des folgenden Satzes. Satz 4 Wenn alle Knoten eines Graphen G vom Grad vier sind, existiert eine Aufteilung in zwei Teilgraphen, deren Knoten alle vom Grad zwei sind. Beweis: G sei ein Graph, dessen Knoten vom Grad vier sind. Wir setzen voraus, dass G zusammenhängend ist; ist G nicht zusammenhängend, verläuft der Beweis für die zusammenhängenden Teilgraphen von G analog. Abb. 1.4: Graph G Da alle Knoten von G von geradem Grad sind, existiert ein Eulerscher Rundweg C in G. Die Länge, also die Anzahl der Kanten des Rundwegs, sei q. Die Anzahl der Ecken des Graphen sei p. Dann ist q= 4p = 2p, 2 denn wir zählen zuerst die Kanten, die von jedem Knoten ausgehen und teilen diese Anzahl anschließend durch zwei, weil wir schließlich jede Kante doppelt gezählt haben. Man sieht so, dass die Anzahl der Kanten in C gerade ist. Wir färben nun die Kanten abwechselnd rot und blau, so dass an jeden Knoten zwei rote und zwei blaue Kanten grenzen. Man überlegt sich, dass die roten Kanten ebenso wie die blauen einen Eulerschen Rundweg bilden. Jeder Knoten hat in Bezug auf die neuen Rundwege den Grad zwei. q.e.d. 4 Die platonischen Körper (Sophie Knell, Marie Livrozet) 4.1 Die Eulersche Polyederformel Die Eulersche Polyederformel besagt, dass die Anzahl der Ecken, |V |, abzüglich der Anzahl der Kanten, |E|, plus die Anzahl der Flächen, |F |, eines Körpers immer gleich 2 ist: |V | − |E| + |F | = 2. Sie gilt für alle Körper, die durch Polygone begrenzt werden. Für Polyeder, die als ebene Graphen dargestellt werden können, kann die Formel auf die zugehörigen planaren, zusammenhängenden Graphen G = (V, E) angewendet werden. Dabei ist die Menge der Flächen mit F bezeichnet, inklusive der Fläche um den Graphen herum. Es gibt mehrere Möglichkeiten, die Eulersche Polyederformel zu beweisen, eine davon benutzt die Methode der vollständigen Induktion. Induktionsgegenstand ist die Anzahl n der Ecken des Polyeders. Zunächst wird die Formel für einen Graphen bewiesen, der nur aus einem Punkt und beliebig vielen Kanten besteht, die zwangsläufig Schlaufen bilden. Dann wird bewiesen, dass die Formel weiterhin gilt, wenn man immer einen Punkt mehr hinzufügt. Induktionsanfang: Beweis für n = 1. Im Falle n = 1 sind alle vorhandenen Flächen, außer der umgebenden, durch Schlaufen begrenzt. |V | = 1 ⇒ |E| + 1 = |F | und |V | − |E| + |F | = 1 − |E| + (1 + |E|) = 2. Induktionsannahme: Die Eulersche Polyederformel gilt für die Anzahl der Ecken n. Induktionsschluss: Jede Ecke, die hinzukommt, muss durch eine Kante mit dem vorhandenen Graphen verbunden werden, die dem Graphen keine neue Fläche hinzufügt. Jede zusätzliche Kante begrenzt eine neue Fläche. Seien E ∗ , F ∗ die Menge der Kanten im Graphen bzw. der Flächen mit n + 1 Ecken. e sei die Anzahl der zusätzlichen Kanten und somit auch der Flächen, die hinzukommen. Also gilt für n + 1: n + 1 − |E ∗ | + |F ∗ | = n + 1 − (|E| + e) + (|F | + e − 1) = n − |E| + |F | = 2. q.e.d. 11 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 4.2 Die fünf Platonischen Körper Es gibt genau fünf platonische Körper: das Tetraeder, den Würfel (Hexaeder), das Oktaeder, das Dodekaeder und das Ikosaeder. Diese sind durch folgende Eigenschaften bestimmt: Die Seitenflächen sind zueinander kongruent, an allen Ecken sind gleich viele Kanten und alle Kanten sind gleich lang. Alle Körper können als Graphen dargestellt werden, indem man eine Seitenfläche auseinanderzieht und den Körper so in die Ebene abbildet. Dazu nimmt man die Ecken der Körper als Ecken der Graphen. Da es bei Graphen unerheblich ist, welche Form die Kanten haben und nur wichtig ist, dass die Ecken verbunden sind, sind die Kanten der Darstellung nicht alle gleich lang, obwohl die Flächen des Körpers identisch sind. Wenn es nur Kanten auf der Oberfläche des Körpers gibt und keine Diagonalen innerhalb, überschneiden sich außerdem keine Kanten des Graphen. Abb. 1.5: Die platonischen Körper und ihre Graphen Somit sind die Graphen der platonischen Körper eben und alle Flächen werden von gleich vielen Kanten begrenzt. Zusätzlich haben alle Ecken den gleichen Grad ρ und da es sich um dreidimensionale Figuren handelt, muss dieser mindestens drei sein. Graphen G, die dies erfüllen, nennt man regulär. Ist auch der duale Graph G∗ regulär, also der Grad an jeder Ecke gleich, wird G als vollständig regulär bezeichnet. Im dualen Graphen wird jeder Fläche von G eine Ecke in G∗ zugeordnet. Wenn also der duale Graph G∗ regulär ist, wird jede Fläche in G von der gleichen Anzahl Kanten ρ∗ begrenzt. Es existieren nur fünf Graphen, die vollständig regulär sind. Jeder platonische Körper lässt sich genau einem dieser Graphen zuordnen. Also kann man über den Beweis, dass es nur fünf vollständig reguläre Graphen gibt, schließen, dass es nur fünf platonische Körper geben kann. Für den Beweis benötigt man die Eulersche Formel. Um die Anzahl der Kanten in einem Graphen zu ermitteln, wird der Grad aller Ecken aufsummiert. Man erhält so die doppelte Anzahl der Kanten, weil jede Kante durch zwei Ecken begrenzt wird. Da die Graphen der platonischen Körper regulär sind, gilt deshalb: |V | · ρ = 2|E|. Wenn man analog mit den Flächen verfährt, erhält man ρ∗ |F | = 2|E|. Zusammengefasst gilt also: 2|E| = ρ · |V | = ρ∗ · |F |. Um die Zusammenhänge in die Eulersche Formel |V | + |F | − |E| = 2 einsetzen zu können, lösen wir nach |E| und |F | auf. Somit erhalten wir: ρ 1 ρ 1 |V | + ∗ |V | − ρ · |V | = |V | 1 + ∗ − ρ = 2. ρ 2 ρ 2 Durch eine leichte Umformung ergibt sich: |V |(2ρ∗ + 2ρ − ρρ∗ ) = 4ρ∗ , wobei: |V |, ρ∗ ∈ N. Somit muss auch gelten: (2ρ + 2ρ∗ − ρρ∗ ) ∈ N ⇒ (2ρ + 2ρ∗ − ρρ∗ ) > 0. Durch eine leichte Umformung und Ausklammern erhält man die Ungleichung: (2ρ + 2ρ∗ − ρρ∗ ) > 0 | · (−1) + 4 also: (ρ − 2) · (ρ∗ − 2) < 4. Selbige ist nur in zwei Fällen erfüllt: 1) ρ − 2 und ρ∗ − 2 sind positiv, also ρ, ρ∗ > 2. 2) 1 ≤ ρ ≤ 2 oder 1 ≤ ρ∗ ≤ 2. 12 Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie Der zweite Fall kann bei Körpern jedoch nicht eintreten, da Körper dreidimensional sind; für ρ, ρ∗ muss also gelten: ρ, ρ∗ ≥ 3. Führen wir den ersten Fall weiter aus. Es gilt ρ − 2 ≤ 3 ∧ ρ∗ − 2 ≤ 3 ⇒ ρ ≤ 5 ∧ ρ∗ ≤ 5, wobei ρ und ρ∗ nicht gleichzeitig 5 sein dürfen, und ρ ≥ 3 ∧ ρ∗ ≥ 3. Da weiterhin die Gleichung (ρ − 2) · (ρ∗ − 2) < 4 erfüllt sein muss, gibt es für ρ und ρ∗ nur die folgenden ungeordneten Produktpaare: (1; 1), (1; 2), (1; 3). Insgesamt zählt man also nur fünf verschiedene Kombinationsmöglichkeiten. Durch Einsetzen in die zu Beginn hergeleiteten Formeln |V |(1 + ρρ∗ − 12 ρ) = 2 und ρ · |V | = 2|E| = ρ∗ · |F | erhält man die Anzahl der Kanten |E|, die der Ecken |V | und die der Flächen |F | der Graphen. ρ 3 3 3 4 5 ρ∗ 3 4 5 3 3 |V | 4 8 20 6 12 |E| 6 12 30 12 30 |F | 4 6 12 8 20 Körper Tetraeder Würfel Dodekaeder Oktaeder Ikosaeder Tab. 1.1: Übersicht über platonische Körper Es gibt somit genau fünf vollständig reguläre Graphen. Da der zu einem platonischen Körper gehörige Graph vollständig regulär sein muss, kann es nicht mehr platonische Körper als vollständig reguläre Graphen geben. Es existieren nun genau fünf vollständig reguläre Graphen, weswegen es auch genau fünf platonische Körper gibt, die als vollständig reguläre und damit platonische Graphen dargestellt werden können. q.e.d. 5 Algorithmen zur Wegfindung (Clemens Wieck, Daniel Mescheder) 5.1 Was ist ein Algorithmus? Ein Algorithmus kann als eine genau definierte Handlungsvorschrift zur Lösung von Problemen aufgefasst werden. Algorithmen werden hauptsächlich in der Mathematik und in der Informatik verwendet, doch treten sie auch im Alltag auf. Die bekanntesten Beispiele sind Koch- oder Backrezepte: Alle Zutaten müssen in einer festgelegten Reihenfolge verarbeitet werden, damit ein klar festgelegter Endzustand erreicht wird. 5.2 Was ist ein Wegproblem? Es gibt eine Reihe von graphentheoretischen Anwendungsproblemen, die Algorithmen zu ihrer Lösung erfordern. Eines der bekanntesten Probleme ist das Finden von kürzesten Wegen innerhalb eines Graphen. Wir wollen ein Wegproblem P folgendermaßen definieren: P = (G, S, T, C, λ), wobei G = (V, E) ein beliebiger Graph, S ⊆ V sei die Menge aller Startpunkte, T ⊆ V die Menge aller Endpunkte des Wegproblems sei. Man spricht von einem Single-Source Wegproblem, wenn |S| = 1, von einem Single-Pair Wegproblem, wenn |S| = 1 und |T | = 1 und von einem All-Pairs Wegproblem, wenn S = V und T = V ist. Im Folgenden wollen wir uns auf das Lösen von Single-Source Wegproblemen beschränken. C = (R, M , , e0 , e1 ) L ist eine Bewertungsstruktur bestehend aus einer Bewertungsmenge R und zwei Operationen: : 2R → R (dient zur Bestimmung der optimalen Pfadlänge aus einer Menge von Pfadbewertungen), : R × R → R (verknüpft verschiedene Kantenbewertungen innerhalb eines Pfades). Ausserdem enthält C zwei ausgezeichnete Elemente e0 , e1 ∈ R. λ : E → R ist eine Kantenbewertungsfunktion, die jeder Kante genau eine Bewertung aus R zuordnet. Sei Pst die Menge aller Pfade zwischen einem Startknoten s ∈ S und einem Endknoten t ∈ T . Dann wird der kürzeste Pfad definiert als M {λ(p)|p ∈ Pst }. λ(Pst ) = 13 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 Für jedes Problem P gilt für den leeren Pfad (also ein Weg, der über keine Kante führt) λ() = e1 . Ein Beispiel für eine Bewertungsstruktur C ist die folgende: C = (R∞ , inf, +, ∞, 0). Hier wird jedem möglichen Pfad eine Bewertungsnummer aus der Menge der reellen Zahlen zugeordnet. Dabei wird aus einer Menge von Wegen der kürzeste über die Infimum-Operation ausgewählt. Einzelne Kantenbewertungen werden zur Gesamtpfadbewertung aufaddiert: λ(pij ) = λ((vi , vi+1 )) + ... + λ((vj−1 , vj )). 5.3 Wegexpansion Es soll nun ein Single-Source Wegproblem über Wegexpansion gelöst werden. Wegexpansion bedeutet, dass ein Graph ausgehend von einem Startpunkt Schritt für Schritt abgegangen wird. Wege, die noch nicht expandiert, also bearbeitet wurden, heißen »aktiv«, bereits expandierte Wege werden im Folgenden »permanent« genannt. Wir betrachten nun ein Wegproblem P = (G, S, T, C, λ), für das für jedes e ∈ E gilt λ(e) > 0. 5.4 Der Algorithmus von Dijkstra Der Algorithmus von Dijkstra ist einer der gebräuchlichsten zur Findung von kürzesten Wegen innerhalb eines Graphen. Im Folgenden findet man eine mögliche Darstellung in einem Pascal-ähnlichen Pseudocode. Hinter den »//« Zeichen findet sich ein Kommentar zur Funktion der jeweiligen Zeile. 1) d : array[V ] of R; //Array der besten bekannten Bewertungen für i ∈ V 2) p : array[V ] of set of (PG ∪ {undef }) × R × {aktiv, permanent}; 3) D : priority queue of V × R; //«Puffer« für die Ecken, die als nächstes bearbeitet werden sollen. 4) d[s] := e1 ; p[s] := {(, e1 , aktiv)}; //Initialisierung von s. 5) insert (s, e1 ) into D; //Einfügen von s in D. 6) f or all (i ∈ V \ {s}) do d[i] := e0 ; p[i] := {undef, e0 , aktiv)}; //Initialisierung aller Punkte außer s. 7) while (D 6= ∅) do 8) (i, r) := min(D); //Kleinstes Element aus D wählen. 9) p := p0 | (p0 , r, aktiv) ∈ p[i] //Das aktuelle Pfadelement wählen. 10) p[i] := p[i] ∪ {(p, r, permanent)}{(p, r, aktiv)}; //Der betrachtete Pfad wird auf permanent gesetzt. 11) f or all (e = (i, j) ∈ E) do //Alle Kanten zu benachbarten Punkten von i wählen. 12) 13) 14) if (d[j] > (r λ(e), aktiv)) then //Wenn der neue Weg nicht größer ist als der schon bekannte. d[j] := (r λ(e)); //Der neu gefundene Weg ist nun der kürzeste. a := f alse; //a (eine temporäre Variable) wird initialisiert. 15) p[j] := p[j] ∪ {(pe, r λ(e), aktiv)}; //Der Weg über i nach j wird dem Array p hinzugefügt. 16) f or all (p0 , r0 , φ) ∈ p[j] do //Das Array p soll nun in eine minimale Menge umgeformt werden. L if (p<<,r<<,φ)∈p[j],r<<6=r 0 r <<= d[j] then 17) 18) p[j] := p[j] \ {(p0 , r0 , φ)}; 19) if ((j, r0 ) ∈ D) then 20) relocate(j, r0 , r λ(e)) in D; 21) a := true; //Wenn bereits (j, r0 ) ∈ D ist, braucht man (j, r0 ) nicht zu D hinzuzufügen. 22) 23) if (a = f alse) then insert (j, r λ(e)) into D. Man kann sich leicht klarmachen, wie der Algorithmus arbeitet (siehe Abbildung 1.6): Anfangs werden alle bekannten Weglängen von s auf e0 gesetzt – nach unserem weiter oben vorgestelltem Bewertungssystem wäre dies z.B. ∞. Gleichzeitig wird der Startpunkt s als trivialer Wegpunkt in den Pufferspeicher D eingefügt. Jetzt werden innerhalb der Schleife alle Nachbarpunkte des gerade bearbeiteten Punktes betrachtet und, falls sie noch nicht mit einer permanenten Kante inzidieren, ebenfalls in D gespeichert. Bei jedem Schleifendurchlauf wird der jeweils kostengünstigste bekannte Weg aus D bearbeitet. 14 Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie Sobald ein Punkt i aus D entfernt wird, wird der Pfad p[i] auf permanent gesetzt – der kürzeste Weg nach i wurde gefunden. Sollte die Ausgangsfrage ein Single-Pair Wegproblem gewesen sein, kann der Algorithmus also abgebrochen werden, sobald der Zielknoten aus D entfernt wurde. Bei einem SingleSource Problem wird der Algorithmus so lange durchgeführt, bis zu jedem Knoten kein kürzerer Weg als der bereits gefundene verfügbar ist. In diesem Fall bilden die Pfade aus p[...] einen Baum, in dem vom Startpunkt s genau ein Pfad zu jedem anderen Punkt existiert. Dieser ist der Kürzeste aus dem Ursprungsgraphen G. Zu zeigen bleibt noch, dass der Algorithmus von Dijkstra korAbb. 1.6: In einem gewichteten Graphen soll der rekt funktioniert, also dass nach dem letzten Durchlauf der kürzeste Weg von s zu allen anderen Punkten while-Schleife d[i] = d(s, i) gilt. Der ausführliche Beweis soll gefunden werden. an dieser Stelle entfallen, da er den Rahmen dieser Dokumentation sprengen würde. Der geneigte Leser kann den Beweis allerdings in entsprechender Fachliteratur selbst nachvollziehen. Zur Beweisidee: Über das Prinzip der vollständigen Induktion und einen Widerspruch kann die Korrektheit des Algorithmus gezeigt werden. 6 Bäume (Thomas Czulak, Christian Franke) 6.1 Einleitung Der minimale Spannbaum eines Graphen ist von besonderer Bedeutung für die Wirtschaft, beispielsweise beim Planen eines Strom- oder Gasnetzes. Von den Versorgungsstationen aus soll ein Produkt günstig zum Endverbraucher transportiert werden. Gefragt ist in diesem Fall nicht der kürzeste Weg, da das Produkt aufteilbar ist, z.B. Strom. Benötigt wird ein Baum, der jeden Knoten mit jedem anderen verbindet und das genau mit einem Pfad, da so die Kosten am geringsten sind. Ein Beispiel zeigt Abbildung 1.7. Der Knoten f ist ein Kraftwerk und von diesem sollen einige größere Städte mit Strom versorgt werden. Die grauen Kanten zeigen hierbei den minimalen Spannbaum, also die kostengünstigste Verbindung. Allerdings wird bei diesem nicht die Ausfallsicherheit beachtet; so würde ein Ausfallen der Verbindung {f ; h} ein komplettes Zusammenbrechen der Stromversorgung zur Folge haben. Aufgabenstellung: Untersuchen des Laufzeitverhaltens des Algorithmus von Prim und des Algorithmus von Kruskal. 6.2 Grundlagen Abb. 1.7: Beispiel für die Anwendung eines Definition 9 Ein Baum ist ein zusammenhängender, Spannbaumes kreisfreier Graph, der mindestens zwei Blätter v hat, wobei ein Blatt ein Knoten v mit d(v) = 1 ist. 1 Definition 10 Ein minimaler P Spannbaum T (U, F, ω) ⊆ G(V, E, ω) ist definiert durch U = V und F ⊆ E, wobei die Summe der Gewichte e∈F ω(e) minimal ist. 1 G sei im Folgenden stets zusammenhängend und gewichtet, ω(e) ist für jedes e ∈ E das Gewicht. 15 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 Definition 11 Seien g, f : N → R Funktionen. Es gilt: f (n) = O(g(n)) : ⇔ ∃ C ∈ R+ ∧ ∃n0 ∈ N 3 ∀n ≥ n0 : |f (n)| ≤ C|g(n)|. 6.2.1 Algorithmen Sei im Folgenden T (U, F, ω) ⊆ G(V, E, ω), wobei T der minimale Spannbaum von G sei. Algorithmus von Kruskal Dieser Algorithmus beginnt mit leerer Kantenmenge und Knotenmenge U = V . Zu Beginn sortiert er alle e ∈ E aufsteigend nach ihrem Gewicht. Nun wählt er die »erste« Kante e so aus, dass ω(e) minimal ist, und entfernt diese aus der sortierten Liste. Sofern F + e keinen Kreis enthält, wird diese zu F hinzugefügt. Dies wird genau (|E| = m)-mal wiederholt. Algorithmus von Prim Dieser Algorithmus beginnt mit leerer Kantenmenge. Die Knotenmenge enthält genau einen beliebigen Startknoten. Der Algorithmus sucht eine Kante e ∈ E von u ∈ U ⊆ V mit minimalem ω(e) zu einem v ∈ (V \ U ) und fügt sowohl v als auch e zu U bzw. F hinzu. Dieser Vorgang wird (|V | − 1)-mal wiederholt. Danach ist T ein minimaler Spannbaum von G. Beide Algorithmen lösen das Problem, in einem Graphen G(V, E, ω) einen minimalen Spannbaum T (U, F, ω) ⊆ G zu finden.2 6.3 Laufzeitbetrachtungen Im Folgenden wird immer der Worst-Case Fall betrachtet, da der Best-Case Fall meistens keine konkrete Aussage bezüglich der Laufzeit zulässt und der Average-Case Fall nahezu unmöglich zu kalkulieren ist. 6.3.1 Algorithmus von Kruskal Zunächst müssen die Kanten sortiert werden, dafür bietet sich ein Verfahren wie Merge-Sort an, ein höheres Sortierverfahren, mit einer Laufzeit O(n · log n), wobei n = |E|. Die darauffolgende Schleife wird (|E|)-mal durchlaufen. In ihr wird zunächst das erste Element der sortierten Liste entnommen [O(1)] und überprüft, ob dieses keinen Kreis bildet [O(log |V |)] und gegebenenfalls werden die Komponenten der Kante hinzugefügt [O(1)], dies ergibt eine Gesamtlaufzeit für die Schleife von [O(|E| log |V |)]. Daraus folgt für die Gesamtlaufzeit: O(|E| log |E| + |E| log |V |) = O(|E|(log |E| + log |V |)). Da |E| = |V | 2 ≤ |V |(|V | − 1) ≤ |V |2 für einen vollständigen Graphen, also für maximales |E| gilt, folgt: = O(|E|(2 log |V | + log |V |) = O(|E|3 log |V |) = O(|E| log |V |). 6.3.2 Algorithmus von Prim Zunächst werden die Felder initialisiert, dies dauert O(|V |). Der Vorgang wird für jeden Knoten außer dem letzten durchgeführt, also (|V | − 1)-mal wiederholt. Dabei wird jedesmal die kürzeste Kante gesucht [O(|V |)] und hinzugefügt [O(1)] und zum Schluss werden noch einmal die Felder angepasst [O(|V |)]. Daraus ergibt sich eine Laufzeit für die Schleife von O((|V | − 1)(|V | + |V | + 1)) = O(|V | · 2|V |) = O(|V |2 ): O(|V |2 + |V |) = O(|V |2 ). 6.3.3 Auswertung. Der Algorithmus von Kruskal ist dem von Prim vorzuziehen, da sich bei Prim die Laufzeit quadratisch mit der Knotenzahl entwickelt. 2 16 Die Ergebnisse der Algorithmen sind in jedem Fall minimal, aber nicht immer identisch. Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie 7 Fixpunktsatz von Brouwer (Friederike Schroeder, Sebastian Timmerberg) Luitzen E. J. Brouwer (1881-1966) stellte den nach ihm benannten Fixpunktsatz auf, der besagt, dass jede stetige Selbstabbildung einer geschlossenen n-Scheibe einen Fixpunkt besitzt. Als anschauliches Beispiel kann eine Tasse Kaffee dienen. Nach dem Brouwerschen Fixpunktsatz gilt, dass sich nach dem Umrühren des Kaffees mindestens ein Punkt wieder an der selben Stelle wie vorher befindet, wenn man das Umrühren als stetige Abbildung annimmt. Für Brouwers Fixpunktsatz gibt es mehrere Beweise. Sperners Lemma aus dem Jahr 1928 ist die Grundlage eines relativ leicht nachvollziehbaren Beweises, der nur auf elementare topologische Begriffe zurückgreift. 7.1 Sperners Lemma Lemma 2 (Sperners Lemma) Jede geeignet beschriftete, simpliziale Unterteilung eines Dreiecks T besitzt eine ungerade Anzahl ausgezeichneter Dreiecke. Eine simpliziale Unterteilung eines Dreiecks ist definiert als eine Unterteilung in eine endliche Anzahl beliebiger, kleinerer Dreiecke, von denen jeweils zwei aneinandergrenzende Dreiecke eine ganze Kante oder einen Punkt gemeinsam haben. Eine Beschriftung der Ecken des Dreiecks T ist geeignet, wenn: – die drei Ecken von T mit 0, 1, 2 (in beliebiger Reihenfolge) beschriftet sind, – alle Ecken auf den Dreiecksseiten von T mit Endpunkten i und j entweder i oder j heißen, – alle Ecken innerhalb von T beliebig beschriftet sind (vgl. Abbildung 1.8 (a) ). Teildreiecke, deren Ecken alle drei Beschriftungen aufweisen nennt man ausgezeichnet. Abb. 1.8: (a) geeignet beschriftetes Dreieck, (b) zugehöriger Graph Beweis: Sei T0 die Region außerhalb von T und seien T1 , T2 , ..., Tn die Teildreiecke. Hierzu wird ein Graph G mit der Eckenmenge v0 , v1 , ..., vn konstruiert, wobei jede Ecke vk für ein Dreieck Tk und v0 für die Region T0 steht. Haben Tm und Tk eine gemeinsame Seite mit den Endpunkten 0 und 1, so werden die zugehörigen Ecken vm und vk durch eine Kante verbunden (vgl. Abbildung 1.8 (b)). v0 kann nur mit Ecken verbunden werden, deren zugehörige Dreiecke eine Seite mit Teilen der Kante von T zwischen 0 und 1 gemeinsam haben. Auf dieser Kante liegen ausschließlich Kanten von Teildreiecken mit den Endpunkten (0, 0), (0, 1) oder (1, 1). Zu zeigen, dass v0 immer ungeraden Grades ist, entspricht dem Beweis, dass es immer eine ungerade Anzahl von Kanten (0, 1) gibt, die auf der zu den Eckpunkten 0 und 1 gehörenden Seite von T liegen: Nimmt man an, alle variabel benennbaren Ecken seien 0, so gibt es genau eine Kante mit 0 und 1 als Ecken. Benennt man weitere Knoten in 1 um, so verschiebt sich entweder die vorhandene Kante, oder es kommen zwei neue hinzu (vgl. Abbildung 1.9). Damit ist die Anzahl immer ungerade und somit v0 immer ungeraden Grades. 17 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 Abb. 1.9: Dreiecksseite mit Endpunkten 0 und 1 Da die Summe aller Eckengrade eines Graphens immer gerade und der Grad von v0 ungerade ist, muss eine ungerade Anzahl der Ecken v1 , v2 , ..., vn von ungeradem Grad sein. Es ist offensichtlich, dass keine Ecke außer v0 den Grad drei haben kann, und so müssen die Ecken mit ungeradem Grad den Grad eins haben. Aber eine Ecke hat nur dann den Grad eins, wenn das zugehörige Dreieck ausgezeichnet ist (vgl. Abbildung 1.10) Abb. 1.10: Teildreiecke und Gradzahl der zugehörigen Ecke D.h. jedes simplizial unterteilte, geeignet beschriftete Dreieck T besitzt eine ungerade Anzahl ausgezeichneter Dreiecke. q.e.d. 7.2 Beweis des Fixpunktsatzes von Brouwer Satz 5 (Brouwerscher Fixpunktsatz) Jede stetige Selbstabbildung einer geschlossenen n-Scheibe besitzt einen Fixpunkt. Der Einfachheit halber wird der Beweis im Folgenden nur für den zweidimensionalen Fall durchgeführt. Im Beweis wird das 2-Simplex benutzt - ein Dreieck. Da ein Dreieck homöomorph zur 2-Scheibe ist, ist der Satz damit für den zweidimensionalen Fall bewiesen. Beweis: Wir betrachten ein geschlossenes Dreieck T mit den Ecken x0 , x1 und x2 . Dann kann jeder Punkt des Dreiecks dargestellt werden durch x = a0 x0 + a1 x1 + a2 x2 mit ai ≥ 0 für i ∈ {0, 1, 2} P2 und i=0 ai = 1. Ist ai = 0, so liegt der Punkt x auf der Dreiecksseite, welche der Ecke xi gegenüberliegt. Ist ai = 1, sind an = ak = 0 und damit ist x eine der Ecken von T , wobei i, n, k ∈ {0, 1, 2}. Im Folgenden wird jeder Punkt x durch den Vektor (a0 , a1 , a2 ) ∈ R repräsentiert. Sei f eine stetige Selbstabbildung von T und ferner sei f (a0 , a1 , a2 ) = (a00 , a01 , a02 ). Des Weiteren seien die Mengen Si für i ∈ {0, 1, 2} wie folgt definiert S0 = {(a0 , a1 , a2 )|a00 ≤ a0 }, S1 = {(a0 , a1 , a2 )|a01 ≤ a1 }, S2 = {(a0 , a1 , a2 )|a02 ≤ a2 }. Gilt S0 ∩ S1 ∩ S2 6= ∅, so besitzt f einen Fixpunkt. Denn nehmen wir an, es gelte (a0 , a1 , a2 ) ∈ S0 ∩ S1 ∩ S2 , dann muss a0 ≥ a00 , a1 ≥ a01 und a2 ≥ a02 sein. 18 Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie Zusätzlich gilt nach wie vor 2 X ai = i=0 2 X a0i = 1 i=0 Folglich muss (a00 , a01 , a02 ) = (a0 , a1 , a2 ) gelten. (a0 , a1 , a2 ) ist also ein Fixpunkt von f . Die Existenz eines solchen Punktes kann mit Hilfe von Sperners Lemma bewiesen werden. Sei T ein geeignet beschriftetes Dreieck mit willkürlicher Unterteilung, wobei jede Ecke des Dreiecks so beschriftet werden muss, dass die Ecke i in die Menge Si fällt. Aus Sperners Lemma folgt, dass mindestens ein ausgezeichnetes Teildreieck existiert, für dessen drei Ecken gilt, dass eine zu S0 , eine zu S1 und eine zu S2 gehört. Da dies für jede Unterteilung gilt und es möglich ist die Unterteilung so zu wählen, dass die Teildreiecke einen beliebig kleinen Durchmesser haben, lässt sich schließen, dass es je drei Punkte aus S0 , S1 und S2 gibt, die beliebig nah beieinader liegen. Daraus folgt S0 ∩ S1 ∩ S2 6= ∅. q.e.d. 8 Planarität von Graphen (Carl Heese, Georg Loho) 8.1 Vorbemerkung Wir haben das Thema »topologische Graphentheorie« gewählt; dieses Teilgebiet der Graphentheorie beschäftigt sich mit der Darstellbarkeit von Graphen auf Oberflächen. Nach kurzer Zeit merkten wir allerdings, dass man um selbige richtig zu betreiben, tiefer gehende analytische bzw. vor allem topologische Vorkenntnisse benötigt. So entschlossen wir uns, den Blick auf eine besondere Oberfläche, die Ebene, zu richten; aus diesem Gebiet beweisen wir jetzt den »Satz von Kuratowski«. 8.2 Grundbegriffe 1) Wenn Y ein Subgraph eines Graphen G ist und Y durch Setzen von neuen Ecken auf Kanten eines Graphen X entsteht, so ist X ein topologischer Minor von G. Man schreibt G = T X. 2) Ein Graph G = (V, E) heißt zusammenhängend, falls es für alle x, y ∈ V einen Pfad von x nach y gibt. 3) Ein Graph G heißt k-fach zusammenhängend, wenn man mindestens k Ecken entfernen müsste, damit der resultierende Graph nicht mehr zusammenhängend ist. 4) Ein Graph G heißt planar, wenn er zusammenhängend ist und sich in der Ebene darstellen lässt, so dass zwei beliebige Kanten höchstens einen Knoten als gemeinsamen Punkt haben, sich also keine zwei Kanten schneiden. 5) Ein Graph G heißt kantenmaximal bezüglich einer gewissen Eigenschaft, falls G die Eigenschaft erfüllt, aber ein Graph, der durch das Hinzufügen einer beliebigen Kante zu G entsteht, diese Eigenschaft nicht mehr hat. 1) K 5 : Der vollständige Graph mit fünf Knoten. ˙ 2 = V 2) K3,3 : Der Graph mit sechs Punkten, der aus zwei gleichmächtigen Teilmengen V1 , V2 : V1 ∪V besteht, sodass jeder Punkt von V1 mit allen Punkten aus V2 paarweise verbunden ist. 8.3 Der Satz von Kuratowski Satz 6 (Kuratowski) Ein Graph G ist genau dann planar, wenn er weder den K 5 noch den K3,3 als Minor hat. Der Beweis dieses Satz besteht aus zwei Richtungen, von denen im Folgenden die erste ausgeführt und die zweite skizziert wird: 1) Hat ein Graph den K 5 oder den K3,3 als Minor, so ist er nicht planar. 2) Besitzt ein Graph weder den K 5 noch den K3,3 als Minor, so ist er planar. 19 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 8.3.1 Beweis der ersten Aussage Offensichtlich ist jeder Subgraph bzw. Minor eines planaren Graphen planar. Um die erste Aussage zu beweisen, muss also gezeigt werden, dass weder der K 5 noch der K3,3 planar sind. Hierzu verwenden wir die Eulersche Formel (Beweis: siehe Kapitel »Platonische Körper«; dabei ist |V | die Anzahl der Knoten, |E| die Anzahl der Kanten und |R| die Anzahl der Flächen): |V | − |E| + |R| = 2. Lemma 3 Für einen planaren Graphen G = (V, E) mit |V | ≥ 3 gilt: |E| ≤ 3 · |V | − 6. Beweis: Jedes Gebiet aus R wird von mindestens drei Kanten berandet. Da jede Kante gleichzeitig Rand von zwei Gebieten ist, wobei auch das Außengebiet mitzählt, gilt folgende Ungleichung: 3·|R| ≤ 2·|E| . Durch Umformen und Einsetzen in die Eulersche q.e.d. Formel folgt: |V | − |E| + 23 |E| ≥ 2 ⇔ 3 · |V | − 6 ≥ |E| . Abb. 1.11: K 5 und K3,3 Lemma 4 Für einen dreiecksfreien, planaren Graphen mit V ≥ 3 gilt: |E| ≤ 2 · |V | − 4. Beweis: Der Rand eines jeden Gebietes ist hier mindestens ein Viereck. Somit gilt in Analogie zu Lemma 1 4 · |R| ≤ 2 · |E|. Einsetzen in die Eulersche Formel ergibt |V | − |E| + 12 |E| ≥ 2 ⇔ 2|V | − |E| ≥ 4. q.e.d. Satz 7 Weder (i) der K 5 noch (ii) der K3,3 ist planar. Beweis: (i) Annahme: Der K 5 ist planar, dann gilt nach Lemma 1 folglich |E(K 5 )| ≤ 3·|V (K 5 )|−6 = 3·5−6 = 9. Es ist aber |E(K 5 )| = 4 + 3 + 2 + 1 = 10 > 9. Widerspruch. (ii) Der K3,3 ist per Definition dreiecksfrei. Angenommen, der K3,3 ist planar. Dann gilt nach Lemma 2 |E(K3,3 )| ≤ 2 · |V (K3,3 )| − 4 = 2 · 6 − 4 = 8. Außerdem gilt |E(K3,3 )| = 3 · 3 = 9 . Widerspruch. Somit ist die erste Aussage bewiesen. q.e.d. 8.3.2 Beweis der zweiten Aussage Lemma 5 Jeder 3-fach zusammenhängende Graph G, der keinen K 5 oder K3,3 als topologischen Minor hat, ist planar. Beweisidee: Durch Induktion über |G|: Für |G| = 4 erhält man den vollständigen Graphen mit vier Ecken, für den die Behauptung gilt. Sei also |G| > 4 und die Aussage richtig für kleinere Graphen. Wenn man nun zwei Punkte x und y mit den angrenzenden Kanten herausnimmt, erhält man einen Graphen mit einem Gebiet, in dem sich vorher die Kante xy befand. Der Rand dieses Gebietes sei ein Kreis C. Jetzt betrachtet man die Menge X aller Nachbarn von x außer y. Es muss nun einen Pfad auf C zwischen zwei nebeneinanderliegenden Nachbarn xi und xi+1 von X geben, sodass alle Nachbarn von Y auf diesem Pfad liegen. Denn sonst erhält man einen K3,3 aus x, y, xi und xi+1 und den zwei nicht beide auf dem Pfad liegenden Punkten, was ein Widerspruch zur Planarität wäre. Damit liegen alle auf einem solchen Pfad und man kann y in die Fläche einbetten, die von dem Pfad und den Kanten xi x und xi+1 x begrenzt ist. Lemma 6 Sei Ψ eine Menge von 3-fach zusammenhängenden Graphen. Sei G ein Graph, in dem es zwei Punkte gibt, sodass G ohne diese zwei Punkte nicht zusammenhängend ist und seien G1 , G2 Subgraphen von G so, dass G = G1 ∪ G2 und G1 ∩ G2 = {x, y} = S mit x, y ∈ V . Wenn G kantenmaximal ohne einen topologischen Minor in Ψ ist, dann sind es auch G1 und G2 und xy ist eine Kante von G. Beweisidee: Als Erstes ist festzustellen, dass x und y jeweils Nachbarn in jeder Komponente von Gi − S (i = 1 oder 2) haben, da sonst schon das Entfernen eines einzelnen Knotens genügen würde, damit der Graph nicht mehr zusammenhängend ist. Falls xy ∈ / G, so hat G + x wegen der Kantenmaximalität einen T X mit X ∈ Ψ, wobei x, y ∈ T X. Da X 3-fach zusammenhängend ist, S allerdings nur aus zwei Punkten besteht, muss der T X ganz in einem der Gi liegen, o.B.d.A in G1 . Da x und y beide jeweils Nachbarn in G2 haben, gibt es einen Pfad von x nach y durch G2 , durch den man xy in T X ersetzen kann und einen T X in G erhält. Das ist ein Widerspruch zur Voraussetzung, womit xy ∈ G ist. Um noch zu zeigen, dass G1 und G2 kantenmaximal ohne einen topologischen Minor in Ψ sind, fügt man diesmal G1 eine Kante e0 hinzu. Da G + e0 wegen der Kantenmaximalität von G einen T X enthalten muss, muss er entweder in G1 + e0 , womit das gewünschte gezeigt wäre, oder in G2 ⊆ G, was ein Widerspruch dazu ist, dass G keinen T X enthält, sein. 20 Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie Lemma 7 Wenn G = (V, E) ein Graph mit |G| ≥ 4 kantenmaximal ohne Elemente aus Ψ := {K 5 , K3,3 } ist, dann ist G 3-fach zusammenhängend. Beweisidee: Wieder mit Induktion über |G|, mit dem selben Induktionsanfang wie im Lemma zuvor. Der Beweis wird nun durch Widerspruch geführt: Angenommen, es gäbe zwei Punkte, sodass G ohne diese zwei Punkte nicht zusammenhängend ist. Man wählt nun zwei Subgraphen G1 und G2 von G so, dass G1 ∩ G2 = {x, y} mit x, y ∈ V . Nun sind G1 und G2 nach Lemma 5 auch kantenmaximal ohne Elemente aus Ψ, damit nach Induktionsvoraussetzung 3-fach zusammenhängend und deshalb wegen Lemma 4 planar. Sei nun zi ein Punkt auf dem Rand eines Gebietes in Gi , auf dessen Rand die Kante xy liegt (i = 1 oder 2); und sei X ∈ Ψ. Würde ein T X ganz in einem der Gi liegen, dann würde nach Definition von T X entweder Gi + xzi oder Gi + xzi einen T K 5 oder einen T K3,3 enthalten; damait würde sich allerdings ein Widerspruch ergeben, da Gi planar ist und xzi bzw. yzi nach Wahl von zi durch ein Gebiet gehen und damit keine andere Kante schneiden können. Also müssen die Teile eines T X auf G1 und G2 verteilt sein. Da G allerdings nicht 3-fach zusammenhängend sein soll, kann es zwischen G1 und G2 nur x, y und die Kante z1 z2 geben. Dadurch ergibt sich dann aber bei jeder beliebigen Verteilung der Ecken eines T X ein Widerspruch zur Planarität von G1 und G2 . Satz 8 Besitzt ein Graph weder den K 5 noch den K3,3 als Minor, so ist er planar. Beweis: Ein Graph H, der (i) keinen K 5 oder K3,3 als topologischen Minor hat, ist ein Subgraph eines Graphen mit der Eigenschaft aus Lemma 6 und ist damit (ii) 3-fach zusammenhängend. Da mit (i) und (ii) die Bedingungen von Lemma 4 erfüllt sind, ist H planar. Damit ist die zweite Richtung des Satzes von Kuratowski bewiesen. q.e.d. 9 Färbung (Hella Ußler, Fairouz Gaber) 9.1 Einleitung Wieviele Farben werden mindestens gebraucht, um eine politische Landkarte zu färben? Selbstverständlich sollen dabei keine zwei Länder mit gemeinsamer Grenze dieselbe Farbe erhalten. Schon lange wurde vermutet, dass die Antwort »vier« lautet. Bewiesen wurde dies aber erst 1976 von Kenneth Appel und Wolfgang Haken, die in ihrem Beweis neben elementaren und teilweise sehr alten Ideen auch den Computereinsatz nutzten. Wesentlich einfacher und ohne den Einsatz von Computern lässt sich beweisen, dass fünf Farben zur Färbung ausreichen, was Thema unseres Projekts sein soll. 9.2 Der Fünffarbensatz Abb. 1.12: Umwandlung der Knoten in Flächen Satz 9 Sei G = (V, E) ein Graph und C eine Menge von Farben. Dann ist eine k-Flächenfärbung eine Abbildung, die jeder Fläche aus G genau eine Farbe aus C zuordnet, sodass keine zwei benachbarten Flächen (Flächen, die an die gleiche Kante grenzen) die gleiche Farbe erhalten. Genauso ist eine Knotenfärbung eine Färbung, die jedem Knoten genau eine Farbe zuordnet, sodass keine benachbarten Knoten die gleiche Farbe erhalten. Der Fünffarbensatz besagt, dass für die Flächenfärbung eines planaren Graphen ohne Brücken fünf Farben ausreichen. 9.2.1 Vereinfachung des Graphen Eine politische Landkarte kann als Graph aufgefasst werden, wobei die Grenzen zweier benachbarter Länder die Kanten und die Schnittpunkte der Grenzen die Knoten darstellen. Man kann jeden Knoten v mit Grad d(v) 6= 3 in Knoten mit Grad d(v) = 3 umwandeln, indem man, wie in Abbildung 1.12 gezeigt wird, jeden Knoten in eine Fläche umwandelt. 21 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 Wenn sich der Graph aus Abbildung 1.12b) in fünf Farben färben lässt, so lässt sich auch der aus Abbildung 1.12a) mit fünf Farben färben. Wir können also jeden Graphen in einen Graphen umwandeln, in dem gilt: ∀v ∈ V : d(v) = 3. 9.2.2 Umwandlung der Flächen- in Knotenfärbung Das Problem der Flächenfärbung kann man vereinfachen, indem man es in eine Knotenfärbung umwandelt. Dazu benötigt man den dualen Graphen G∗ , der wie folgt konstruiert wird: Zu Abb. 1.13: a): Graph G mit Knoten f ∗ in jeder jeder Fläche f aus G gibt es einen Knoten f ∗ in G∗ (Abbildung Fläche f , b): dualer Graph G∗ 1.13): Wenn zwei Flächen f1 , f2 eine Kante gemeinsam haben, so werden die jeweiligen Knoten f1∗ , f2∗ durch eine Kante e∗ verbunden. Wenn sich die Knoten von G∗ in fünf Farben färben lassen, so lassen sich die Flächen von G ebenfalls in fünf Farben färben. Da wir in Schritt 1 den Graphen so vereinfacht haben, dass d(v) = 3 für alle Kanten v gilt, entstehen in G∗ nur Flächen mit drei anliegenden Kanten, d.h. Dreiecke, und somit eine so genannte Triangulität 3 . 9.2.3 Beweis, dass es Knoten mit Grad d(v) ≤ 5 gibt: Definiere: ni :=| {v ∈ V | d(v) = i} | (Anzahl der Knoten vom Grad i) Ist k = max(d(v)) (maximaler Knotengrad), so ergeben sich die Beziehungen: 1) k P ni = n (Anzahl aller Knoten) i=2 2) k P i · ni = 2e (jeder Knoten vom Grad i grenzt an i Knoten; jede Kante grenzt i=2 an 2 Knoten) 3) 2e = 3f (da es sich um eine Triangulität handelt, grenzt jede Fläche an drei Kanten; jede Kante grenzt an 2 verschiedene Flächen) Abb. 1.14: a) G∗ ; b) G∗ − v Mit Verwendung der Eulerschen Formel (f + n − e = 2) folgt nach einigen Umformungsschritten: 12 + k X Abb. 1.15: a) G∗ ; b) G∗ − v (i − 6)ni = 4n2 + 3n3 + 2n4 + n5 . i=6 Da die rechte Seite der Gleichung positiv ist, muss auch die linke Seite der Gleichung positiv sein, d.h. es muss Knoten v mit d(v) ≤ 5 geben, welche wir im Folgenden für die Induktion betrachten wollen. Abb. 1.16: a) G∗ ; b) G∗ − v 9.2.4 Induktion über Anzahl der Knoten: Induktionsanfang: Ein Graph mit ≤ 5 Knoten lässt sich offensichtlich mit ≤ 5 Farben färben. Induktionsbehauptung: Es existiert eine 5-Knotenfärbung für G∗ mit | G∗ |= n. Induktionsschritt: Angenommen, im Graphen mit n + 1 Knoten existiert ein Knoten mit: Abb. 1.17: a) G∗ ; b) G∗ − v a) d(v) = 2 Durch Entfernen des Knotens v und einer umgebenden Kante, entsteht ein Graph G∗ , der eine Triangulität mit n-Knoten darstellt und damit nach Induktionsbehauptung eine 5-Knotenfärbung besitzt. Da die anliegenden Knoten von v mit zwei Farben gefärbt sind, bleibt für v eine 5. Farbe übrig. 3 22 Graph, bei dem alle Flächen, auch die Äußere, Dreiecke sind. Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie b) d(v) = 3 Durch Entfernen des Knotens v, entsteht ein Graph G∗ , der eine Triangulität mit n-Knoten darstellt und damit nach Induktionsbehauptung eine 5-Knotenfärbung besitzt. Da die anliegenden Knoten von v mit drei Farben gefärbt sind, bleibt für v eine 5. Farbe übrig. c) d(v) = 4 Durch Entfernen des Knotens v und durch Verbinden von zwei diagonal gegenüberliegenden Punkten entsteht ein Graph G∗ , der eine Triangulität mit n-Knoten darstellt und damit nach Induktionsbehauptung eine 5-Knotenfärbung besitzt. Da die anliegenden Knoten von v mit ≤ 4 Farben gefärbt sind, bleibt für v eine 5. Farbe übrig. d) d(v) = 5 Durch Entfernen des Knotens v mit d(v) = 5 kann man wie in Abbildung 1.17 eine Triangulität mit n-Knoten erzeugen. Um zu beweisen, dass die fünf benachbarten Knoten von v mit nur vier Farben färbbar sind, benötigen wir die Kemp’sche Kettenfärbung, die wie folgt funktioniert: Abb. 1.18: a) Graph G; b) H(c1 ; c2 ), c) H(c1 ; c2 ) mit vertauschten Farben H(c1 , c2 ) ist der induzierte Untergraph von G, der nur die Knoten enthält, die mit den Farben c1 und c2 gefärbt sind. Die zusammenhängenden Teile von H sind seine Komponenten. Diese Komponenten sind nicht mit anderen Knoten der Farben c1 bzw. c2 verbunden. Somit kann man die Farben innerhalb dieser Komponenten problemlos vertauschen. Nun wollen wir dieses Verfahren zum weiteren Beweis benutzen. Die Knoten seien wie in Abbildung 1.17 zu sehen mit u1 bis u5 bezeichnet. Fall d1 ) Die Knoten u3 und u1 oder u2 und u4 haben die gleiche Farbe. Damit haben wir für die Knoten u1 bis u5 weniger als fünf Farben gebraucht, womit eine 5. Farbe für v übrig bleibt. Fall d2 ) Die Knoten u1 bis u5 sind alle mit verschiedenen Farben gefärbt. O.B.d.A. kann man annehmen, dass u1 mit c1 , u2 mit c2 usw. gefärbt ist. Fall d2 a) u1 und u3 liegen in verschiedenen Komponenten von Abb. 1.19: Wegen Planarität Farben H(c1 , c3 ). Damit können wir die Komponente, in der u1 liegt umfär- vertauschen ben, wodurch u1 mit c3 gefärbt wird. Somit bleibt für v die Farbe c1 übrig. Fall d2 b) u1 und u3 liegen in derselben Komponente von H(c1 , c3 ). Dadurch entsteht ein Weg von u1 nach u3 , der mit den Farben c1 und c3 gefärbt ist. Nun betrachten wir H(c2 , c4 ). Da der Graph planar sein soll, können c2 und c4 nicht in derselben Komponente von H(c2 , c4 ) liegen. Somit kann man die Farben der Knoten vertauschen, indem u2 mit c4 gefärbt wird. Hiermit bleibt c2 für den Knoten v übrig. Damit lässt sich der duale Graph 5-Knotenfärben, und somit der Ursprungsgraph 5-Flächenfärben, was zu beweisen war! 23 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 10 Das Paradoxon des Sportreporters (Fabian Graimann, René Niehus) Am Ende der Fußballsaison, wenn die Sieger schon den Meisterpokal in den Händen gehalten haben, stellt nicht selten ein Sportreporter die Behauptung auf, dass in Wirklichkeit die Absteigermannschaft A Sieger über alle anderen ist. Das belegt er mit Hilfe einer Siegesfolge in der A gegen B, B gegen C, ... und am Ende Z gegen den Sieger gewann. 10.1 Begriffe Definition 12 Gerichteter Graph oder Digraph (directed graph): Ein Graph in dem alle Kanten gerichtet sind, also eine Richtung haben, die durch eine Pfeilspitze gekennzeichet wird. Definition 13 Ein Graph, für den gilt, dass jeder Knoten mit jedem anderen Knoten durch eine Kante verbunden ist, heißt vollständig. Definition 14 Elementarer Weg: Ein Weg, der keinen Knoten mehrfach enthält. Definition 15 Deklassierter Teilnehmer: Ein Teilnehmer, der im Turnier nur verloren hat. Definition 16 Zweitklassige Gruppe im Graphen G: Eine Gruppe von Knoten K, die mit allen Knoten außerhalb der Gruppe mit auf sich gerichteten Kanten verbunden sind. 10.2 Turniergraphen Das Paradoxon des Sportreporters besagt, dass sich für jeden Turnierausgang und für jeden beliebigen Teilnehmer ein Weg finden lässt, in dem der als Ausgangspunkt gewählte Teilnehmer Sieger bezüglich einer Rangliste ist. Tatsächlich gilt folgender Satz: Satz 10 In einem vollständigen, gerichteten Graphen gibt es immer einen gerichteten elementaren Weg, der durch alle Ecken des Graphen verläuft. Das ist zu beweisen. Nehmen wir einen Graphen P , der vollständig und gerichtet ist. Sei V die Menge der Ecken und E die Menge der Kanten von P . Da für den trivialen Graphen |V | = 1 eine Untersuchung nicht notwendig ist, betrachten wir zunächst einen Graphen mit |V | = 2, für den es offensichtlich einen derartigen Weg gibt. Es bleibt zu zeigen: Wenn es einen gerichteten elementaren Weg durch die Punkte A1 , A2 , ..., An eines Graphen gibt, dann lässt sich immer auch ein Weg durch einen zusätzlichen Punkt finden. Also nehmen wir einen solchen Weg W mit den Ecken E={A1 , A2 , A3 , ...,Ak } und fügen zu diesen einen zusätzlichen Knoten Ak+1 hinzu, der, da der Graph vollständig und gerichtet ist, mit allen bisherigen Ecken von W verbunden wird. Es gibt drei Möglichkeiten Ak+1 mit den Ecken in W zu verbinden: 1) Alle Verbindungen von Ak+1 sind zu diesem Knoten gerichtet. Man findet einen Weg, indem man W um Ak+1 verlängert. 2) Mindestens eine, aber nicht alle Kanten zwischen Ak+1 und den anderen Ecken sind von Ak+1 weggerichtet. In diesem Fall findet sich ein Paar von Kanten, für die gilt, dass eine der Kanten zu Ak+1 führt und eine der nachfolgende Kanten wieder von diesem Knoten weggerichtet ist. Dann ersetzt man den alten Weg durch den Weg vom ersten der beiden oben beschriebenen Knoten zu Ak+1 und anschließend zum zweiten. 3) Alle Verbindungen sind von Ak+1 weggerichtet. Ist das der Fall, muss man den gerichteten elementaren Weg bei Ak+1 beginnen und über A1 durch W fortsetzten. Wir haben also gezeigt, dass ein Sportreporter im Anschluss an ein Turnier unter günstigen Bedingungen ein Ranking aufstellen kann, mit welchem er seinen Favoriten als Sieger präsentieren kann. Das Paradoxon besteht aber in der Aussage, dass man von jedem Teilnehmer behaupten kann, er sei Sieger über alle anderen. In Fall 3 kann dies allerdings offensichtlich nicht gelten, weil keiner der Knoten des Weges W außer Ak+1 Anfangspunkt sein kann, wenn alle Kanten von Ak+1 weggerichtet sind. Im Folgenden beschäftigen wir uns mit 24 Akademie Roßleben 2006-7 Kurs 7.1 – Graphentheorie Abb. 1.20: Verbindungsmöglichkeiten der Frage, wann eine Ecke Ausgangspunkt eines Weges durch einen gerichteten Graphen sein kann. Der zum Knoten Am gehörige Spieler (siehe Fall 1) hat im Turnier nur verloren und ist daher ein deklassierter Teilnehmer des Turniers. Da von ihm kein Weg wegführt, ist leicht einzusehen, dass er immer Endpunkt des Weges sein muss. Allgemeiner kann man über einen beliebigen Punkt An sagen: ein gerichteter elementarer Weg, der von An ausgehen soll, kann nicht gefunden werden, wenn An zu einer zweitklassigen Gruppe O gehört, deren Mitglieder nur gegeneinander gewonnen haben. Es ist also nicht möglich, die paradoxe Behauptung als allgemein gültig zu zeigen. Satz 11 Wenn A1 nicht zu einer zweitklassigen Gruppe gehört, gibt es immer einen gerichteten elementaren Weg von A1 aus durch alle Ecken. Für diese Aussage soll nun ein Beweis skizziert werden. Dazu konstruieren wir wie im ersten Beweis einen maximal langen, gerichteten elementaren Weg W , der so zu erweitern ist, dass der Anfangspunkt nicht verändert werden muss. Das ist der Fall, wenn es eine Kante gibt, die auf die Ecke Ak+1 weist, um welche der Weg erweitert werden soll. In seiner allgemeinen Form trifft das Paradoxon also genau dann zu, wenn keine zweitklassigen Gruppen vorhanden sind. Literaturverzeichnis Printmedien [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Halin, Rudolf: Graphentheorie, Wissenschaftliche Buchgesellschaft Darmstadt, 1989, S. 24–26. Hartsfield, Nora/Ringel, Gerhard: Pearls in Graph Theory, Academic Press, 1990, S. 49–58. Ore, Oystein: Graphen und ihre Anwendungen, Ernst Klett Verlag, 1974, 90–95. Nitzsche, Manfred: Graphentheorie für Einsteiger, Vieweg Verlag, 2004, 168–171. Theune, Dirk: Robuste und effiziente Methoden zur Lösung von Wegproblemen, B. G. Teubner Verlagsgesellschaft, 1995. Turau, Volker: Algorithmische Graphentheorie, Addison Wesley Verlag, 1996. Jungnickel, Dieter: Graphen, Netzwerke und Algorithmen, B.I.–Wissenschaftsverlag, 1987. Bondy, J.A. und Murty, U.S.R.: Graph Theory with applications, North-Holland, 1976, Seiten 21–23. Diestel, Reinhard: Graph Theory, Springer-Verlag, 1996, Kapitel 4. Internetquelle, Stand 12.08.2006 http://www.tiscali.co.uk/reference/encyclopaedia/hutchinson/m0005344.html http://www.math.tu-cottbus.de http://www.fmi.uni-passau.de/blochg/mst/prim.html http://www.fmi.uni-passau.de/blochg/mst/kruskal.html http://xipolis.net/suche/artikel.php?shortname=b1&artikel_id=10073700 http://buechertransportdienst.sub.uni-goettingen.de/pics/karte.gif 25 Kurs 7.1 – Graphentheorie Akademie Roßleben 2006-7 Kurs 7.1: Graphentheorie Kurs 7.2: Welt der Oberflächen 26