2. Aufgabenblatt zur Vorlesung Approximationsalgorithmen, SoSe 2005 (Christian Knauer, Wolfgang Mulzer) Abgabe in der Übung Aufgabe 1 Knotenfärbung Sei G = (V, E) ein Graph, und sei χ(G) die minimale Anzahl an Farben, welche man benötigt, um eine Knotenfärbung von G durchzuführen. (a) Zeigen Sie, dass es immer eine Benennung v1 , v2 , . . . , vn der Knoten von G gibt, so dass der gierige Algorithmus eine Knotenfärbung mit χ(G) Farben berechnet. (b) Zeigen Sie, dass immer χ(G) |E| ≥ 2 gilt. Folgern Sie daraus, dass 1 χ(G) ≤ + 2 r 2 · |E| + 1 4 ist. Lösung: Lösung von Michael Schnürmacher (a) Seien v1 , v2 , . . . , vn optimal gefärbt. Sortiert man die Knoten aufsteigend nach ihren Farben cv (vi ) ∈ {1, . . . , m} und lässt nun den Algorithmus auf der Eingabe ohne Färbung laufen, so findet er genau die optimale Färbung, da er jedem Knoten die Farbe mit minimaler Größe zuweist. Da sich dies mit jeder optimalen Färbung leicht machen lässt, gibt es immer eine Anordnung, so dass der gierige Algorithmus eine Färbung findet. (b) Zu zeigen ist: χ(G) |E| ≥ 2 Induktion über die Anzahl der Knoten (a) Induktionsanfang: |V | = 0 Es gibt keine Kanten und χ(G) = 0. Damit ist die Ungleichung 0 ≤ 0 erfüllt. (b) Induktionsschritt: |V | → |V | + 1 |V | Knoten mit |E| Kanten seien mit einer minimalen Anzahl χ(G) von Farben knotengefärbt. Im ersten Fall kommt ein neuer Knoten hinzu und die Anzahl der hinzukommenden Kanten ist ≥ χ(G). Dies bedeutet, dass höchstens eine neue Farbe eingeführt werden muss. Es gilt also: χ(G) + 1 |E| + χ(G) ≥ 2 (χ(G) + 1)χ(G) |E| + χ(G) ≥ 2 χ2 (G) χ(G) − |E| ≥ 2 2 (χ(G) − 1)χ(G) |E| ≥ 2 χ(G) |E| ≥ 2 Dies gilt nach Induktionsvoraussetzung. Im zweiten Fall kommt ein neuer Knoten hinzu und die Anzahl der hinzukommenden Kanten ist < χ(G). Es muss demnach keine neue Farbe eingeführt werden und die Ungleichung ist trivialer Weise nach Induktionsvoraussetzung erfüllt. q 1 Für den zweiten Teil soll gezeigt werden, dass χ(G) ≤ 2 + 2|E| + 41 aus der ersten Ungleichung zu schlussfolgern ist. Dies geschieht durch einfaches Umformen und quadratische Ergänzung: χ(G) |E| ≥ 2 (χ(G) + 1)χ(G) |E| ≥ 2 2 · |E| ≥ χ2 (G) − χ(G) 1 1 2 · |E| ≥ (χ(G) − )2 − 2 4 1 2 1 2 · |E| + ≥ (χ(G) − ) 4 2 r 1 1 + 2 · |E| + ≥ χ(G) 2 4 Aufgabe 2 Kantenfärbung (a) Sei G = (V, E) ein Graph. Entwerfen Sie analog zum gierigen Algorithmus für die Knotenfärbung aus der Vorlesung einen Algorithmus, der eine Kantenfärbung von G berechnet. Analysieren Sie die absolute Gütegarantie κ Ihres Algorithmus’ in Abhängigkeit von dem Maximalgrad ∆(G). (b) Zeigen Sie, dass der in Abbildung 1 dargestellte Graph einen κ-Zeugen gegen den gierigen Algorithmus darstellt. Lösung: Lösung von David S. Karcher (a) Sei E gegeben als e1 , . . . , en . Für i = 1 bis n tue: ... ... ... ... ... Abbildung 1: Ein κ-Zeuge gegen den gierigen Kantenfärbungsalgorithmus. Färbe ei mit der ersten möglichen Farbe cj (die noch nicht, durch Kante an die beiden Knoten, an die ei anliegt belegt ist.). Behauptung: Im worst-case werden 2 · ∆(G) − 1 Farben benötigt. Beweis: Annahme: Sei ej = {vn , vm } eine Kante die man nach dem obigen Algorithmus mit Farbe c2·∆(G) gefärbt hat, dass heißt es waren an vn und vm zusammen 2 · ∆(G) − 1 Farben belegt, das aber bedeutet, dass einer schon den Maximalgrad ohne die Kante ej , also folgt ein Widerspruch! (b) Sei n = ∆(G) dann kann der Algorithmus folgendes liefern: n 12n−1 ... n+1 12n−1 ... n+2 2n − 1 ... 12n−1 12n−1 ... ... Wenn als erstes die Kanten zu den linkesten Kindern in der untersten Ebene gefärbt werden, dann die zu den zweit linkesten, usw. bis zu den rechtesten Kindern. Zu letzt werden die Kanten von der Wurzel zu ihren Kindern von links nach rechts gefärbt. Aufgabe 3 Planare Graphen Sei G ein beliebiger zusammenhängender planarer Graph mit n Knoten, m Kanten und f Flächen. (a) Zeigen Sie durch Induktion nach f , dass n−m+f = 2 gilt. Dies ist die bekannte Eulersche Formel. An welcher Stelle gibt es einen schwachen Punkt in Ihrem Beweis? (b) Sei g die Länge eines kürzesten Kreises in G. Ist G kreisfrei, so setzt man g = ∞. Man nennt g die Taillenweite (oder girth) von G. Zeigen Sie, dass m≤ g · (n − 2) g−2 ist, und folgern Sie, dass m ≤ 3n − 6 ist. Hinweis: Sei fi die Anzahl der Flächen in G, die durch i Kanten begrenzt werden, P wobei Kanten, die zweimal auftauchen, doppelt gezählt werden. Was ist i i · fi ? (c) Folgern Sie, dass K5 und K3,3 nicht planar sind. Wieso ist die Formel m ≤ 3n−6 für den Algorithmendesigner interessant? (d) Zeigen Sie, dass G immer einen Knoten mit höchstens 5 Nachbarn enthält. (e) Zeigen Sie, dass χ(G) ≤ 6 ist. Lösung: (a) Ist f = 1, so gibt es nur die äußere Fläche. Das bedeutet insbesondere, dass G kreisfrei ist, denn jeder Kreis stellt eine geschlossene Kurve dar, welche die Ebene in mindestens zwei Flächen teilt (Diese anscheinend harmlose Aussage ist keinesfalls offensichtlich. Es handelt sich dabei um den Jordanschen Kurvensatz, dessen Beweis alles andere als trivial ist). Da G laut Annahme zusammenhängend ist, ist G ein Baum, und es gilt n − m = 1. Da f = 1 ist, folgt also n − m + f = 2, wie gewünscht. Sei nun f > 1, und wir nehmen an, die Formel gelte für alle planaren Graphen, die eine Einbettung mit weniger als f Flächen besitzen. Sei G ein planarer Graph, der eine Einbettung mit f Flächen besitzt. Sei e eine Kante in G, die keine Brücke ist, d. h. eine Kante, die auf einem Kreis liegt. Die Kante e existiert, denn wäre G kreisfrei, so wäre f = 1. Da die Kante e auf einem Kreis liegt, ist sie inzident zu zwei verschiedenen Flächen (wieder der Jordansche Kurvensatz ). Folglich besitzt der Graph G\e, der entsteht, indem man e aus G entfernt, genau f − 1 Flächen. Da G\e exakt n Knoten und m − 1 Kanten hat, folgt aus der Induktionsannahme, dass n − (m − 1) + (f − 1) = 2 gilt. Dies ist äquivalent mit n − m + f = 2, was zu zeigen war. (b) Wir nehmen an, dass G mindestens einen Kreis enthält, denn sonst gilt die Formel ohnehin. Zunächst einmal gilt ∞ X i · fi = 2m, i=0 denn jede Kante taucht genau zweimal in der Summe auf der linken Seite auf, wenn wir die Konvention verwenden, dass Brücken doppelt gezählt werden. Da der Rand einer jeden Fläche einen Kreis enthält und alle Kreise mindestens die Länge g haben, ist fi = 0 für i < g, also ist ∞ X i · fi ≥ g · f. i=0 Es folgt also 2m . g Setzt man diese Abschätzung in das Ergebnis aus (a) ein, so erhält man 2m ≥ g · f ⇔ f ≤ 2=n−m+f ≤n−m+ ⇔m≤ g (n − 2) , g−2 2m g wie verlangt. Da wir keine Mehrfachkanten zulassen, besitzt jeder Kreis mindestens drei Kanten, es ist also g ≥ 3, folglich m ≤ 3n − 6, denn die Funktion g g 7→ g−2 , ist monoton fallend für g ≥ 3. Die Abschätzung gilt auch für kreisfreie Graphen mit mindestens drei Knoten. (c) Der K5 hat n = 5 Knoten und m = 52 = 10 Kanten. Es ist also m = 10 > 9 = 3n − 6. Das widerspricht der Abschätzung aus (b), also kann der K5 nicht planar sein. Der K3,3 hat n = 6 Knoten und m = 3 · 3 = 9 Kanten. Hier gilt m = 9 ≤ 12 = 3n − 6. Dennoch ist der K3,3 nicht planar, denn der K3,3 ist bipartit, und bekanntlich besitzen bipartite Graphen keine Kreise ungerader Länge. Alle Kreise im K3,3 haben also mindestens die Länge 4. Aus der Abschätzung in Teil (b) folgt somit, dass m ≤ 2n − 4 sei muss, falls K3,3 planar ist. Allerdings ist m = 9 > 8 = 2n − 4, und K3,3 ist nicht planar. Die Abschätzung m ≤ 3n − 6 ist deswegen interessant, weil sie besagt, dass in planaren Graphen die Anzahl der Kanten linear in der Anzahl der Knoten beschränkt ist. Diese Aussage ist wichtig, da die Laufzeit vieler Algorithmen von der Anzahl der Kanten abhängt, und in allgemeinen Graphen die Anzahl der Kanten quadratisch in der Anzahl der Knoten werden kann. (d) Besitzt G höchstens zwei Knoten, so ist die Aussage klar. Ansonsten gilt die Abschätzung m ≤ 3n − 6. Bezeichne ni die Anzahl der Knoten mit Grad i für i ∈ N0 . Dann gilt bekanntlich ∞ X i · ni = 2m ≤ 6n − 12. i=0 Also ist 12 ≤ ∞ X (6 − i)ni . i=0 Der Wert der Summe auf der rechten Seite muss positiv sein. Alle Knoten vom Grad mindestens 6 tragen aber nichtpositive Werte zur Summe bei. Folglich muss mindestens eine Knoten vom Grad ≤ 5 existieren, denn sonst wäre der Wert der Summe negativ. (e) Wir führen den Beweis durch Induktion nach der Anzahl der Knoten n in G. Ist n ≤ 6, so ist die Aussage klar. Sei nun n > 6, und nehmen wir an, dass alle planaren Graphen mit weniger als n Knoten 6-knotenfärbbar sind. Sei v ein Knoten in G mit höchstens 5 Nachbarn. Nach Induktionsannahme ist G\v mit sechs Farben färbbar, denn er ist ein planar Graph mit n − 1 Knoten. Da v höchstens 5 Nachbarn hat, haben wir immer eine freie Farbe zur Verfügung, mit der wir v färben können. Folglich ist auch G 6-färbbar.