WS 2007/08 Diskrete Strukturen Prof. Dr. R. Westermann Lehrstuhl für Computer Grafik und Visualisierung Fakultät für Informatik Technische Universität München http://wwwcg.in.tum.de/Teaching/WS2007/DiskreteStrukturen 11.12.2007 Kapitel IV – Graphentheorie • Graphentheorie – Grundlagen – Bäume – Eigenschaften von Graphen – Graphen-Algorithmen – Matchings und Netzwerke 2 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen Ein Graph heißt planar, falls die Knoten und Kanten so im 2D-Raum eingebettet werden können, dass es keine Kantenüberschneidungen gibt. – Man kann den Graph so zeichnen, dass sich keine Kanten kreuzen. – Ein ebener Graph ist ein in einer Ebene gezeichneter planarer Graph 3 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen planar K3 K2,3 nicht planar K5 K3,3 4 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen nicht planar K5 K3,3 Da K5 und K3,3 nicht planaren Graphen sind, ist jeder Graph, der sie als Teilgraphen hat oder dadurch ensteht, dass Kanten des K5 oder K3,3 durch Pfade ersetzt werden, auch wieder nicht planar. 5 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen Satz (Kuratowski): Ein Graph G ist genau dann planar, wenn er weder eine Unterteilung des K5 noch des K3,3 als Teilgraphen enthält. Unterteilung: Eine Ersetzung von Kanten durch beliebige Pfade. 6 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen Satz (Eulersche Polyederformel): Sei G = (V,E) ein zusammenhängender ebener Graph. Dann gilt: R := #Gebiete = |E| - |V| + 2. Die Gebiete sind die zusammenhängenden Teile der Ebene, die durch das Zerschneiden der Ebene entlang der Kanten entstehen. Das äussere Gebiet zählt man mit. 7 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen Aus der Eulerschen Polyederformel folgt, dass in jeder planaren Darstellung eines Graphen die Anzahl der Gebiete gleich bleibt. 8 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen Beweis (Eulersche Polyederformel): Da G zusammenhängend, gilt |E| |V| - 1. Induktionsanfang: |E| = |V| - 1. Dann ist G ein Baum, der ja keine Kreise enthält und somit in jeder Einbettung genau 1 = |E| - |V| + 2 Gebiete enthält. Induktionsannahme: für |E| = |V| - 1 + n gilt die EPf. 9 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen 10 Beweis (Eulersche Polyederformel): Induktionsschritt: |E| = |V| - 1 + n + 1. Dann kann G kein Baum sein und muss (da zusammenhängend) einen Kreis enthalten, der zwei Gebiete voneinander trennt. Wenn wir eine Kante aus dem Kreis löschen, dann verschmelzen wir zwei Gebiete und reduzieren die Anzahl der Gebiete um 1. Für den entstehenden Graph gilt nach Induktionsannahme die Polyederformel, und somit auch für den Graphen G. □ Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen Satz: Für jeden planaren Graphen G = (V,E) mit |V| 3 Knoten gilt: |E| 3|V| - 6 11 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Planare Graphen Beweis: Da jedes Gebiet einer Einbettung durch mindestens 3 Kanten begrenzt ist und jede Kante höchstens 2 Gebiete begrenzt, gilt 3|R| 2|E|. Mit der Eulerformel ergibt sich 2/3|E| |R| = |E| - |V| + 2. Hieraus folgt: 1/3|E| |V| - 2. □ 12 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Frage: Wie können wir die Zeiten für die Prüfungen im Grundstudium Informatik so ansetzen, dass kein Student mehr als zwei Prüfungen zur selben Zeit hat? 13 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Annahme: Es gibt 7 Prüfungen zu den Vorlesungen 1,…,7. Die folgenden Vorlesungspaare werden von einigen Studierenden gleichzeitig gehört: (1,2);(1,3);(1,4);(1,7);(2,3);(2,4);(2,5);(2,7); (3,4);(3,6);(3,7);(4,5);(4,6);(5,7);(6,7) 14 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Der folgende Graph repräsentiert diesen Sachverhalt: Eine Planung muss berücksichtigen, dass keine über eine Kante verbundenen Prüfungen zur selben Zeit stattfinden. 1 2 7 3 6 15 5 4 Dies entspricht einer Färbung der Knoten (Knotenfärbung), wobei die Farben den Prüfungszeiten entsprechen und adjazente Knoten nicht die gleiche Farbe haben dürfen. Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Bei 4 möglichen Zeiten (rot, blau, grün, gelb) ergibt sich folgende Färbung: 1 3 6 16 Die Frage ist nun, ob es Färbungen mit weniger als 4 Farben gibt. 2 7 5 4 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Frage: Eine Anzahl von Fernsehprogrammen werden von Stationen in Deutschland ausgestrahlt. Wie müssen die Übertragungskanäle zugeordnet werden, damit keine 2 Stationen, die maximal 200 km voneinander entfernt sind, über den gleichen Kanal senden? 17 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Lösungsskizze: Konstruiere einen Graph, in dem die Stationen als Knoten repräsentiert sind. Verbinde zwei Knoten, wenn sie maximal 200 km voneinander entfernt sind. Die gewünschte Zuordnung entspricht einer Knotenfärbung, wobei jede Farbe einem Kanal entspricht. 18 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Das klassische Graphfärbungsproblem ist das Färben von Landkarten, bei dem benachbarte Länder unterschiedliche Farben bekommen sollen. Es ist klar, dass hierbei interessiert, welches die kleinste Anzahl von unterschiedlichen Farben ist, die hierfür benötigt werden. 19 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen – Man nimmt hierbei an, dass das Gebiet eines Landes zusammenhängend ist und Länder, die nur an einem Punkt zusammenstossen gleich gefärbt werden dürfen. 20 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen – Das Überführen des Färbungsproblems für Landkarten auf ein äquivalentes Graphenproblem ist einfach. – Graphen, die aus Landkarten entstehen, sind spezielle Graphen. Auf jeden Fall sind die Graphen planar. Weiterhin sind die entstehenden Graphen einfach, weil ein Land nicht an sich selbst angrenzt oder mehrere Grenzen mit einem anderen Land hat. 21 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen 22 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Definition: Eine Knotenfärbung (vertex colouring) eines Graphen G = (V,E) mit k Farben ist eine Abbildung c: V [k], so dass gilt: c(u) c(v) für alle Kanten {u,v} E. Die chromatische Zahl (chromatic number) (G) ist die minimale Anzahl Farben, die für eine Knotenfärbung von G benötigt werden. 23 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Beispiele: – Ein vollständiger Graph mit n Knoten hat chromatische Zahl n. 24 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Beispiele: – Ein Kreis gerader Länge hat chromatische Zahl 2. – Ein Kreis ungerader Länge hat chromatische Zahl 3. 25 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Beispiele: – Bäume mit 2 Knoten haben chromatische Zahl 2. o n h d r m b a e c g q i f 26 p j k Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München l computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Es ist klar, dass bipartite Graphen immer chromatische Zahl 2 haben. Ausnahme: Graph ohne Kanten! Satz: Ein Graph G = (V,E) ist genau dann bipartit, wenn er keinen Kreis ungerader Länge als Teilgraphen enthält. 27 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Beweis: Folgt direkt aus dem vorhergehenden Beispiel und dem folgenden Algorithmus zur Färbung des bipartiten Graphen. 28 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Algorithmus zum Färben eines bipartiten Graphen. 1. 2. 3. 4. Bestimme den Knoten, an dem die Färbung beginnen soll, und speichere ihn in einer Warteschlange ab. Setze die Farbe dieses Knoten auf 0. Entnimm einen Knoten vom Beginn der Warteschlange und setze die aktuelle Farbe auf (die Farbe dieses Knotens + 1) mod 2. 1. Hänge alle bisher unmarkierten Nachfolger dieses Knotens ans Ende der Warteschlange an. Setze ihre Farbe auf die aktuelle Farbe. Wenn die Warteschlange leer ist, dann wurde jeder Knoten bereits untersucht. Beende die Färbung. Wiederhole ab Schritt 2. Da es keinen Kreis ungerader Länge gibt, kann es keine Kante geben, deren Endknoten gleiche Färbung erhalten. 29 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färben von Landkarten. Satz (Vierfarbensatz): Für jeden planaren Graphen G ist (G) 4. Die Frage ist nun, wie man eine Färbung eines Graphen mit möglichst wenigen Farben berechnen kann. 30 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Der folgende Algorithmus berechnet eine Färbung eines Graphen, indem die Knoten des Graphen in beliebiger Reihenfolge besucht werden und ihnen die jeweils “kleinste” Farbe zugeordnet wird, die noch nicht vergeben wird. Der Algorithmus versucht immer, die lokal beste Möglichkeit zu finden, daher heißt er auch Greedy-Färbung im Sinne einer gierigen Suche. 31 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Greedy-Färbung: Eingabe: Graph G = (V,E), wobei V = {v1,…,vn}. Ausgabe: Färbung c[v]. c[v1] 1; For i from 2 to n do c[vi] min {k ℕ: k c(u) für alle u (vi) {v1,…,vi-1}}; 32 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Analyse der Greedy-Färbung. – Es wird immer die kleinste Farbe gewählt, die noch nicht für einen der direkten Nachbarn gewählt wurde. – Der schlimmste Fall tritt auf, wenn die Nachbarknoten von vi in den Farben 1,…, deg(vi) gefärbt sind, denn dann bekommt der neue Knoten die Farbe deg(vi) + 1. – Ist (G) der maximale Grad der in G vorkommenden Knoten, dann gilt für die Anzahl der vom GreedyAlgorithmus berechneten Farben C(G): (G) C(G) (G) + 1. – Die Anzahl der berechneten Farben hängt von der Reihenfolge der besuchten Knoten ab. 33 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Beispiel: u1 u2 u3 un … … v1 v2 v3 vn Bei jeder Anordnung der Knoten, in der immer ein vi auf ein ui folgt, werden bei Greedy-Färbung stets n = (G) + 1 Farben verwendet. 34 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Wie kann man nun eine gültige Färbung eines Graphen mit k Farben berechnen? – Man beginnt mit dem ersten Knoten und färbt ihn mit Farbe eins. Bei allen weiteren Knoten verwendet man die niedrigste verfügbare Farbe, die keinen Konflikt mit bereits eingefärbten Knoten verursacht. – Es kann sein, dass für den aktuell zu färbenden Knoten keine Farbe mehr existiert, die ihn konfliktfrei zu den bereits verarbeiteten Knoten einfärben würde. – In diesem Fall werden alle Schritte bis zu dem zuletzt gefärbten Knoten rückgängig gemacht, für den noch andere Farben zur Verfügung stehen, und man ersetzt seine aktuelle Farbe durch die nächst niedrigste. – Ausgehend von dieser veränderten Situation versucht man erneut die weiteren Knoten einzufärben. 35 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Beispiel: In diesem Fall führt die Färbung mit zwei Farben immer in eine Sackgasse. 36 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Der vorgestellte Algorithmus nennt sich Backtracking-Algorithmus. – Er versucht, eine erreichte Teillösung schrittweise zu einer Gesamtlösung auszubauen. – Wenn der Algorithmus in eine Sackgasse läuft (endgültige Lösung kann nicht erreicht werden), dann wird der letzte Schritt bzw. die letzten Schritte zurückgenommen, und es werden alternative Lösungen probiert. – Es werden also alle in Frage kommenden Lösungswege ausprobiert. 37 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Backtracking-Algorithmus Beispiel (4 Farben): 38 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Backtracking-Algorithmus Beispiel: 39 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Backtracking-Algorithmus Beispiel: 40 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Backtracking-Algorithmus Beispiel: 41 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Backtracking-Algorithmus Beispiel: 42 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Backtracking-Algorithmus Beispiel: 43 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization Kapitel IV – Graphen; Eigenschaften • Färbung von Graphen Backtracking-Algorithmus Beispiel: 44 Vorlesung Diskrete Strukturen WS 07/08 Prof. Dr. R. Westermann – Institut für Informatik, TU München computer graphics & visualization