Teil 2

Werbung
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
Herunterladen