Kapitel 5: Färbungen und Cliquen Gliederung der Vorlesung 1. 2. 3. 4. 5. 6. 7. 8. 5/2, Folie 1 Grundbegriffe Elementare Graphalgorithmen und Anwendungen Kürzeste Wege Minimale spannende Bäume Färbungen und Cliquen Traveling Salesman Problem Flüsse in Netzwerken und Anwendungen Bipartite Graphen © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Gliederung des Kapitels a) b) c) 5/2, Folie 2 Motivation Grundbegriffe und Zusammenhänge Diskussion © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Begriff Clique • • sei G = (V,E) ein (ungerichteter) Graph sei C V • C ist eine Clique im Graphen G, falls { u,v } E für alle u,v C mit u ≠ v gilt (d.h. der durch C induzierte Teilgraph ist vollständig) ... die Größe einer Clique C entspricht der Anzahl der Knoten von C 5/2, Folie 3 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Zugehörige algorithmische Fragestellung • gegeben: • • gesucht: • 5/2, Folie 4 ein Graph G = (V,E) © 2015 Prof. Steffen Lange eine maximale Clique C im Graphen G (/* d.h. |C| ist maximal */) - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Begriff Clique-Cover • • sei G = (V,E) ein (ungerichteter) Graph sei C1,C2, ..., Ck eine Zerlegung der Knotenmenge, d.h. es gilt: • • • die Mengen C1,C2, ..., Ck sind paarweise disjunkt V = C1 C2 ... Ck die Zerlegung C1,C2, ..., Ck ist ein Clique-Cover von G, falls jedes Ci (mit 1 ≤ i ≤ k) eine Clique in G ist ... die Größe eines Clique-Covers C1,C2, ..., Ck entspricht der Anzahl der Mengen in dieser Zerlegung von V 5/2, Folie 5 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel S2 S1 ein minimales Clique-Cover: S3 { S1,S2,S6 }, { S3,S5 }, { S4,S8 }, { S7 } S4 S8 S7 S5 S6 ... anhand eines minimalen Clique-Covers kann man dann in unserem einführenden Beispiel eine „geeignete“ Steuerung der Verkehrsströme bestimmen 5/2, Folie 6 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Zugehörige algorithmische Fragestellung • gegeben: • • gesucht: • 5/2, Folie 7 ein Graph G = (V,E) © 2015 Prof. Steffen Lange ein minimales Clique-Cover C1,C2, ..., Ck für den Graphen G (d.h. k ist minimal) - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge naheliegende algorithmische Idee 1) 2) 3) setze i = 1 bestimme eine maximale Clique C im Graphen G = (V,E), gib Ci = C aus und gehe zu 3) falls C ≠ V ist, so gehe wie folgt vor: • • • 5/2, Folie 8 streiche alle Knoten aus V, die in C vorkommen streiche alle Kanten aus E, die mit einem Knoten aus C inzident sind setze G = (V,E), i = i +1 und gehe zu 2) © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Bewertung • es sollte klar sein, dass man mit dem vorgestellten Algorithmus immer ein Clique-Cover bestimmen kann • Interessierende Frage: • Kann man mit dem vorgestellten Algorithmus immer ein minimales Clique-Cover bestimmen? ... Was meinen Sie? Was ist die korrekte Antwort? 5/2, Folie 9 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Glauben Sie nicht alles, was Sie im Netz finden ... 5/2, Folie 10 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel 1 2 minimales Clique-Cover: • 3 { 1,3 }, { 2,5 }, { 4,6 } 5 4 6 ... minimales Clique-Cover, in dem die maximale Clique { 1,2,4 } vorkommt: • 5/2, Folie 11 © 2015 Prof. Steffen Lange - HDa/FbI { 1,2,4 }, { 3 }, { 5 }, { 6 } - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Anmerkungen • im Beispiel ist der Unterschied zwischen dem minimalen Clique-Cover und dem minimalen Clique-Cover mit einer maximalen Clique genau 1 • dieser Unterschied kann beliebig groß werden ... 1 3 6 2 5 4 8 7 9 11 6 ... Unterschied: 2 (/* 6 versus 8 */) 5/2, Folie 12 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung 10 Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Begriff Färbung • • sei G = (V,E) ein (ungerichteter) Graph sei f(.) eine Abbildung, die jedem Knoten von V eineindeutig eine natürliche Zahl (Codierung einer Farbe) zuordnet • f(.) ist eine Färbung des Graphen G, falls f(u) ≠ f(v) für alle { u,v } (d.h. adjazente Knoten sind unterschiedlich gefärbt) E gilt ... die Größe einer Färbung entspricht der Anzahl der verwendeten Farben (d.h. die Größe der Menge { f(u) | u V }) 5/2, Folie 13 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel 1 3 2 • • • • 5 4 f(1) = 1 f(2) = 2 f(3) = f(5) = f(6) = 3 f(4) = 4 6 1 3 2 • • • 5 4 6 5/2, Folie 14 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung f(1) = f(5) = 1 f(2) = f(3) = f(6) = 2 f(4) = 3 Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Einfache Zusammenhänge • sei G = (V,E) ein (ungerichteter) Graph • • sei k die Größe einer maximalen Clique in G sei d der maximale Grad eines Knotens in G • Dann gilt: (1) Jede Färbung von G benötigt mindestens k viele Farben. (2) Jede Färbung von G benötigt höchstens d+1 viele Farben. ... überlegen Sie sich selbst eine Begründung für diese Aussagen ... es können mehr als k und weniger als d+1 viele Farben sein 5/2, Folie 15 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Zugehörige algorithmische Fragestellung • gegeben: • • gesucht: • 5/2, Folie 16 ein Graph G = (V,E) © 2015 Prof. Steffen Lange eine minimale Färbung für den Graphen G (d.h. eine Färbung mit einer minimalen Anzahl von Farben) - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Anmerkungen • für dieses Problem ist kein effizienter Algorithmus bekannt (/* man geht davon aus, dass es keinen effizienten Algorithmus gibt */) • den Hintergrund diskutieren wir später ausführlich • man kennt auch keinen effizienten Algorithmus, der eine Färbung bestimmt, deren Güte garantiert ist, d.h. die bestimmte Färbung kann beliebig mehr Farben als eine minimale Färbung verwenden (/* man geht davon aus, dass es keinen effizienten Algorithmus mit einer garantierten Güte gibt */) • es gibt aber einen sehr effizienten Algorithmus, mit dem man überhaupt eine Färbung bestimmen kann ... ... bevor wir den Algorithmus diskutieren, schauen wir uns an, was man mit ihm noch so anfangen kann 5/2, Folie 17 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Hilfsbegriff Komplementärgraph • sei G = (V,E) ein (ungerichteter Graph) • der zu G gehörende Komplementärgraph GC = (VC,EC) ist wie folgt definiert: • • VC = V EC = { { u,v } | u V, v V, { u,v } E} ... offenbar kann man den Komplementärgraph GC sehr effizient anhand von G bestimmen 5/2, Folie 18 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel 1 3 5/2, Folie 19 2 5 4 © 2015 Prof. Steffen Lange 1 - HDa/FbI 3 - Graphen und Optimierung 2 4 5 Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Ein zentraler Zusammenhang • • sei G = (V,E) ein (ungerichteter) Graph sei f(.) eine Färbung des Graphen G, die k Farben verwendet • Dann gilt: Man kann anhand der gegebenen Färbung effizient ein CliqueCover des Komplementärgraphen GC bestimmen, das ebenfalls die Größe k hat. ... die Umkehrung dieser Aussage gilt übrigens auch 5/2, Folie 20 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel 1 3 2 1 5 4 3 2 4 zugehöriges Clique-Cover: • 5/2, Folie 21 © 2015 Prof. Steffen Lange - HDa/FbI - { 1 }, { 2 }, { 3,5 }, { 4 } Graphen und Optimierung 5 Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel 1 3 1 2 5 4 3 2 4 zugehöriges Clique-Cover: • 5/2, Folie 22 © 2015 Prof. Steffen Lange - HDa/FbI - { 1,5 }, { 2,3 }, { 4 } Graphen und Optimierung 5 Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beweisidee • • • sei G = (V,E) ein (ungerichteter) Graph sei GC = (VC,EC) der Komplementärgraph sei f(.) eine Färbung des Graphen G, die die Farben 1, 2, ..., k verwendet • für alle i mit 1 ≤ i ≤ k setze: Ci = { u • da f(.) eine Färbung von G mit k Farben ist, ist C1, C2, ..., Ck eine Zerlegung von VC in k Mengen • offenbar gilt für alle Knoten u,v • • • 5/2, Folie 23 V | f(u) = i } VC und alle i mit 1 ≤ i ≤ k: u,v Ci gdw. f(u) = f(v) gdw. { u,v } also gilt: u,v Ci gdw. { u,v } EC E also ist C1, C2, ..., Ck ein Clique-Cover des Komplementärgraphen GC © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Konsequenzen • jeder Algorithmus, mit dem man eine minimale Färbung für einem gegebenen Graphen G bestimmen kann, kann man verwenden, um ein minimales Clique-Cover in G zu bestimmen (/* der Overhead an Rechenzeiten ist nicht bemerkenswert groß */) • zugrunde liegende Idee: • • • bestimme den Komplementärgraphen GC bestimme eine minimale Färbung f(.) von GC bestimme das zu f(.) gehörende Clique-Cover im Komplementärgraphen von GC, d.h. im gegebenen Graphen G ... Hintergrund: der Komplementärgraph des Komplementärgraphen GC eines Graphen G ist wieder der Graph G 5/2, Folie 24 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Konsequenzen (cont.) • man kennt keine effizienten Algorithmen, um ein minimales Clique-Cover zu bestimmen (man vermutet, dass ...) • man kennt auch keinen effizienten Algorithmus, der ein Clique-Cover bestimmt, dessen Güte garantiert ist, d.h. das bestimmte Clique-Cover kann beliebig mehr Cliquen als in ein minimales Clique-Cover besitzen (man vermutet, dass ...) ... Hintergrund: die vorgeführte „Problemreduktion“ ist effizient möglich (d.h. anhand von G den Komplementärgraphen GC und anhand der bestimmten Färbung das zugehörige Clique-Cover zu bestimmen) 5/2, Folie 25 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Algorithmus zum Bestimmen einer Färbung • sei G = (V,E) ein (ungerichteter) Graph mit |V| = n • • • bestimme eine Anordnung v1,v2, ...,vn der Knoten in V setze f(v1) = 1 for i = 2 to n: • • setze z = max { f(vj) | j < i, { vi,vj } E } setze f(vi) = z+1 ... zugrunde liegende Vereinbarung: max = 0 5/2, Folie 26 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel 1 3 2 5 4 ... die folgende nicht optimale Färbung wird gefunden, wenn in 1) die Knoten in der Reihenfolge 1,4,2,5,3 angeordnet werden: • • • • • 5/2, Folie 27 © 2015 Prof. Steffen Lange f(v1) = f(1) = 1 f(v2) = f(4) = 2 f(v3) = f(2) = 3 f(v4) = f(5) = 4 f(v5) = f(3) = 2 - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel 1 3 2 5 4 ... die folgende optimale Färbung wird gefunden, wenn in 1) die Knoten lexikographisch angeordnet werden: • • • • • 5/2, Folie 28 © 2015 Prof. Steffen Lange f(v1) = f(1) = 1 f(v2) = f(2) = 2 f(v3) = f(3) = 2 f(v4) = f(4) = 3 f(v5) = f(5) = 3 - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Anmerkungen • der vorgestellte Algorithmus liefert nicht immer die minimale Färbung • • das ist nicht verwunderlich, da er in der Zeit O(n+m) eine Färbung bestimmt es gibt aber jeweils eine Anordnung der Knoten, so dass der vorgestellte Algorithmus eine minimale Färbung liefert ... finden Sie selbst eine Begründung 5/2, Folie 29 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Anmerkungen (cont.) • 5/2, Folie 30 der vorgestellte Algorithmus kann beliebig schlechte Färbungen liefern, wie das folgende Beispiel zeigt (/* allgemein gilt: Anzahl der Knoten versus 2 *) © 2015 Prof. Steffen Lange - 1 2 3 4 5 6 HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Ergänzungen • es gibt einige Varianten des vorgestellten Algorithmus, die ebenfalls effizient sind und in der Regel bessere Färbungen liefern, wobei wiederum gilt: • die Güte der von diesen Algorithmen bestimmten Färbungen ist nicht garantiert, d.h. die bestimmte Färbung kann beliebig mehr Farben als eine minimale Färbung verwenden ... diese Varianten des vorgestellten Algorithmus benutzen einfach zu überprüfende Kriterien, um eine „geeignete“ Anordnung der Knoten zu finden 5/2, Folie 31 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Der Färbungsalgorithmus von Johnson (Grundidee) • die Farben 1, 2, ... werden nacheinander verwendet • die Verwendung einer Farbe geschieht in zwei Schritten: 1) streiche aus G alle gerade gefärbten Knoten und alle mit diesen Knoten inzidenten Kanten (/* falls G leer ist, höre auf */) 2) setze G‘ = G und färbe in G‘ ausgewählte Knoten wie folgt: a) färbe den Knoten u mit dem minimalen Grad in G‘ b) streiche aus G‘ den Knoten u und alle mit u adjazenten Knoten c) streiche aus G‘ alle Kanten, mit denen die in b) gestrichenen Knoten inzident sind d) falls G‘ nicht leer ist, gehe zu a); sonst gehe zu 1) (/* wobei die nächste Farbe verwendet wird */) 5/2, Folie 32 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel ... wir betrachten den folgenden Graphen G als Eingabe 5/2, Folie 33 © 2015 Prof. Steffen Lange - 1 2 3 4 5 6 HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel ... beim Färben mit Farbe 1 werden folgende Graphen G‘ betrachtet 5/2, Folie 34 1 2 3 4 3 5 6 5 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung 5 Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel ... beim Färben mit Farbe 2 werden folgende Graphen G‘ betrachtet 2 5/2, Folie 35 © 2015 Prof. Steffen Lange - 4 4 6 6 HDa/FbI - Graphen und Optimierung 6 Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Beispiel ... Ergebnis der Anwendung des Algorithmus von Johnson 5/2, Folie 36 © 2015 Prof. Steffen Lange - 1 2 3 4 5 6 HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Bezeichnungen • • sei G = (V,E) ein (ungerichteter) Graph sei V‘ V eine Teilmenge der Knotenmenge von V • dann bezeichnen wir mit G|V‘ den wie folgt definierten Teilgraphen von G: • G|V‘ = (V‘,E‘), wobei E‘ = { {u,v} E | u,v V‘ } ... G|V‘ enthält nur die Kanten von G, die mit Knoten in V‘ adjazent sind 5/2, Folie 37 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Algorithmus von Johnson (/* Details */) • 1) 2) sei G = (V,E) ein (ungerichteter) Graph mit |V| = n bestimme eine Anordnung v1,v2, ...,vn der Knoten in V und setze i = 1 falls V ≠ gilt setze V‘ = V falls V‘ ≠ gilt a) b) • • • a) 5/2, Folie 38 bestimme das minimale j ≤ n, so dass vj ein Knoten mit einem minimalen Grad im Graphen G|V‘ ist setze f(vj) = i und streiche vj aus V streiche vj und alle mit vj adjazenten Knoten aus V‘ und gehe zu b) setze i = i +1 und gehe zu 2) © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Anmerkungen • der Algorithmus von Johnson hat folgende Eigenschaften: • • • er liefert immer eine Färbung er ist effizient er liefert in der Regel „bessere“ Färbungen als der zuvor vorgestellte Algorithmus ... die bestimmte Färbung kann wiederum beliebig mehr Farben als eine minimale Färbung verwenden (siehe nächste Folie) 5/2, Folie 39 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 5: Färbungen und Cliquen Grundbegriffe und Zusammenhänge Anmerkungen (cont.) • der Algorithmus von Johnson kann beliebig schlechte Färbungen liefern, wie das folgende Beispiel zeigt (/* allgemein gilt: Logarithmus der Anzahl der Knoten plus 1 versus 2 *) 4 4 4 13 5 2 2 2 14 6 1 9 6 1 1 15 7 3 5 10 7 3 3 11 16 8 8 12 ...die in 1) verwendete Anordnung der Knoten benutzt den Knoten 1 als letzten Knoten, den Knoten 2 als vorletzten, ... 5/2, Folie 40 © 2015 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung