Ein Streifzug durch die Graphentheorie 1. Grundbegriffe 2. Bäume und Gerüste 3. Färbung 4. Planare Graphen 5. Paare Graphen und Matchings 2 Inhalt. 1. Grundbegriffe Definitionen: Unter einem Graphen G = (V, E) verstehen wir ein Gebilde, das aus Knoten v und Kanten e besteht. Jede Kante verbindet zwei Knoten. Die Anzahl der Kanten, die in einem Knoten v zusammentreffen, heißt Knotengrad d(v) dieses Knotens. v2 v3 v1 Kante Knotengrade: Knoten d(v1) = 2, d(v2) = 4 d(v3) = 4, d(v4) = 2 d(v5) = 4, d(v6) = 4 v4 v5 v6 3 Wenn die Knoten v0, v1,…, vk der Knoten-Kanten-Folge W = (v0, e1, v1, e2, v2,…, ek, vk) alle verschieden sind, dann heißt W ein Weg (der Länge k). Wenn die Knoten v0, v1,…, vk–1 der geschlossenen KnotenKanten-Folge W = (v0, e1, v1, e2,v2,…, ek, vk = v0) alle verschieden sind, dann heißt W ein Kreis (der Länge k). v5 = v0 e1 v0 e2 v1 e3 v2 v3 Weg mit Länge 4 v4 e4 v4 v1 v3 v2 Kreis mit Länge 5 Zwei Knoten, die durch eine Kante verbunden sind, werden als adjazent oder benachbart bezeichnet. 4 Ein Graph G = (V, E) ist zusammenhängend, wenn zwischen zwei Knoten von G immer ein Weg existiert. zusammenhängend nicht zusammenhängend Man nennt einen Graphen G = (V1 ∪ V2, E) paar, wenn die Menge seiner Knoten in zwei Teilmengen V1 und V2 aufgeteilt werden kann, so dass es nur Kanten zwischen Knoten aus V1 und Knoten aus V2 gibt. 5 Ein Graph mit n Knoten, in dem von jedem Knoten zu jedem anderen Knoten eine Kante führt, heißt vollständiger Graph Kn. K3 K4 K5 Ein Graph, in dem alle Knoten denselben Grad r haben, heißt r–regulär. 2–regulär 3–regulär 4–regulär 6 Ein Graph H heißt Teilgraph oder Untergraph eines Graphen G, wenn alle Knoten von H auch Knoten von G und alle Kanten von H auch Kanten von G sind. Ein Teilgraph von G entsteht also dadurch, dass wir aus dem gegebenen Graphen G Kanten entfernen oder dass wir aus ihm Knoten entfernen und zugleich alle Kanten, die mit diesen Knoten verbunden sind. „Nikolaushaus“ 3 Teilgraphen vom „Nikolaushaus“ 7 Inhalt. 2. Bäume und Gerüste Arthur Cayley beschäftigte sich 1857 mit der Aufzählung von Isomeren gesättigter Kohlenwasserstoffe CnH2n+2 mit gegebener Zahl n von Kohlenstoffatomen. H C H H Methan Definition: H Ethan Propan Butan Isobutan Isomere C4H10 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Satz: Ein Graph ist genau dann ein Baum, wenn es zwischen zwei Knoten jeweils genau einen Weg gibt. 8 Beispiel 1: n=1 n=2 Bäume mit bis zu 5 Knoten. n=3 n=4 n=5 Satz: Jeder Baum mit n Knoten hat genau n – 1 Kanten. Satz: Ein zusammenhängender Graph ist genau dann ein Baum, wenn er nach Entfernen einer beliebigen Kante nicht mehr zusammenhängend ist. 9 Aufgabe 1: Gerade haben wir alle Bäume mit bis zu 5 Knoten gesehen. Jetzt versuchen Sie, sämtliche Bäume mit 6 Knoten zu zeichnen. Lösung: 10 Beispiel 2: Im Gebäude x wohnen 6 Personen, die in verschiedenen Firmen a, b, c, d, e, f arbeiten. Die Längen sämtlicher direkter Wege zwischen x, a, b, c, d, e, f sind im folgenden Graphen an den Kanten angegeben (als so genannte Kantenlängen). 1 a 9 9 c 2 3 8 b 5 Problem: 4 3 5 2 x d f 6 e ^ Straße / direkter Weg Kante = ^ Gebäude / Firma Knoten = Suchen Sie je einen kürzesten Weg von x zu den Firmen. Äquivalente Formulierung: Suchen Sie nach einem Baum in G, der kürzeste Wege vom Gebäude x zu allen Firmen enthält. 11 Sei G = (V, E) ein kantenbewerteter Graph und l(e) die Länge der Kante e. Mit a(v) bezeichnen wir den Abstand des Knotens v vom Startknoten v0, also die Länge eines kürzesten Weges von v0 zu v. Algorithmus von Dijkstra (1959): 1. Lege den Startknoten v0 fest; a(v0):= 0, B:= ({v0}, Ø). 2. Ist B = (V´, E´) der aktuelle Baum, so bestimme einen Knoten v V \ V´ und eine Kante e E, so dass v mit einem Knoten v´ V´ durch die Kante e verbunden ist und a(v):= a(v´) + l(e) minimal ist. 3. Füge v und e zum Baum B hinzu und wiederhole 2. und 3. solange wie möglich. Edsger Wybe Dijkstra niederländischer Informatiker (19302002) 12 Wir suchen also nach einem „Kürzeste–Wege–Baum“ im folgenden Graphen: d a 1 5/ 9 7 6 9 x 5 2 0 9 2 c 2 3 4 3 8 6 3 10 8/ e 5 b Schritt a b c d e f 0 9 3 2 / / / 1 7 3 2 5 2 7 3 2 3 6 3 4 6 5 6 11 9/ f neuer Knoten c ^ besuchter Knoten n = 10 11 b ^ neu gefundener Weg n = 5 8 11 d 2 5 8 9 a ^ Kandidaten für nächsten n = hinzuzunehmenden Knoten 3 2 5 8 9 e 3 2 5 8 9 f 13 Definition: Ein Gerüst (oder aufspannender Baum) T eines Graphen G ist ein Teilgraph von G, der alle Knoten von G enthält und ein Baum ist. G T Ein zusammenhängender Graph G und ein Gerüst T Bemerkung: Ein Graph G ist dann und nur dann zusammenhängend, wenn er ein Gerüst enthält. 14 Anwendung von Bäumen und Gerüsten: Minimalgerüste: Bau kostenminimaler Kommunikationsnetze, Energieverbundsysteme, Bewässerungssysteme, Verkehrsnetze Kürzeste–Wege–Probleme: Routenplanung Abzählprobleme: Anzahl von Gerüsten, Anzahl chemischer Isomere mit Baumstruktur 15 Inhalt. 3. Färbung Beispiel 1: Ampelschaltung An verkehrsreichen Straßenkreuzungen und Einmündungen sollen Ampelanlagen verhindern, dass Fußgänger oder Fahrzeuge gleichzeitig unterwegs sind, wenn es zu Kollisionen kommen kann. In unserem Beispiel sollten etwa A und C nicht gleichzeitig grün haben, während sich A und D nicht stören. Wir beschreiben die Situation zunächst mit folgendem Bild. A C F B Problem: Gesucht sind mögliche Ampelschaltungen, die Kollisionen vermeiden. D E 16 A C F B D E Darstellung als Graph: F A B E ^ mögliche gegenseitige Kante = Störung des Verkehrsstroms ^ Verkehrsstrom Knoten = D C 17 Definitionen: Eine Knotenfärbung ist eine Färbung der Knoten von G, so dass keine zwei benachbarten Knoten gleich gefärbt sind. Ein vollständiger Untergraph eines beliebigen Graphen G wird als Clique von G bezeichnet. Die Anzahl der Knoten in einer größten Clique von G heißt Cliquenzahl von G und wird mit cl(G) bezeichnet. Bemerkungen: Eine untere Schranke für die benötigten Farben ist die Cliquenzahl cl(G), also die größte Zahl von Knoten, die alle zu einander benachbart sind. Im Beispiel ist cl(G) = 3. Wir versuchen nun, eine Färbung mit minimaler Farbenzahl zu finden. Es sind zur Zeit keine effektiven Algorithmen zur optimalen Knotenfärbung bekannt. Ein approximativer Färbungsalgorithmus ist der sequentielle Algorithmus nach minimalem Knotengrad. Als mögliche Farben verwenden wir die Zahlen 1,…, n. 18 Der sequentielle Algorithmus nach minimalem Knotengrad: 1. a) Man wähle einen Knoten mit minimalem Knotengrad in G als xn. b) Für i = n – 1, n – 2,…, 1 wähle man einen Knoten mit minimalem Knotengrad in dem Untergraphen G – { xn, xn – 1,…, xi+1 } als xi. 2. Für jedes i = 1,…, n sei Ci = { 1, 2,…, i }. 3. Man setze i = 1. 4. Es sei ci die erste Farbe in Ci. Man ordne diese Farbe dem Knoten xi zu. 5. Für jedes j, für das i < j gilt und xi benachbart zu xj in G ist, setze man Cj = Cj – {ci}. (Dies bedeutet, dass xj nicht dieselbe Farbe gegeben werden kann wie xi.) Wenn i ≤ n – 1, so erhöhe i um 1 und kehre zu 4. zurück. 19 Äquivalente Formulierung für Beispiel 1: Gesucht sind Färbungen des Graphen (mit möglichst wenigen Farben). Lösung: X4 X2 F2 F3 F A X6 Knotennummerierung Färbung B E F2 D C X1 F1 F1 X5 X3 F3 Fi = ^ Farbe i Bemerkung: Da die Cliquenzahl cl(G) = 3 ist, ist diese Färbung optimal. 20 Beispiel 2: Landkartenfärbung Wenn im Atlas die einzelnen Länder deutlich zu erkennen sein sollen, müssen sie sich farblich von einander abheben. Wir betrachten nun das Färben einer Landkarte derart, dass benachbarte Länder stets verschieden gefärbt sind. Frage: Wie viele Farben benötigt man mindestens, um die deutsche Landkarte zu färben, wenn aneinander grenzende Bundesländer verschiedene Farben haben sollen? 21 Bemerkung: Das Problem kann als graphentheoretisches Problem modelliert werden. Dazu ordnet man jedem Land einen Knoten zu und zwei Knoten werden genau dann durch eine Kante miteinander verbunden, wenn die zugehörigen Länder eine gemeinsame Grenze (nicht nur einen gemeinsamen Punkt) haben. ^ Bundesland Knoten = ^ Nachbarschaft Kante = 22 Lösung: Man findet in dem „Deutschlandgraphen“ diesen Untergraphen. Der Untergraph enthält einen ungeraden Kreis, der 3 Farben benötigt, weil er nicht paar ist. Der Knoten im Zentrum des Kreises benötigt eine vierte Farbe. Daher sind also für den „Deutschlandgraphen“ mindestens 4 Farben nötig. 23 Zur Färbung der Deutschlandkarte braucht man 4 Farben. 24 Satz 4–Farben–Satz (Appel / Haken, 1976): Jede Landkarte kann mit vier Farben gefärbt werden. Folgerung: Alle planaren Graphen können mit 4 Farben gefärbt werden. Zur Historie des Vierfarbensatzes: Der Satz wurde erstmals 1852 von Francis Guthrie als Vermutung aufgestellt, als er eine Landkarte der Counties von England färben wollte. Es war offensichtlich, dass drei Farben nicht ausreichten und man fünf in keinem konstruierten Beispiel brauchte. In einem Brief des Londoner Mathematikprofessors Augustus De Morgan vom 23. Oktober 1852 an den irischen Kollegen Sir William Rowan Hamilton wurde die Vermutung erstmals diskutiert und veröffentlicht: „Genügen vier oder weniger Farben, um die Länder einer Karte so zu färben, dass benachbarte Länder verschiedene Farben tragen?“. 25 Auf die über 100–jährige Arbeit einer Vielzahl von Mathematikern aufbauend konnten Kenneth Appel und Wolfgang Haken 1976 einen Beweis für diese Vermutung finden. Der Beweis reduzierte die Anzahl der problematischen Fälle auf 1.936 (heute auf etwa 400), die jedoch jeder durch einen Computer einzeln geprüft werden mussten. Kenneth Appel amerikanischer Mathematiker (geb. 1932) Wolfgang Haken deutsch–amerikanischer Mathematiker (geb. 1928) 26 Anwendungen von Graphenfärbungen: Sitzordnung bei Klausuren oder in Gesellschaften Stundenplanung Landkartenfärbungen Frequenzzuweisungen im Mobilfunk Mobilfunknetz Mobilfunknetz als gefärbter Graph 27 Inhalt. 4. Planare Graphen Definitionen: Eine (zeichnerische) Darstellung eines Graphen heißt ebener Graph, wenn die Kanten keine Punkte gemeinsam haben außer den Knoten. Ein Graph, der als ebener Graph gezeichnet werden kann, d.h. welcher zu einem ebenen Graphen isomorph ist, heißt planar oder plättbar. Beispiel 1: Sind die folgenden Graphen planar? nicht eben, aber planar eben nicht eben, aber planar eben 28 Beispiel 2: Ist ein vollständiges Fünfeck K5 planar? Lösung: Ein Fünfeck hat fünf Seiten und fünf Diagonalen. Davon können wir maximal zwei seiner Diagonalen im Innern unterbringen. Im Äußeren des Fünfecks können wir auch maximal zwei weitere Diagonalen unterbringen, ohne eine der beiden anderen zu überqueren. Also ist ein vollständiges Fünfeck K5 nicht planar. 29 Aufgabe: Problem der zänkischen Nachbarn Drei Nachbarn bauten gemeinsam 3 Brunnen. Sie zerstritten sich. Ist es möglich, sämtliche Häuser mit allen Brunnen so mit Wegen zu verbinden, dass sich die Wege nicht kreuzen? (Dabei sind nur Wege zwischen Haus und Brunnen erlaubt, d.h. nicht zwischen verschiedenen Brunnen oder Häusern.) A 1 B 2 C 3 ^ Weg Kante = ^ Haus / Brunnen Knoten = Äquivalente Formulierung: Ist dieser Graph planar? 30 Darstellung als Graph: 1 A 1 B 2 B 2 C 3 C 3 A Lösung: Dieser Graph kann nicht in die Ebene gezeichnet werden, so dass sich die Kanten nicht überkreuzen, also ist er nicht planar. 31 Definition: G´ ist eine Unterteilung von G, wenn G´ aus G durch Einfügen neuer Knoten ins Innere von Kanten entsteht. K3,3 eine Unterteilung von K3,3 K5 eine Unterteilung von K5 32 Satz (Kuratowski, 1930): Ein Graph ist genau dann nicht planar, wenn er ein vollständiges Fünfeck K5 oder den Zänkische–Nachbarn–Graphen K3,3 oder eine Unterteilung davon als Teilgraph enthält. K5 Bemerkung: K3,3 Kazimierz Kuratowski polnischer Mathematiker (1896−1980) Die Bedingungen des Satzes sind in großen Graphen im allgemeinen schwer zu überprüfen. 33 Anwendung planarer Graphen: Kreuzungsfreie Straßen / Schienen Leiterplattenherstellung Architektur Leiterplatte Die fünf Platonischen Körper als Würfelspiel. 34 Richard Buckminster Fuller (1895–1983) war ein US–amerikanischer Architekt, Konstrukteur, Designer und Schriftsteller. Bekannt geworden ist Buckminster Fuller durch seine geodätischen Kuppeln. Sie basieren auf einer Weiterentwicklung von einfachsten geometrischen Grundkörpern (Tetraeder, Oktaeder und dichte Kugelpackungen) und sind extrem stabil und mit geringstem Materialaufwand realisierbar. 35 Inhalt. 5. Paare Graphen und Matchings Aufgabe 1: Um ein Haus zu bauen, hat der Bauherr 4 Freunde als Helfer gefunden, jeder kann einige bestimmte Arbeiten verrichten. Dazu wird eine Liste angelegt: Helfer Arbeiten Frage: A Sägen B Schleifen C Bohren, Sägen D Schleifen, Fräsen Kann jeder eine passende Arbeit finden? 36 Darstellung als Graph: A Bohren B Sägen C Schleifen D Fräsen ^ Fähigkeit, die ein Helfer hat Kante = Lösung: ^ Helfer / Arbeit Knoten = Ja. 37 Definition: Man nennt einen Graphen G = (V1 ∪ V2, E) paar oder bipartit, wenn die Menge seiner Knoten in zwei Teilmengen V1 und V2 aufgeteilt werden kann, so dass es nur Kanten zwischen Knoten aus V1 und Knoten aus V2 gibt. Satz: Ein Graph ist genau dann ein paarer Graph, wenn er keinen Kreis mit ungerader Knotenzahl enthält. Im folgenden zeichnen wir paare Graphen so, dass die Knoten der einen Teilmenge V1 links und die der anderen Teilmenge V2 rechts dargestellt werden. 38 Beispiel 1: 8 1 7 2 6 3 1 2 3 4 5 6 7 8 4 5 Ein Kreis mit 8 Knoten ist ein paarer Graph. 1 1 5 2 3 2 4 4 5 3 Ein Kreis mit 5 Knoten ist kein paarer Graph. 39 Aufgabe 2: Zeichnen Sie folgenden Baum als paaren Graphen. B A A C B D E D C F E G F G H H Konstruktion: Man nimmt zunächst einen beliebigen Knoten in die Teilmenge V1 auf, bildet dann aus seinen Nachbarn die Menge V2. Anschließend fügt man deren Nachbarn zu V1 hinzu, die Nachbarn dieser Knoten wieder zu V2 usw. Bemerkung: Alle Bäume sind paare Graphen. 40 Definitionen: Ein Matching in einem Graph ist eine Menge unabhängiger Kanten, d.h. von Kanten, die paarweise nicht benachbart sind. Ein gesättigtes Matching ist ein Matching, zu dem man keine weitere Kante hinzunehmen kann, ohne die Unabhängigkeit der Kanten zu zerstören. Ein perfektes Matching ist ein Matching, das alle Knoten des Graphen überdeckt. Bemerkung: Offenbar ist jedes perfekte Matching auch gesättigt. 41 Beispiel 2: ein gesättigtes Matching, welches nicht perfekt ist ein perfektes Matching Bemerkung: Ein Graph kann nur dann ein perfektes Matching besitzen, wenn er gerade Knotenzahl hat. 42 Beispiel 3: Wir haben 6 heiratswillige Frauen F1,…, F6 und 6 Männer M1,…, M6, die als Ehepartner in Frage kommen. Jede Frau hat eine Liste an potentiellen Heiratskandidaten aufgestellt: F1 M1 , M2 , M3 , M5 F2 M1 , M4 , M 6 F3 M2 , M4 F4 M2 , M4 , M 6 F5 M2 , M4 F6 M4 , M5 , M 6 Frage: Ist es unter diesen Bedingungen möglich, alle Frauen zu verheiraten, ohne Bigamie zu betreiben? 43 Äquivalente Formulierung: Besitzt der folgende Graph ein perfektes Matching? F1 F2 F3 F4 F5 F6 M1 M2 M3 M4 M5 M6 ^ Möglichkeit einer Heirat Kante = ^ Frau / Mann Knoten = 44 Definitionen: Ist M ein Matching, so heißt der Weg W M–erweiternd, wenn die Kanten von W abwechselnd zu M und nicht zu M gehören sowie die Endknoten von W nicht von M überdeckt werden. W Matchingkanten Man erweitert das Matching M mit dem M–erweiternden Weg W, indem man zunächst die Kanten von W in M löscht und dann die anderen Kanten von W hinzufügt: M´:= (M \ E(W)) ∪ (E(W) \ M). 6 5 Matchingkanten 45 Bemerkung: Die Konstruktion gesättigter Matchings ist leicht; schwieriger ist hingegen die Konstruktion perfekter bzw. maximaler Matchings, d.h. von Matchings mit maximaler Kantenzahl. Wir geben für paare Graphen einen praktikablen Algorithmus an: Konstruktion maximaler Matchings: Sei M gesättigtes, nicht maximales Matching. 1. 2. 3. 4. Sei a V – V(M). Man sucht, bei a beginnend, systematisch einen M–erweiternden Weg. Wenn ein solcher Weg W existiert, erweitere M mit W, anderenfalls setze G:= G – a. Gehe zu 1. 46 Lösung des Heiratsproblems: F1 F2 F3 F4 F5 F6 M1 M2 M3 M4 M5 M6 M–erweiternder erweitere maximales M(hier mit W Weg sogar Wperfektes) Matching neues gesättigtes gesättigtes Matching Matching M F53 – M24 – F42 – M6 – F26 – M15 → F53 – M24 – F42 – M6 – F26 – M15 47 Satz (Heiratssatz von Hall, 1935): In einem paaren Graphen mit den beiden Knotenmengen V1 und V2 gibt es genau dann ein Matching, in dem alle Elemente von V1 berücksichtigt werden, wenn für jede beliebige Teilmenge T von V1 gilt: Die Kanten, die in T beginnen, haben in der Menge V2 mindestens so viele Enden wie T Elemente hat. Folgerung: In einem regulären paaren Graphen gibt es stets ein perfektes Matching. Folgerung: Wenn jeder Mann k Freundinnen und jede Frau k Freunde hat, dann kann jeder Mann eine seiner Freundinnen und jede Frau einen ihrer Freunde heiraten. 48 Anwendung von paaren Graphen bzw. Matchings bei Zuordnungsproblemen: Arbeitsvermittlung Bedienung von Maschinen Stundenplanung in Schulen Heiratsvermittlung 49 50