Algorithmische Graphentheorie - Lehrstuhl für Informatik der RWTH

Werbung
Algorithmische Graphentheorie
Walter Unger
Lehrstuhl für Informatik I
20. April 2006
Teil I
Einleitung und Motivation
1
Knotenfärbung
Definitionen
Schranken
Greedyfärbungen
Satz von Brooks
Taillenweite
Komplexität
Knotenfärbung
Definitionen
204/351
Definitionen
Definition
Sei G = (V , E ) Graph.
max{ |V ′ | ; V ′ ⊂ V ∧ ∀a, b ∈ V ′ : (a, b) 6∈ E }
max{ |V ′ | ; V ′ ⊂ V ∧ ∀a, b ∈ V ′ : (a, b) ∈ E }
min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) 6∈ E }
χ(G ) = min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) ∈ E }
α(G ) =
ω(G ) =
χ(G ) =
Weitere Schreibweisen:
ω(G ) = α(G ),
α(G ) = ω(G ) = β0 (G ),
κ(G ) = χ(G )
Knotenfärbung
Schranken
205/351
Schranken
Lemma
χ(G ) > ω(G )
χ(G ) > n/α(G )
χ(G ) = max{χ(B) | B ist ein Block in G }
Theorem
Sei G = (V , E ) Graph mit maximalem Knotengrad d (d = ∆(G )), dann
gilt χ(G ) 6 d + 1.
Theorem
Sei G = (V , E ) Graph, dann gilt: χ(G ) = 2 genau dann, wenn G keine
ungeraden Kreise enthält.
Knotenfärbung
Greedyfärbungen
206/351
Greedyfärbungen
Sei G = (V , E ) Graph.
Wähle Sortierung der Knoten: σ = (v1 , v2 , . . . , vn ).
Algorithmus: GreedyColour (G , σ).
Setze Vi = {v1 , v2 , . . . , vi } und Gi = G [Vi ].
Färbe: c(v1 ) := 1.
Färbe: c(vi ) := min{k ∈ IN | k 6= c(u) ∀u ∈ Γ(vi ) ∩ Vi−1 }
Anzahl Farben: GreedyColour (G , σ) := |{c(v ) | v ∈ V }|.
Es gilt: χ(G ) 6 GreedyColour (G , σ) 6 ∆(G ) + 1.
Für ungerade Kreise und Cliquen gilt:
χ(G ) = GreedyColour (G , σ) = ∆(G ) + 1.
Laufzeit: O(|V | + |E |)
Knotenfärbung
Greedyfärbungen
207/351
Fehleranalyse
1. Extremfall: K1,∆
2. Extremfall: Bn :
Bn = (Vn , Wn , En )
Vn = {v1 , v2 , v3 , . . . , vn }
Wn = {w1 , w2 , w3 , . . . , wn }
En = {{vi , wj } | vi ∈ Vn , wj ∈ Wn , i 6= j}
Betrachte: GreedyColour (Bn , (v1 , w1 , v2 , w2 , v3 , w3 , . . . , vn , wn ).
GreedyColour (Bn , (v1 , w1 , v2 , w2 , v3 , w3 , . . . , vn , wn ) = n.
Aber χ(Bn ) = 2.
Knotenfärbung
Greedyfärbungen
Fehleranalyse
Theorem
Seien ǫ, δ > 0 und c < 1
Dann gibt es für n groß genug Graphen Gn mit:
χ(Gn ) 6 nǫ und
auf o(n−δ ) Anordungen liefert Greedy: c · n/ log n Farben.
Lemma
Es gibt Anordnung σ ∗ mit: GreedyColour (G , σ ∗ ) = χ(G ).
Lemma
Es gilt minσ∈Sn GreedyColour (G , σ) = χ(G )
208/351
Knotenfärbung
Greedyfärbungen
209/351
Verbesserungen
Beachte: Für vi sind höchstens dGi (vi ) Farben verboten.
Setze b(σ) = max16i6n dGi (vi ) mit σ = (v1 , v2 , . . . , vn ).
χ(G ) 6 minσ∈Sn b(σ)
Die Anordnung σ, für die das Minimum angenommen wird, ist
konstruierbar:
Wähle vn als Knoten mit minimalem Grad
Rekursiver Aufruf auf G − vn .
So eine Anordnung heißt: “smallest-last”
Knotenfärbung
Greedyfärbungen
210/351
Anwendung
Lemma
Sei σsl eine smallest-last Anordnung, dann gilt:
b(σsl ) = max δ(H) = min b(σ)
H⊂G
σ∈Sn
Beweis
b(σsl ) 6 maxi δ(Gi ) 6 maxH⊂G δ(H)
Sei nun H ∗ Teilgraph von G mit: δ(H ∗ ) = maxH⊂G δ(H).
Sei weiter j kleinster Index mit: H ∗ ist Teilgraph in Gj für beliebige
Permutation σ. Dann gilt:
maxH⊂G δ(H) = δ(H ∗ ) 6 dH ∗ (vj )
maxH⊂G δ(H) = δ(H ∗ ) 6 dH ∗ (vj ) 6 dGj (vj )
maxH⊂G δ(H) = δ(H ∗ ) 6 dH ∗ (vj ) 6 dGj (vj ) 6 b(σ)
maxH⊂G δ(H) = δ(H ∗ ) 6 dH ∗ (vj ) 6 dGj (vj ) 6 b(σ) 6 b(σsl )
Knotenfärbung
Greedyfärbungen
211/351
Folgerungen I
Lemma
Sei G = (V , E ) und σsl smallest-last Anordnung, dann gilt:
χ(G ) 6 GreedyColour (G , σsl ) 6 1 + max δ(H)
H⊂G
Laufzeit: O(|V | + |E |).
Knotenfärbung
Greedyfärbungen
212/351
Folgerungen II
Lemma
Sei G = (V , E ) zusammenhängend und nicht ∆(G )-regulär, dann gilt:
χ(G ) 6 ∆(G ).
Sei v1 Knoten mit d(v1 ) < ∆(G ).
Wähle Sortierung σ = (v1 , v2 , v3 , . . . , vn ) durch Breitensuche von v1 .
Starte GreedyColour (G , σ), dann gilt:
d(v1 ) < ∆(G ), d.h. c(v1 ) 6 ∆(G )
vi hat einen ungefärbten Nachbarn, d.h. c(vi ) 6 ∆(G )
Knotenfärbung
Satz von Brooks
213/351
Folgerungen III
Theorem (Brooks 1941)
Sei G = (V , E ) zusammenhängend mit mindestens drei Knoten. Sei G
weiter keine Clique und kein ungerader Kreis, dann gilt:
χ(G ) 6 ∆(G )
Falls G nicht zweifachzusammenhängend, betrachte Blöcke B:
Falls B regulär, dann ist B nicht ∆(G )-regulär.
Falls B nicht regulär, färbe wie oben.
In beiden Fällen höchstens ∆(G ) Farben.
Falls G zweifachzusammenhängend und nicht regulär, so färbe wie
oben.
Falls G zweifachzusammenhängend und regulär, so mache:
Knotenfärbung
Satz von Brooks
214/351
Folgerungen III a
Theorem (Brooks 1941)
Sei G = (V , E ) zusammenhängend mit mindestens drei Knoten. Sei G
weiter keine Clique und kein ungerader Kreis, dann gilt:
χ(G ) 6 ∆(G )
Falls G nicht zweifachzusammenhängend: (done)
Falls G zweifachzusammenhängend und nicht regulär: (done)
Falls G zweifachzusammenhängend und regulär, so mache:
Wähle v1 mit Nachbarn vn−1 und vn , die nicht benachbart sind.
So daß G − {vn−1 , vn } noch zusammenhängend.
Bestimme v2 , v3 , . . . , vn−2 durch Breitensuche von v1 auf
G − {vn−1 , vn }.
Färbe mit GreedyColour (G , σ).
vn−1 und vn bekommen eine Farbe.
Damit sind höchstens ∆(G ) − 1 Farben für v1 verboten.
Knotenfärbung
Satz von Brooks
Folgerungen III b
Lemma
Sei G = (V , E ) 2-fach zusammenhängend, regulär mit mindestens drei
Knoten. Sei G weiter keine Clique und kein Kreis, dann gibt es x, y ∈ V
mit dist(x, y ) = 2 und G − x − y ist zusammenhängend.
Sei v ∈ V mit d(v ) = ∆(G ).
Dann ist H := G [{v } ∪ Γ(v )] nicht vollständig.
Damit gibt es x ′ , y ′ in Γ(v ) mit dist(x ′ , y ′ ) = 2.
Falls G − {x ′ , y ′ } zusammenhängend, fertig!
Ansonsten ist x ′ , y ′ minimaler Separator.
Damit ∆(G ) > 3 und d(v ) > 3.
Sei C Komponente in G − {x ′ , y ′ }, die v enthält.
215/351
Knotenfärbung
Satz von Brooks
216/351
Folgerungen III c
Also gibt es x in C mit x ist zu x ′ oder y ′ benachbart.
Dies gilt für jede Komponente G − {x ′ , y ′ }.
Also gibt es y aus anderen Komponente mit dist(x, y ) = 2.
Nun gilt: G − {x, y } ist noch zusammenhängend.
x ′ und y ′ sind in G − {x, y } verbunden.
Zeige: in G − {x, y } ist jeder Knoten mit x ′ oder y ′ verbunden.
G − x ist noch zusammenhängend.
Jeder Knoten aus C − x ist über einen Weg P mit x ′ oder y ′
verbunden, der nicht y benutzt.
G − y ist noch zusammenhängend.
Jeder Knoten aus (V \ C ) − y ist über einen Weg P mit x ′
oder y ′ verbunden, der nicht x benutzt.
Laufzeit: O(|V | + |E |).
Knotenfärbung
Taillenweite
217/351
Aussagen
Theorem
Für jedes Zahlenpaar n, l gibt es einen Graph G mit:
1
χ(G ) = n und
2
Der kürzeste Kreis hat Länge l.
Wir konstruieren hier Mi mit:
Mi hat keine Dreiecke.
χ(Mi ) = i.
Knotenfärbung
Taillenweite
218/351
Beweis (Konstruktion)
M3 = C5
Seien v1 , v2 , . . . , vn Knoten von Mk .
Mk+1 hat zusätzlich Knoten u1 , u2 , . . . , un und w .
Füge Kanten hinzu:
{w , ui } für 1 6 i 6 n und
{ui , x} falls {vi , x} ∈ E (Mk ).
Beachte:
{u1 , u2 , . . . , un } ist eine unabhängige Menge
Γ(vi ) ist eine unabhängige Menge
Also keine Dreiecke in Mk+1 .
χ(Mk+1 ) 6 k + 1 klar: c(w ) = k + 1 und c(ui ) = c(vi ).
Falls χ(Mk+1 ) = k folgt χ(Mk ) = k, also χ(Mk+1 ) = k + 1.
Knotenfärbung
Komplexität
Aussagen
Theorem
Das 3-Färbungsproblem ist für Graphen vom Knotengrad 6 4
NP-vollständig.
Theorem
Das k-Färbungsproblem ist NP-vollständig.
Theorem
Das Färbungsproblem kann nicht mit einen konstanten Faktor
approximiert werden. (Falls P =
6 N P)
219/351
Knotenfärbung
Komplexität
220/351
Fragen
Wie schwer ist das Knotenfärbungsproblem?
Welche Schranken sind bekannt?
Welcher Fehler ist bei Greedy-Färbung möglich?
Herunterladen