Algorithmen für Planare Graphen Hermann Krumrey Sommersemester 2016 Contents 1 Einführung 1.1 Einbettung von G in R2 . . . . . . . . . . . . . . . . . 1.2 Konzept des Dualgraphs . . . . . . . . . . . . . . . . . 1.2.1 Eigenschaften von Dualgraphen . . . . . . . . . 1.3 Das Landkartenfärbungsproblem . . . . . . . . . . . . 1.3.1 Der Vierfarbensatz . . . . . . . . . . . . . . . . 1.3.2 Volklore Satz zum Landkartenfärbungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 4 4 4 4 2 Grundlegende Eigenschaften planarer Graphen 2.1 Satz von Euler . . . . . . . . . . . . . . . . . . . 2.1.1 Folgerungen . . . . . . . . . . . . . . . . . 2.1.2 Lemma . . . . . . . . . . . . . . . . . . . 2.1.3 Lemma . . . . . . . . . . . . . . . . . . . 2.1.4 Dualität von Schnitten und Kreisen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 7 7 8 8 3 Der Satz von Kuratowski 3.1 Begriffe: Subgraph, Minor und Unterteilung 3.1.1 Beobachtungen . . . . . . . . . . . . 3.2 Der Satz von Kuratowski . . . . . . . . . . 3.2.1 Beweis . . . . . . . . . . . . . . . . . 3.2.2 Vorbereitung des Beweises von ← . 3.2.3 Beweis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 9 9 9 10 4 Übungen 4.1 1. Übungsblatt 4.1.1 Aufgabe 4.1.2 Aufgabe 4.1.3 Aufgabe 4.1.4 Aufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 12 12 13 . 1 2 3 4 . . . . . . . . . . . . - Hyperkubus . . . . - Facettengradfolge . - Die Schiefe . . . . - Bäume . . . . . . . . . . . . 1 . . . . . . . . . . 1 Einführung Ungerichteter, einfacher Graph G = (V, E) 1.1 Einbettung von G in R2 1. Beispiel K2,3 2. Beispiel K4 Es lassen sich nicht alle Graphen so darstellen, als Beispiel hierfür K5 und K3,3 : 1. Beispiel K5 2 3 1 5 4 Behauptung: K5 ist nicht planar. Annahme: Sei K5 planar und somit kreuzungsfrei einbettbar: V = {1, 2, 3, 4, 5} Kante {3,5} umschließt mit {1,3}, {1,5} ein ”Gebiet” in welchem Knoten 4 liegt, Knoten 2 jedoch außerhalb. ⇒ {2,4} ist nicht kreuzungsfrei darstellbar. 2 2. Beispiel K3,3 1 q 2 s 3 w Behauptung: K3,3 sei kreuzungsfrei einbettbar V = {1, 2, 3, q, s, w} ohne Beschränkung der Allgemeinheit ist {1,w} im Inneren des Kreises verbunden, wodurch die ”Gebiete” {{1, q}, {q, 2}, {2, w}, {w, 1}} und {{w, 3}, {3, s}, {s, 1}, {1, w}} entstehen So kann {s,2} nur außen sein 1 q s 3 2 w ⇒ {3,q} läst sich nicht mehr kreuzungsfrei einbetten. 1.2 Konzept des Dualgraphs Gegeben sei ein einfacher, planarer Graph mit planarer Einbettung und F als Menge der Facetten (Gebiete) Der Dualgraph G* ist definiert mit der Kantenmenge V * mit einem Knoten für jede Facette und der Kantenmenge V * mit einem Knoten für jede Facette und der Kantenmenge E* von welcher jede Kante durch die Kanten der eigenen Facette aus G in die benachbarte Knoten geht. 3 1.2.1 Eigenschaften von Dualgraphen 1. Der Dualgraph G* zu einem einfachen Graphen ist nicht notwendigerweise einfach 2. Der Dualgraph G* hängt von der gegebenen Einbettung ab 3. Der Dualgraph G* zu einem planaren Graphen G (mit planarer Einbettung F ) ist wieder planar 4. Der Dualgraph (G*)* zu G* (bezüglich ’kanonischer’ Einbettung in G*) ist wieder G selbst 5. Zu einem planaren Graphen G kann es verschiedene planare Einbettungen geben und entsprechende Dualgraphen können verschieden sein 1.3 1.3.1 Das Landkartenfärbungsproblem Der Vierfarbensatz Jeder Planare Graph kann mit vier Farben gefärbt werden. 1.3.2 Volklore Satz zum Landkartenfärbungsproblem Jeder Planare Graph ist fünffärbbar. Beweis: Induktion über Anzahl der Knoten n 1. Induktionsanfang n ≤ 5 trivial 2. Induktionsvoraussetzung Sei jeder planare Graph mit ≤ n − 1 Knoten fünffärbbar 3. Induktionsschritt G habe n Knoten und einen Knoten v mit minimalem Grad d(v). In jedem planaren Graphen existiert ein Knoten v mit d(v) ≤ 5 (Beweis später) (a) Falls d(v) < 5 • Entferne v aus dem Graphen G 4 • Färbe G mit maximal 5 Farben • Füge v wieder hinzu, da es maximal 4 Nachbarn hat, so gibt es eine freie Farbe ⇒ Fünfte Farbe für v. (b) Falls d(v) = 5 2 1 3 v 5 4 Man nehme eine planare Einbettung von G mit den Nachbarn 1, 2, 3, 4 unf 5 von v. Diese liegen auf einer Facette in ”G − v” (um v herum in G). Es können nicht gleichzeitig zwei Paare gegenüberliegender Knoten verbunden sein. Hier ist z.B. 2 und 4 (beziehnungsweise 5) und 1 und 3. Durch ”verschmelzen” von 1 und 3 in G − v folgt ein neuer Graph (G − v)0 auf welchen wir v anwenden. Dies impliziert eine Fünffärbung von G − v, bei der 1 und 3 gleichfarbig sind. ⇒ Eine Farbe bleibt für v übrig. 2 Grundlegende Eigenschaften planarer Graphen Ein Graph G = (V, E) kann dargestellt werden, in dem man • Knoten v ∈ V abbildet auf Punkte im R2 • Knoten e ∈ E abbildet als Jordankurven in R2 , welche die entsprechenden Punkte verbindet (Jordankurven sind stetige, sich nicht selbstkreuzende Kurven) Ein Graph G = (V, E) heißt planar, wenn es eine Darstellung von G (in R2 ) gibt, bei der sich keine zwei Kanten kreuzen, das heißt entsprechende Jordankurven sich nur in den Endpunkten berühren. • Planare Darstellung oder Einbettung von G zerlegt die Ebene in Facetten(Gebiete, Flächen) • Eine Planare Einbettung, welche durch die Facetten (beziehungsweise die Reihenfolge der Adjazenzlisten der Knoten) induziert wird, heißt Kombinatorische Einbettung • Kombinatorische Einbettung mit Koordinaten der Knoten heißt geometrische Einbettung Man bezeichne einen planar eingebetteten Graph G = (V, E) durch die Facettenmenge F Beispiele: 5 1 2 3 3 3 4 3 4 3 3 5 1 2 4 3 2 1 43 3 3 3 4 3 3 3 4 3 3 4 Ein Graph kann mehrere verschiedene planare Einbettungen haben, die Anzahl Facetten bleibt gleich. 2.1 Satz von Euler In einem zusammenhängenden, planaren, nicht-leeren Graph G = (V, E) gilt für jede planare Einbettung F dass n − m + f = 2. • |V | = n • |E| = m • |F | = f Beweis: Induktion über m 1. Induktionsanfang m = 0, dann ist n = 1 und f = 1 X 2. Induktionsvoraussetzung G = (V, E) mit m ≥ 1 3. Induktionsschritt • Fall G Enthält einen Kreis Dann existiert eine Kante e, so dass G − e zusammenhängend ist und für beliebige feste Einbettung von G die Beiden Facetten die an e angrenzen, im G − e zu einer einzelnen Facette werden. – G0 := G − e ist zusammenhängend – |E 0 | = m − 1 (Durch IV impliziert) – |F 0 | = f − 1 (Durch IV impliziert) G0 = (V, E 0 ), Einbettung in F 0 : n − (m − 1) + f − 1 = 2X • Fall G enthält keinen Kreis, also G ist ein Baum Es ist |F | = 1 und es exisitert eine Kante e so dass G − e in zwei zusammenhängende Graphen G1 = (V1 , E2 ) und G2 = (V2 , E2 ) zerfällt mit IV: 6 n1 − m1 + f1 = 2 n2 − m2 + f2 = 2 = n1 − m1 + 1 = n2 − m2 + 1 da |F1 | = 1 da |F2 | = 1 Da n1 + n2 = n und m1 + m2 = m − 1 folgt: n − m + f = n − m + 1 = n1 + n2 − m1 − m2 − 1 + 1 = (n1 − m1 + 1) + (n1 − m1 + 1) −2 {z } | {z } | =2 =2 = 2X 2.1.1 Folgerungen 1. Anzahl Facetten für jede planare Einbettung eines planaren Graphen G ist gleich 2. Ein Baum mit n Knoten hat n − 1 Kanten 2.1.2 Lemma Ein planarer Graph mit n ≥ 3 Knoten hat höchstens 3n − 6 Kanten 2.1.2.1 Beweis : G sei ohne Beschränkung der Allgemeinheit maximal planar, das heißt zufügen einer beliebigen Kante zerstört die Planarität. Dann sind (bezüglich jeder planaren Einbettung von G) alle Facetten Dreiecke und insbesondere is G zusammenhängend. Außerdem trennt jede Kante bezüglich beliebigen planaren Einbettungen 2 Facetten. ⇒ 3f = 2m ⇒ 3(2 − n + m) = 6 − 3n + 3m ⇒ m = 3n − 6 ⇒ Behauptung 7 2.1.3 Lemma Sei G ein planarer Graph mit mindestens 3 Knoten. Bezeichne dmax (G) den Maximalgrad von G und für 0 ≤ i ≤ dmax (G) bezeichne i die Anzahl Knoten vom Grad i. Dann gilt: 6n0 + 5n1 + 4n2 = 3n3 + 2n4 + n5 ≥ n7 + 2n8 + 3n9 + ... + (dmax (G) − 6)n + 12 2.1.3.1 Beweis Es gilt dmax P(G) ni = n und i=0 dmax P(G) i ∗ mi = 2m. i=0 Da m ≤ 3n − 6f olgt : 6n ≥ 2n + 12 dmax (G) ⇐⇒ 6 ∗ X dmax (G) ni ≥ ( i=0 2.1.3.2 2.1.4 Folgerung X i ∗ mi + 12 i=0 In einem planaren Graphen existiert immer ein Knoten vom Grad ≤ 5 Dualität von Schnitten und Kreisen Man betrachte einen planaren Graph G mit Einbettung F und den zugehörigen Dualgraph G*. Die Kanten eines Schnittes in G entspricht Kanten einer Menge von Kreisen in G* und umgekehrt. Man partitioniere die Knoten in zwei Mengen V1 und V2 . Alle Kanten zwischen diesen beiden Mengen sind die Schnittkanten. Die Knoten aus V2 liegen im Inneren des Kreises und V1 außerhalb des Kreises (bezüglich der gewählten beziehungsweise kanonischen Einbettung) 8 3 Der Satz von Kuratowski 3.1 Begriffe: Subgraph, Minor und Unterteilung • G’ = (V 0 , E 0 ) heißt SUBGRAPH von G = (V, E), falls V 0 ⊆ V , E 0 ⊆ E • G’ heißt UNTERTEILUNG von G falls G’ aus G entsteht, indem Kanten aus G durch einfache Wege ersetzt werden Beispiel Unterteilung: ¡BILD 1¿ • Kontraktion von 2 Kanten {u, v} und {v, w} mit v von Grad 2: lösche v und ersetze {u, v} und {v, w} durch {u, w} (Gegenteil von Unterteilung) ¡BILD 2¿ • H heißt MINOR von G wenn H aus G durch löschen von Knoten und/oder Kanten und/oder Kontraktion (von Kanten) entsteht. H ist Minor von G wenn G eine Unterteilung von H als Subgraph enthält. 3.1.1 Beobachtungen • planarer Graph kann keinen nicht-planaren Graphen als Subgraph enthalten • planarer Graph kann nicht Unterteilung eines nichtplanaren Graphen sein • planarer Graph kann keinen nichtplanaren Minor enthalten ¡BILD 3¿ 3.2 Der Satz von Kuratowski Ein Graph G = (V, E) ist genau dann planar wenn er weder K5 noch K3,3 als Minor enthält. 3.2.1 Beweis 1. → klar da K5 und K3,3 nicht planar sind 2. ← Es ist also ’nur’ noch zu zeigen: Wenn G nicht planar ist, so muss G einen K5 oder K3,3 als Minor enthalten. 3.2.2 Vorbereitung des Beweises von ← Ein θ - Graph ist ein Graph der K3,2 als Minor oder Unterteilung enthält. ¡BILD 5¿ 9 3.2.2.1 Beobachtungen • Bäume und Wälder besitzen nur eine Facette • Wenn G planar, C einfacher Kreis in G und keine 2 Knoten auf C in G − E(C) verbunden sind, kann G so planar eingebettet werden dass C eine Facette begrenzt. ¡BILD 6¿ • Facettenränder enthalten keinen θ Graphen, das heißt, wenn G planar mit fester planarer Einbettung ist, f Facette und F Subgraph von G der aus allen zu f inzidenten Knoten und Kanten. Dann enthält F keinen θ-Graph ¡BILD 7¿ 3.2.2.2 Minor Minimale nichtplanare Graphen G ist minor minimal nichtplanar wenn: (a) G nicht planar (b) jeder Minor von G ist planar Natürlich sind K5 und K3,3 nichtplanar • Wenn G nichtplanar dann enthält G einen minor minimal nichtplanaren Graphen als Minor • Ein minor minimal nichtplanarer Graph hat Minimalgrad 3 3.2.2.3 Beweisstrategie • Betrachte minor minimal nichtplanaren Graphen G = (V, E), x, y ∈ V mit {x, y} ∈ E • Betrachte G’, der aus G entsteht wenn {x, y} und alle zu x und y inzidenten Kanten entfernt werden, das heißt G’ = G − x − y(= G − x, y). G’ ist planar da G minor minimal nicht planar. Kann auch gesehen werden als: Kontrahiere zunächst {x, y} zu Knoten xy: G G/xy (G/xy − xy) = G’ und entferne dann xy 3.2.3 Beweis Wir beweisen für G minor minimal nichtplanar und x, y ∈ V , {x, y} ∈ E: (a) G’ enthält keinen θ-graph (b) G’ enthält höchstens einen Knoten von Grad 1 (c) G’ ist einfacher Kreis Dies ist sinnvoll da: ¡BILD 8¿ —————————————————————————– 10 3.2.3.1 Beweis zu 1) G’ enthält keinen θ-Graph Annahme: G’ enthält einen θ-Graph, bette G’ planar ein, so dass N (X) ∪ N (y) auf Rand einer Facette Einbettung existiert da schon für G/xy eine planare Einbettung existiert. I sei Subgraph von G der durch Rand dieser Facette induziert wird. Anmerkung: N (x) = {v ∈ V | {x, v} ∈ E} = Nachbarschaft von KnotenX (1) ¡BILD 9¿ F enthält einfachen Kreis C aber kein θ-Graph Da G’ θ-Graph enthält existiert eine Kante e ∈ E(G \ E(F )) und ohne Beschränkung der Allgemeinheit im Äußeren von Facette f bezüglich Einbettung bei der {x, y} im Inneren. Wegen Wahl von F und C können keine 2 Knoten auf C durch Weg im Inneren von f verschieden sein. Dann existiert planare Einbettung von G ohne Äußeres von C bei der C äußere Facette begrenzt. ¡BILD 10¿ G − extern(C) Einbettung mit planarer Einbettung von G’ ` → G nicht planar To be continued... 4 Übungen 4.1 4.1.1 1. Übungsblatt Aufgabe 1 - Hyperkubus Definition: Der n − dimensionale Würfel Qn ist ein Graph mit folgenden Knoten und Kanten: Die Knotenmenge besteht aus den Wörtern der Länge n über dem Alphabet {0, 1}. D.h. V (Qn ) = {0, 1}n . Zwei Knoten sind genau dann adjazent, wenn die zugehörigen Wörter sich in genau einer Stelle unterscheiden. 1. Wieviele Knoten hat Qn ? Wieviele Kanten hat Qn ? 2. Beschreiben Sie die Knotengrade der Knoten im Qn . 3. Betten Sie Q1 , Q2 , Q3 und Q4 (wenn möglich kreuzungsfrei) in die Ebene ein. 4. Betten Sie Q4 kreuzungsfrei auf der Oberfläche eines Torus ein. 11 4.1.1.1 Lösung 1. Knotenanzahl = 2n Kantenanzahl = (2n−1 ) ∗ n 2. 3. Behauptung: Q4 ist nicht planar einbettbar. Beobachtung: Q4 hat 32 Kanten und 16 Knoten. Q4 besitzt keinen K3 als Teilgraphen. Lemma: Sei G ein planarer Graph (mit n > 2), der keinen K3 besitzt, so dass jede Facette an 4 Kanten angrenzt. Dann gilt: m ≤ 2n − 4 (2) Beweis: ohne Beschräkung der Allgemeinheit nehme man an, dass G maximal unter allen zulässigen Graphen mit n Knoten planar ist. Jede Facette grenzt an 4 Kanten an. Insbesondere ist G zusammenängend. Jede Kante begrenzt 2 Facetten ⇒ 4f = 2m (3) Einsetzen in Euler gibt m = 2n + 4 Für Q4 müsste also gelten: m ≤ 32 − 4 = 28` 4. 4.1.2 Aufgabe 2 - Facettengradfolge Gegeben ein planarer Graph G mit einer kreuzungsfreien Einbettung in die Ebene, die f Facetten enthält. Sei ai , 1 ≤ i ≤ f , die Anzahl der zur Facette i inzidenten Kanten von G. Numeriere die Facetten so, dass die Folge (a1 , a2 , ..., af ) nichtabsteigend sortiert ist. Kann es zu einem planaren Graph G zwei Einbettungen in die Ebene geben, sodass die zugehörigen Zahlenfolgen unterschiedlich sind? 4.1.2.1 4.1.3 Lösung Aufgabe 3 - Die Schiefe Die Skewness eines Graphen G ist die minimale Anzahl von Kanten, die aus G gelöscht werden müssen, damit der resultierende Graph planar ist. D.h. die Skewness eines Graphen ist Null genau dann, wenn der Graph planar ist. 1. Zeigen Sie, dass für einen einfachen Graphen G mit n ≥ 3 Knoten und m Kanten gilt: skewness(G) ≥ m − 3 + 6 2. Berechnen Sie die Skewness von K3 , K5 , K3,3 und K6 . 12 4.1.3.1 Lösung 1. Sei G = (V, E) ein Graph. Betrachte größten planaren Teilgraphen H = (VH , EH ) Für H gilt: |VH | = |V | |EH | ≤ 3|VH | − 6 = 3n − 6 Dann muss man mindestens m − 3n + 6 Kanten entfernen, damit G planar wird. • K3 sk(K3 ) = 0 2. • K5 sk(K5 ) = 1 • K3,3 sk(K3,3 ) = 1 • K6 sk(K6 ) = 3 4.1.4 Aufgabe 4 - Bäume Beweisen Sie die Äquivalenz der folgenden Aussagen für einen Graphen G mit n Knoten: 1. G ist ein Baum, d.h. G ist zusammenhängend und kreisfrei. 2. G ist zusammenhängend und hat n − 1 Kanten. 3. G ist kreisfrei und hat n − 1 Kanten. 4.1.4.1 Lösung 1. 1-¿2 Sei G zusammenhängend und kreisfrei Induktion über n Entfernen beliebiges Blatt aus G G − V ist zusammenhängend und kreisfrei Nach IV gilt G − V hat n − 2 Kanten. Füge V zu G − V =¿ G hat n − 1 Kanten 2. 2-¿3 Annahme: G ist nicht kreisfrei Lösche minimale Anzahl an Kanten aus G, so dass er kreisfrei wird. =¿ G’ ist zusammenhängend wegen 1-¿2 gilt G’ hat n − 1 viele Kanten G hat aber auch n − 1 Kanten =¿ G = G’, also ist G kreisfrei (Wiederspruchsbeweis) 13 3. 3-¿1 Sei k die Anzahl der Komponenten von G ni ist die Anzahl Knoten in der i-ten Komponente mi ist die Anzahl Kanten in der i-ten Komponente Wegen 1-¿2 gilt: m i = ni − 1 m = summe(mi)von i=1 bis k = summe(ni - 1) von i= 1 bis k = n-k =(mit 3) n-1 =¿ k = 1 =¿ Zusammenhängend 14 List of Figures List of Tables 15