Chordale Graphen - Lehrstuhl für Informatik der RWTH Aachen

Werbung
Algorithmische Graphentheorie (SS2016)
Kapitel 5
Perfekte Graphen
Walter Unger
Lehrstuhl für Informatik 1
15:57 Uhr, den 14. Juni 2016
Einleitung
5
Theoreme
Chordale Graphen
Inhaltsverzeichnis
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Inhalt I
1
Einleitung
Erinnerung
Definition
Bipartite Graphen
Vergleichbarkeitsgraphen
Aussagen
Intervallgraphen
2
Theoreme
Aussagen
3
Chordale Graphen
Definition
Aussagen
Erkennung
Algorithmen
Weitere Charakteriesierung
Aussagen
4
Cliquenseparatoren
Chordale Graphen
Cliquensearator
Fill-In
MES
Cliquenseparabel
SS2016
Z
Einleitung
5:1
Theoreme
Chordale Graphen
Erinnerung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Erinnerung I
Färbung ist schwer!
Färbung ist NP-vollständig.
Färbung ist nicht approximierbar.
Keine guten Schranken bekannt.
Frage: Gibt es Graphklassen mit guten Schranken?
SS2016
Z
Einleitung
5:2
Theoreme
Erinnerung
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Erinnerung II
Definition
Sei G = (V , E ) Graph.
α(G )
ω(G )
χ(G )
=
=
=
χ(G )
=
max{ |V 0 | ; V 0 ⊂ V ∧ ∀a, b ∈ V 0 : (a, b) 6∈ E }
max{ |V 0 | ; V 0 ⊂ V ∧ ∀a, b ∈ V 0 : (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 }
min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) ∈ E }
Weitere Schreibweisen:
ω(G ) = α(G ),
α(G ) = ω(G ) = β0 (G ),
κ(G ) = χ(G )
SS2016
Z
Einleitung
5:3
Theoreme
Chordale Graphen
Erinnerung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen I
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Sei G = (V , E ) Graph. Dann gilt:
α(G ) = α(G ) und χ(G ) = χ(G )
Beweis:
α(G )
ω(G )
χ(G )
=
=
=
χ(G )
=
max{ |V 0 | ; V 0 ⊂ V ∧ ∀a, b ∈ V 0 : (a, b) 6∈ E }
max{ |V 0 | ; V 0 ⊂ V ∧ ∀a, b ∈ V 0 : (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 }
min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) ∈ E }
Einleitung
5:4
Theoreme
Chordale Graphen
Erinnerung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen II
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Sei G = (V , E ) Graph mit n = |V |. Dann gilt:
n
6 χ(G ) 6 n − α(G ) + 1.
α(G )
Beweis:
α(G )
χ(G )
=
=
max{ |V 0 | ; V 0 ⊂ V ∧ ∀a, b ∈ V 0 : (a, b) 6∈ E }
min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) 6∈ E }
Einleitung
5:5
Theoreme
Chordale Graphen
Erinnerung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen III
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Sei G = (V , E ) Graph mit n = |V |. Dann gilt:
√
2 n 6 χ(G ) + χ(G ) 6
n 6 χ(G ) · χ(G ) 6
n+1
n+1 2
2
.
Beweisidee:
χ(G )
=
χ(G )
=
min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) 6∈ E }
min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) ∈ E }
Betrachte die Überdeckungen wie ein Gitter.
Einleitung
5:6
Theoreme
Chordale Graphen
Erinnerung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen III
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
√
2 n
n
6
6
χ(G ) + χ(G )
χ(G ) · χ(G )
6
6
n+1
n+1 2
2
.
o1
o2
o3
o4
o5
o6
o7
o8
e1
e2
e3
e4
e5
e6
e7
e8
c1
c2
c3
c4
c5
c6
c7
c8
a2
a3
a4
a5
a6
a7
a8
a1
Σ=0
Einleitung
5:7
Theoreme
Definition
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Definitionen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Definition
Ein Graph G = (V , E ) heißt:
1
χ-perfekt, falls für alle knoteninduzierten Teilgraphen H von G gilt:
χ(H) = ω(H).
2
α-perfekt, falls für alle knoteninduzierten Teilgraphen H von G gilt:
κ(H) = α(H).
3
perfekt, falls er χ-perfekt [und α-perfekt ist].
α(G )
ω(G )
χ(G )
=
=
=
χ(G )
=
max{ |V 0 | ; V 0 ⊂ V ∧ ∀a, b ∈ V 0 : (a, b) 6∈ E }
max{ |V 0 | ; V 0 ⊂ V ∧ ∀a, b ∈ V 0 : (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 }
min{ k ; ∃V1 , V2 , . . . , Vk : ∪ki=1 Vi = V ∧
∀i : 1 6 i 6 k : ∀a, b ∈ Vi : (a, b) ∈ E }
Einleitung
5:8
Theoreme
Definition
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Definitionen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Definition
Ein Graph G = (V , E ) heißt:
1
χ-perfekt, falls für alle knoteninduzierten Teilgraphen H von G gilt:
χ(H) = ω(H).
2
α-perfekt, falls für alle knoteninduzierten Teilgraphen H von G gilt:
κ(H) = α(H).
3
perfekt, falls er χ-perfekt [und α-perfekt ist].
Definition
Eine Grapheigenschaft E von G = (V , E ) heißt hereditary (vererblich), falls sie
für jeden induzierten Teilgraph von G gilt.
Einleitung
5:9
Theoreme
Chordale Graphen
Definition
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Beispiele (χ-perfekt)
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Planare Graphen: nein
Intervallgraphen: ja
Kreisbogengraphen: nein
Permutationsgraphen: ja
Außenplanare Graphen: nein
Maximale Außenplanare Graphen: ja
Maximale Planare Graphen: nein (siehe weitere Folie)
Bipartite Graphen: ja
K-Bäume: ja
Komplement eines Bipartiten Graphen: ja (siehe weitere Folie)
Kreise ungerader Lange > 5: nein
Linegraphen von Bipartiten Graphen: ja (siehe weitere Folie)
Einleitung
5:10
Theoreme
Chordale Graphen
Definition
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beispiel Planar
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
b
e
f
i
h
g
x
l
a
Σ=0
j
k
d
c
Einleitung
5:11
Theoreme
Chordale Graphen
Bipartite Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Komplement eines Bipartiten Graphen
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Lemma
Das Komplement eines Bipartiten Graphen ist χ-perfekt.
Beweis:
Beachte: Die Klasse ist hereditär.
Zu zeigen χ(G ) = ω(G ).
Also ist zu zeigen: κ(G ) = α(G ).
Damit gilt dieses durch den Satz von König:
Suche kardinalitätsmaximales Matching M mit |M| = a.
Seien b Knoten nicht durch M abgedeckt.
Dann gilt: α(G ) = a + b und
κ(G ) = a + b.
Einleitung
5:12
Theoreme
Chordale Graphen
Cliquenseparatoren
Bipartite Graphen
Walter Unger 14.6.2016 15:57
Linegraphen von Bipartiten Graphen
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Lemma
Linegraphen von Bipartiten Graphen sind χ-perfekt.
Beweis:
Beachte: Die Klasse ist hereditär.
Sei G bipartiter Graph und H = L(G ).
Dann gilt durch die Konstruktion des Linegraphen:
ω(H) = ∆(G ) und
χ(H) = χ0 (G ).
Weiter ist schon bekannt: χ0 (G ) = ∆(G ).
Damit gilt: ω(H) = ∆(G ) = χ0 (G ) = χ(H).
Einleitung
5:13
Theoreme
Chordale Graphen
Vergleichbarkeitsgraphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Definition
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Definition
Eine Relation 6 heißt teilweise Ordnung, falls gilt:
Reflexivität: x 6 x
Transitivität: x 6 y ∧ y 6 z =⇒ x 6 z
Antisymmetrie: x 6 y ∧ y 6 x =⇒ x = y
Zwei Elemente heißen vergleichbar, falls x 6 y oder y 6 x.
Eine Menge paarweise vergleichbarer Elemente heißt Kette.
Eine Menge paarweise unvergleichbarer Elemente heißt Antikette.
y überdeckt x (x y ), falls x 6 y und x 6 a 6 y =⇒ a ∈ {x, y }.
teilweise Ordnung =
ˆ partially ordered set =
ˆ PO-set =
ˆ POS
Das PO-set wird mit P6 bezeichnet.
Einleitung
5:14
Theoreme
Vergleichbarkeitsgraphen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Definition
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Definition
Ein Graph G = (V , E ) heißt Vergleichbarkeitsgraph, falls es eine teilweise
Ordnung 6 auf V6 gibt, mit: {x, y } ∈ E gdw. x und y sind vergleichbar.
Beispiel: bipartite Graphen.
Vergleichbarkeitsgraphen sind transitiv orientierbar.
Beispiel: transitive Orientierung eines bipartiten Graphen.
Einleitung
5:15
Theoreme
Vergleichbarkeitsgraphen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Definitionen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Definition
Ein Graph G = (V , E ) heißt:
1
χ-perfekt, falls für alle knoteninduzierten Teilgraphen H von G gilt:
χ(H) = ω(H).
2
α-perfekt, falls für alle knoteninduzierten Teilgraphen H von G gilt:
κ(H) = α(H).
3
perfekt, falls er χ-perfekt [und α-perfekt ist].
Definition
Eine Grapheigenschaft E von G = (V , E ) heißt hereditary (vererblich), falls sie
für jeden induzierten Teilgraph von G gilt.
Definition
Ein Graph G = (V , E ) heißt Vergleichbarkeitsgraph, falls es eine teilweise
Ordnung 6 auf V6 gibt, mit: {x, y } ∈ E gdw. x und y sind vergleichbar.
Einleitung
5:16
Theoreme
Aussagen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Lemma
Sei P6 ein PO-set. Dann ist die maximale Länge einer Kette gleich der
minimalen Anzahl von Antiketten, in die sich P6 partionieren läßt.
6 : klar!
> :
x minimal: ∀a ∈ P6 : a 6 x =⇒ a = x
Damit kann Höhenfunktion h(x) definiert werden.
Damit sei x = z1 6 z1 6 . . . 6 zhy = y die längste Kette
der Länge h(y ).
Damit geben die Elemente gleicher Höhe eine Antikette.
Damit haben wir eine Partition in h(y ) Antiketten.
Einleitung
5:17
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Vergleichbarkeitsgraphen sind χ-perfekt.
Beweis: klar!
Beachte: Es gilt χ(G ) = ω(G ).
Lemma
Sei P6 ein PO-set. Dann ist die maximale Länge einer Antikette gleich der
minimalen Anzahl von Ketten, in die sich P partitionieren läßt.
Definition
Eine topologische Sortierung von G = (V , A) ist eine Ordnung der Knoten
ρ : V 7→ {1, 2, . . . , n} mit: (u, v ) ∈ A =⇒ ρ(u) < ρ(v ).
Lemma
Das Färbungsproblem läßt sich mit der topologischen Sortierung auf
Vergleichbarkeitsgraphen in Linearzeit lösen.
Einleitung
5:18
Theoreme
Chordale Graphen
Intervallgraphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Theorem
Intervallgraphen sind χ-perfekt.
Für einen Graphen G sind äquivalent:
G ist ein Intervallgraph.
Theorem
Das Komplement eines Intervallgraphen
ist ein Vergleichbarkeitsgraph.
Σ=0
v1
v2
v3
v4
G enthält keine induzierten C4
und G ist ein
Vergleichbarkeitsgraph.
Die maximalen Cliquen von G
können so angeordnet werden,
dass die Cliquen, die einen
Knoten gemeinsam haben,
aufeinander folgen.
Einleitung
5:19
Theoreme
Aussagen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Erste Beobachtungen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Disjunkte Vereinigung von χ-perfekten Graphen ist ein χ-perfekter Graph.
Theorem
Die Identifikation zweier χ-perfekter Graphen an einer Clique ergibt einen
χ-perfekten Graphen.
Theorem
Ein Graph G ist genau dann χ-perfekt, wenn in allen induzierten Teilgraphen es
eine unabhängige Menge gibt, die alle Maximum-Cliquen schneidet:
∀H ⊂ G : ∃I : ω(H − I ) 6 ω(H) − 1 und I ist eine unabhängige Menge.
Einleitung
5:20
Theoreme
Aussagen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beweis
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Ein Graph G ist genau dann χ-perfekt, wenn in allen induzierten Teilgraphen es
eine unabhängige Menge gibt, die alle Maximum-Cliquen scheidet:
∀H ⊂ G : ∃I : ω(H − I ) 6 ω(H) − 1.
Beweis:
=⇒ :
Es gilt χ(G ) = ω(G ).
Daher muss eine Farbklasse alle Maximum-Cliquen
treffen.
⇐=
Zeige per Induktion über |V (H)|:
I .V .
χ(H) 6 χ(H − I ) + 1 = ω(H − I ) + 1 6 ω(H).
Einleitung
5:21
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Stark perfekte Graphen
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Definition
Ein Graph G = (V , E ) heißt stark perfekt, falls jeder knoteninduzierter
Teilgraph eine unabhängige Menge hat, die alle maximalen Cliquen trifft.
Theorem
Ein stark perfekter Graph ist perfekt.
Theorem
Die Probleme für χ(G ), α(G ), ω(G ), κ(G ) sind auf χ-perfekten Graphen in
Polynomzeit lösbar.
Bemerkung: Beweis über Ellipsoidmethode.
Einleitung
5:22
Theoreme
Aussagen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem
Die folgenden Aussagen sind äquivalent für einen Graphen G = (V , E ):
1
G ist χ-perfekt.
2
G ist α-perfekt
3
Für alle knoteninduzierten Teilgraphen H = (V 0 , E 0 ) von G gilt:
α(H) · ω(H) > |V 0 |.
Theorem
Perfekte Graphen sind abgeschlossen gegen Komplement.
Einleitung
5:23
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen II
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Lemma
Wird ein Knoten x eines χ-perfekten Graphen G durch einen χ-perfekten
Graphen H ersetzt, so entsteht ein perfekter Graph GH .
Beweis:
Konstruiere unabhängige Menge I , die alle Maximum-Cliquen trifft.
Färbe G mit χ(G ) Farben.
Seien Ix die Knoten mit der gleichen Farbe wie x.
Sei IH unabhängige Menge in H, die alle Maximum-Cliquen in H trifft.
Setze: I = Ix \ {x} ∪ IH
Sei C eine Maximum-Clique in GH .
Falls C ∩ V (H) = ∅. Dann ist C in G − x und
wegen ω(G ) > χ(G ) gilt C ∩ Ix 6= ∅.
Falls C ∩ V (H) 6= ∅. Dann enthält C Maximum-Clique von H
und damit trifft IH dann C .
Einleitung
5:24
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen II
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Lemma
Wird ein Knoten x eines α-perfekten Graphen G durch eine stabile Menge S
ersetzt, so entsteht ein α-perfekter Graph GS .
d
Es reicht aus, nur einen Knoten y als
Kopie von x hinzuzufügen.
Wir betrachten zwei Fälle:
b
x ist in einer stabilen Menge S der Größe
α(G ).
y
x ist in keiner stabilen Menge S der
Größe α(G ).
x
f
g
a
Σ=0
e
c
Einleitung
5:25
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen II
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
d
Sei K eine Cliquenüberdeckung von G
mit |K| = κ(G ) = α(G ).
x ist in einer stabilen Menge S der Größe
α(G ).
Damit ist S ∪ {y } eine stabile
Menge und
α(G{y } ) = α(G ) + 1.
Da K ∪ {y } eine
Cliquenüberdeckung von G{y } ist,
folgt:
κ(G{y } ) 6 κ(G ) + 1 = α(G ) + 1 =
α(G{y } ) 6 κ(G{y } ).
b
f
y
g
x
a
Σ=0
e
c
Einleitung
5:26
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen II
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
d
Sei K eine Cliquenüberdeckung von G mit
|K| = κ(G ) = α(G ).
x ist in keiner stabilen Menge S der Größe α(G ).
Damit ist α(G{y } ) = α(G ).
Wegen κ(G ) = α(G ) schneidet jede Clique aus
K jede maximale stabile Menge.
Damit schneidet Kx (die Clique, die x enthält)
jede maximale stabile Menge genau einmal.
Somit schneidet D = Kx \ {x} jede maximale
stabile Menge genau einmal.
Damit gilt: α(G [V \ D]) = α(G ) − 1.
Per Induktion erhalten wir: κ(G [V \ D]) =
α(G [V \ D]) = α(G ) − 1 = α(G{y } ) − 1.
Damit gibt es eine Cliquenüberdeckung K 0 von
G [V \ D] der Größe α(G{y } ) − 1.
Final haben wir κ(G{y } ) = α(G{y } )
(Überdeckung: K 0 ∪ {D ∪ {y }}).
f
y
c
x
b
e
Σ=0
a
Einleitung
5:27
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen III
SS2016
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Theorem (Lovász)
Das Komplement eines perfekten Graphen ist perfekt.
Beweis (wir zeigen aus α-perfekt folgt χ-perfekt):
Sei also G α-perfekt.
Per Induktion über n = |V (G )|.
Klar für n 6 3. Sei daher n > 4.
Für alle induzierten echten Teilgraphen von G gilt die Aussage.
Daher zeige χ(G ) 6 ω(G ).
Falls G eine stabile Menge S hat, die alle Maximum-Cliquen trifft,
so gilt ω(G \ S) = ω(G ) − 1.
Damit folgt: χ(G ) 6 χ(G \ S) + 1 = ω(G \ S) + 1 6 ω(G ).
Daher gebe es im Folgenden keine stabile Menge S, die alle
Maximum-Cliquen trifft.
Einleitung
5:28
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beweis
Z
ω(G ) = α(G ), α(G ) = ω(G ) = β0 (G ), κ(G ) = χ(G )
Es gibt keine stabile Menge S, die alle Maximum-Cliquen trifft.
Für jede stabile Menge S gilt: In G \ S gibt es Clique CS , mit CS ∩ S = ∅
und |CS | = ω(G ).
Sei S die Menge der stabilen Mengen in G .
Für vi ∈ V (G ) setze hi = |{S ∈ S | vi ∈ CS }|.
Wir ersetzen jeden Knoten vi ∈ V (G ) durch eine stabile Menge der Größe
hi .
Dieser neue Graph H ist ebenfalls α-perfekt.
Weiter gilt:
|V (H)|
=
=
=
=
=
P
hi
Pvi ∈V (G ) P
|v ∩ CS |
v
∈V
(G
)
P i P S∈S i
|vi ∩ CS |
S∈S
v
∈V
(G
)
i
P
S∈S |CS |
ω(G ) · |S|
Einleitung
5:29
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beweis
Z
hi = |{S ∈ S | vi ∈ CS }|
Nach Konstruktion von H gilt ω(H) 6 ω(G ).
Weiter gilt (beachte im Folgenden: |T ∩ CS | 6 1 und |S ∩ CS | = 0):
P
α(H) = maxT ∈S xi ∈T hi
P
= maxT ∈S S∈S |T ∩ CS |
6 |S| − 1
Sodann gilt noch:
κ(H) >
|V (H)|
|V (H)|
>
= |S|.
ω(G )
ω(H)
Damit erhalten wir den folgenden Widerspruch:
κ(H) > |S| > |S| − 1 > α(H).
Einleitung
5:30
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
SPGT
Definition
Ein Graph G = (V , E ) heißt minimal imperfekt, falls er nicht perfekt ist und
jeder knoteninduzierte echte Teilgraph perfekt ist.
Strong Perfect Graph Theorem
Jeder minimal imperfekte Graph ist ein ungerader Kreis der Länge > 5 oder
sein Komplement.
Theorem
Die Erkennung von perfekten Graphen ist in P.
Z
Einleitung
5:31
Theoreme
Chordale Graphen
Definition
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Definiton
Definition
Ein Graph G heißt chordal, falls er keinen Ck für k > 4 induziert.
Bemerkung: D.h. G enthält keinen Ck als induzierten Teilgraphen.
Bemerkung: Diese Klasse wird auch manchmal als Dreiecksgraphen oder
trianguliert bezeichnet.
Beispiele:
Intervallgraphen
Maximale außenplanare Graphen
K-Bäume
SS2016
Z
Einleitung
5:32
Theoreme
Aussagen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Theorem
Ein Graph G ist chordal genau dann, wenn jeder inklusionsweise minimal
trennender Separator eine Clique ist.
Beweis (=⇒):
Sei S inklusionsweise minimal trennender Separator.
c1
e1
H1
S trenne H1 und H2 .
a1
Alle Knoten aus S haben Nachbarn in H1 und H2 .
Seien u, v aus S.
S
Es gibt kürzesten Pfad Pi von u nach v in Hi .
u
z1
Σ=0
v
a2
z2
c2
e2
Damit ist durch P1 und P2 ein Kreis gefunden.
Damit gibt es Kante {u, v }.
H2
Z
Einleitung
5:33
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Theorem
Ein Graph G ist chordal genau dann, wenn jeder inklusionsweise minimal
trennender Separator eine Clique ist.
Beweis (⇐=):
Sei C ein Kreis der Länge > 4.
u
H1
Seien u, v nicht benachbart auf C .
Falls {u, v } ∈ E . Dann gilt Behauptung.
Ansonsten:
Bestimme minimalen Separator S für u, v .
Der ist eine Clique.
Diese enthält zwei andere Knoten von C .
Diese sind verbunden.
S
H2
a1
Σ=0
v
a2
Z
Einleitung
5:34
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Simpliziale Knoten
Definition
Ein Knoten heißt simplizialer Knoten, falls seine Nachbarn vollständig
verbunden sind.
Theorem
Jede Clique hat einen simplizialen Knoten und jeder chordale Graph, der keine
Clique ist, hat zwei simpliziale Knoten, die nicht verbunden sind.
Beweis per Induktion. (klar falls |V | 6 3.)
u
H1
Seien u, v zwei nicht benachbarte Knoten.
Bestimme minimalen Separator S für u, v .
G − S zerfällt in Komponenten Hi , mit i > 2.
S
c1
Σ=0
c2
S ist eine Clique.
Hi ∪ S enthält damit einen simplizialen Knoten.
Dieser ist simplizialer Knoten in G .
H2
v
c3
Z
Einleitung
5:35
Theoreme
Chordale Graphen
Aussagen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Theorem
Chordale Graphen und ihre Komplemente sind perfekt.
Beweis (über Chordale Graphen):
per Induktion.
Sei G keine Clique.
Dann besitzt G trennende Clique C .
G − C zerfällt in Komponenten Hi , mit i > 2.
Hi ∪ C sind perfekt.
Damit ist G perfekt.
Beweis (über Komplement Chordaler Graphen):
Finde Clique in G , die alle maximalen unabhängigen Mengen trifft.
Wähle simplizialen Knoten s, d.h. C = {s} ∪ Γ(s).
Z
Einleitung
5:36
Theoreme
Chordale Graphen
Erkennung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
PES
Definition
Sei G = (V , E ) Graph mit |V | = n. Eine totale Ordnung ρ : V 7→ {1, . . . , n}
heißt perfektes Knoten-Eliminationsschema, falls jeder Knoten v ein simplizialer
Knoten in G [{u ∈ V | ρ(u) > ρ(v )}] ist.
v0
Σ=0
v1
v2
v3
v4
v5
v6
v7
v8
v9
Z
Einleitung
5:37
Theoreme
Chordale Graphen
Erkennung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Chordale Graphen und PES
Z
Theorem
Ein Graph ist chordal genau dann, wenn er ein PES hat.
Zeige: ⇐=.
Zeige: =⇒.
Wähle simplizialen Knoten v und
setze ρ(v ) = 1.
Sei C Kreis in G .
Sei u der erste Knoten in C in der
Ordnung ρ.
Bestimme weitere Knoten
rekursiv auf G − v .
Damit sind die Nachbarn von u
verbunden.
Damit ist G chordal.
v0
Σ=0
v1
u
v3
v4
v5
v6
v7
v8
v9
Einleitung
5:38
Theoreme
Chordale Graphen
Erkennung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Erkennung
Theorem
Chordale Graphen können in Polynomzeit erkannt werden.
Beweis: suche PES (siehe folgende Folien).
Theorem
Chordale Graphen können in Zeit O(n2 · m) erkannt werden.
Theorem
Chordale Graphen können in Zeit O(n + m) erkannt werden.
SS2016
Z
Einleitung
5:39
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Überblick und Einfacher Algorithmus
Bestimme eine Ordnung für G .
Bestimme diese anhand der Knotengrade.
Zeige diese durch Knotengrade definierte Ordnung ist immer ein PES,
falls G chordal ist.
Damit ergibt sich folgender Algorithmus:
Bestimme Ordnung anhand der Knotengrade.
Teste ob diese Ordnung ein PES ist.
Einfacher Algorithmus:
Baue PES rückwärts auf:
Starte mit beliebigen Knoten vn .
wähle vi−1 so, dass dieser mit möglichst vielen Knoten
vi , vi+1 , . . . , vn verbunden ist.
Zeige v1 , v2 , . . . , vn ist ein PES.
Z
Einleitung
5:40
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Hilfreiches Lemma
Z
Lemma
Eine totale Ordnung ρ auf V ist ein PES genau dann, wenn für alle
Knotenpaare vi , vj , die durch einen Pfad verbunden sind, bei dem für alle
inneren Knoten u ρ(u) < min(ρ(vi ), ρ(vj )) gilt, die Knoten vi , vj sind
verbunden.
Beweis ⇐=: klar
Beweis =⇒ durch Widerspruch.
Seien vi , vj wie oben mit {vi , vj } 6∈ E .
Sei P ein kürzester Weg von vi nach vj und sei u
der vorderste Knoten auf P in ρ.
Die Nachbarn von u auf P sind verbunden.
Widerspruch zur Minimalität von P.
u
Σ=0
u1
u2
vi
vj
u
Σ=0
vi
vj
Einleitung
5:41
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Erkennung
Theorem
Der einfache Algorithmus bestimmt für chordale Graphen ein PES.
Behauptung
Angenommen es gilt: ρ(u) < ρ(v ) < ρ(w ), mit
{u, w } ∈ E und {v , w } 6∈ E .
Dann gibt es Knoten z mit:
ρ(v ) < ρ(z), {u, z} 6∈ E und {v , z} ∈ E .
u
Σ=0
v
z
w
Beweis:
klar, wegen der gewählten Nummerierung.
z0
SS2016
Z
Einleitung
5:42
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Erkennung (Zeige, ρ definiert PES)
Z
Annahme: Das gilt nicht:
Damit gibt es z mit: ρ(v ) < ρ(z),
{u, z} 6∈ E und {v , z} ∈ E .
Damit gibt es v , w mit
{v , w } 6∈ E und
Damit ist w mit z durch einen
Pfad verbunden.
für alle inneren Knoten u auf dem
Pfad P von v , w gilt:
Wegen der Wahl von v und w
gilt: {z, w } ∈ E .
ρ(u) < min(ρ(v ), ρ(w )).
Damit gibt es einen Kreis über P,
{v , z} und {z, w }.
Seien nun ρ(w ) maximal gewählt
und danach ρ(v ) maximal.
Wähle nun kürzesten Weg
zwischen u und v .
Wähle nun kürzesten Pfad P von
w nach v .
Damit haben wir einen nicht
chordalen Kreis aus > 4 Knoten.
Dieser enthält inneren Knoten u.
Σ=0
v1
v2
v3
v4
v5
u
v6
v
w
z
Einleitung
5:43
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Erkennung (Laufzeit)
Beim Testen ist der Test der Cliqueneigenschaft ggf. aufwendig.
Test auf Cliqueneigenschaft geschieht über die linken Knoten der Clique.
Damit werden die Kanten nur einmal betrachtet.
Damit geht der Teil auch in linearer Zeit.
s1
Σ=0
s2
0
v0
0
0
v1
1
0
v2
2
0
v3
3
0
v4
4
0
v5
5
0
v6
6
0
v7
7
0
v8
8
0
v9
9
Z
Einleitung
5:44
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Test auf PES Eigenschaft
Der Algorithmus:
Starte mit beliebigem Knoten vn .
wähle vi−1 so, dass dieser mit möglichst vielen Knoten
vi , vi+1 , . . . , vn verbunden ist.
Zeige v1 , v2 , . . . , vn ist ein PES.
Was braucht man, um die Sortierung zu bestimmen?
Ni = {vj ∈ Γ(vi ) | j > i}
Ri = |{vj ∈ Γ(vi ) | j > i}|
Was braucht man, um die Sortierung zu testen?
Teste Ni = {vj ∈ Γ(vi ) | j > i} induziert eine Clique.
SS2016
Z
Einleitung
5:45
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Bestimme Ri
Z
Wähle vi−1 so dass dieser mit möglichst vielen Knoten vi , vi+1 , . . . , vn verbunden ist.
Setze B0 = V , D = ∅ und l = n.
Setze für 1 6 i 6 n − 1: Bi = ∅.
Setze für alle v ∈ V : R(v ) = 0.
Solange Bi 6= ∅ für ein i, mache für kleinstes i:
1 Wähle x ∈ Bi .
2 Setze vl = x und D = D ∪ {x}.
3 Setze ρ(x) = l.
4 Setze l = l − 1.
5 Setze Bi = Bi \ {x}.
6 Für alle v ∈ Γ(x) \ D mache:
Setze BR(v ) = BR(v ) \ {v }.
Setze R(v ) = R(v ) + 1.
Setze BR(v ) = BR(v ) ∪ {v }.
Ziel war: Ri = |{vj ∈ Γ(vi ) | j > i}|.
Wenn ein Knoten x = vi ausgewählt wurde, so wird R(x) nicht mehr
geändert.
Damit gilt: Ri = R(x) = |{vj ∈ Γ(vi ) | j > i}|.
Einleitung
5:46
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Teste Ni
SS2016
Z
Teste Ni = {vj ∈ Γ(vi ) | j > i} induziert eine Clique.
Aufbau der Idee:
Durchlaufe Knoten von links nach rechts.
Für einen Knoten vi mache nicht sofort den Cliquen-Test auf Ni .
Sondern verzögere diesen Test für jeden Nachbarn vj von vi .
Bereite aber vor, welche Nachbarn der Knoten vj haben muss.
Speichere dies in Tabellen T [vj ].
Einleitung
5:47
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Teste Ni
SS2016
Z
Teste Ni = {vj ∈ Γ(vi ) | j > i} induziert eine Clique.
Für alle vj ∈ V setze T [vj ] = ∅.
Für alle i von 1 bis n mache:
1
2
3
4
Betrachte Knoten vi .
Setze N = {vj ∈ Γ(vi ) | j > i}.
Falls T [vi ] 6⊂ N, dann breche mit Meldung “Kein PES” ab.
Falls N 6= ∅, dann mache:
Sei vl der erste (linke) Knoten von N.
Setze T [vl ] = T [vl ] ∪ (N \ {vl }).
Gebe aus: Ordnung ist ein PES.
Einleitung
5:48
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Teste Ni
Z
Teste Ni = {vj ∈ Γ(vi ) | j > i} induziert eine Clique.
Für alle vj ∈ V setze T [vj ] = ∅.
Für alle vj ∈ V setze S[vj ] = 0.
Für alle i von 1 bis n mache:
1
2
3
4
5
6
Betrachte Knoten vi .
Setze N = {vj ∈ Γ(vi ) | j > i}.
Für alle v ∈ N setze S[v ] = 1.
Für alle u ∈ T [vi ] mache:
Falls S[u] = 0, dann breche mit Meldung “Kein PES” ab.
Für alle v ∈ N setze S[v ] = 0.
Falls N 6= ∅, dann mache:
Sei vl der erste (linke) Knoten von N.
Setze T [vl ] = T [vl ] ∪ (N \ {vl }).
Gebe aus: Ordnung ist ein PES.
Einleitung
5:49
Theoreme
Chordale Graphen
Algorithmen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Algorithmen für Graphprobleme
Die Standard-Graphprobleme lassen sich in Polynomzeit lösen.
Vorgehen: Greedy mit der durch PES gegebenen Ordnung.
Beachte: Chordale Graphen haben höchstens |V | Maximum-Cliquen.
Daher sind nur alle simplizialen Knoten zum Cliquenproblem zu
betrachten.
Beim Färbungsproblem macht man Greedy in umgekehrten PES Ordnung.
Für die anderen Probleme geht es ähnlich.
Z
Einleitung
5:50
Theoreme
Chordale Graphen
Weitere Charakteriesierung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Schnittgraphdarstellung
Lemma
Sei T = {Ti | 1 6 i 6 n} eine Familie von Teilbäumen eines Baumes und die
Bäume aus T schneiden sich paarweise.
Dann haben sie einen Knoten gemeinsam.
D.h. ∩16i6n Ti 6= ∅
Die Vereinigung der Teilbäume Ti
induziert einen Teilbaum T 0 .
Ein Blatt von T 0 , welches nicht in
allen Ti ist, kann gelöscht
werden, ohne die Schnitte der Ti
zu verändern.
Damit finden wir einen Knoten
der allen Ti gemeinsam ist.
T1 Tx2 T3
Σ=0
Z
Einleitung
5:51
Theoreme
Weitere Charakteriesierung
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Theorem
Sei G = ({v1 , v2 , . . . , vn }, E ) Graph. Die folgenden Aussagen sind äquivalent:
1
G ist chordal.
2
G ist Schnittgraph einer Familie von Teilbäumen eines Baumes.
3
Es gibt einen Baum B auf der Menge der maximalen Cliquen von G , so
dass für jedes Paar von Cliquen C 0 , C 00 gilt:
Die Clique C 0 ∩ C 00 ist in jeder maximalen Clique enthalten,
die auf dem Pfad von C 0 nach C 00 in B liegt.
Z
Einleitung
5:52
Theoreme
Chordale Graphen
Weitere Charakteriesierung
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beweis I
Zeige: G ist chordal =⇒ G ist Schnittgraph einer Familie von Teilbäumen eines
Baumes.
Beweis per Induktion.
n = 1 klar.
Induktionsschritt: n − 1 → n
Knoten v1 , v2 , . . . , vn und s = vn simplizialer Knoten.
(Bn−1 , {T1 , T2 , . . . , Tn−1 }) Schnittgraphdarstellung für
v1 , v2 , . . . , vn−1
Γ(s) \ {s} ist Clique.
Es gibt einen gemeinsamen Knoten a in ∩v ∈Γ(s) V (Tv ).
Hänge in Bn−1 an a ein weiteres Blatt b.
Und erzeuge neuen Teilbaum aus dem Knoten b.
Und verlängere alle Teilbäume aus Γ(s) um b.
T1 Ta2 T3
Σ=0
T1 T2 Tb3 T4 T5
T2 T3dT4 T6
T1cT4
Z
Einleitung
5:53
Theoreme
Weitere Charakteriesierung
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beweis II
Zeige: G ist Schnittgraph einer Familie von Teilbäumen eines Baumes =⇒ G
ist chordal.
Sei C = (v0 , v1 , . . . , vk−1 ) Kreis der Länge k > 4.
Seien T0 , T1 , . . . , Tk−1 die zugehörigen Bäume.
Wenn man nun diese Teilbäume betrachtet ergibt sich sogleich ein Kreis
in dem Stützbaum.
Die anderen Teile des Beweises ergeben sich analog.
Z
Einleitung
5:54
Theoreme
Aussagen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Einige einfache Aussagen
Lemma
Sei G ein chordaler Graph. Ein Knoten v von G ist simplizial genau dann, wenn
er zu genau einer maximalen Clique gehört.
Lemma
Sei G ein chordaler Graph und C eine Clique in G . Dann gibt es ein PES,
welches die Knoten von C als letzte aufzählt.
Z
Einleitung
5:55
Theoreme
Chordale Graphen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Ausage
Theorem
Jeder chordale Graph mit n Knoten hat einen
(ω(G ), 1/2)-Separator, der eine Clique ist.
Beachte: Ein Separator der Größe ω(G ) muss keine Clique sein.
Beachte: Ein Cliquenseparator muss nicht minimal trennend sein.
SS2016
Z
Einleitung
5:56
Theoreme
Chordale Graphen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Beweis
Algorithmus Chordaler Separator:
C := ∅
Solange Komponente A in G [V \ C ] mit |A| > n/2 mache:
C := {c ∈ C | Γ(c) ∩ A 6= ∅}
Wähle a ∈ A mit: C ⊂ Γ(a)
C := C ∪ {a}
Es gibt höchstens eine Komponente A mit: |A| > n/2.
Mindestens ein Knoten wird jeweils entfernt.
Damit höchstens dn/2e Schleifendurchläufe.
Zeige ∃a : C ⊂ Γ(a).
Beachte dabei:
Am Anfang ist a frei wählbar.
C ist stets minimal trennend für A und V \ (C ∪ A).
Alle Knoten aus C haben Nachbarn in A.
SS2016
Z
Einleitung
5:57
Theoreme
Chordale Graphen
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Beweis
C := ∅
Solange eine Komponente A in G [V \ C ] mit |A| > n/2 mache:
C := {c ∈ C | Γ(c) ∩ A 6= ∅}
Wähle a ∈ A mit: C ⊂ Γ(a)
C := C ∪ {a}
Zeige ∃a : C ⊂ Γ(a).
Wähle ρ = (a1 , a2 , . . . , a|A| , c1 , c2 , . . . , c|C | ) als PES für G [A ∪ C ].
Betrachte nun a = a|A| :
Jeder Knoten aus C ist über einen Weg mit a verbunden.
Damit ist jeder Knoten aus C direkt mit a verbunden.
Damit ist {a} ∪ C eine Clique.
Das ganze kann in Zeit O(n · m) bestimmt werden.
Ist über anderen Algorithmus in Linearzeit möglich.
SS2016
Z
Einleitung
5:58
Theoreme
Chordale Graphen
Cliquensearator
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Einleitung
Definition (Cliquenseparator)
Clique C in G = (V , E ) ist Cliquenseparator, falls G [V \ C ] zerfällt.
Definition (Cliquenseparatorbaum)
Ein Cliquenseparatorbaum T ist rekursiv definiert:
Falls G = (V , E ) keinen Cliquenseparator hat:
T besteht nur aus einem Knoten w .
w ist die Menge V zugeordnet.
Falls G = (V , E ) einen Cliquenseparator C hat:
Seien A1 , A2 , · · · , Al die Komponenten von G [V \ C ]
T besteht nur aus Wurzel w und Unterbäumen T1 , T2 , . . . , Tl .
Einem Baum Ti ist der Graph G [Ai ∪ C ] zugeordnet.
w ist die Menge C zugeordnet.
Die Blätter des Cliquenseparatorbaums heißen Atome.
Z
Einleitung
5:59
Theoreme
Chordale Graphen
Cliquensearator
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Grundlagen, Motivation
Ein Cliquenseparatorbaum hat höchstens
n
2
− m Atome (Übung).
Jeder chordale Graph hat einen Cliquenseparatorbaum, dessen Atome
Cliquen sind.
Wenn die Atome “einfach” sind, sind viele Probleme einfach zu lösen.
Wir werden nun etwas Analoges zu PES aufbauen: MES.
Z
Einleitung
5:60
Cliquensearator
Theoreme
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Erinnerung
Definition
Ein Knoten heißt Simplizialknoten, falls seine Nachbarn vollständig verbunden
sind.
Theorem
Jede Clique hat einen Simplizialknoten und jeder chordale Graph, der keine
Clique ist, hat zwei Simplizialknoten, die nicht verbunden sind.
Definition
Sei G = (V , E ) Graph mit |V | = n. Eine totale Ordnung ρ : V 7→ {1, . . . , n}
heißt perfektes Knoten-Eliminationsschema, falls jeder Knoten v ein
Simplizialknoten in G [{u ∈ V | ρ(u) > ρ(v )}] ist.
Theorem
Ein Graph ist chordal genau dann, wenn er ein PES hat.
Z
Einleitung
5:61
Theoreme
Chordale Graphen
Fill-In
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Fill-In
Definition (Fill-in)
Sei G = (V , E ) Graph mit |V | = n und ρ : V 7→ {1, . . . , n} eine Ordung der
Knoten. Der Fill-in zu ρ ist:


v 6= w ∧ {v , w } 6∈ E ∧


Fρ := {v , w } : es gibt Pfad v = x1 x2 . . . xl = w mit:


ρ(xi ) < min(ρ(v ), ρ(w ))∀i = 2, 3, . . . , l − 1
Schreibweise: Gρ = (V , E ∪ Fρ )
Jede Ordnung ρ ist ein PES für Gρ .
Der Fill-in zu ρ in Gρ ist die leere Menge.
Damit ist auch Gρ chordal.
Γρ,F (v ) := {w | {v , w } ∈ E ∪ F ∧ ρ(w ) > ρ(v )}
mF (v ) der Knoten u mit: ρ(u) = min{ρ(w ) | w ∈ Γρ,F (v )}.
Z
Einleitung
5:62
Theoreme
Chordale Graphen
Fill-In
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Resultate
Lemma
Sei G = (V , E ) Graph und ρ Ordnung.
Dann ist Fill-in Fρ die kleinste Menge F , so dass für alle v ∈ V gilt:
Γρ,F (v ) ⊆ Γρ,F (mF (v )) ∪ mF (v )
Beweis:
Zeige F = Fρ erfüllt obige Gleichung.
Sei v Knoten.
Sei w ∈ Γρ,Fρ (v ) und w 6= mF (v ) = x.
Dann ist mF (v ), v , w ein Pfad in Gρ mit
ρ(v ) < min(ρ(mF (v )), ρ(w )).
Damit {w , mF (v )} ∈ E ∪ Fρ .
Damit w ∈ Γρ,Fρ (mF (v ))
v
Σ=0
x
w
SS2016
Z
Einleitung
5:63
Theoreme
Chordale Graphen
Fill-In
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beweis (Sei F mit obiger Eigenschaft, zeige Fρ ⊆ F )
Z
Γρ,F (v ) ⊆ Γρ,F (mF (v )) ∪ mF (v )
Zeige per Induktion über i:
∀{v , w } ∈ Fρ mit ρ(v ) 6 i gilt: {v , w } ∈ F
Sei dies gezeigt für i 6 i0 .
Sei {v , w } ∈ Fρ mit ρ(v ) = i0 + 1 6 ρ(w ).
Damit gibt es einen Pfad v = x1 x2 . . . xk = w in Gρ = (V , E ∪ Fρ ) mit:
k > 3 und ρ(xj ) < min(ρ(v ), ρ(w )) für j = 2, 3, . . . k − 1.
Sei k weiter minimal.
Falls k > 3, so sei l > 2 mit ρ(xl ) > ρ(xj ) für j = 2, 3, . . . k − 1.
Dann ist v = x1 , x2 , . . . , xl ein Pfad in Gρ mit ρ(xj ) < min(ρ(v ), ρ(w )) für
j = 2, 3, . . . l − 1.
Damit {v , xl } ∈ Fρ .
Damit kann der Pfad abgekürzt werden, Widerspruch.
F
Fρ
F ∩ Fρ
v1
Σ=0
v2
v3
v
w
Einleitung
5:64
Theoreme
Chordale Graphen
Fill-In
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Beweis (Sei F mit obiger Eigenschaft, zeige Fρ ⊆ F )
Γρ,F (v ) ⊆ Γρ,F (mF (v )) ∪ mF (v )
v = x1 x2 x3 = w
ρ(x2 ) < min(ρ(v ), ρ(w ))
Also k = 3 und u = x2 mit: v , w ∈ Γρ,Fρ (u).
Wähle u so, dass ρ(u) maximal ist.
Nach Induktion und ρ(u) < ρ(v ) gilt: v , w ∈ Γρ,F (u).
Falls v 6= mF (u), dann wären auch v , w ∈ Γρ,F (mF (u)).
Das ist aber ein Widerspruch zur Maximalität von ρ(u).
Also v = mF (u).
Damit ist auch w ∈ Γρ,F (mF (u)).
Dadurch auch {v , w } = {mF (u), w } ∈ F .
Damit folgt durch Induktion: Fρ ⊆ F .
F
Fρ
F ∩ Fρ
v1
Σ=0
u
Z
v
w
Einleitung
5:65
Theoreme
Chordale Graphen
Fill-In
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen
Lemma
Zu einem Graphen G und einer Ordnung ρ kann das Fill-in in Zeit
O(n + m + |Fρ |) bestimmt werden.
Algorithmus Fill_In(G , ρ)
Für alle v ∈ V mache:
A(v ) := Γρ,∅ (v ) = {w ∈ Γ(V ) | ρ(w ) > ρ(v )}
Für i := 1 bis n − 1 mache:
v := ρ−1 (i)
m(v ) := ρ−1 (min{ρ(u) | u ∈ A(v )})
A(m(v )) := A(m(v )) ∪ {w ∈ A(v ) | w 6= m(v )}
Fρ = ∅
Für alle v ∈ V und w ∈ A(v ) \ Γ(v ) mache:
Fρ = Fρ ∪ {v , w }
SS2016
Z
Einleitung
5:66
Theoreme
MES
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
MES
Definition
Eine Ordnung ρ für G = (V , E ) heißt minimales Eliminationsschema (MES),
falls der Fill-in Fρ minimal ist,
d.h. 6 ∃ρ0 : Fρ0 ⊂ Fρ .
Ziel: Cliquenseparator für G auch Cliquenseparator für Gρ , falls ρ MES.
Bemerkung: kleinstes MES zu finden ist in NPC.
Hier reicht aber ein MES.
Dies geht in Polymomzeit:
Lexikographische Breitensuche
Mengenvergleich durch lexikographische Ordnung
Also {2, 5} < {2, 4, 5}
Und ∅ < {2}
Z
Einleitung
5:67
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Algorithmus
Für alle v ∈ V mache:
pr (v ) := ∅
ρ(v ) := 0
Für i := n bis 1 mache:
Wähle Knoten v mit pr (v ) maximal und ρ(v ) = 0
ρ(v ) := i
Für alle w mit ρ(w ) = 0 mache
Falls es Weg v = v1 , v2 , . . . , vk = w gibt mit:
ρ(vi ) = 0 und pr (vj ) < pr (vw )
für j = 2, 3, . . . , k − 1. Dann mache:
pr (w ) := pr (w ) ∪ {i}
Korrektheitsbeweis zu aufwendig.
Laufzeit O(n(m + n))
SS2016
Z
Einleitung
5:68
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen
Theorem
Sei ρ MES für G = (V , E ). Dann ist ein Cliquenseparator für G auch
Cliquenseparator für Gρ .
Seien V1 , . . . , Vk Knotenmengen der Komponenten von G [V \ C ]
Entferne aus Fρ alle Kanten, die zwei Komponenten verbinden.
Nenne die neue Kantenmenge F , F ⊂ Fρ .
Zeige G 0 = (V , E ∪ F ) ist chordal
Sei K Kreis in G 0 der Länge > 4.
Falls K ⊂ G [Vi ∪ C ]. Dann hat K Sehne in Fρ ,
da Gρ chordal ist.
Diese Sehne liegt in E ∪ F .
Falls K verschiedene Vi trifft. Dann hat K zwei
nichtaufeinanderfolgende Knoten in C .
Damit hat K Sehne in G 0 .
SS2016
Z
Einleitung
5:69
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Aussagen
Theorem
Sei ρ MES für G = (V , E ). Dann ist ein Cliquenseparator für G auch
Cliquenseparator für Gρ
Seien V1 , . . . , Vk Knotenmengen der Komponenten von G [V \ C ].
Entferne aus Fρ alle Kanten, die zwei Komponenten verbinden.
Nenne die neue Kantenmenge F , F ⊂ Fρ .
Gezeigt: G 0 = (V , E ∪ F ) ist chordal
Damit ist G 0 chordal und hat PES ρ0 mit Fρ0 = F .
ρ ist ein MES, daher: Fρ0 = Fρ = F .
Damit gilt Behauptung.
SS2016
Z
Einleitung
5:70
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Cliquenseparatorbaumalgorithmus
ρ := LexBreitensuche(G )
Fρ := Fill_In(G , ρ)
Für alle v ∈ V mache:
C (v ) := ∅
Für alle w ∈ V mache:
Falls ρ(w ) > ρ(v ) und {v , w } ∈ E ∪ Fρ mache:
C (v ) := C (v ) ∪ {w }
k := 1
Für alle i := 1 bis n − 1 mache:
v := ρ−1 (i)
Sei A Komponente in G [V \ C (v )] die v enthält.
Setze B = V \ (A ∪ C (v ))
Falls B 6= ∅ und C (v ) eine Clique ist:
Atome(k) := A
k := k + 1
G := G [B ∪ C (v )]
Atome(k) := V (G )
SS2016
Z
Einleitung
5:71
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Korrektheit
Theorem
Falls G einen Cliquenseparator hat. Dann ist dieser Separator C (v ) für einen
Knoten v .
Sei ρ MES wie oben bestimmt.
Sei C inklusionsminimaler Cliquenseparator.
Seien A, B zwei Komponenten von G [V \ C ].
Damit hat jeder Knoten aus C einen Nachbarn in A und B.
Seien x, y Knoten mit höchsten ρ Werten in A bzw. B.
Zeige: Es gibt keinen Knoten z ∈ C mit: ρ(z) 6 min{ρ(x), ρ(y )}.
Durch Widerspruch
In folgender Folie
Z
Einleitung
5:72
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Korrektheit (Einschub)
Z
Falls G einen Cliquenseparator hat. Dann ist dieser C (v ) für einen Knoten v .
Annahme: Es gibt einen Knoten z ∈ C mit: ρ(z) 6 min{ρ(x), ρ(y )}.
Sei x = x1 , x2 , . . . , xj−1 , xj = z kürzester Pfad in Gρ mit x1 x2 . . . xj−1 ∈ A.
Falls es i gibt mit i 6 j − 1 und ρ(xi ) 6 ρ(xj−1 ),
dann sei dieses i maximal gewählt.
Damit i > 2 (Beachte: ρ(z) 6 min{ρ(x), ρ(y )})
Damit {xi−1 , xi+1 } ∈ Fρ wegen ρ(xi ) 6 min{ρ(xi−1 ), ρ(xi+1 )} und
Definition von Fill-In
Widerspruch zur Minimalität des Pfades
x2
Σ=0
x4
x3
x5
z
x
y
Einleitung
5:73
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Korrektheit (Einschub)
Z
Falls G einen Cliquenseparator hat. Dann ist dieser C (v ) für einen Knoten v .
Annahme: Es gibt einen Knoten z ∈ C mit: ρ(z) 6 min{ρ(x), ρ(y )}.
Also gibt es Pfad x = x1 x2 . . . xj−1 xj = z in Gρ mit ρ(xi ) > ρ(xi+1 ) für
i = 1, 2, . . . , j − 1.
Also gibt es Pfad y = y1 y2 . . . yl−1 xl = z in Gρ mit ρ(yi ) > ρ(yi+1 ) für
i = 1, 2, . . . , l − 1.
Also ist {x, y } ∈ Fρ , Widerspruch.
y3
y2
x5
Σ=0
x4
x3
x2
z
x
y
Einleitung
5:74
Theoreme
Chordale Graphen
MES
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Korrektheit (Fortsetzung)
Z
Falls G einen Cliquenseparator hat. Dann ist dieser C (v ) für einen Knoten v .
Sei nun o.E.d.A.: ρ(x) < ρ(y ).
Dann gilt: max{ρ(v ) | v ∈ A} = ρ(x) < ρ(z) für alle z ∈ C .
Zeige nun: C (x) = C .
D.h. zeige: ∀z ∈ C : {x, z} ∈ E ∪ Fρ .
Sei x = x1 x2 . . . xj−1 xj = z kürzester Pfad in Gρ mit x1 , x2 , . . . , xj−1 ∈ A.
Falls j > 3, dann hätten wir ρ(xi ) > ρ(xi+1 ) für i = 1, 2, . . . , j − 1.
Das wäre Widerspruch zu ρ(z) > ρ(x).
Also j = 2 und {x, z} ∈ E ∪ Fρ .
Einleitung
5:75
Theoreme
MES
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Aussagen
Theorem
Obiger Algorithmus hat Laufzeit O(n(n + m)) zur Bestimmung des
Cliquenseparatorbaums.
Theorem
Mit dem Cliquenseparatorbaum reduzieren sich die folgenden Probleme auf die
Atome:
Cliquenproblem
Independent Set Problem
Färbungsproblem.
Z
Einleitung
5:76
Theoreme
Chordale Graphen
Cliquenseparabel
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
Cliquenseparabel
Definition
Ein Graph G = (V , E ) ist vom Typ T1 , falls:
V kann in V1 , V2 partitioniert werden.
G [V1 ] ist ein bipatiter Graph.
G [V2 ] ist eine Clique.
Zwischen V1 und V2 sind alle Kanten vorhanden.
Definition
Ein Graph G = (V , E ) ist vom Typ T2 , falls er vollständig k-partit ist.
SS2016
Z
Einleitung
5:77
Theoreme
Cliquenseparabel
Chordale Graphen
Cliquenseparatoren
Walter Unger 14.6.2016 15:57
SS2016
Cliquenseparabel
Definition
Ein Graph G = (V , E ) ist cliquenseparabel, falls alle Atome vom Typ T1 oder
T2 sind.
Theorem
Cliquenseparable Graphen können in O(n4 ) erkannt werden.
Das Cliquenproblem, Independent Set Problem und Färbungsproblem kann auf
ihnen in Polynomzeit gelöst werden.
Z
6
Inhaltsverzeichnis
Walter Unger 14.6.2016 15:57
Fragen
Was ist ein perfekter Graph?
Welche Graphklassen sind perfekt?
Wie schwer ist das Erkennungsproblem von perfekten Graphen?
Wie schwer ist das Färbungsproblem auf perfekten Graphen?
Was ist ein minimal imperfekter Graph?
Welche Graphen sind minimal imperfekt?
Was ist ein chordaler Graph?
Was ist zu chordalen Graphen bekannt?
Warum sind chordale Graphen nicht perfekt?
SS2016
Z
6
Inhaltsverzeichnis
Walter Unger 14.6.2016 15:57
SS2016
Fragen
Wie schwer ist das Erkennungsproblem für chordale Graphen?
Was ist ein PES?
Welche Probleme sind auf chordalen Graphen leicht?
Welche alternative Darstellung gibt es für chordale Graphen?
Was sind Vergleichbarkeitsgraphen?
Was ist zu Vergleichbarkeitsgraphen und Intervallgraphen bekannt?
Wie zeigt man Abschluss unter Komplement bei perfekten Graphen?
Z
Herunterladen