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