Graphenalgorithmen: Perfekte Graphen Teilnehmerskript zu einer Vorlesung von Stefan Felsner im Wintersemester 1995/96 an der Freien Universitat Berlin April 1996 Dieses Skript wurde als U bung von den Teilnehmern der Vorlesung erstellt. Ich habe jedes Kapitel um einen Abschitt erweitert in dem die Quellen und weiterfuhrende Literatur angegeben werden. Obwohl ich die Mitschriften korrekturgelesen habe sind sie hochstwahrscheinlich nicht vollig fehlerfrei. Wir hoen, da das Skript dem Leser trotz all seiner Mangel von Nutzen sein wird. Stefan Felsner Die Teilnehmer und die von ihnen betreuten Vorlesungen Bernd Falkenberg 11, 19 Carola Wenk 5, 17 Carsten Ihlemann 9, 16 Christof Schultz 6, 18 Clemens Hendler 8, 15 Falk Haferkorn 3, 13 Helmut Weil 4, 14, 22 Johannes Schwarz 12, 21 Stefanie Gerke 2, 10 Susanne Gebauer 7, 20 INHALTSVERZEICHNIS 1 Inhaltsverzeichnis 1 Graphen und Farbungen 2 2 Gerichtete Graphen und Ordnungen 8 1.1 Denitionen und Beispiele . . . . . . . . . . . . . . . . . . . . . 2 1.2 Drei Anwendungen von Farbungen . . . . . . . . . . . . . . . . 5 2.1 2.2 2.3 2.4 Gerichtete Graphen . . . . . . . . . . . . Ordnungen . . . . . . . . . . . . . . . . . Intervallgraphen und Intervallordnungen Perfekte Graphen . . . . . . . . . . . . . 3 Algorithmen und Graphen 3.1 3.2 3.3 3.4 Denitionen und ein Beispiel . . . . . . . Datenstrukturen fur allgemeine Graphen Depth-First-Search . . . . . . . . . . . . Eigenschaften von DFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9 12 15 16 16 19 21 26 4 Problemklassen und Komplexitat 29 4.1 Die Problemklasse NP . . . . . . . . . . . . . . . . . . . . . . . 30 4.2 Polynomielle Transformationen . . . . . . . . . . . . . . . . . . 32 4.3 NP-vollstandigkeit und das SAT Problem . . . . . . . . . . . . . 32 4.4 Das Vertex Cover Problem . . . . . . . . . . . . . . . . . . . . . 33 5 Einige Klassen -perfekter Graphen 5.1 5.2 5.3 5.4 Bipartite Graphen . . . . . . . . . . . . . . . . . . . Komplemente von bipartiten Graphen . . . . . . . . Line Graphen von bipartiten Graphen . . . . . . . . . Komplemente von Line-Graphen bipartiter Graphen . 6 Triangulierte Graphen . . . . . . . . . . . . . . . . . . . . . . . . 38 38 38 40 42 43 6.1 Baumgraphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.2 Erkennung von triangulierten Graphen . . . . . . . . . . . . . . 47 6.2.1 Maximum Cardinality Search . . . . . . . . . . . . . . . 48 2 Graphenalgorithmen: Perfekte Graphen 6.2.2 Erkennung perfekter eliminations Reihungen . . . . . . . 50 6.3 Triangulierte Graphen und ihre Komplemente sind -perfekt. . . 53 6.4 Perfekte Reihungen . . . . . . . . . . . . . . . . . . . . . . . . . 55 7 Polytope und unabhangige Mengen 7.1 7.2 7.3 7.4 7.5 Ungleichungen fur unabhangige Mengen . . . . Optimierungsprobleme und Polytope . . . . . . Cliquenungleichungen fur unabhangige Mengen Das Perfekt Graph Theorem . . . . . . . . . . . Die Lovasz Ecke TH(G) . . . . . . . . . . . . . 8 Minimal imperfekte Graphen 8.1 8.2 8.3 8.4 Eine Charakterisierung perfekter Graphen (!; )-zerlegbare Graphen . . . . . . . . . Operationen, die Perfektheit erhalten . . . Rot{Wei Dekompositionssatze . . . . . . . . . . 9 Vergleichbarkeitsgraphen 9.1 9.2 9.3 9.4 Die ? Relation . . . . . . . . . . . . . . . . Substitutionsdekomposition . . . . . . . . . Transitive Orientierbarkeit und Substitution Schnelle transitive Orientierung . . . . . . . 10 Mehr uber Ordnungen 10.1 10.2 10.3 10.4 Dimension . . . . . . . . . . . . . . . 2-dimensionale Ordnungen . . . . . . k-Perfektheit . . . . . . . . . . . . . Skelette 2-dimensionaler Ordnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 60 64 65 66 69 71 72 75 80 81 85 85 88 91 93 104 . 104 . 110 . 113 . 115 Graphen und Farbungen 1 Graphen und Farbungen 1. Vorlesung, 19. Oktober 95 Mitschrift: Stefan Felsner 1.1 Denitionen und Beispiele Ein Graph G = (V; E ) besteht aus einerMenge V , deren Elemente Knoten V genannt werden, und einer Menge E 2 = f fu; vg : u 6= v ; u; v 2 V g, deren Elemente Kanten genannt werden. Meist wird die Groe jE j mit m bezeichnet. Wenn nicht explizit darauf hingewiesen wird, gehen wir in dieser Vorlesung immer von einer endlichen Knotenmenge V aus. Die Kardinalitat n = jV j heit die Ordnung des Graphen. Ein Graph G = (V; E ) heit vollstandig, wenn jede mogliche Kante in G ist, d.h. E = V2 . Der Komplement argraph eines Graphen G = (V; E ) ist der Graph G = (V; E ) mit E = V2 ? E . Der vollstandige Graph der Ordnung n wird ublicherweise mit Kn bezeichnet. Wir sagen, die Kante e = fu; vg verbindet u und v. Oft schreiben wir verkurzt e = uv statt e = fu; vg. Wenn v 2 e, dann nennen wir v und e inzident. Wenn uv eine Kante des Graphen G ist, dann heien u und v benachbart in G. Die Nachbarschaft N (v) eines Knotens v 2 V ist die Menge der benachbarten Knoten, d.h. N (v) = f u : uv 2 E g. Der Grad eines Knotens v ist dv = jN (v)j. Der Maximalgrad (G) ist der maximale in G vorkommende Grad, formal (G) = maxv2V dv . Der Begri der Nachbarschaft wird auf Teilmengen U der Knotenmenge erweitert N (U ) = Su2U N (u). Beobachtung. (i) Pv2V dv = 2m (ii) Die Anzahl der Knoten ungeraden Grades ist in jedem Graphen gerade. Wir nennen G0 = (V 0; E 0) einen Untergraphen (auch Subgraphen) der Graphen G = (V; E ), wenn V 0 V und E 0 E und schreiben dann G0 G. Wenn G0 alle Kanten von G enthalt, die Knoten aus V 0 verbinden, dann ist G0 der von V 0 induzierte Subgraph G0 = G[V 0 ]. Eine Folge v0 ; v1; : : : ; vk von Knoten ist ein Weg der Lange k von v0 nach vk in G = (V; E ) wenn vi?1vi 2 E fur i = 1; ::; k. Ein Weg W heit einfach wenn kein Knoten mehrfach in W vorkommt, einfache Wege werden manchmal auch Pfade genannt. Eine Folge v0; v1 ; : : : ; vk ; v0 von Knoten ist ein Kreis der Lange k + 1 in 3 4 Graphenalgorithmen: Perfekte Graphen G = (V; E ) wenn vi?1 vi 2 E fur i = 1; ::; k und vk v0 2 E . Ein Kreis heit einfach, wenn vi 6= vj fur i 6= j . Eine Kante uw 2 E ist Sehne (chord) eines einfachen Kreises v0 ; v1; : : : ; vk ; v0 wenn u = vi und w = vj fur ji ? j j 2. Der einfache sehnenlose Kreis der Lange n wird als Graph mit Cn bezeichnet. Ein Graph G = (V; E ) heit zusammenhangend , wenn es zwischen je zwei Knoten von G einen Weg gibt. Ein maximaler zusammenhangender Subgraph von G ist eine Komponente von G. Eine Kante e heit Brucke wenn Ge = (V; E ? e) mehr Komponenten hat als G. Ein isolierter Knoten ist eine Komponente ohne Kanten. Einen Graphen ohne einfache Kreise nennt man Wald, ein zusammenhangender Wald ist ein Baum. Eine Menge I V , fur die G[I ] nur aus isolierten Knoten besteht, heit unabhangig. Mit anderen Worten: I ist unahhangig, wenn es in I keine benachbarten Knoten gibt. (G) ist die Kardinalitat einer groten unabhangigen Menge in G. Lemma 1. Es gilt (G)((G) + 1) jV j. Beweis. Sei I unabhangig mit jI j = (G). Wenn es ein v gibt mit v 62 I [N (I ), dann ist I [ v eine groere unabhangige Menge | Widerspruch. Also ist V = I [ N (I ). Mit jN (I )j jI j(G) folgt die Behauptung. U bung 1. Es gilt (G) Pv2V dv1+1 . Hinweis: Konstruiere eine unabhangige Menge durch wiederholte Wegnahme des Knotens kleinsten Grades und seiner Nachbarn. Betrachte die Veranderung P des Gewichts Phi(G) = v2V dv1+1 durch so eine Wegnahme. Eine gute t-Farbung ist eine Partition der Knoten V = X1 + X2 + :: + Xt , so da jedes Xi eine unabhangige Menge ist. Wie denken uns die Knoten aus Xi mit der \Farbe" i gefarbt und stellen fest, da benachbarte Knoten mit verschiedenen Farben gefarbt sind. Farbungen sind in unserem Zusammenhang fast immer gute Farbungen. Die chromatische Zahl (G) von G ist das kleinste t zu dem eine gute t-Farbung von G existiert. Lemma 2. Es gilt (G) (G) + 1. Beweis. Sei v1; ::; vn eine Aufzahlung der Knoten von G und c0 ; ::; c eine Aufzahlung der \Farbpalette". Farbe v1 mit Farbe c0 . Seien v1; ::; vk?1 schon gefarbt. Fur vk wahlen wir die kleinste Farbe mit der noch kein Nachbar von vk gefarbt ist. Da vk hochstens Nachbarn hat, unsere Palette aber + 1 Farben enthalt, nden wir immer so eine Farbe in unserer Palette. 1.1 Denitionen und Beispiele Bemerkung. Der Algorithmus, den wir im Beweis des Lemmas zum Farben von Graphen verwendet haben, ist unter den Namen ListColoring oder GreedyColoring bekannt. Er wird uns im Laufe der Vorlesung noch ofter begegnen. U bung 2. [Satz von Brooks] Sei G ein zusammenhangender Graph. Es gilt (G) (G) auer wenn es ein n gibt, so da G = Kn oder G = C2n+1. Lemma 3. Fur jeden Graphen G gilt jV j (G)(G). Beweis. Sei t = (G) und X1; ::; Xt eine Partition von V in t unabhangige Mengen. Es gilt jV j = jX1j + :: + jXt j und jXij (G), also jV j t(G). U bung 3. Fur jeden Graphen G gilt jV j (G)(G). Eine Menge A V fur die G[A] ein vollstandiger Graph ist heit Clique. Wenn die Groe r einer Clique betont werden soll, so spricht man kurz von einer r-Clique. !(G) ist die Kardinalitat einer groten Clique in G. Eine Cliquenuberdeckung ist eine Partition der Knoten V = Y1 + Y2 + :: + Ys, so da jedes Yi eine Clique in G ist. (G) ist die kleinste Anzahl von Cliquen mit der eine Cliquenuberdeckung von G moglich ist. Wir fassen zwei einfache Beobachtungen im folgenden Satz zusammen. Satz 4. (1) Fur jeden Graphen G gilt !(G) (G) und (G) (G). (2) !(G) = (G) und (G) = (G). Beispiele. Einige wichtige Graphen, die uns noch ofter begegnen werden: Kn der vollstandige Graph auf n Knoten, auch n-Clique genannt. Cn der sehnenlose Kreis auf n Knoten, auch n-Kreis genannt. Der 3-Kreis C3 = K3 heit auch Dreieck. Pn der sehnenlose Pfad auf n Knoten, er entsteht aus Cn durch das Entfernen einer Kante, auch n-Pfad genannt. rKn r disjunkte Kopien von Kn. Km;n der Komplementargraph der disjunkten Vereinigung von Km und Kn. Diese Graphen heien vollstandig bipartite Graphen. Der Graph K1;n heit auch Stern. 5 6 Graphenalgorithmen: Perfekte Graphen Ein Graph G = (V; E ) heit bipartit, wenn es m; n 2 IN gibt, so da G ein Subgraph von Km;n ist. Die Knotenmenge eines bipartite Graphen kann in zwei unabhangige Mengen zerlegt werden. Will man so eine Zerlegung V = X1 + X2 hervorheben, so schreibt man G = (X1; X2; E ). U bung 4. G ist bipartit, genau wenn (G) 2. 1.2 Drei Anwendungen von Farbungen Beispiel 1 Sei X eine Menge von Studentinnen die an einem Tag alle zuerst eine Veranstaltung an der FU und spater eine Veranstaltung an der TU besuchen. Fur Studentin x endet die FU-Veranstaltung um ax und beginnt die TU-Veranstaltung um cx, die Reisezeit zwischen FU und TU ist R. Die Studentinnen reisen bevorzugt in grosseren Gruppen. Sei bx = cx ? R, dann mu Studentin x die FU zu einem Zeitpunkt tx aus dem Intervall [ax; bx] verlassen. Studentinnen x und y konnen genau dann gemeinsam in einer Gruppe reisen, wenn [ax; bx] \ [ay ; by ] 6= ;. Deniere einen Graphen G auf X : Als Kanten wahlen wir genau die Paare fx; yg fur die [ax; bx] \ [ay ; by ] 6= ; gilt. Oenbar ist jede Gruppen Y , die gemeinsam reisen kann, eine Clique in G. Die Menge der Gruppen uberdeckt X , also ist (G) eine untere Schranke fur die Anzahl von Gruppen in denen die Studentinnen die Reise durchfuhren. Gilt Gleichheit? Die armative Antwort beruht auf der folgende Aussage. Behauptung. Jede Clique kann gemeinsam reisen. Beweis. Sei Y eine k-Clique in G. Sei ay der Grote bei Elemeten aus Y auftretende Intervallanfang. Fur z 2 Y gilt nun: az ay und [az ; bz ] \ [ay ; by ] 6= ;, also ist bz ay und ay 2 [az ; bz ]. Damit ist gezeigt, da ay ein zulassiger Reisetermin fur alle Elemente von Y . 4 Bemerkung. Eine Familie fAigi2I vonT Teilmengen einer Menge A erfullt die k-Helly Eigenschaft wenn J I und j2K Aj 6= ; fur alle K J mit jK j = k schon Tj2J Aj 6= ; impliziert. Wir haben soeben die 2-Helly Eigenschaft der Intervalle nachgewiesen. Allgemein gilt: Konvexe Mengen in Dimension d erfullen die (d + 1)-Helly Eigenschaft. Ein Graph G = (V; E ) heit Durchschnittsgraph (intersection graph) einer 1.2 Drei Anwendungen von Farbungen Familie fBv gv2V von Teilmengen von B , wenn fu; wg 2 E () Bu \ Bw 6= ;. Der Graph in unserem Beispiel war der Durchschnittsgraph einer Familie von Intervallen, diese Graphen heien Intervallgraphen. U bung 5. Zeige, jeder Graph ist als Durchschnittsgraph darstellbar. U bung 6. Finde ein Verfahren, mit dem die Studentinnen eine optimale Zerlegung in Gruppen bestimmen konnen. Beispiel 2 Ein zentraler Post-Paket-Umschlagplatz besteht aus einer langen Halle. Auf der linken Seite der Halle benden sich Entladepositionen X und auf der rechten Seite Beladepositionen Y . Ist eine Garnitur Lastwagen auf der linken Seite angefahren, so bekommt der Hallenleiter fur jedes x 2 X eine Liste Lx Y mit den Beladepositionen, zu denen die Pakete bei x mussen. Zu jeder Entladeposition gehort ein Wagen, der Pakete befordert. Der Umladevorgang ist in Runden organisiert. Fur jede Runde gilt: (i) Der Wagen jeder Entladeposition bringt Pakete zu hochstens einem Ziel auf der Beladeseite und kehrt dann zuruck. (ii) Jede Beladeposition wird von hochstens einem Wagen angefahren. (iii) Aus Sicherheitsgrunden ist es verboten, da sich die Wege verschiedener Wagen kreuzen. Die Aufgabe des Hallenleiters ist es die jeweils notige Anzahl von Runden zu minimieren. Wir modellieren das Problem in einem Graphen: Als Knoten nehmen wir die Paare (x; y) mit y 2 Lx. Die Kanten sollen Wegen entsprechen die nicht in einer Runde gefahren werden konnen. Zum einen sind das Paare f(x; y); (x0; y0)g sich kreuzender Wege, zum anderen mussen wir, weil pro Entladeposition nur ein Wagen existiert, Paare f(x; y); (x0; y0)g mit x = x0 berucksichtigen. Es ist leicht einzusehen, da die chromatische Zahl dieses Koniktgraphen gerade die optimale Anzahl von Runden ist. Wir werden spater sehen, da wir fur allgemeine Graphen nicht erwarten konnen, ein ezientes Verfahren zur Bestimmung der chromatischen Zahl zu nden. Fur viele Klassen von Durchschnittsgraphen gibt es jedoch solche Verfahren. Konnen wir fur obigen Graphen eine \einfache" Darstellung als Durchschnittsgraph nden? Tatsachlich legt unser Anwendungsbeispiel so eine Darstellung nahe. Es ist klar, da sich die Knoten (x; y) des Graphen G so durch Strecken mit einem Endpunkt auf einer senkrechten Geraden gX links von einer senkrechten Gera- 7 8 Graphenalgorithmen: Perfekte Graphen de gY , auf der der zweite Endpunkt liegt, darstellen lassen, da sich kreuzende Wege in der Halle sich kreuzenden Strecken entsprechen. Verlegen wir die linken Endpunkte der Strecken ein wenig nach links auf die Gerade gX ? und die rechten Endpunkte ebenso nach rechts auf die Gerade gY + , so haben wir unseren Graphen G als Durchschnittsgraphen von Strecken mit Endpunkten auf zwei parallelen Geraden dargestellt. Die Darstellung ist nun so, da keine zwei Strecken mehr einen Endpunkt gemeinsam haben. Identiziere die Knoten von G mit 1; ::; n = jV j, so da die Endpunkte der Strecken auf gX ? in der Reihenfolge 1; ::; n von unten nach oben auftreen. Liest man die Namen der Strecken auf gY + von unten nach oben, so erhalt man eine Permutation von 1; ::; n. Die Kanten von G sind genau die Paare fi; j g mit i < j und i > j . Ein Graph G = (V; E ) ist ein Permutationsgraph wenn es eine Bijektion f : V ! f1; ::; ng und eine Permutation gibt, so da fv; wg 2 E () f (v) < f (w) und f (v) > f (w) . Der Hallenleiter steht also vor dem Problem, optimale Farbungen von Permutationsgraphen zu bestimmen. U bung 7. Das Komplement eines Permutationsgraphen ist wieder ein Permutationsgraph. Ein Graph G = (V; E ) heit containment Graph einer Familie fBv gv2V von Teilmengen von B , wenn fu; wg 2 E () Bu Bw . Bemerkenswerterweise sind Permutationsgraphen genau die containment Graphen von Familien von Intervallen. Beweisskizze: Die eine Richtung ist sehr einfach. Gegeben ein Permutationsgraph auf n Knoten, hange zwei Kopien von 1; ::; n als 11; ::; n1 ; 12; ::n2 hintereinander und ordne dem Knoten i das Intervall [i1 ; (i)2] zu. Fur die Umkehrung sei eine Familie fAigi2I von Intervallen gegeben. Ordne die Indexmenge I so, da die linken Endpunkte aufsteigend sortiert sind. Die Ordnung der rechten Endpunkte deniert die gesuchte Permutation . Beispiel 3 Gegeben sei eine Landkarte. Die Lander der Landkarte sollen so gefarbt werden, da Lander mit einer gemeinsamen Grenze verschieden eingefarbt sind. Wie viele Farben sind dafur notig? Gerichtete Graphen und Ordnungen Karte Graph Diese Aufgabe lat sich in ein reines Graphenproblem ubersetzen: Was ist die chromatische Zahl eines ebenen Graphen?. Dieses Problem hat eine lange und aufregende Geschichte. Eine umfassende Behandlung des Problems und gleichzeitig ein historischer Abri ist das Buch von Aigner [1]. Zum Kapitel Mehr uber Graphen und Farbungen ndet man in jedem Lehrbuch zur Graphentheorie. Stellvertretend seien hier die schonen Bucher von Wilson [46] und Aigner [1] erwahnt. Das fur Ende 96 angekundigte Buch Introduction To Graph Theory von D. West wird sicher auch sehr empfehlenswert. Anwendungen wie Beispiel 1 und 2 nden sich zahlreich in Golumbics [18] und in Buchern von Fred Roberts. Eine historische Behandlung des 4-Farben Problems die auch Originalquellen einschliesst ist Biggs, Lloyd und Wilson [3]. 2 Gerichtete Graphen und Ordnungen 2. Vorlesung, 24. Oktober 95 Mitschrift: Stefanie Gerke 2.1 Gerichtete Graphen Ein gerichteter Graph D = (V; A) (engl. directed graph, digraph) ist eif = (V; Ae) mit ne Menge V und eine Menge A V V . Den Graphen D e A = ffu; vg : (u; v) 2 Ag nennt man den zugrundeliegenden Graphen von D. Eine Folge v0 ; v1; : : : ; vk von Knoten ist genau dann ein Kreis in D = (V; A), wenn die Folge ein Kreis im zugrundeliegenden Graphen von D ist. Die Folge von Knoten ist ein gerichteter Kreis, wenn (vi; vi+1 ) 2 A und (vk ; v0) 2 A. Ein gerichteter Graph heit azyklisch (directed acyclic graph) wenn er keine 9 10 Graphenalgorithmen: Perfekte Graphen gerichteten Kreise enthalt; wir werden solche Graphen auch kurz als Dag bezeichnen. Bei einem gerichteten Graphen kann man den Grad jedes Knotens aufspalten in die Anzahl d? der Kanten, die zu v hinfuhren und in die Anzahl d+ der Kanten, die v verlassen. Knoten mit d? = 0 nennt man Quelle, Knoten mit d+ = 0 Senke. U bung 1. Jeder Dag besitzt eine Quelle und eine Senke. Folgerung. Es gibt eine Reihung v1 ; : : : ; vn der Knoten eines Dags, so da alle Kanten vorwarts zeigen, d.h. (vi; vj ) 2 A ) i < j . So eine Reihung nennt man topologische Sortierung. Eine binare Relation R heit symmetrisch, wenn fur alle x; y; x 6= y gilt: (x; y) 2 R ) (y; x) 2 R. antisymmetrisch, wenn fur alle x; y; x 6= y gilt: (x; y) 2 R ) (y; x) 2= R. reexiv, wenn fur alle x gilt: (x; x) 2 R irreexiv, wenn fur alle x gilt: (x; x) 2= R transitiv, wenn fur alle x; y; z gilt: (x; y) 2 R und (y; z) 2 R ) (x; z) 2 R Beispiele. (1) Sei G = (V; E ) ein Graph, dann ist die zugehorige Relation R deniert durch (x; y) 2 R () fx; yg 2 E symmetrisch. Hat der Graph keine Schlingen, so ist die Relation irreexiv. (2) Eine A quivalenzrelation ist reexiv, symmetrisch und transitiv. (3) Eine strikte Ordnungsrelation ist irreexiv und transitiv, woraus unmitellbar die Antisymmetrie folgt. Sei R eine Relation, dann nennt man die Relation R?1 mit (x; y) 2 R?1 , (y; x) 2 R die zu R inverse Relation. Ein gerichteter Graph D = (V; A) wird als orientierter Graph bezeichnet, wenn A \ A?1 gleich der leeren Menge ist. Ein orientierter Graph mit zugrundeliegendem Graphen G ist eine Orientierung von G. 2.2 Ordnungen P = (V; <) heit Ordnung, falls < eine strikte Ordnungsrelation ist. Beobachtung. Jede Ordnung ist ein Dag (gabe es einen Kreis, so ware die Ordnungsrelation aufgrund der Transitivitat reexiv) 2.2 Ordnungen 11 Ordnungen werden graphisch auf verschiedene Weise reprasentiert. Als Dag. 00000 11111 1111111111111111 00 00000000000000000000000000000 11111111111111111111111111111 000000000 111111111 11111111 00000000 00000000000000 00000 11111 000000000000000000000000000 111111111111111111111111111 111 000 00000000000000000000000000000 11111111111111111111111111111 000000000 111111111 00000000 11111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 000000000 00000000 11111111 00000000000000111111111 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 000000000 111111111 00000000 11111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 000000000 00000000 11111111 00000000000000111111111 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 000000000 111111111 00000000 11111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 000 11111 00 00000000000000000000000000000 11111111111111111111111111111 000000000 111111111 00000000 11111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 000 111 000000000 00000000000000111111111 11111111111111 00000 000000000000000000000000000 111111111111111111111111111 00011111 111 000000000 111111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 000000000000000000000000000 111111111111111111111111111 000 111 00000000000 11111111111 0000000000011 111111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 000000000000000000000000000 111111111111111111111111111 000 111 00000000000 11111111111 000000000 111111111 00000000000000 11111111111111 00000 000000000000000000000000000 111111111111111111111111111 000000000000000000000000000 111111111111111111111111111 00011111 111 00000000000 11111111111 000000000 111111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 000000000000000000000000000 111111111111111111111111111 000 111 00000000000 11111111111 000000000 111111111 00000000000000 11111111111111 00000 000000000000000000000000000 111111111111111111111111111 000000000000000000000000000 111111111111111111111111111 00011111 111 00000000000 11111111111 000000000 111111111 00000000000000 11111111111111 00000 11111 000000000000000000000000000 111111111111111111111111111 000000000000000000000000000 111111111111111111111111111 000 111 00000000000 11111111111 11 00 000000000 111111111 00000000000000 11111111111111 00000 11111 000 11111111111111 111 00000000000 11111111111 000000000 111111111 00000000000000 00000000000 11111111111 000000000 111111111 00000000000000 11111111111111 11 00 00000000000 11111111111 Als Diagramm, d.h., ohne transitive Kanten und ohne Pfeilspitzen (Orientierung nach oben). Spezielle Darstellung, z.B. durch Intervalle. Eine Ordnung P = (V; <) heit Intervallordnung wenn es eine Familie fIv g von Intervallen gibt, so da Iv genau dann ganz vor Iw liegt, wenn v < w. U bung 2. Finde eine Ordnung, die keine Intervallordnung ist. Der zugrundeliegende Graph einer Ordnung (d.h. eines transitiven Dags) heit Vergleichbarkeitsgraph, sein Komplement Unvergleichbarkeitsgraph. Die Unvergleichbarkeitsgraphen von Intervallordnungen heien Intervallgraphen. U bung 3. Welche der folgenden vier Graphen sind Intervallgraphen? Eine Kette ist eine Menge von Knoten, die paarweise vergleichbar sind und eine Antikette ist eine Menge von Knoten, die paarweise unvergleichbar sind. Es gelten die folgenden Entsprechungen: 12 Graphenalgorithmen: Perfekte Graphen Ordnung P Kette in P Antikette in P ! G Vergleichbarkeitsgraph von P ! Clique in G ! unabhangige Menge in G Satz 1. Die maximale Lange einer Kette in P ist gleich der minimalen Anzahl von Antiketten, in die P zerlegt werden kann. Beweis. Die Menge der minimalen Elemente ist eine Antikette. Entferne alle minimalen Elemente. Dadurch erhalt man eine neue Ordnung, deren minimalen Elemente wieder eine Antikette in der ursprunglichen Ordnung bilden. Iteriere diese Vorgehensweise. Man bekommt eine Folge von Antiketten A1; : : : Ak . Nun kann man eine Kette konstruieren, indem man ein Element xk aus Ak nimmt, seinen Vorganger aus Ak?1 usw.. Ist xi 2 Ai gewahlt, so ndet man einen Vorganger in Ai?1, weil xi ansonsten bereits vor der Entfernung der Elemente von Ai?1 minimal gewesen ware. So erhalt man eine Kette der Groe k. Da fur jede Kette C und jede Antikettenzerlegung A die Ungleichung jC j jAj gilt, ist obige Antikettenzerlegung minimal und die Kette maximal. Etwas schwieriger zu beweisen ist der folgende Satz der hier nur zitiert wird. Satz 2. [Satz von Dilworth] Die maximale Groe einer Antikette in P ist gleich der minimalen Anzahl von Ketten in die P zerlegt werden kann. Folgerung. Fur Vergleichbarkeitsgraphen G gilt stets: !(G) = (G) und (G) = (G). Man nennt eine Orientierung, also die Zuordnung einer Richtung zu jeder Kante, so da die zu gehorige Relation transitiv ist, eine transitive Orientierung des Graphen. U bung 4. Jeder Inklusionsgraph ist transitiv orientierbar. U bung 5. Der C5 und der BullHead sind nicht transitiv orientierbar. 2.3 Intervallgraphen und Intervallordnungen 2.3 Intervallgraphen und Intervallordnungen 3. Vorlesung, 31.10.95 Mitschrift: Falk Haferkorn Intervallgraphen sind Unvergleichbarkeitsgraphen. Fur einen Intervallgraphen G und den komplementaren Vergleichbarkeitsgraphen G gilt: (G) = (G) () !(G) = (G) !(G) = (G) () (G) = (G) Beobachtung. Ist G = (V; E ) ein Intervallgraph und W V dann ist auch G[W ] ein Intervallgraph. Denition. Sei G die Menge aller Graphen. Eine Abbildung : G ?! f0; 1g heit hereditar, wenn aus (G) = 1 und H ist induzierter Subgraph von G folgt, (H ) = 1. Bemerkung. Die Relation `induzierter Subgraph' ist eine Ordnungsrelation <s auf G . <s ist eineQuasi-Wohlordnung, d.h. jede absteigende Menge hat ein kleinstes Element. (Wohlordnung bedeutet jede Menge hat ein kleinstes Element.) Lemma 3. Jede Antiketten in der Ordnung (G ; <s) induziert eine hereditare Grapheneigenschaft und umgekehrt. Beweis. Sei A Antikette in (G ; <s), deniere: , 9H <s G; H 2 A A(G) = 10 sonst. Wir zeigen A ist hereditar. Sei A(G) = 1 und sei H <s G fur jedes K <s H gilt K <s G also K 62 A. Damit ist auch A(H ) = 1. Sei umgekehrt hereditar gegeben. Wir denieren A := fG : (G) = 0 aber (H ) = 1 fur alle H <s Gg. Zu zeigen A ist Antikette. Angenommen 9G1 ; G2 2 A mit G1 <s G2. Es ist (G1 ) = 0, weil G1 2 A. Aus G2 2 A und G1 <s G2 folgt (G1) = 1. Widerspruch. Bemerke abschlieend: Ist A0 gegeben, dann ist AA0 = A0 und ist 0 gegeben, dann ist A0 = 0. Denition. Ist eine hereditare Grapheneigenschaft, so nennt man die Elemente von A = fG : (G) = 0 aber (H ) = 1 fur alle H <s Gg die minimalen Obstruktionen fur A. 13 14 Graphenalgorithmen: Perfekte Graphen c c c c c c c B1 Cn , n4 2 B2 c c c c c c c Kn ,n1 1 c Ln c c c c c c@ QQQ ? c c c c c aaa QQc? @ c c c ` a` c c c nec c A ec c aac a a a Aa H H H n+1 1 2 1 2 n Abbildung 1: Obstruktionen fur Intervallgraphen U bung 6. Kann auch charakterisiert werden durch B = fG : (G) = 1 und 8H mit G <s H gilt (H ) = 0g? Bemerkung. Grapheneigenschaften deren minimale Obstruktionen bekannt sind, heien gut charakterisiert. (Beispiel: Kuratowskis Charakterisierung der planaren Graphen). Satz 4. [Lekkerker, Boland] Die minimalen Obstruktionen gegen die Eigenschaft Intervallgraph zu sein sind genau die Graphen aus Abbildung 1. Lemma 5. Sei v1; :::; vk ein sehnenfreier Pfad in einem Intervallgraphen G =) in jeder Intervallreprasentation von G sind die Intervalle so v1 v3 v2 aaa v4 vk?1 aaa vk oder umgekehrt angeordnet. Etwas formaler: Sei I (vi ) = [ai ; bi ] dann genugt die Reihenfolge der Endpunkte den Ungleichungen oder b1 < a3 b2 < a4 b3 < a5 : : : ak?1 bk?2 < ak a1 > b3 a2 > b4 a3 > b5 : : : bk?1 ak?2 > bk . 2.3 Intervallgraphen und Intervallordnungen 15 Beweis. Wir fuhren einen Induktionsbeweis. v3 v1 k=3 v2 v3 oder a aa a aa v1 v2 vk?2 vk?1 Oenbar kann das Intervall von vk hier nur rechts angebaut werden. 4 Folgerung. In Intervallgraphen enthalt jeder Kreise der Lange 4 eine Sehne. Angenommen G enthalt induzierten Ck = (v1 ; :::; vk?1; vk ; v1 ). Der sehnenfreie Pfad v1 ; :::; vk?1 sieht in jeder Intervallreprasentation so aus wie im Lemma. Das Intervall I (vk ) von vk mu mit den Intervallen von v1 und von vk?1 nichtleeren Durchschnitt haben. Daher hat I (vk ) auch nichtleeren Durchschnitt mit den Intervallen aller ubrigen vi . Damit induziert die Menge fv1; :::; vk?1; vk g aber keinen Kreis (Widerspruch). Denition. Ein Graph heit trianguliert (chordal,rigid circuit), wenn jeder Kreis der Lange 4 eine Sehne hat. (Trianguliert ist die durch die Obstruktionsmenge A = fCn : n 4g denierte hereditare Grapheneigenschaft.) Denition. Ein asteroides Trippel (AT) in einem Graphen ist eine unabhangige Menge fv1; v2; v3 g zu der es Pfade P12 ; P23; P31 gibt, so da Pij ein Pfad von i nach j ist und Pij \ N (vk ) = ; fur fi; j; kg = f1; 2; 3g. Einige Graphen, die ein AT enthalten: v1 s v1 t d u v1 v2 t d d b d b t b b r c v3 v2 Lemma 6. Intervallgraphen sind AT-frei. b b r v3 v2 u e d tv3 16 Graphenalgorithmen: Perfekte Graphen v1 Beweis. v2 v3 Jeder Pfad von v1 nach v3 enthalt Nachbarn von v2. Satz 7. [Lekkerkerker & Boland] Intervallgraphen sind genau die AT{freien triangulierten Graphen. Satz 8. [Gilmore & Homann] Intervallgraphen sind genau die triangulierten Unvergleichbarkeitsgraphen. 2.4 Perfekte Graphen Denition. Ein Graph G = (V; E ) heit {perfekt wenn fur jedes W V gilt !(G[W ]) = (G[W ]). Wenn fur jedes W V gilt (G[W ]) = (G[W ]), so heit G {perfekt. Die Bedingung !(G) = (G) alleine sagt nicht viel uber G aus. Beispiel: Vereinigt man einen Graphen G mit n Knoten disjunkt mit Kn so hat die Vereinigung die Eigenschaft. {perfekt und {perfekt sind hereditare Eigenschaften. Vergleichbarkeitsgraphen und Unvergleichbarkeitsgraphen, also insbesondere Intervallgraphen sind { und {perfekt. Satz 9. [Perfect Graph Theorem](Fulkerson, Lovasz) G ist -perfekt () G ist -perfekt. Das Perfect Graph Theorem werden wir im Abschnitt 7.4 beweisen. Vermutung. [Strong Perfect Graph Conjecture](Berge) Die minimale Obstruktionsmenge fur perfekte Graphen ist fC2k+1 : k 2g [ fC2k+1 : k 2g Zum Kapitel Gerichtete Graphen und Ordnungen sind ndet man in der einen oder anderen Niesche in den meisten Buchern zur Graphentheorie. Als weiterfuhrende Lite- Algorithmen und Graphen 17 ratur zu Ordnungen empfehle ich fur algorithmische Aspekte Mohring [38] und fur kombinatorische Aspekte Trotter [49]. Intervallgraphen und Intervallordnungen werden in den Buchern von Golumbic [18], Trotter [48] und naturlich Fishburn [13] behandelt. Die Originalreferenz zu den Satzen von Lekkerkerker und Boland ist [29]. Die wichtigste Quelle fur perfekte Graphen und ihre algorithmischen Aspekte ist zweifellos Golumbics klassisches Buch [18]. Unverzichtbar war mir auerdem der von Berge und Chvatal herausgegebene Sammelband [2] und der U bersichtsartikel von Lovasz [30]. Zum gleichen Thema wie Golumbic und sogar auf deutsch gibt es ein Buch von Simon [43]. Die Vermutung von Berge stand ganz am Anfang der Theorie der perfekten Graphen, sie wurde 1960 in Halle an der Saale vorgestellt. Diese Vermutung steht auch heute noch im Zentrum des Interesses wirkt als Triebfeder der Theorie. Auch die Aussage des Perfect Graph Theorems wurde zuerst von Berge vermutet. Den Originalbeweis von Lovasz aus dem Jahre 1971 ndet man in [2]. Wir werden den Beweis des Perfect Graph Theorems in Kapitel 7 nachholen. Eine kurze Darstellung der Geschichte der Theorie perfekter Graphen gibt die Einleitung von [2]. 3 Algorithmen und Graphen 4. Vorlesung, 2.11.95 Mitschrift: Helmut Weil 3.1 Denitionen und ein Beispiel Algorithmus nennen wir jede wohldenierte Berechnungsvorschrift, die eine Eingabe in eine Ausgabe transformiert. Ein Algorithmus zur Berechnung einer Farbung eines Graphen G etwa transformiert die Eingabe G in eine Partition (V1 ; : : : ; Vk ) der Knoten von G. G Algo. - (V1; : : : ; Vk ) Ein Algorithmus heit korrekt, wenn er jede Instanz, d.h. jede zulassige Eingabe in eine gultige Ausgabe transformiert. (In unserem Fall mussen dazu 18 Graphenalgorithmen: Perfekte Graphen alle Vi unabhangige Mengen in G sein). Insbesondere mu der Algorithmus dann auch terminieren. Beispiel. Wir wollen einen Algorithmus Coloring zur Berechnung einer optimalen Farbung eines Intervallgraphen entwickeln. Da wir als Ausgabe eine Partition der Knoten erwarten, konnte man versuchen, alle Partitionen zu untersuchen, ob sie einer guten Farbung entsprechen, und dann die kleinste davon ausgeben. Dieses Verfahren ware sicherlich zu aufwendig. Fur eine ezientere Losung erinnern wir uns an den GreedyColoring{ Algorithmus, der bei einer vorgegebenen Reihenfolge der Knoten jeden Knoten mit der "kleinsten\ verfugbaren Farbe farbt. v4 v2 v1 v3 v5 Beobachtung. Um die Intervalle im Bild oben in der Reihenfolge v1 v2v3 v4 v5 zu farben, benotigt GreedyColoring 3 Farben. Farbt er sie in der Reihenfolge v1 v4 v3v2 v5, so genugen 2 Farben. Die Reihenfolge der Knoten ist also entscheidend fur die Anzahl der Farben. Das Beispiel legt nahe, die Intervalle von "links nach rechts\ zu ordnen, was allerdings vorraussetzt, da eine Intervalldarstellung des Graphen gegeben ist. Fur unseren Algorithmus soll das so realisiert sein, da die Eingabe aus einem Array A der Groe 2n besteht, dessen Eintrage Records mit folgenden Feldern sind: A[i].val eine reelle Zahl als Intervallgrenze A[i].ty 1 je nachdem, ob Intervallanfang oder -ende A[i].vert der Knoten, fur den das Intervall steht Ein Intervallgraph und der den Graphen reprasentierende Array: v1 v3 v2 - i 1 2 val 1 3 ty +1 ?1 vert 1 3 3 4 5 6 4 2 2 3 ?1 +1 +1 ?1 2 2 3 1 1 2 3 4 Bevor wir den Algorithmus zum Farben eines Intervallgraphen in Pseudo-Code formulieren treen wir noch folgende Vereinbarungen: 3.1 Denitionen und ein Beispiel (1) Sortiert wird nach aufsteigenden val-Werten. Bei gleichen val-Werten sollen Eintage mit ty = +1 vor solchen mit ty = ?1 kommen. Wenn I1 \ I2 = fvg fur zwei Intervalle I1 und I2 und wenn v Endpunkt von I1 und Anfangspunkt von I2 ist, dann denken wir uns I1 ein wenig nach rechts und I2 nach links verlangert Wenn nun "ein wenig\ klein genug ist gewahlt wurde, dann hat diese A nderung keinen Einu auf den Graphen. (2) Die Verwaltung der zulassigen Farben soll mit einem Stack erfolgen. Wir farben also nicht mit der jeweils kleinsten verfugbaren, sondern mit der zuletzt freigewordenen Farbe, da sonst eine aufwendigere Datenstruktur, etwa ein Heap mit Einfugekosten O(log(jFarbenj), notig ware. (3) Als Farben nehmen wir die Zahlen 1; 2; : : : , die Ausgabe des Algorithmus soll die Farbung als knotenindizierter Array C und die hochste verwendete Farbe maxcol sein. Coloring(A) sort(A) stack empty maxcol 0 for i = 1 to 2n if A[i].ty = +1 then if stack = empty then maxcol++ s maxcol else else s pop(stack) C [A[i]:vert] s push(C [A[i]:vert],stack) return C , maxcol Lemma 1. Coloring ist ein korrekter Algorithmus zur Berechnung von (G) und einer optimalen Farbung fur Intervallgraphen. 19 20 Graphenalgorithmen: Perfekte Graphen Beweis. Zum Beweis, da die Farbung, die der Algorithmus oensichtlich liefert, optimal ist, zeigen wir per Induktion die Gultigkeit folgender Invariante: Zu jeder Zeit ist der induzierte Subgraph H der k bisher gesehenen Knoten mit !(H ) Farben gefarbt. Da !(G) (G) fur jeden Graphen G gilt, genugt das um die Optimalitat der Farbung zu beweisen. Am Anfang ist der leere Subgraph H mit !(H ) = 0 Farben optimal gefarbt. Sei jetzt k > 0. Fur A[k]:ty = ?1 kommt kein neuer Knoten dazu und H andert sich nicht, es genugt also den Fall A[k]:ty = +1 zu betrachten. Ist in diesem Fall der Stack leer, dann gibt es zu jeder der maxcol bisher verwendeten Farben einen Knoten dieser Farbe, dessen Intervallende noch nicht erreicht ist. Diese Knoten bilden also eine maxcol-Clique im induzierten Subgraphen H der k ? 1 schon gesehenen Knoten und sind alle zum Knoten k benachbart. Da nach Induktionsvorraussetzung !(H ) = maxcol gilt, folgt !(H + k) = maxcol + 1 und die Invariante bleibt gultig. Wenn andrerseits der Stack nicht leer ist, dann ist k mit hochstens maxcol ? 1 der bisher gesehenen Knoten adjazent und !(H ) = !(H + k) = maxcol nach Induktionsvorraussetzung. Laufzeitanalyse. Der Stack kann so implementiert werden, da jede Stackoperation in konstanter Zeit ausfuhrbar ist. Auer der Sortierzeit benotigt der Algorithmus damit in jedem der 2n Schleifendurchlaufe nur noch konstante Zeit c, also insgesamt weniger als c2n. Das ist lineare Zeit O(n). Sind die Intervallgrenzen ganze Zahlen zwischen 0 und 100n dann geht auch das Vorsortieren der Intervallgrenzen in O(n). Andernfalls kann der Sortieraufwand O(n log n) sein. U bung 1. Ein Algorithmus zur Berechnung von fur Intervallgraphen. 3.2 Datenstrukturen fur allgemeine Graphen Zur Reprasentation von Graphen im Rechner werden im wesentlichen die beiden Datenstrukturen Adjazenzmatrix und Adjazenzlisten verwendet, die wir am Beispiel der folgenden beiden Graphen illustrieren wollen. q 1 r ir 4 r2 ? I r4 r3 1r r2 r3 3.2 Datenstrukturen fur allgemeine Graphen Adjazenzmatrix. In einer mit den Knoten des Graphen indizierten n n - Matrix wird die "ist-Kante\- Relation mit Eintragen 0 und 1 abgelegt. Im Fall eines ungerichteten Graphen ist die Matrix symmetrisch. Der Speicheraufwand fur Adjazenzmatrizen betragt O(n2). 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 Adjazenzlisten. Fur jeden Knoten wird eine Liste seiner Nachbarn angelegt, i.A. ohne bestimmte Ordnung. Fur ebene Graphen werden allerdings meist zyklische Adjazenzlisten verwendet, in denen die Nachbarn eines Knoten in der Reihenfolge, in der sie, etwa im Uhrzeigersinn, in der Ebene um ihn herum liegen, angeordnet sind. Der Speicheraufwand fur Adjazenzlisten ist O(n + m) bei gerichteten bzw. O(n + 2m) bei ungerichteten Graphen. 1 2 3 4 - 4 1 2 4 - 2 1 2 3 4 - 4 1 2 1 - 2 4 - 2 - 3 Der Zeitaufwand fur die Grundoperationen im Vergleich ist in der folgenden Tabelle zusammengestellt. AdjList als AdjMat AdjList bal. Suchbaum Frage nach O(1) O(di) O(log(di)) Kante ij Besuch aller O(n) O(di) O(di) Nachbarn von i Besuch aller O(n2) O(n + m) O(n + m)) Kanten Loschen einer O(1) O(di + dj ) O(log(di) + log(dj )) Kante ij Einfugen einer O(1) O(di + dj ) O(log(di) + log(dj )) Kante ij 21 22 Graphenalgorithmen: Perfekte Graphen U bung 2. Eine Supersenke in einem orientierten Graphen G~ = (V; A) ist ein Knoten v 2 V mit d?v = n ? 1.it Adjazenzmatrizen kann in O(jV j) Zeit entschieden werden, ob G~ eine Supersenke enthalt. U bung 3. Zu einem ungerichteten Graph G = (V; E ) ist G2 deniert als G2 = (V; fuwj 9v 2 V : uv; vw 2 E g): Entwirf und analysiere Algorithmen zur Berechnung von G2 . (Eingabe: Adjazenzmatrix oder Adjazenzlisten) 3.3 Depth-First-Search Depth-First-Search, oder Tiefensuche, ist ein Algorithmus zum Durchsuchen eines Graphen, der auf der Idee basiert, von einem Knoten aus rekursiv alle anderen zu besuchen. Der Algorithmus DFS bekommt als Eingabe einen Graphen G, der durch eine Adjazenzmatrix oder Adjazenzlisten gegeben ist. DFS ruft fur jeden noch nicht besuchten Knoten v die Prozedur DFSexplore(v) auf, die sich wieder selbst mit den noch nicht besuchten Nachbarn von v rekursiv aufruft, bis alle von v aus erreichbaren Knoten besucht sind. Die im Algorithmus vorgenommene Markierung der Knoten zeigt zu jeder Zeit, ob ein Knoten noch nicht besucht (white), noch in Bearbeitung (grey), oder fertig bearbeitet (black) ist. Als Ruckgabewert bekommen wir im Array e-mark eine Partition der Kanten in Baumkanten (dfs-edge), die einen aufspannenden Wald des Graphen bilden, Ruckwartskanten (backedge) und sonstige, sowie in dfs-num die Reihenfolge, in der die Knoten besucht wurden. DFS(G) for all v 2 V mark(v) white num 0 for all v 2 V if mark(v) = white then DFSexplore(v) return e-mark, dfs-num 3.3 Depth-First-Search 23 DFSexplore(v) mark(v) grey num++ dfs-num(v) num for all w 2 Adj(v) if mark(w) = white then e-mark(vw) dfs-edge DFSexplore(w) else mark(v) return if mark(w) = grey then e-mark(vw) black backedge Die Arbeitsweise des Algorithmus und den sukzessiven Aufbau des DFSWaldes wollen wir uns am Beispiel des folgenden gerichteten Graphen verdeutlichen. v1 ? v2 v3 - ? v4 - - v5 I v7 ? v6 ? v8 Der Ablauf von DFS ist auf den nachsten 3 Seiten dargestellt. Baumkanten doppelt und Ruckwartskanten gestrichelt gezeichnet und die dfs-num wird an die Knoten geschrieben. 24 Graphenalgorithmen: Perfekte Graphen vj 1 j2 v? 1̀i geb vj 3 - ? vj 4 - j - j? - 3̀i geb - igeb` - igeb` ? ? 2 1̀i geb igeb` ? ? 2 ? ? 4 vj 5 vj 7 1̀i geb j6 v? ? vj 8 j? I j j - j? j? 3̀i geb - j j j - j? ? 3̀i geb - j j geb`ip p p p p p p p ?igeb`? - j? ? j j 1̀i geb j j? ? ? j j 1̀i geb j j? ? ? I ? I ? igeb` - j? ? 2 2 j 4 I I I j j 3.3 Depth-First-Search 1̀i geb 3̀i geb geb`ip p p p p p p p ?igeb`? ? ? 4 2 1̀i geb 3̀i geb geb`ip p p p p p p p ?z? ? ? 4 2 1̀i geb 3̀i geb ? ? z i ` b e g p p p p p p p p 5 ? ? 2 4 - j j 1̀i geb igeb` ? j ? ? j j 1̀i geb z ? j ? ? 6z j 1̀i geb z ? j ? ? I ? - 5 - I ? - 5 - 25 I ? - 5 3̀i geb geb`ip p p p p p p p ?igeb`? 4 2 3̀i geb geb`ip p p p p p p p ?z? 2 4 3z geb`ip p p p p p p p ?z? 2 4 - j j z j? 6̀i geb j z j? I ? - 5 - I ? - 5 - 6z j z j? I ? - 5 26 Graphenalgorithmen: Perfekte Graphen 1̀i geb 3z zp p p p p p p p ?z? ? ? 4 2 1z 3z zp p p p p p p p ?z? ? ? 4 2 1z 3z zp p p p p p p p ?z? ? ? 2 4 - 6z j 1z z j? ? ? 6z 7̀i geb 1z z j? ? ? 6z 7̀i geb 1z z ? ? z ? ? I ? - 5 - I ? - 5 - I ? - 5 8 3z zp p p p p p p p ?z? 4 2 3z zp p p p p p p p ?z? 4 2 3z zp p p p p p p p ?z? 2 4 - 6z j z j? 6z 7̀i geb z ? ? I ? - 5 - I ? - - igeb` 5 8 6z 7z z ? ? I ? - 5 z 8 3.4 Eigenschaften von DFS 3.4 Eigenschaften von DFS 5. Vorlesung, 7. November 95 Mitschrift: Carola Wenk 1. DFS besucht alle Knoten und alle Kanten: Weie Knoten werden nur in der ersten Zeile von DFSexplore umgefarbt. Die zweite Schleife for all v 2 V in DFS stellt sicher, da alle Knoten besucht werden. Alle Kanten werden in der Schleife for all w 2 Adj (v) in DFSexplore besucht. 2. Laufzeit O(jV j + jE j): Die Initialisierung aller Knoten in DFS benotigt O(jV j) Zeit. Fur jede Kante vivj wird DFSexplore genau einmal, ohne weitere rekursive Aufrufe von DFSexplore, ausgefuhrt, da nach einem Aufruf beide Knoten grau sind. ) O(jE j). 3. Die Kantenmenge Adfs := fe : e mark(e) = dfs edgeg ist ein gerichteter Wurzelwald auf V . Beweis. (a) G ist azyklisch: Fur e mark(v; w) dfs edge mu mark(w) = white sein. Anschlieend wird mark(w) = grey gesetzt, und spater wird mark(w) nie wieder wei. ) Es gibt kein v0 6= v mit e mark(v0; w) = dfs edge. ) indeg 1 fur alle Knoten zu allen Zeiten. Angenommen, es gibt einen Kreis v1 ; :::; vk in G. O.B.d.A. sei vk der im Kreis zuletzt besuchte Knoten. Dann gilt mark(vi) = grey fur alle 1 i k ? 1. ) e mark(vk ; v1 ) = backedge, d.h., die Kante vk v1 ist keine Kreiskante. Widerspruch. (b) Wurzeln sind Knoten mit indeg = 0 (c) G ist gerichtet 27 28 Graphenalgorithmen: Perfekte Graphen y h y h h h? ^h R h h K x x h R h h U h Beispiel fur einen gerichteten Wurzelwald 4. Klassikation der Kanten: (i) Baumkanten (ii) Ruckwartskanten (iii) Vorwartskanten (iv) Kreuzende Kanten iv -: j 3 4j ] J iii JiJ i 2j 6 i ii 1j 9 iv 5j i 6j ? Bemerkung. Die einzigen Kanten, die zwei Komponenten eines DFS-Waldes eines gerichteten Graphen miteinander verbinden, sind kreuzende Kanten. Ist G ein ungerichteter Graph, so gibt es keine Kanten die von einem Zweig des Wurzelwaldes zu einem anderen zeigen. Also keine kreuzenden kanten. U bung 4. Ein Digraph ist azyklisch () Es gibt keine Ruckwartskanten. Hinweis: (() wird indirekt bewiesen. Man betrachte den Knoten mit niedrigster dfs-num auf dem Kreis. 3.4 Eigenschaften von DFS 29 Lemma 2. Ein (ungerichteter) Graph G = (V; E ) ist zusammenhangend () Der DFS-Wald von G ist ein Baum. Beweis. (() DFS-Wald E ()) Angenommen, es gibt 2 Komponenten. Betrachte den Zustand des Algorithmus in dem Moment, in dem die 2. Wurzel erzeugt wird: ' $ & % schon besuchte e Knoten v black ' nicht e noch w besuchte &Knoten white $ % Die Kante vw existiert, da G als zusammenhangend vorausgesetzt war. Der Aufruf DFSexplore(v) hatte die Kante vw besuchen mussen. Widerspruch. Lemma 3. Sei D = (V; A) ein DAG. Die Reihung der Kinder nach absteigender Schwarzfarbezeit deniert eine topologische Sortierung von D. h v1 -~ h v2 h j - v3 * h v4 Beispiel einer topologischen Sortierung. (Alle Kanten gehen von links nach rechts.) Beweis. Sei (u; v) 2 A. Wir wollen zeigen, da u nach v schwarz gefarbt worden ist. Wir betrachten den Moment, in dem die Kante (u; v) untersucht wurde. Der Knoten u ist dann grau gefarbt, und v kann folgende verschiedene Zustande haben: schwarz: p ) D ist nicht azyklisch. grau: Kante (u; v) ist backedge U=bung wei: Es wird DFSexplore aufgerufen und erst zu u zuruckgekehrt, wenn v schwarz ist. 30 Graphenalgorithmen: Perfekte Graphen Wir haben gerichtete azyklische Graphen, sogenannte Dags kennengelernt. Die Hohenfunktion h eines Dag ist rekursiv deniert als. 8 < h(v) = : 1 wenn v Quelle (also indeg(v) = 0) 1 + (w;v max h ( w ) sonst )2A U bung 5. Benutze einen Aufruf von DFS, um die Hohenfunktion eines Dag zu berechnen. Bemerkung. In Kapitel 2 hatten wir minimale Antikettenzerlegung A1; : : : ; Ak einer Ordnung in Verbindung mit optimalen Farbungen des Vergleichbarkeitsgraphen gebracht. Da die Abbildung h : x 7! i wenn x 2 Ai gerade die Hohenfunktion der Ordnung ist, folgern wir, da Vergleichbarkeitsgraphen (wenn die transitive Orientierung gegeben ist) in linearer Zeit optimal gefarbt werden konnen. Zum Kapitel Eine umfassende Einfuhrung in Datenstrukturen und Algorithmen ist das Buch von Cormen, Leiserson und Rivest [10], das mir auch als Quelle fur dieses Kapitel gedient hat. 4 Problemklassen und Komplexitat Beispiel. Wie aufwendig ist es, das folgende Problem zu losen? Problem : Graphen Farben Instanz: Frage: Ungerichteter Graph G Wie gro ist (G)? Naturlich konnen wir nicht erwarten ein Problem auf einem `groen' Graphen genauso schnell losen zu konnen wie auf einem `kleinen'. Bei Komplexitatsbetrachtungen berucksichtigt man daher die Problemgroe die man durch die Kodierungslange jj mit. Bei Graphenproblemen wird die Kodierungslange meistens als n + m angenommen. Das entspricht der Darstellung des Graphen durch Adjazenzlisten. 4.1 Die Problemklasse NP Denition. Eine obere Schranke fur ist eine Funktion f und ein Algorithmus, der in O(f (jj)) Schritten lost. Eine untere Schranke ist eine Funktion g, so da jeder Algorithmus, der lost, zumindest (g(jj)) Schritte benotigt. U bung 1. Gib obere und untere Schranken fur das Problem \Graphen Farben" an. Denition. Wenn f durch ein Polynom in jj dominiert werden kann, nennt man das Problem ezient losbar. Die Klasse der ezient losbaren Probleme nennt man P . 4.1 Die Problemklasse NP NP (\nichtdeterministisch polynomiell") enthalt solche Probleme, die `mit Einsagen' in polynomieller Zeit gelost werden konnen. Denition. Ein deterministischer Proze geht in jedem Schritt von einem Zustand in einen anderen uber. Mithilfe einer nichtdeterministischen Erweiterung kann ein Proze verschiedene Kopien seiner selbst im nachsten Zustand starten. Der Begri einsagen in obiger informeller Denition von NP meint, da der Einsagende dem Algorithmus mitteilt welche der Kopien mit Aussicht auf Erfolg zu verfolgen ist. Denition. Ein Entscheidungsproblem ist ein Problem dessen Losung in der Gestalt einer Ja/Nein Antwort gegeben werden kann. Beispiel. Entscheidungsvariante von \Graphen Farben": Instanz: (G; k) Frage: (G) k? Im folgenden werden wir uns auf die Diskussion von Entscheidungsproblemen beschranken. Wir Formalisieren den Begri des nichtdeterministischen Algorithmus fur Entscheidungsprobleme, indem wir Algorithmen fur solche Probleme spezielle Operationen erlauben: x choice(S ) Fur jedes y 2 S wird eine Kopie mit x y gestartet. failure Bricht die aktuelle Kopie ab. Wenn die aktuelle die letzte Kopie war gibt der Algorithmus \Nein" aus. succes Bricht alle Kopien ab. Der Algorithmus gibt \Ja" aus. 31 32 Graphenalgorithmen: Perfekte Graphen Die Laufzeit eines nichtdeterministischen Algorithmus ist deniert als das Maximum der Laufzeiten die fur die einzelnen Kopien aufgewandt wurden. Beispiel. Das Problem: Enthalt G eine k-Clique? lat sich durch den folgenden nichtdeterministischen Algorithmus in polynomieller Zeit losen. Clique(G; k) ; for all v 2 V A A choice(fA [ fvg; Ag) if jAj < k then failure for all v 6= w 2 A if vw 62 E then failure success Der abgebildete Baum zeigt wie der Algorithmus durch die erste Schleife fur jede Teilmengen A von V eine Kopie startet. In jedem Blatt wird dann untersucht jAj k und fall ja, ob das gegebene A eine Clique ist. V = fv1 ; v2; v3g v1 v1; v2 j R v1 v1 ; v2; v3 v1U; v2 v1; v3 R v2 U v1 v2 ;v3 { { U v2 v3 ^ { Damit ist gezeigt: Clique 2 NP . Klarerweise ist P NP . Das groe oene Problem der Komplexitatstheorie ist ob P und NP tatsachlich verschieden sind. Vermutung. P 6= NP . 4.2 Polynomielle Transformationen Bemerkung. Unsere Denition von nichtdeterministischen Algorithmen ist nicht Symmetrisch. Vertauscht man die Rollen von success und failure so, da success eine und failure alle Kopien abbricht dann sind die zu co ? NP gehorenden Probleme die polynomiell Losbaren. Vermutung. co ? NP 6= NP . U bung 2. Zeige: co ? NP 6= NP =) P 6= NP . 4.2 Polynomielle Transformationen 6. Vorlesung, 14.11.95 Mitschrift: Christof Schultz Denition. Seien 1 , 2 Entscheidungsprobleme. Dann nennt man F : 1 ?! 2 eine polynomielle Transformation wenn gilt: (1) F ist polynomiell berechenbar. (2) JA-Instanzen von 1 werden auf JA-Instanzen von 2 abgebildet. (3) NEIN-Instanzen von 1 werden auf NEIN-Instanzen von 2 abgebildet. Wenn 1 polynomiell aus 2 berechnet werden kann schreibt man (1 / 2). Bemerkung. Aus 1 / 2 und 2 2 P folgt : 1 2 P . Beweis. Die Summe von polynomiell beschrankten Funktionen ist polynomiell beschrankten. 4.3 NP-vollstandigkeit und das SAT Problem Denition. Ein Problem heit NP-hart, wenn 0 / fur alle 0 2 NP . Ein Problem ist NP-vollstandig, wenn 2 NP und NP -hart. Lemma 1. Wenn 1 / 2 und 1 ; 2 2 NP , dann folgt aus 1 NP-vollstandig auch 2 NP-vollstandig. Beweis. Man mu fur alle 0 2 NP zeigen, da 0 / 2 gilt. Betrachten wir nun 0 F/1 1 F/2 2 , so gilt auch 0 F1/F2 2. 33 34 Graphenalgorithmen: Perfekte Graphen Wenn von einem NP -vollstandigen Problem gezeigt werden kann, da es polynomiell losbar ist, dann folgt sofort P = NP . In diesem Sinn sind die NP -vollstandigen Probleme die schwierigsten Probleme in NP. Vorerst ist gar nicht klar, da es uberhaupt NP -vollstandige Probleme gibt. Wenn jedoch von einem Problem gezeigt ist, da es NP -vollstandig ist, dann gibt uns das Lemma eine Methode an die Hand um diese Eigenschaft fur weitere Probleme zu beweisen. Historisch wurde der erste NP -Vollstandigkeitsbeweis von Cook 1971 gefuhrt. Er bewies NP -vollstandigkeit des Problems Satisability (kurz SAT) das wir nun kennenlernen wollen. Dention. Ein Literal in einer boolschen Formel, ist das Vorkommen einer Variabel oder ihre Negation. Eine boolsche Formel ist eine CNF-Formel (conjunctive normal form), wenn sie aus Clausen besteht, die durch logische UND verknupft sind. Jede Clause besteht dabei aus Literalen, die jeweils durch logische ODER miteinander verknupft sind. Beispiel fur eine CNF-Formel: (x1 _ x3 _ x5 ) ^ (x2 _ x3 _ x4 ) ^ (x2 _ x5 ) ^ (|x1 _ x2 {z _ x3 _ x4}) Clause Hierbei sind xi Variabeln und xi ; xi Literale. Fur x1 = w und x2 = f ist der gesamte Ausdruck wahr. So etwas nennt man eine Wahrheitsbelegung. SAT Problem: Gegeben: Eine CNF-Formel F . Frage: Gibt es eine Belegung der Variabeln xi mit xi 2 fw; f g die F wahr macht? Satz 2. SAT ist NP-vollstandig. 4.4 Das Vertex Cover Problem Eine Knotenuberdeckung (engl. vertex cover) in G = (V; E ) ist eine Knotenmenge W V , so da fur alle e 2 E gilt: e \ W 6= ;, das heit W beruhrt jede Kante von G. Vertex Cover Problem: Gegeben: ein Graph G = (V; E ) und eine naturliche Zahl k 2 IN. Frage: Gibt es eine Knotenuberdeckung W der Groe jW j k fur G? 4.4 Das Vertex Cover Problem Beispiel. w g g 35 w wKnoten des Vertex Covers w Lemma 3. SAT / Vertex Cover Beweis. Sei F = C1 ^ C2 ^ : : : ^ Cr eine gegebene CNF-Formel mit den Clausen Ci = (l1i _ l2i _ : : : _ lai i ) und den Literalen lji 2 fx1 ; : : : ; xn; x1; : : : xn g, wobei x1 ; : : : ; xn die Variabeln sind. Zu jeder Clause Ci denieren wir eine Clique mit den Knoten lji ; j = 1 : : : ai . Zu jeder Variable denieren wir eine Kante fwi; fig. Nun verbindet man noch lij mit wa, wenn lji = xa , andernfalls, d.h. wenn lji = xa verbindet man lij mit fa . Der durch diese Konstruktion enstandene Graph GF zu der CNF-Formel aus dem Beispiel sieht wie folgt aus: wc1 f1c wc2 f2c wc3 f3c wc4 f4c wc5 f5c Variable GF c c c l11 l21 l31 c c c l12 l22 l32 c c l13 l23 c c c c l14 l24 l34 l44 Clausen Beobachtung. Fur jede Variable ist ein Knoten und fur jede Clause mit a Literalen sindPa ? 1 Knoten in jedem Vertex Cover notig. Insgesamt also zumindest n + ri=1(ai ? 1) Knoten. Behauptung. Es gibt ein Vertex Cover mit n + Pri=1(ai ? 1) Knoten in GF genau dann wenn F erfullbar ist. (() Sei ? : xi ! ?(xi) 2 fw; f g eine erfullende Belegung von F . Sei W V wie folgt deniert: (1) W enthalt wi, wenn ?(xi ) = w und fi, wenn ?(xi) = f (2) fl1i ; : : : ; lbii?1 ; lbii+1 ; : : : ; lai i g W wenn lbii das erste wahre Literal in Ci ist. 36 Graphenalgorithmen: Perfekte Graphen Behauptung. W ist eine Knotenuberdeckung. Sei e eine Kante in GF , dann ist zu zeigen, da einer der Endpunkte von e in W ist. Angenommen es existiert eine Kante e die nicht uberdeckt ist, dann gilt entweder e = (lji ; ws) mit lji = xs oder e = (lji ; fs) mit lji = xs. Damit aber lji 2= W mu j = bi sein. Daraus folgt, da lji ein wahres Literal ist. Das wiederum bedeutet, da ?(xs) = ws oder ?(xs) = fs. Daraus folgt, da ws 2 W , bzw. fs 2 W ist. Dies steht im Widerspruch dazu, da die Kante e Pr nicht uberdeckt wird. Also ist W ein Vertex Cover mit n + i=1 (ai ? 1) Knoten. ()) Sei W ein Vertex Cover mit jW j = n + Pri=1(ai ? 1). Dann enthalt W genau einen der beiden Knoten (wi; fi). Wahle diesen Knoten zur Denition von ?. Nun mu man zeigen, da das eine erfullende Belegung ist, d.h. in jeder Clause ist ein wahres Literal. Das gilt, weil in jeder Clause ein Knoten nicht in W liegt. Lemma 4. G = (V; E ) ein Graph. W V ist ein minimum Vertex Cover in G genau dann wenn W = V ? W eine maximum unabhangige Menge in G ist. Beispiel. g g g v g g u w Hier ist v eine maximale (nicht vergroerbare) unabhangige Menge, fu; wg hingegen ist eine maximum unabhangige Menge, d.h. eine von maximaler Kardinalitat und V n fu; wg ein minimum Vertex Cover. Beweis. Es gilt : W Vertex Cover () W unabhangige Menge. Dann folgt: G enthalt Vertex Cover der Groe k , G enthalt unabhangige Menge der Groe n ? k. Damit sind die Probleme minimum Vertex Cover und maximum unabhangige Menge aquivalent. Folgerung 1: Vertex Cover / unabhaangige Menge, d.h. unabhangige Menge ist NP-vollstandig. Nehme als Transformation (G ! G; k ! n ? k) Folgerung 2: Unabhangige Menge / Clique, d.h Clique ist NP-vollstandig. Nehme als Transformation (G ! G; k ! k) Bemerkung. Clique bezeichnet das Entscheidungsproblem mit Eingabe (G; k) und der Frage: Enthalt Graph G eine k-Clique? Betrachten wir zum Vergleich 4.4 Das Vertex Cover Problem 37 das Problem Cliquek mit Eingabe G und der Frage: Enthalt Graph G eine kClique? Der vermeintlich kleine Unterschied, im ersten Problem ist k variabel, im zweite konstant, ist doch wesentlich: Wahrend Clique wie eben gezeigt NP vollstandig ist, kann das Problem Cliquek in polynomieller Zeit O(nk ) gelost werden. 7. Vorlesung, 16.11.95 Mitschrift: Susanna Gebauer Lemma 5. Independent Set lat sich reduzieren auf Independent Set fur dreiecksfreie Graphen: Independent Set / Indep. Set f. dreiecksfr.Graphen. Beweis. Sei G = (V; E ) mit n = jV j und m = jE j gegeben, wir konstruieren H = (V 0; E 0) indem wir jede Kante e 2 E (G) zweifach unterteilen. Oensichtlich ist H dreiecksfrei. G H Behauptung: (H ) = (G) + m. Sei I unabhangig in G. Man kann I zu einem I 0 unabhangig in H erweitern, das aus jeder Kante noch wenigstens einen der Unterteilungsknoten enthalt. ) (H ) (G) + m. Sei nun I 0 maximum unabhangige Menge in H . Wir zeigen zuerst, da wir annehmen durfen, da I 0 einen der beiden Kantenunterteilungsknoten aus jeder Kante e 2 E enthalt. Seien u; v die Endknoten der Kante und a; b die Unterteilungsknoten, angenommen a; b 62 I 0 u 62 I 0 oder v 62 I 0 ) I 0 kann vergroert werden ) Widerspruch. u 2 I 0. Tausche u und a aus. dadurch bleibt die groe der unabhangigen menge gleich und die Anzahl der Kantenunterteilunsknoten in I 0 wird vergroert. Durch Wiederholung erreicht man jI 0j = m + jI 0 \ V j. Aus (H ) = jI 0j und jI 0 \ V j (G) folgt nun (H ) m + (G) ) (H ) = m + (G). 4 38 Graphenalgorithmen: Perfekte Graphen Denition. Der Line-Graph von G = (V; E ) ist der Graph L(G) = (E; f(e; e0) : e0; e 2 E; e \ e0 =6 ;g) d.h. e und e0 sind benachbarte Knoten in L(G) () e und e0 haben einen gemeinsamen Knoten in G. Beispiel. Ck Kreis, Knoten sind Kanten von L(Ck ). Lemma 6. Independent Set lat sich reduzieren auf Chromatic Number: Independent Set / Chromatic Number Beweis. Sei G = (V; E ) und H = (V 0; E 0) wie im vorigen Lemma. Mit K bezeichnen wir den Graphen L(H ). Es gibt eine Bijektion (symbolisch bij ) zwischen Farbungen von K und Cliquenzerlegungen von L(H ). H dreiecksfrei ) Cliquen von L(H ) entsprechen Kantenmengen in H , die einen gemeinsamen Knoten haben (Sternen) ) Cliquenzerlegungen von L(H ) bij Knotenuberdeckungen in H bij unabhangige Mengen in H . Sei n = jV (G)j und m = jE (G)j. Benutzt man die Gleichung aus dem Beweis von Lemma 5 so erhalt man: (K ) = (L(H )) = vc(H ) = jV (H )j ? (H ) = n + 2m ? ((G) + jE (G)j) = n + m ? (G) Polynomielle Berechenbarkeit von (K ) wurde also polynomielle Berechenbarkeit von (G) implizieren. 4 Zum Kapitel Die Standardreferenz fur NP-Vollstandigkeit ist Garey und Johnson [17]. Aber auch [10] enthalt den Beweis des Satzes von Cook und etliche Reduktionsbeweise. Mir unbekannt, aber auf deutsch: Reischuck, Einfuhrung in die Komplexitatstheorie, Teubner 1990. Einige Klassen -perfekter Graphen Die hier vorgestellte Denition der Klasse NP ist eher ungewohnlich (vergl. mit obigen Buchern). Ich habe sie in Golumbic [18] gefunden. Leider konnte ich den Ansatzes mit den angegebenen Referenzen nicht bis auf seinen Ursprung zuruckverfolgen. 5 Einige Klassen -perfekter Graphen Zur Erinnerung: !(G[W ]) = (G[W ]) fur alle W V , dann heit G -perfekt. (G[W ]) = (G[W ]) fur alle W V , dann heit G -perfekt. G ist -perfekt genau wenn G -perfekt ist. 5.1 Bipartite Graphen G sei ein bipartiter Graph. Weil bipartit eine hereditare Grapheneigenschaft ist, folgt -perfekt aus !(G) = (G) fur jeden bipartiten Graphen. Lemma 1. Bipartite Graphen sind -perfekt. Beweis. Es gibt keine Dreiecke, also ist !(G) = 1 oder !(G) = 2. Besteht G nur aus isolierten Knoten, dann ist = ! = 1. Vollstandige bipartite Graphen haben = 2, ihre Subgraphen 2. Enthalt G eine Kante, dann gilt also = ! = 2. 4 5.2 Komplemente von bipartiten Graphen Sei H = G das Komplement eines bipartiten Graphen G = (V; E ). Eine Menge C ist genau dann unabhangig in H wenn sie Clique in G ist. Also sind die Partitionen von H in unabhangige Mengen genau die Cliquenuberdeckungen von G. Die Cliquen in G sind entweder Kanten oder Knoten. Eine minimale Cliquenuberdeckungen von G erhalt man daher indem man eine maximale Anzahl von paarweise disjunkten Kanten mit 1-elementigen Knotenklassen zu einer U berdeckung erweitert. Wir erinnern uns, da ein Teilmenge M E deren Elemente paarweise knotendisjunkt sind Matching heissen. Die obigen 39 40 Graphenalgorithmen: Perfekte Graphen U berlegungen zeigen, da ein Matching M eine Cliquenuberdeckung der Groe n ? jM j induzierte. Daher gilt: (H ) = (G) = n ? M Matching max jM j: Oensichtlich gilt auch !(H ) = (G) = n ? min jAj: Vertex A Cover Damit folgt die -perfektheit von H aus dem nachsten Satz. Satz 2. [Konig-Egervary] G bipartit ) maximale Groe eines Matchings in G = minimale Groe eines Vertex Covers in G. Beweis. Es gilt jM j jU j fur jedes Vertex Cover U und jedes Matching M . Sei (G) = minfjU j : U Vertex Cover in Gg. Entferne so viele Kanten wie moglich aus G ohne (G) zu andern. Fur den so erzeugten Subgraphen G0 von G gilt also (1) (G0) = (G) und (2) 8e 2 E (G0) ist (G0 ? e) < (G0). Behauptung: G0 ist ein Matching. Andernfalls nden wir Kanten e und e0 die beide einen Knoten v enthalten in G0. Fur e 2 fe; e0g wahle im Graphen G0 ? e ein Vertex Cover Ue der Groe (G0 ) ? 1. Es gilt: e \ Ue = ;, sonst ware Ue ein Vertex Cover der Groe (G0 ) ? 1 von G0. Betrachte G00 = G0[v + (Ue4Ue0 )]. Ist t = jUe \ Ue0 j, dann ist jV (G00 )j genau 1 + 2( (G) ? 1) ? 2t = 2( (G) ? t ? 1) + 1. G00 ist zweifarbbar, weil G00 Subgraph des bipartiten Graphen G ist. Sei T die kleinere Farbklasse in einer Zweifarbung von G00, dann ist jT j (G) ? t ? 1. Behauptung: S = T + (Ue \ Ue0 ) ist Vertex Cover fur G0 . Sei f Kante von G0, f 6= e; e0 , dann wird f wird von Ue und von Ue0 bedeckt: Enthalten Ue und Ue0 das gleiche Ende von f , dann ist dieses Ende in Ue \ Ue0 und also in S . f = (u; u0) mit u 2 Ue n Ue0 und u0 2 Ue0 n Ue. Dann gilt f 2 G00 und entweder u oder u0 ist in T , also in S . Da jUe \ Ue0 j = t und jT j (G) ? t ? 1 erhalten wir den Widerspruch jS j (G) ? 1. Also ist G0 ein Matching der Groe (G). 5.3 Line Graphen von bipartiten Graphen 5.3 Line Graphen von bipartiten Graphen 8. Vorlesung, 21. November 95 Mitschrift: Clemens Hendler Aus der Denition der Line-Graphen (Seite 39) folgt unmittelbar folgendes Lemma 3. Sei G bipartiter Graph, L(G) der zugehorige Line-Graph, dann gelten folgende Entsprechungen: L(G) $ G Clique $ Sterne unabhangige Menge $ Matching Cliquenzerlegung $ Vertex Cover Farbung $ Zerlegung der Kanten von G in Matchings Zunachst wollen wir ein wichtiges Werkzeug der Matching-Theorie kennenlernen: Denition. Ein Pfad W = v0 ; ::; vk heit alternierend (bezuglich eines Matchings M ), falls gilt: (v2i ; v2i+1) 2= M und (v2i+1 ; v2i+2) 2 M . Beobachtung. (i) Die nicht-Matchingkanten entlang eines einfachen alternierenden Pfades bilden ein Matching. (ii) Ist W := v0; :::; vk ein alternierender Pfad bzgl. M gerader Lange (k gerade) und ist v0 kein Matchingknoten, so bilden die Nicht-Matchingkanten entlang W vereinigt mit dem Restmatching wieder ein Matching M 0 , d.h. M ist die symmetrische Dierenz von M und W . Es gilt: V (M 0 ) = (V (M ) ? vk ) [ v0, also jM 0j = jM j. (iii) Hat W ungerade Lange und sind weder v0 noch vk Matchingknoten, dann kann man auf gleiche Weise ein Matching M 0 konstruieren. In diesem Fall gilt jedoch: V (M 0 ) = V (M ) [ fv0; vk g, also jM 0j = jM j + 1. Satz 4. [Konig] Sei G bipartiter Graph. Dann gilt: Kanten von G konnen in (G) Matchings zerlegt werden. Beweis. Es genugt zu zeigen: 9 Matching M in G, das alle Knoten vom Grad abdeckt (denn (G ? M ) = (G) ? 1 ). Sei M ein maximum-Matching, das eine maximale Anzahl von Knoten vom Grad abdeckt. 41 42 Graphenalgorithmen: Perfekte Graphen Annahme: 9 Knoten x0 mit dx0 = , der nicht von M abgedeckt wird. Es gilt: jeder in x0 startende alternierende Pfad gerader Lange endet in einem Knoten x2k mit dx2k = . Denn nach Beobachtung (ii) gibt es ein weiteres maximum-Matching M 0 , bezuglich dessen x0 Matchingknoten und x2k nicht Matchingknoten ist. Hatte x2k einen Grad kleiner , so wurde M 0 mit x0 einen Knoten vom Grad mehr abdecken als M . Betrachte nun die von allen in x0 startenden alternierenden Pfaden aufgespannte Knotenmenge V 0 und den Graphen G0 = G[V 0 ]. Naturlich ist G0 wieder bipartit. X 0 V 0 bezeichne die Bipartitionsklasse von G0 , die x0 enthalt, also die Knoten mit geradem Pfadindex und Y 0 bezeichne die Knotenmenge mit ungeradem Pfadindex. Fur x 2 X 0 gilt wie oben gezeigt: dx = . Behauptung. x 2 X 0 ) dx = d0x . Sei x 2 X 0; xy 2 E , wir mussen zeigen y 2 V 0. Betrachte alt. Pfad W mit Startpunkt x0 und Endpunkt x. Fur x = x0 ist die Beh. klar, da dann xy ein alt. Pfad ist, und somit y 2 V 0. Fur x mit Pfadindex 2p + 2 ist die letzte Kante von W eine Matchingkante. Fall 1: xy 2 M . Dann gilt y = x2p+1 2 V 0. Fall 2: xy 2= M . Wenn y 2 W dann ist klarerweise y 2 V 0 , Andernfalls kann W kann durch die Kante xy zu einem alternierenden Weg der y enthalt fortgesetzt werden, also y 2 V 0. Also gilt: x 2 X 0 ) d0x = , und damit: jY 0j X 0 dy 0 y2Y = X 0 dx 0 x2X = jX 0j; also jY 0j jX 0j (?) . Behauptung. y 2 Y 0 ) y liegt auf Matchingkante. y 2 Y 0 ) ex alt. Pfad W mit Startpunkt x0 und Endpunkt y. Annahme: y kein Matchingknoten. Nach Beob. (iii) ex M 0 mit jM 0 j = jM j + 1 | Widerspruch zu M ist maximum Matching. Y 0 besteht also nur aus Matchingknoten, und fur jedes y 2 Y 0 liegt sein Matchingpartner in X 0. Auerdem liegt auch x0 in X 0, also ein nicht-Matchingknoten, der keinen Matchingpartner in Y 0 hat, woraus man schlieen kann: jX 0j > jY 0j | Widerspruch zu (?). Folgerung. G bipartit =) L(G) ist -perfekt. Beweis. 8 induzierten Subgraphen S L(G) existiert ein bipartiter Graph H G, so da L(H ) = S . (Betrachte dazu G = (V; E ), dann L(G) = (E; E 0); 5.4 Komplemente von Line-Graphen bipartiter Graphen sei V (S ) = F E , dann ist S = L(G)[F ] = (F; E 0 \ F F ) = L(V; F )). Mit anderen Worten: diese Klasse ist hereditar. Also reicht es zu zeigen: (L(G)) = !(L(G)). (L(G)) entspricht der minimalen Anzahl Matchings, die notig sind, um E (G) in Matchings zu zerlegen. !(L(G)) = (G). Satz von Konig: (L(G)) !(L(G)). Mit der trivialen Ungleichung ! folgt die Behauptung. U bung 1. Gib einen Beweis fur den Satz von Konig-Egervary der mit alternierenden Pfaden arbeitet. Hinweis: Wahle X; Y Bipartition von G und M maximum Matching. Sei A die Menge der nicht-Matchingknoten in X und M1 die Menge der Matchingkanten die auf alternierenden Pfaden liegen, die in Knoten aus A beginnen. Sei U die Vereinigung der Y -Knoten der Kanten von M1 und der X -Knoten von M ? M1 . Zeige U ist Vertex Cover von G. U bung 2. Entwirf einen ezienten Algorithmus der zu gegebenem M Matching und x Knoten in einem bipartiten Graphen entscheidet ob es ein Matching M 0 gibt das groer ist als M und in dem x ein Matchingknoten ist. 5.4 Komplemente von Line-Graphen bipartiter Graphen Es gelten folgende A quivalenzen: (L(G)) = !(L(G)) () (L(G)) = (L(G)) () W 2min jW j = M Matching max in G jM j V C (G) Die letzte Gleichung gilt nach dem Satz von Konig-Egervary. Also sind Komplemente von Line-Graphen bipartiter Graphen -perfekt. Zum Kapitel Der Satz von Konig{Egervary ist eng verwandt mit anderen Min-Max Satzen wie etwa dem Satz von Ford{Fulkerson uber Flusse in Netzwerken, dem Satz von Menger und dem Satz von Dilworth. Diese Zusammenhange ndet man etwa in Jungnickel [26]. Dort aber auch in [10] wird auch die in den U bungen angesprochene Frage nach ezienten Algorithmen zum Aunden eines maximalen Matching behandelt. 43 44 Graphenalgorithmen: Perfekte Graphen 6 Triangulierte Graphen Zur Erinnerung: Unter einem triangulierten Graphen G verstehen wir einen Graphen, auf dem es keinen induzierten Kreis auf 4 Knoten gibt. (A quivalent dazu: jeder Kreis der Lange 4 hat eine Sehne). Auerdem gilt, da die Grapheneigenschaft trianguliert zu sein durch Obstruktionen deniert, also hereditar ist. Beispiele. triangulierte Graphen: - Cliquen - Baume - Intervallgraphen Denition. v 2 V heit simplizial in G, falls G[N (v)] eine Clique ist. Satz 1. [Dirac] Ein triangulierter Graph hat einen simplizialen Knoten. Um den Satz zu beweisen, benotigen wir noch ein Lemma und folgende Denition. S V heit a ? b trennende Menge in G = (V; E ), wenn es keinen Weg von a nach b in G[V ? S ] gibt. S heit minimal, falls gilt: 8T S enthalt G[V ? T ] einen a; ::; b Weg (d.h. T ist keine a ? b trennende Menge). Bemerkung. Wenn a und b nicht benachbart sind, dann ist V ? fa; bg eine a ? b trennende Menge. Lemma 2. Sei S V eine minimale a ? b trennende Menge. Dann gilt: G trianguliert ) G[S ] ist Clique. Beweis. Angenommen es gibt s1 ; s2 2 S mit s1; s2 2= E . Seien Va; Vb Komponenten von G[V ? S ] mit a 2 Va , b 2 Vb. Da S minimale a ? b trennende Menge ist existieren in Va [ S und in Vb [ S Wege zwischen s1 und s2 . Der von zwei solchen kurzesten Wegen induzierte Graph ist ein Kreis C . Es gilt: C 4 und C enthalt keine Sehne. Widerspruch zu G trianguliert. 9. Vorlesung, 28.11.95 Mitschrift: Carsten Ihlemann Beweis des Satzes von Dirac. Wir zeigen folgende starkere Behauptung: G = (V; E ) ist vollstandig oder es existieren zwei nicht benachbarte simpliziale Knoten. Und zwar durch Induktion uber jV j. Fur jV j = 2; 3 ist's klar. Es gelte also die Beh. fur alle Graphen kleinerer Ordnung und G sei nicht vollstandig. Triangulierte Graphen Seien a; b zwei nicht-benachbarte Knoten von G. Sei S eine minimale a-btrennende Menge, nach dem Lemma ist S eine Clique. Seien Va ; Vb Komponenten von G[V ? S ] mit a 2 Va , b 2 Vb. Falls Va [ S Clique ist, ist a selbst simplizial in G. Andernfalls hat G[Va [ S ] nach IV zwei nicht-benachbarte simpliziale Knoten. Da S Clique mu einer davon in Va liegen, etwa c. Da NG (c) NG[Va[S](c) ist c auch simplizial in G. Analaog ex. ein simplizialer Knoten in Vb. Nach Konstruktion sind diese nicht benachbart. Denition. Sei G = (V; E ) ungerichteter Graph. Eine Reihung = (v1 ; ::; vn) der Knoten von G heit perfekte Eliminationsreihenfolge (PER) falls vi simplizial in G[vi ; ::; vn] ist fur i = 1; ::; n. Satz 3. Sei G = (V; E ) ein ungerichteter Graph. Dann sind folgende Aussagen aquivalent. (1) G ist trianguliert. (2) G besitzt eine PER. (3) Jede minimale trennende Menge ist Clique. Beweis. (1 ) 2) folgt aus dem Satz von Dirac und daraus, da Trianguliertheit hereditar ist. (2 ) 1) Sei PER fur G. Angenommen es ex. ein sehnenfreier Kreis C in G. Sei x der Knoten in C mit niedrigstem Index in . Da jN (x) \ C j 2 mu wegen der PER Eigenschaft eine Sehne zwischen den Nachbarn von x sein ]. (1 ) 3) Lemma 6. (3 ) 1) Indirekt: Sei [a; x; b; v1 ; ::; vn; a] ein induzierter Kreis der Lange 4 in G. Sei S eine minimale a-b-trennende Menge. Dann folgt: x 2 S und vi 2 S fur ein i. Da der Kreis sehnenfrei ist, ist vix keine Kante G, also S keine Clique. Folgerung. Triangulierte 2Graphen sind in polynomialer Zeit erkennbar: Fur v 2 V in kann in O(jN (v) j) getestet werden ob v simplizial ist. Daher kann in O(n3) entschieden werden ob G einen simplizialen Knoten besitzt. Entferne diesen Knoten und iteriere. So bekommt man in O(n4) entweder eine PER oder einen Subgraphen der keinen simplizialen Knoten besitzt. 45 46 Graphenalgorithmen: Perfekte Graphen 6.1 Baumgraphen Beobachtung. Intervallgraphen lassen sich als Durchschnittsgraphen von Pfa- den auf einem Pfad reprasentieren. U bung 1. Jeder Graph G ist Durchschnittsgraph von Subgraphen auf einem Graphen H (G). Denition. Baumgraphen sind die Durchschnittsgraphen von Teilbaumen eines Baumes. Beispiel. T2 T1 V2 V1 V3 T4 T3 V4 V5 T5 V6 T6 Baum Teilbäume V7 T7 Baumgraph Lemma 4. Die Teilbaume eines Baumes T haben die Helly-Eigenschaft (d.h. Tk k sind fTi gi=1 paarweise nicht disjunkte Teilbaume von T , dann gilt i=1 Ti 6= ;:) Beweis. Seien T1; ::; Tk Teilbaume von T mit Ti \ Tj =6 ; fur alle i; j . Sei v 2 V (T ) so gewahlt, da die Indexmenge fj 2 f1::kg : v 2 V (Tj )g maximal ist. Angenommen es ex. ein Baum Ti , der v nicht enthalt. Sei w 2 Ti so gewahlt, da der Abstand in T zwischen v und w minimal ist. Fur alle Tj mit v 2 Tj ex. ein vj 2 Tj \ Ti : Da Tj zusammenhangend ist, enthalt Tj den (eindeutigen) Weg von vj nach v (in T ), und dieser Weg enthalt w. Also ist w in mehr Baumen als v enthalten ]. 4 Satz 5. Aquivalent sind: (1) G ist trianguliert (2) G ist Baumgraph 6.1 Baumgraphen (3) Es gibt einen Baum TC = (C ; ), wobei C die Menge der maximalen Cliquen von G ist, so da fur alle v 2 V gilt: Tv := T [fC 2 C : v 2 C g] ist zusammenhangend und also Subbaum. Beweis. (1 ) 3) Induktion uber jV j. Falls G vollstandig ist, so besteht TC nur aus einem Punkt. Sei also im Folgendem G 6= Kn, Es gibt also nichtbenachbarte Knoten a; b in G. Da G trianguliert ist gibt es eine a?b-trennende Clique C . Sei W eine Zusammenhangskomponente von G[V ?C ] sowie G1 = G[V ?W ], G2 = G[W + C ]. Seien TC1 und TC2 die nach Induktionsvoraussetzung existierenden Baume fur die Graphen G1 und G2 . In C 1 und C 2 gibt es Cliquen C 1 und C 2 die C umfassen. Gilt C 6= C 1 ; C 2 dann erhalten wir TC indem wir TC1 und TC2 durch eine Kante zwischen C 1 und C 2 verbinden. Gilt C = C 1 oder C = C 2 dann erhalten wir TC indem wir die Knoten C 1 und C 2 aus TC1 und TC2 verschmelzen. Der so entstandene Knoten entspricht der maximalen Clique C 0 = C 1 [ C 2 aus G (naturlich ist C 0 = C 1 oder C 0 = C 2 ). (3 ) 2) Der Zugrundeliegende Baum sei T = TC . Zu v 2 V gehort der Subbaum Tv von V . Das ist eine Reprasentation von G weil: v; w 2 E () ex. max. Clique C mit v; w 2 C () Tv \ Tw 6= ;. (2 ) 1) Sei fTv gv2V eine Familie von Subbaumen eines Baumes T = (A; F ), derart da uv Kante in G gdw: Tv \ Tw 6= ;. Behauptung: G hat simplizialen Knoten. Sei a1 ; a2; :::; at eine Reihung der Knoten von T so da a1 ein Blatt von T ist und alle Subgraphen T [a1; ::; ai] zusammenhangend sind. Sei i0 das kleinste i fur das T [a1 ; ::; ai] einen der Baume Tv enthalt und sei Tv0 T [a1 ; ::; ai0 ] enthalten. Fur jedes w mit vw 2 E gilt Tw \ T [a1; ::; ai0 ] 6= ; und Tw 6 T [a1; ::; ai0 ], also ai0 2 Tw . Daher ist N [v0 ] = fw : ai0 2 Tw g eine Clique in G. U bung 2. G trianguliert, C max. Clique und fTigi2V Baumdarstellung von G auf dem Baum T . Dann gibt es einen Knoten a 2 T , der C entspricht (d.h. fi 2 V : a 2 Ti g = C ). U bung 3. G sei ein Graph, in dem die Pfade die Helly-Eigenschaft haben, dann gilt: G ist ein Baum. U bung 4. G trianguliert () L(G) trianguliert. 47 48 Graphenalgorithmen: Perfekte Graphen 6.2 Erkennung von triangulierten Graphen 10. Vorlesung, 30.11.95 Mitschrift: Stefanie Gerke Sei G = (V; E ) ein Graph und : V ?! f1 : : : ng (bijektiv) eine Reihung der Knoten von G, das Paar (v; w) 2 V V nennen wir {Haken, wenn folgende Bedingungen erfullt sind: (1) (v) < (w) und fv; wg 62 E . (2) Es existiert ein Zeuge u 2 V fur (v; w), das ist ein Knoten von dem aus aufsteigende Pfade u = v0; v1; ::; vs = v und u = w0; w1; ::; wt = w in G existieren, d.h., aus i < j folgt (vi) < (vj ) und (wi) < (wj ). Zusatzlich verlangen wir noch (wt?1) < (v). n o Die Menge F () = fv; wg : v; w 2 V ; fv; wg 2= E ; (v; w) ist ein {Haken heit ll-in von G bezuglich der Reihung . Wir denieren E = E [ F () und G = (V; E ). Lemma 6. G = G () ist PER fur G. Beweis. ()) G = G ) Fur alle u 2 V mit (u) < (w); (v) und fu; vg; fu; wg 2 E gilt, da fv; wg 2 E ist (andernfalls ware u ein Zeuge fur den Haken (v; w)) ) die rechte Nachbarschaft von u bzgl. ist eine Clique ) ist PER. (() Angenommen G 6= G ) Es existiert ein lexikographisch kleinster {Haken (v; w), d.h. da fur alle anderen {Haken (v0; w0) gilt: (v) < (v0) oder (v) = (v0) und (w) < (w0). Fur diesen Haken wahlen wir nun den maximalen Zeugen u und Pfade u = v0 ; v1; ::; vs = v und u = w0; w1; ::; wt = w wie in der Denition. Behauptung v1 = v. Bew: Sei i minimal so da (wi ) > (v1 ). Aus v1 6= v und fv1 ; wig 2= E folgt, da (v1 ; wi) ein lexikographisch kleinerer Haken ist als (v; w). Aus Aus v1 6= v und fv1 ; wig 2 E folgt, da v1 ein groerer Zeuge fur (v; w) ist als u. Behauptung wt?1 = u. Bew: Aus wt?1 6= u und fwt?1 ; vg 2= E folgt da (wt?1 ; v) ein lexikographisch kleinerer Haken ist als (v; w). Aus wt?1 6= u und fwt?1 ; vg 2 E folgt da wt?1 ein groerer Zeuge fur (v; w) ist als u. Also sind v; w 2 N (u) und beide groer als u bzgl. , aber sie sind nicht mit Hilfe einer Kante in G verbunden. Dies ist aber ein Widerspruch zur PER 6.2 Erkennung von triangulierten Graphen 49 Eigenschaft von bei u. Folgerung. G ist immer ein triangulierter Graph. Lemma 7. Sei G ein triangulierter Graph und eine Reihung mit der Eigenschaft (?), da aus (u) < (v) < (w); fv; wg 2= E und fu; wg 2 E , die Existenz eines Knotens x folgt, der bezuglich groer ist als v und in dessen Nachbarschaft v, aber nicht u liegt (siehe Bild), dann ist eine PER. bedeutet, dass die Kante in E nicht existiert u v w u v x w Beweis. Angenommen ware keine PER ) G 6= G ) Es existiert ein -Haken. Sei (v; w) ein -Haken, so da (v) maximal ist. Wegen (wt?1) < (v) folgt aus der Eigenschaft (?) die Existenz eines Knotens x, so da (v) < (x), fv; xg 2 E , aber fwt?1; xg 2= E gilt. Da G als trianguliert vorausgesetzt wurde, kann fx; wg keine Kante von G sein (andernfalls wurden einige der Knoten vi und wi zusammen mit x einen sehnenlosen Kreis der Lange 4 induzieren). v x u wt-1 w Wenn (x) < (w) dann ist (x; w) ein -Haken mit (x) > (v) im Widerspruch zur Wahl von (v; w). Wenn (w) < (x) dann ist (w; x) ein -Haken mit (w) > (v) im Widerspruch zur Wahl von (v; w). 6.2.1 Maximum Cardinality Search Wir wollen entscheiden, ob ein gegebener Graph G trianguliert ist. Dazu bestimmen wir zuerst eine Reihung der Knoten aus V , so da diese eine PER ist, wenn G ein triangulierter Graph ist. In einem zweiten Schritt wird dann gepruft, ob G = G ist, wa (Lemma 10 und Satz 7) impliziert, da G trianguliert ist. Die Reihung berechnen wir mit MaxCardSearch. 50 Graphenalgorithmen: Perfekte Graphen MaxCardSearch(G) [] for all v 2 V do (v) 0 while V 6= ; choose v with (v) maximal for all w 2 N (v) do (w)++ remove v from V v+ return Beispiel. Das folgende Abbildung zeigt drei Bilder eines Graphen G mit Knoten a; b; ::; i wahrend der Ausfuhrung von MaxCardSearch auf G. Das erste Bild zeigt den Graphen nachdem a als erster Knoten gewahlt wurde, a hat die Nummer 1 bekommen und von b und c haben jetzt den Wert 1 den wir durch das + andeuten. Als zweiter Knoten darf nun entweder b oder c gewahlt werden. Das zweite Bild zeigt den Zustand nach der Wahl von b. Als drittes mu c gewahlt werden. Das dritte Bild zeigt den Graphen nachdem die ersten sechs Knoten in der durch =efdcba gegebenen Reihenfolge gewahlt wurden. i i h g e 1a a e +f 2b d +c h+ g f +b i+ h 1a ba 6e 2b d+ ++c g ++ 5f 4d 1a fdcba 3c Diese Prozedur hat die Laufzeit O(n + P di), wenn das Element mit maximalem Wert in O(1) gefunden wird, bzw. bei allen Schleifendurchlaufen nur O(n + m) Zeit benotigt wird. 6.2 Erkennung von triangulierten Graphen Einschub: Eine Datenstruktur fur Sei A ein array [1::n] mit A[i] = fv : (v) = ig und t der Maximale Index i fur den A[i] nicht leer ist. Jedes A[i] ist als doppelt verkettete Liste realisiert. Zu Beginn der Prozedur ist A[1] = V und t = 1. Durch einen Zeiger beim Knotenelement vkonnen wir direkt auf das Element v in der Liste A[(v)] zugreifen. So ist das Loschen von v aus A[(v)] in konstanter Zeit moglich, auch das Inkrementieren von (v) bereitet keine Probleme. Die Verwaltung von t bereitet nur ein Problem. Wenn A[t] nach dem Loschen eines Elements leer ist, so mu t vermindert werden bis A[t] mindestens ein Element enthalt, dies ist im allgemeinen nicht in konstanter Zeit moglich. Die Gesamtzahl der Verminderungen ist aber durch die Gesamtzahl der Erhohungen beschrankt. Der Gesamtaufwand kann also abgeschatzt werden durch doppelte Zahlung der Erhohungen. Diese amortisierte Aufwandsabschatzung liefert als Ergebnis eine Laufzeit von O(n + m). Lemma 8. Wenn G ein triangulierter Graph ist und das Ergebnis von MaxCardSearch(G), dann ist eine PER. Beweis. z.z hat die Eigenschaft (?). Es sei (u) < (v) < (w) und fu; wg 2 E , fv; wg 2= E , betrachte den Zeitpunkt zu dem v genommen wurde (d.h. (v) war maximal): Bei (u) wurde w gezahlt, bei (v) nicht. Da aber (v) maximal ist, mu es mindestens einen Knoten x geben, der in der Nachbarschaft von v, aber nicht in der Nachbarschaft von u liegt, und bezuglich groer ist als v. 6.2.2 Erkennung perfekter eliminations Reihungen 11. Vorlesung, 05.12.95 Mitschrift: Bernd Falkenberg Der Algorithmus MaxCardSearch produziert eine PER (perfekte Eliminationsreihe), wenn G trianguliert ist. Wie kann man jedoch erkennen, ob eine gegebene Reihung der Knoten von G eine PER ist? Dazu betrachten wir den folgenden Algorithmus : 51 52 Graphenalgorithmen: Perfekte Graphen Per(,G) for i = 1 to n w i-ter Knoten aus index[w]=i s[w] w for v 2 N (w) with v < w if s[v]=v then s[v] w index[v] i for v 2 N (w) with v < w if index[s[v]] < i then reject accept Idee des Algorithmus: Der Wert s(v) gibt fur jeden Knoten v an, welcher Knoten der nachstgroere (bezuglich der Reihung ) Nachbarknoten von v ist. Der Wert index(v) gibt den Knoten an, zu dem v benachbart ist und der unter den schon bearbeiteten Knoten moglichst -gro ist, d.h. moglichst weit rechts in steht. Wenn der Fall eintritt, da der Knoten s(v) eines Nachbarn v des gerade bearbeiteten Knotens w einen niedrigeren Indexeintrag als w hat, heit das, da der Knoten s(v) nicht zu w benachbart ist. Somit hatte man nachgewiesen, da die rechte Nachbarschaft von v in keine Clique ist. Das bedeutet, da kein PER ist und der Algorithmus bricht mit `reject' ab. Sei =ihgfedcba, die nachfolgende Tabelle beschreibt die Zustande von Per(,G) fur den im Bild dargestellten Graphen G. In der ersten Spalte ist der derzeit bearbeitete Knoten zu nden, in der zweiten die jeweils aktuellen Indexwerte der Knoten und in der dritten die s-Zuweisungen : ihgf edcba i: 1 s(i) i h: 22 s(i) h, s(h) h g: 333 s(h) g, s(g) g f : 3444 s(g) f , s(f ) f e: 54555 s(f ) e, s(e) e In der letzten Zeile ist ein Abbruch des Algorithmus festzustellen. Der aktuelle 8h 9i 7g 5f 6e 4d 2b 1a 3c 6.2 Erkennung von triangulierten Graphen 53 Knoten ist e, i 2 N (e) und s[i] = h aber index[h] < 5 =index[e]. Also ist die rechte Nachbarschaft von i keine Clique und keine PER. Satz 9. Per(; G) liefert als Ergebnis `accept' , ist eine PER fur G. Beweis. (() durch Kontraposition. Sei Per(; G) = reject. Dann gibt es fv; wg 2 E so da keine Kante zwischen s(v) und w ist. Also ist keine PER, da v nicht simplizial in der Menge der Knoten mit -Werten (v) ist. keine Kante in E v s(v) w ()) Sei Per(; G) = accept. Angenommen, ist keine PER, d.h. es gibt einen Knoten u, so da u nicht simplizial in der Menge der Knoten mit Werten (u) ) es gibt mindestens eine `fehlende' Kante. w v Wir sortieren die fehlenden Kanten von G lexikographisch. Sei e = (v; w) die lexikographisch kleinste fehlende Kante. Wahle u maximal als v und w so da (u; v) und (u; w) Kanten sind. Behauptung: v = s(u). Indirekt angenommen v 6= s(u): Aus der Denition von s(u) folgt: s(u) v u s(u) v w Da e die lexikalisch kleinste fehlende Kante ist, gilt (s(u); w) 2 E u s(u) v w s(u) v w und ebenso (s(u); v) 2 E u ) Widerspruch zur Maximalitat von u. Also v = s(u). 54 Graphenalgorithmen: Perfekte Graphen u v=s(u) w Nun gilt: Beim Besuch von w ist index(s(u)) < index(w), also bricht Per(; G) mit reject ab. Widerspruch. 6.3 Triangulierte Graphen und ihre Komplemente sind -perfekt. Zunachst erinnern wir uns an den Farbungsalgorithmus Greedy (vergl. Abschnitt 2.3, Farbung von Intervall Graphen), der fur einen gegebenen Graphen und einer Reihung seiner Knoten eine Farbung der Knoten liefert. Greedy() ; while 6= ; R v rst() c 1 while 9w 2 (N (v) \ R) with col(w) = c c++ col(v) c R R+v ?v return col Lemma 10. Sei G trianguliert, = v1 ; :::; vn eine PER fur G, dann liefert ? Greedy( ) = Greedy(vn; vn?1 ; :::; v1 ) eine optimale Farbung. Beweis. Wird vi mit Farbe j gefarbt, dann ist vi in einer j -Clique enthalten. Das gilt, weil vi simplizial in der Menge der zur Farbungszeit von vi schon gefarbten Knoten ist (denn: ist eine PER fur G). ) Wenn Greedy k Farben benutzt, dann enthalt G eine k-Clique, d.h. die Farbung ist optimal. Aus diesem Lemma ergibt sich sofort der folgende Satz: 6.3 Triangulierte Graphen und ihre Komplemente sind -perfekt. 55 Satz 11. Triangulierte Graphen sind -perfekt. Beweis. Trianguliertheit ist eine hereditare Eigenschaft( d.h. wenn ein Graph trianguliert ist, sind auch samtliche induzierte Untergraphen trianguliert), daher genugt es zu zeigen, da fur einen triangulierten Graphen gilt: (G) = !(G). Da triangulierte Graphen eine PER besitzen, folgt mit Lemma 12 die Behauptung. U bung 5. Wie kann Greedy implementiert werden, so da die Laufzeit nur O(n + m) ist? Wir wollen zeigen, da die Komplemente von triangulierten Graphen auch -perfekt sind. Dazu benutzen wir wieder die bekannte A quivalenz G ist -perfekt , G ist -perfekt Wir betrachten nun eine Art Greedy-Algorithmus zur Bestimmung von unabhangigen Mengen: GreedyIndSet() I ; repeat v rst() Cv (N (v) \ ) remove Cv + v from I I +v until = ; return I Lemma 12. Sei G trianguliert, PER fur G uns sei I die von GreedyIndSet() zuruckgegebene Menge. I ist eine maximum unabhangige Menge von G. Beweis. p (1) I ist unabhangig (2) Wir betrachten die Menge K := fv + Cv : v 2 I g Fur jedes v ist v + Cv eine Clique (PER-Bedingung) Weil zum Schlu leer ist, ist K eine Cliquenzerlegung 56 Graphenalgorithmen: Perfekte Graphen Aus jK j = jI j folgt wegen (G) (G), da I maximum unabhangige Menge und K minimum Cliquenzerlegung ist. Satz 13. Komplemente von triangulierten Graphen sind -perfekt. Beweis. Es gilt: G ist -perfekt , G ist -perfekt. Trianguliertheit ist eine hereditare Eigenschaft daher ist auch die Klasse der Komplemente von triangulierten Graphen eine hereditare Graphenklasse. Aus dem Lemma wissen wir (G) = (G) wenn G das Komplement eines triangulierten Graphen ist. 6.4 Perfekte Reihungen Denition. Eine Reihung = v1 ; :::; vn von V heit perfekte Reihung, wenn fur alle W V gilt: Greedy(jW ) liefert eine optimale Farbung von G[W ]. Ein Graph G heit perfectly orderable () es existiert eine perfekte Reihung der Knoten von G. Bemerkung. Triangulierte Graphen besitzen eine perfekte Reihung der Knoten (jede PER hat die geforderte Eigenschaft). Vergleichbarkeitsgraphen besitzen eine perfekte Reihung der Knoten (jede lineare Erweiterung (topologische Sortierung) hat die geforderte Eigenschaft). Satz 14. ist perfekte Reihung () es gibt keinen schlechten P4, d.h. es existieren keine vier Knoten u; v; x; y mit folgenden Eigenschaften: (u; v) 2 E; (v; x) 2 E; (x; y) 2 E (x; u) 62 E; (u; y) 62 E; (y; v) 62 E u < v und x > y u v x y Beweis. ()) durch Kontraposition. Annahme: Es gibt einen schlechten P4 in G. Betrachte Gju;v;x;y , wobei u; v; x; y die Knoten des schlechten P4 seien. Der Greedy-Algorithmus wird u und y die gleiche Farbe geben, da zwischen u und y keine Beziehung besteht. Damit folgt allerdings, da fur die Knoten v 6.4 Perfekte Reihungen 57 und x noch zwei Farben benotigt werden, da v und x benachbart sind. Somit ergibt sich, da der Greedy-Algorithmus drei Farben benotigt, um diesen P4 zu farben. Notwendig sind aber nur 2 Farben, da man u und x sowie v und y die gleiche Farbe geben kann. Damit folgt, da keine perfekte Reihung sein kann. 12. Vorlesung, 12.12.95 Mitschrift: Johannes Schwarz ((= ) Behauptung: Sei eine Reihung der Knoten des Graphen G, die keinen schlechten P4 enthalt. Dann liefert Greedy() eine optimale Farbung von G. Beweis durch Kontraposition: Sei G durch Greedy() k-gefarbt, mit k > (G); sei i die kleinste Farbe, so da es eine Clique wi+1,..., wk gibt mit col[wj ] = j . (Wenn E (G) 6= ;, ist k 2, und dann ist sicher i k ? 2.) Bsp.: 1 2 3 4 5 w1 w2 w3 w4 w5 i =0 1 2 w1 w2 1 3 w3 i =0 1 2 1 i =1 2 3 w2 w3 1 2 1 3 w2 w3 1 4 w4 i =1 Beobachtung: Ware i = 0, dann enthielte G eine k-Clique, so da galte: k !(G) (G) (#). Also mu i > 0 sein, und dann enthalt einen schlechten P4, was man so einsieht: Fur alle j 2 fi + 1; :::; kg wahle uj < wj so, da col[uj ] = i und uj wj 2 E 58 Graphenalgorithmen: Perfekte Graphen ist. Ein solches uj mu existieren, denn anderenfalls hatte wj eine Farbe i bekommen. Falls es mehrere solcher uj gibt, so wahle das -kleinste. 1 2 u3 1 2 3 1 2 1 3 u2 w2 w3 u2 = u4 w2 u3 w3 i =1 1 4 w4 i =1 Deniere dann U := fuj : j = i + 1; :::; kg und W := fwj : j = i + 1; :::; kg sowie Dj := N (uj ) \ W . Sei j so, da jDj j jDj0 j f. a. j 0 2 i + 1; :::; k. Ware jDj j = jW j, dann ware fuj g [ W Clique, d. h., wir hatten eine Clique wi := uj ; wi+1; :::; wk bei der Wahl von i gehabt (# zur Minimalitat von i). Also ist jDj j < jW j; sei wj0 2 W nDj . Aus jDj0 j jDj j und wj0 2 Dj0 nDj folgt Dj nDj0 6= ;; sei also wj00 2 Dj nDj0 , wobei wj00 := wj , falls wj 62 Dj0 . W uj = uj wj Dj uj := wj W uj Dj wj wj uj wj Dj uj wj Dj 2. Fall: wj 2 Dj0 1. Fall: wj 62 Dj0 Konnten wir jetzt zeigen, da der P4 uj ? wj00 ? wj0 ? uj0 schlecht ist, so waren wir fertig; das Problem ist jedoch, da uj nicht immer -kleiner als wj00 ist. Also nehmen wir statt uj den Knoten uj00 und haben nun noch zu zeigen, da uj00 ? wj00 ? wj0 ? uj0 ein schlechter P4 ist. Dazu ist zu zeigen: (a) Die drei Kanten uj00 wj00 , wj00 wj0 und wj0 uj0 existieren in G. (b) Die drei Kanten uj00 wj0 , uj0 wj00 und uj00 uj0 existieren nicht in G. p (c) uj00 < wj00 und uj0 < wj0 . Zu (a): wj00 wj0 2 G, da W Clique ist. Zu (b): Zum ersten ist im Falle wj 62 Dj0 der Knoten uj00 ja uj , und dann folgt aus wj0 62 Dj , da wj0 62 N (uj ); im Falle wj 2 Dj0 gilt uj < uj0 , weil sonst uj 6.4 Perfekte Reihungen 59 auf den Knoten uj0 6= uj deniert worden ware, und uj00 < uj , weil sonst uj00 auf den Knoten uj 6= uj00 deniert worden ware, folglich gilt auch uj00 < uj0 ; ware nun uj00 wj0 2 G, so ware mithin uj0 auf den Knoten uj00 deniert worden; also ist in beiden Fallen uj00 wj0 62 G. Zum zweiten folgt aus wj00 62 Dj0 , da wj00 62 N (uj0 ), also ist uj0 wj00 62 G. Zum dritten haben uj00 und uj0 beide Farbe i, also ist uj00 uj0 62 G. Enthalt nun keinen schlechten P4 , so auch nicht eine Einschrankung von , und dann folgt aus der Behauptung, da k = (G0) fur alle Subgraphen G0 von G ist, und somit ist perfekt. Die Klasse der Graphen, die eine perfekte Reihung besitzen, heit perfectly orderable (PO). PO triangulierte Graphen Vergleichbarkeitsgraphen Satz 15. PO{Graphen sind -perfekt. Beweis. Sei G ein PO{Graph und eine perfekte Reihung von G, so enthalt keinen schlechten P4. Es seien k und i wie im Beweis der Ruckrichtung des vorhergehenden Satzes deniert. Ware i > 0, dann enthielte, wie oben gezeigt, einen schlechten P4 (#). Also ist i = 0, d.h., G enthalt eine k-Clique, so da !(G) k (G) und wegen !(G) (G) mithin !(G) = (G) gilt. Da mit auch jede Einschrankung von eine perfekte Reihung ist, folgt die -Perfektheit von G. U bung 6. Zeige direkt: Lineare Erweiterungen von Ordnungen und PER von triangulierten Graphen enthalten keinen schlechten P4 . U bung 7. Es gibt -perfekte Graphen, die keine PO-Graphen sind. 60 Graphenalgorithmen: Perfekte Graphen Bsp.: Bemerkung Erkennung von PO-Graphen ist ein NP{vollstandiges Problem. Zum Kapitel Nimmt man zu den in den letzten beiden Kapiteln vorgestellten Klassen noch Vergleichbarkeitsgraphen und Unvergleichbarkeitsgraphen sowie einige Teilklassen wie Intervallgraphen und Permutationsgraphen dazu, so hat man die typische Klassen perfekter Graphen beisammen (vergl etwa Lovasz [30]). Wir verschieben eine grundliche Behandlung von Vergleichbarkeitsgraphen bis Kapitel 9. Triangulierte Graphen standen ganz am Anfang der Theorie perfekter Graphen. Hajnal und Suranyi zeigten 1958 die -Perfektheit und Berge 1960 die -Perfektheit dieser Klasse. Diese Ergebnisse standen Pate bei der Formulierung der weak perfekt graph conjecture (dem jetzigen Perfekt Graph Theorem) durch Berge 1961. Der hier vorgestellte Erkennungsalgorithmus fur triangulierte Graphen ist von Tarjan und Yannakakis [47]. Es gibt noch einen zweiten linearzeit Algorithmus fur dieses Problem (vergl etwa [18]. Triangulierte Graphen wurden in verschiedenste Richtungen verallgemeinert. Gallai wies die Perfektheit von Graphen in denen jeder ungerade Kreis zwei nichtkreuzende Sehnen hat nach. Olaru und Sachs zeigten die Perfektheit der Graphen in denen jeder ungerade Kreis zwei kreuzende Sehnen hat. Schliesslich zeigte Meyniel: Jeder Graph in dem jeder ungerade Kreis zwei Sehnen hat ist Perfekt. Diese Graphen werden Meyniel{Graphen genannt (Die Originalarbeit ist in [2] wiedergegeben, einen alternativen Beweis gibt [30]). Burlet und Fontlup denierten eine Kompositionsoperation (Amalgamierung) fur Meyniel{Graphen und konnten basierend darauf zeigen, da Meyniel{Graphen Polytope und unabhangige Mengen in polynomieller Zeit erkannt werden konnen. Die Originalarbeit ist in [2] nachgedruckt. Hayward [23] denierte weakly chordal graphs als Graphen G mit der Eigenschaft: Es gibt keine induzierten Kreise der Lange 5 in G und in G. Weakly chordal graphs sind perfekt und konnen in polynomieller Zeit erkannt werden [24]. Eine weitere Linie von Verallgemeinerungen triangulierter Graphen fuhrt auf Hypergraphen mit zugrundeliegender Baumstruktur. Quellen hierzu sind [47] und [5]. Zuletzt sei noch der Begri der partiellen k-Baume erwahnt. Das sind Graphen G die sich in einen triangulierten Graphen H (G) mit !(H (G)) k einbetten lassen. Solche Einbettungen konnen fur festes k in linearer Zeit gefunden werden (diese Algorithmen existieren jedoch nur in der Theorie). Ist eine Einbettung von G in H (G) gegeben, dann lassen sich viele Probleme die fur allgemeine Graphen NP-schwer sind fur G ezient losen. Quellen hierzu sind [4] und [27]. PO{Graphen wurden von Chvatal eingefuhrt [2]. Die NP-Vollstandigkeit der Erkennung ist von Middendorf und Pfeier [36]. Einen U berblick uber eine Vielzahl weiterer Graphenklassen und ein umfangreichen Literaturverzeichnis bietet Brandstadt [5]. Dieser Arbeit liegt auch eine Skizze der Inklusionsrelation fur 120 Klassen perfekter Graphen bei. 7 Polytope und unabhangige Mengen 7.1 Ungleichungen fur unabhangige Mengen Sei fev gv2V Basis des IRjV j. Dann heit 1lA := Pv2A ev der charakteristische Vektor von A. Sei M = fxv gv2V eine Menge von Vektoren, die konvexe Hulle von M ist die Menge conv(M ) := fPv2V v xv : Pv2V v = 1 und v 0 8v 2 V g. Sei nun G = (V; E ) ein Graph mit einer Abbildung w : V ?! Q+. Fur P Mengen A V denieren wir w(A) := v2A w(v) = w> 1lA. Die gewichtete Unabhangigkeitszahl von G bezuglich w ist 61 62 Graphenalgorithmen: Perfekte Graphen (G; w) := maxfw(I ) : I V unabhangigg. Da (G; 1l) = (G) ist die Bestimmung von (G; w) i.a. NP -hart. Denition. Das Polytop der unabhangigen Mengen eines Graphen G sei die Menge STAB(G) := conv(f1lI 2 IRjV j : I V unabh.g). Beispiel. a b c n Menge der unabhangigen Mengen: ;; fag; fbg; fcg; fa; cg o {b} { a ,c } {c} {} {a} Lemma 1. (G; w) = maxfw> x : x 2 STAB(G)g Beweis. () Aus I unabhangig folgt 1lI 2 STAB(G). Also gilt (G; w) = maxfw> x : x = 1lI ; I unabh.g maxfw> x : x 2 STAB(G)g. () Sei xmax 2 STAB(G) P so, da w> xmax maximal ist. Jedes x 2PSTAB(G) hat eine DarstellungPx = I unabh: I 1lI mit I 0 fur alle I und I I = 1. Also w> xmax = I unabh: I w> 1lI . Nach Denition Pvon ist auerdem wP> 1lI (G; w) f. a. I unabhangig und mithin auch I unabh: I w> 1lI > I unabh: I (G; w) = (G; w). Also ist w xmax (G; w). Folgerung. Das Optimierungsproblem uber STAB(G) ist NP -hart. Eine Ungleichung, die fur alle x 2 STAB(G) erfullt ist, heit gultige Ungleichung. Die folgenden Ungleichungen (S1) und (S2) sind, da sie fur jeden Vektor 1lI , I unabhangig gelten, oenbar gultig. 0 xi 1 fur alle i 2 V (S 1) xi + xj 1 fur alle ij 2 E (S 2) Fortsetzung des Beispiels. Setzt man in S1 und S2 fur V und E die Knoten und Kanten aus obigen Beispiel ein, so erhalt man folgende Ungleichungen: 7.1 Ungleichungen fur unabhangige Mengen xa + xb 1 xb + xc 1 xa 0 xb 0 xc 0 63 {b} {b} xb {} {a} {} x a {a} Darstellung der Gleichung x a + x b = 1 Der Durchschnitt der durch diese Ungleichungen induzierten Halbraume ergibt ebenfalls das Polytop STAB(G). Bemerkung. Es gibt zwei Moglichkeiten, Polytope zu denieren: uber die konvexe Hulle der Vektoren uber den Durchschnitt der durch Ungleichungen induzierten Halbraume Denition. ESTAB(G) := fx 2 IRjV j : x erfullt die Ungl. (S1) und (S2)g Da (S1) und (S2) gultige Ungleichungen fur STAB(G) sind gilt: STAB(G) ESTAB(G). Ausserdem gilt: Die ganzzahligen Vektoren in ESTAB(G) sind gerade die charakteristischen Vektoren von unabhangigen Mengen. Satz 2. STAB(G) = ESTAB(G) () G bipartit Beweis. (=)) durch Kontraposition: G nicht bipartit. Dann existiert ein Kreis C der Lange 2k + 1 (k 1). Es ist 21 1lC 2 ESTAB(G). Wir behaupten: 12 1lC 62 STAB(G). Dies sieht man so ein: Angenommen, 12 1lC 2 STAB(G). Betrachte die Gewichtung w := 1lC . Dann ergibt sich folgendes: ist. Fur jedes (i) Da jI \ C j k, gilt 1l>C 1lI k, wenn I unabhangig xP 2 STAB(G) folgt daraus w> x = 1l>C x = 1l>C PI unabh: I 1lI = > 1 > I unabh: I (1lC 1lI ) k. Also ist auch 1lC 2 1lC k. (ii) 1l>C 21 1lC = 12 (2k + 1) > k. (i) und (ii) fuhren zum Widerspruch. Damit haben wir fur nicht bipartite Graphen STAB(G) 6= ESTAB(G) gezeigt. 64 Graphenalgorithmen: Perfekte Graphen 13. Vorlesung, 14.12.95 Mitschrift: Falk Haferkorn Bemerkung. Ein Polytop P ist die konvexe Hulle einer endlichen Menge von Vektoren. Ein Vektor a eine Ecke von P () (P =conv(B ) ) a 2 B ) () 8 g Gerade durch a gilt: a ist Endpunkt von g \ P . Diese letzte Charakterisierung der Ecken von P und die folgende U bung werden wir im Beweis der Ruckrichtung benutzen. U bung 1. Seien P Q Polytope, wenn jede Ecke von Q in P ist, dann ist P = Q. Nun zuruck zu unserem Beweis. Sei G bipartit und sei x 2 ESTAB(G) ein nicht ganzzahliger Punkt. Wir werden zeigen, es gibt eine Strecke mit Mittelpunkt x die ganz in ESTAB(G) liegt. Das folgende Bild zeigt einen bipartiten Graphen mit einem nichtganzzahligen x 2 ESTAB, der Wert xi steht beim Knoten i. 1 1 1 1 1 23 2 2 2 t b t t t t t b ? ? b ? b? b b ? b ? b b ? b ? b b ? ? b b b b t 1 2 t t t t 1 3 0 0 0 Wir nennen eine Kante e = (ij ), fur die gilt: xi + xj = 1 eine kritische Kante und betrachten den Subgraphen Gx der kritischen Kanten. uJ u u u u u U1 ?S ? ? S Gx J J ? J u u? u SSu u U2 Sei H eine Zusammenhangskomponente von Gx und i0 2 V (H ) mit 0 < xi0 < 1. Sei U1 ; U2 die Bipartion von H mit xi0 2 U1 . Wir denieren gt = x ? t1lU1 + t1lU2 . Fur welche t ist gt in ESTAB? Aus den Bedingungen (S1) folgt: xi0 ? 1 t xi0 . Aus der Tatsache, da alle aus H herausragenden Kanten nicht kritisch sind, folgt: 9" > 0, so da: gt fur ?" < t < " die Bedingungen (S2) erfullt. Damit ist auf der Geraden gt der Streckenabschnitt t 2 [maxf?"; xi0 ? 1g; minf"; xi0 g] als ganz in ESTAB(G) 7.2 Optimierungsprobleme und Polytope enthalten nachgewiesen. Da x = g0 im inneren dieser Strecke liegt ist x keine Ecke von ESTAB(G). Also sind alle Ecken von ESTAB(G) ganzzahlig und wegen der fruher gemachten Beobachtung sind sie charakteristische Vektoren von unabhangigen Mengen, also auch in STAB(G). Sei C ein Kreis ungerader Lange 2k + 1. Fur jede unahhangige Menge I gilt 1lTI 1lC k. Daher ist (S3) eine weitere Klasse von gultigen Ungleichungen. X (S3) xi jC j2? 1 i2C Kreis Denition. CSTAB(G) = fx 2 IRjV j : x erfullt (S1),(S2) und (S3) g. Bemerkung. STAB CSTAB ESTAB 7.2 Optimierungsprobleme und Polytope Des Optimierungsproblem fur ein Polytop P besteht darin zu einem gegebenen Kostenvektor c ein x 2 P zu nden, das die Kosten cT x minimiert. Ein Trennungsorakel fur ein Polytop P ist ein Algorithmus, der zu gegebenen x entweder x 2 P zusichert oder eine fur alle y 2 P gultige Ungleichung uT y b liefert die von x verletzt wird (d.h. uT x > b). Die Hyperebene H (u; b) = fz : uT z = bg trennt P und x. Satz 3. P besitzt ein polynomielles Trennungsorakel =) Optimierung uber P ist polynomiell. Wir skizzieren nun ein polynomielles Trennungsorakel fur CSTAB: Schritt 1: Prufe alle Ungleichungen aus (S1) und (S2). Ist eine durch x verletzt: gib sie aus, sie ist eine trennende Hyperebene, und Ende. Schritt 2: Fur jede Kante e = ij deniere cij = 1 ? xi ? xj . Wegen (S2) gilt P cij 0. Das Gewicht eines Kreises C mit jC j = l bzuglich cij ist: e2C ce = l ? 2 Pi2C xi . Die Kreisunggleichung fur C ist also aquivalent zu Pe2C ce 1. Wir mussen also prufen, ob alle ungeraden Kreise bzgl. der Kosten ce Gewicht 1 haben. Ein leichtester ungerader Kreis aber kann, wie die nachsten U bungen zeigt, in polynomieller Zeit gefunden werden. U bung 2. Mit G = (V; E ) assoziieren wir den bipartiten Graphen G = (V 0; V 00 ; E ), dessen Knotenmenge aus zwei disjunkten Kopien von V besteht. 65 66 Graphenalgorithmen: Perfekte Graphen Zu jeder Kante (u; v) 2 E enthalt E die beiden Kanten (u0; v 00 ) und (u00; v 0), beide mit dem Gewicht von (u; v). Zeige: Leichteste Wege von v 0 nach v 00 in G entsprechen den leichtesten ungeraden Kreisen in G die v enthalten. 7.3 Cliquenungleichungen fur unabhangige Mengen Eine weitere Klasse gultiger Ungleichungen fur STAB(G): X xi 1 f.a. Q Clique (S4) i2Q Denition. QSTAB(G) = fx 2 IRjV j : x erfullt (S1) und (S4) g. Da die Kantenungleichungen (S2) in den Cliquenungleichungen (S4) enthalten sind gilt STAB(G) QSTAB(G) ESTAB(G). Denition. Losungen des Optimierungsproblems uber QSTAB heien fraktionale gewichtete Unabhangigkeitszahlen (G; w) = x2max wT x QSTAB Fur w : V ?! IN sei die gewichtete chromatische Zahl deniert als X X (G; w) = min( aI : aI 2 IN und aI = wi) I;i2I I Zu gegebenen w sei Gw der Graph, der aus G entsteht, wenn man Knoten i durch einen vollstandigen Graphen Kwi ersetzt (diese Konstruktion wird im folgenden Bild dargestellt). Es gilt (G; w) = (Gw ). t Bsp.: we =t 2 t wa = 1 t w =2 b wtd = 3 t wc = 1 =) @ @ @ H HH H t t t t ? ? t t HH t t 7.4 Das Perfekt Graph Theorem 67 n o Die Partition fa; d1g; fb1; d2g; fb2; d3g; fc; e1g; fe2g ist eine optimale Farbung von Gw . Die gewichtete chromatische Zahl (G; w) erhalt man durch die zur Farbung von Gw gehorige Belegung: afa;dg = 1, afb;dg = 2, afc;eg = 1, afeg = 1. Denition. Wir denieren (G; w) = (G; w) U bung 3. Wie sieht der Graph Gw aus, fur den (G; w) = (Gw ) gilt? Satz 4. (G; w) (G; w) (G; w) Beweis. Die linke Ungleichung folgt sofort aus STAB(G) QSTAB(G). Sei Q1 ; Q2; :::; Qk eine optimale gewichtete Cliquenuberdeckung, d.h. k = (G; w) und jeder Knoten v kommt in wv der Cliquen vor. Die zweite Eigenschaft konnen wir auch so schreiben: w = 1lQ1 + 1lQ2 + :: + 1lQk Fur x 2 QSTAB(G) gilt also wT x = k X 1lTQj x j =1 k X j =1 1 = (G; w): Damit ist (G; w) = maxx2QSTAB wT x (G; w) gezeigt. 7.4 Das Perfekt Graph Theorem 14. Vorlesung, 19.12.95 Mitschrift: Helmut Weil Satz 5. Fur einen Graphen G = (V; E ) ist aquivalent: (i) (ii) (iii) (iv) (v) (vi) G ist -perfekt (G; w) = !(G; w) fur alle w : V ! IN STAB(G) = QSTAB(G) G ist -perfekt (G; w) = (G; w) fur alle w : V ! IN STAB(G) = QSTAB(G) Beweis. (i) ) (ii) zeigen wir mit Induktion nach w(V ) = Pv2V w(v). 68 Graphenalgorithmen: Perfekte Graphen Wenn w 1lV , dann gibt es ein A V so da w = 1lA und es ist Gw = G[A] und damit (und wegen (i) ) (G; w) = (G[A]) = !(G[A]) = !(G; w): Wenn w > 1lV gibt es ein i0 2 V mit w(i0) > 1. Setze w0 = w ? 1lfi0 g. Nach Induktionsannahme gibt es (nicht notwendig verschiedene) unabhangige Mengen I1 ; I2; : : : ; Ik , so da jeder Knoten v in w0(v) dieser Mengen enthalten ist und k = (G; w0) = !(G; w0). Sei S 2 fI1; : : : ; Ik g, so da i0 2 S . Setze w00 = w ? 1lS . Wir behaupten: !(G; w00) !(G; w) ? 1. Um das zu sehen, betrachten wir fur eine Clique Q mit w00(Q) = !(G; w00) die folgenden beiden Falle: 1. Fall: S \ Q 6= ;, dann gilt !(G; w00) = w00(Q) (nach Wahl von Q) und w00(Q) = w(Q) ? 1 (weil S \ Q 6= ;) und w(Q) ? 1 !(G; w) ? 1. 2. Fall: S \ Q = ;, dann gilt 8i 2 Q : w00(i) = w0(i) = w(i) und es folgt !(G; w00) = w00(Q) = k X 00 X XX w (i) = w0(i) = i2Ij i2Q i2Q i2Q j =1 = k X j =1 jQ \ Ij j Weil jQ \ Ij j 1 ( fur j = 1; : : : ; k ) und jQ \ Ij j = 0 fur Ij = S , folgt !(G; w00) k ? 1 = !(G; w0) ? 1 !(G; w) ? 1 Damit ist die Behauptung gezeigt und wir konnen im Beweis des Satzes fortfahren. Die Induktionsannahme fur w00 liefert uns unabhangige Mengen J1 ; : : : ; Jk00 , so da jeder Knoten v in w00(v) davon enthalten ist und k00 = (G; w00) = !(G; w00). Die unabhangigen Mengen J1; : : : ; Jk00 ; S sind eine Farbung zur Gewichtung w. Diese Farbung ist optimal, weil (G; w) k00 + 1 = (G; w00) + 1 = !(G; w00) + 1 !(G; w) und trivialerweise !(G; w) (G; w) gilt. Also ist !(G; w) = (G; w). (ii) ) (iii). STAB(G) QSTAB(G) ist bekannt. Umgekehrt genugt es fur rationale x 2 QSTAB(G) zu zeigen, da x 2 STAB(G) gilt. Sei also x 2 QSTAB(G) rational, dann gibt es ein q, so da qx 2 INV . Die Ungleichungen P (S 4) sind denitionsgemaPfur x erfullt, d.h. i2Q xi 1 fur alle Cliquen Q. qx q und wegen (ii) auch (G; qx) q. Sei Es folgt !(G; qx) = max Q i2Q i I1 ; : : : ; Ik eine optimale qx-Farbung von G (also k q), dann gilt k k X X qx = 1lIi und damit x = 1q 1lIi i=1 i=1 7.4 Das Perfekt Graph Theorem Weil (1 ? kq ); 1q 0 und (1 ? kq ) + Pki=1 1q = 1, ist x also als Konvexkombination der unabhangigen Mengen ;; I1; : : : ; Ik darstellbar. Damit ist x 2 STAB(G) gezeigt. (iii) ) (iv). Aus STAB(G) = QSTAB(G) folgt durch Projektion auf die zu W V gehorenden Koordinaten, da STAB(G[W ]) = QSTAB(G[W ]). Zum Nachweis der -Perfektheit (d.h. (G[W ]) = (G[W ]) fur alle W V ) genugt es also (G) = (G) zu zeigen. Sei F die Seite von STAB(G), auf der alle Vektoren 1lI fur unabhangige Mengen I mit jI j = (G) liegen. Wegen (iii) gibt es eine Cliquenungleichung, die von allen Vektoren in F mit Gleichheit erfullt wird, d.h. es gibt eine Clique Q, so da 1lTQx = 1 fur alle x 2 F . Das bedeutet, da jede unabhangige Menge der Groe (G) ein Element mit Q gemeinsam hat. Fur G0 = G[V ? V (Q)] gilt also (G0) = (G) ? 1. Wenn wir induktiv annehmen, da (G0) = (G0 ), d.h. es gibt eine Cliquenuberdeckung Q1; : : : ; Qk von G0 mit k = (G0). Dann ist Q1 ; : : : ; Qk ; Q eine Cliquenuberdeckung von G mit (G0) + 1 = (G) Cliquen. Die Implikationen (iv) ) (v), (v) ) (vi) und (vi) ) (i) ergeben sich durch Vertauschen von G und G. Satz 6. Das Optimierungsproblem fur QSTAB ist NP-hart. Beweisskizze. Eine konvexe Menge P IRn+ heit konvexe Ecke, wenn aus 0 x y und y 2 P folgt, da x 2 P . Der Antiblocker von P ist ABL(P ) = fx 2 IRn+ : yTx 1l fur alle y 2 P g U bung 4. ABL(ABL(P )) = P () P ist konvexe Ecke. STAB und QSTAB sind konvexe Ecken. Wegen xT 1lI 1 ) xT y 1 fur alle y 2 STAB(G) gilt: ABL(STAB(G)) = fx : xT 1lI 1 fur alle I unabh. in G g = fx : xT 1lQ 1 fur alle Q Clique in G g = QSTAB(G) U bung 5. Ein Algorithmus, der das Problem maxfwTxj x 2 P g lost, kann als Trennungsorakel fur das Optimierungsproblem uber ABL(P ) verwendet werden. 69 70 Graphenalgorithmen: Perfekte Graphen Wenn wir jetzt annehmen, wir konnen uber QSTAB(G) in polynomieller Zeit optimieren, dann liefert uns das ein polynomielles Trennungsorakel uber ABL(QSTAB(G)) = ABL(ABL(STAB(G))) = STAB(G) und das fuhrt zu einem Widerspruch da Optimieren uber STAB(G) NP-hart ist. 4 Wir haben gesehen, da Optimieren sowohl uber STAB als auch uber QSTAB NP-hart ist. Es lat sich allerdings zeigen, da es fur jeden Graphen G eine konvexe Ecke TH(G) gibt, die i.A. kein Polytop ist, so da STAB(G) TH(G) QSTAB(G) und Optimierung uber TH(G) in polynomieller Zeit moglich ist. Der oben bewiesene Satz zeigt, da fur perfekte Graphen gilt: STAB(G) = TH(G) = QSTAB(G) Folgerung. Die Unabhangigkeitszahl (G) eines perfekten Graphen G kann in polynomieller Zeit bestimmt werden. 7.5 Die Lovasz Ecke TH(G) Denition. Eine orthonormale Reprasentation eines Graphen G = (V; E ) besteht aus einem Vektor ui 2 IRN fur jedes i 2 V , so da gilt (i) kuik = 1 fur alle i 2 V und (ii) uTi uj = 0 fur alle ij 62 E . Bemerkung. Sei : V ! f1::kg eine Farbung von G und 1 ::k eine Menge paarweise orthogonaler Einheitsvektoren, dann ist i ! (i) eine orthogonale Reprasentation von G. Insbesondere gibt es also orthogonale Reprasentationen von G in allen Dimensionen (G). Zu einer orthonormale Reprasentation fuigi2V von G und einem c 2 IRN mit kck = 1 denieren wir den Vektor 2 IRn, n = jV j durch i = (cTui)2 y Abschnitt 7.5 wurde in der Vorlesung nicht mehr behandelt | Weihnachtsferien! (?) 7.5 Die Lovasz Ecke TH(G) 71 Lemma 7. Die Ungleichungen Tx 1 sind gultig fur STAB(G). Beweis. Sei fva g eine Orthonormalbasis des IRN . Der KoezientPvon va in der Entwicklung von c zu dieser Basis ist cTva . Also ist 1 = kck2 = a (cTva )2. Ist I unabhangig, dann kann fuigi2V zu einer Orthonormalbasis des IRN erweitert werden. Daher gilt fur jedes I X X T1lI = i = (cTui)2 1: i2I i2I Wie ublich ubertragt sich die Ungleichung auf alle x 2 STAB(G). Wir verwenden diese Ungleichungen zur Denition der Lovasz Ecke TH(G). TH(G) = fx 2 IRV+ : Tx 1 fur alle = (fuig; c) wie in ?g Sei Q eine Clique und seien fcg[fuigi2V nQ paarweise orthogonal. Deniert man uj = c fur j 2 Q, dann ist die zuPfuigi2V und c gehorige Ungleichung Tx 1 gerade die Clique-Ungleichung i2Q xi 1. Also ist TH(G) QSTAB(G). Als direkte Folgerung aus den angestellten U berlegungen erhalten wir. Satz 8. Fur alle Graphen gilt STAB(G) TH(G) QSTAB(G). Fur perfekte Graphen gilt STAB(G) = TH(G) = QSTAB(G). Die Lovasz Theta Funktion Wir denieren die Lovasz Theta Funktion # : IRn+ ! IR durch die Losungen des Optimierungsproblems uber TH(G), #(G; w) = maxfwTx : x 2 TH(G)g: Der nachste Satz, das Sandwich Theorem, ist eine direkte Folgerung aus den im letzten Abschnitt angestellten U berlegungen. Es sei #(G) = #(G; 1l). Satz 9. Fur jeden Graphen G gilt (G; w) #(G; w) (G; w) (G; w) und speziell (G) #(G) (G). Zum Kapitel Der in diesem Kapitel vorgestellte Zugang zum Problem eine maximum unabhangige Menge oder doch zumindest ihren Wert zu bestimmen stammt aus 72 Graphenalgorithmen: Perfekte Graphen der polyedrischen Optimierung. Als Referenz zu diesem Thema sei die umfassende Monographie von Grotschel, Lovasz und Schrijver [22] genannt. Kapitel 9 in diesem Buch beschaftigt sich mit Stable sets in graphs. Tatsachlich laen sich maximum unabhangige Mengen und eine optimale Farbungen in perfekten Graphen in polynomieller Zeit bestimmen [22]. Details zur Optimierbarkeit von TH(G) ndet man in [22] und in einem erganzenden Artikel von Knuth [28]. In diesen Artikeln werden 5 uberaschend verschieden Moglichkeiten die Funktion #(G; w) zu denieren vorgestellt und als aquivalent nachgewiesen. Die Methoden zur Approximation der Unabhangigkeitszahl durch # wurden verallgemeinert. Mit dem Namen semidenite Programmierung versehen, konnten sie inzwischen auf verschiedene Probleme angewandt werden. Einen U berblick geben Vandenberghe und Boyd [50]. Weitere nichtlineare Methoden zur Gewinnung von Schranken fur die Unabhangigkeitszahl wurden von Lovasz [32] vorgestellt. 8 Minimal imperfekte Graphen 15. Vorlesung, 9. Januar 96 Mitschrift: Clemens Hendler Denition. Ein Graph G heit minimal imperfekt (Mip) falls gilt: G nicht perfekt und fa. v 2 V ist G[V ? v] perfekt. Bemerkung. G Mip, I unabh. in G ) !(G[V ? I ]) = !(G) Beweis. Angenommen !(G[V ? I ]) < !(G) G[V ? I ] perfekt ) ex. Farbung von G[V ? I ] mit !(G[V ? I ]) Farben. Diese Farbung ist mit einer zusatzlichen Farbe fur I zu einer Farbung von G erweiterbar. Also gilt: (G) (G[V ? I ]) + 1 = !(G[V ? I ]) + 1 !(G). Also mit !(G) (G) ) !(G) = (G). Da G Mip gilt fa W V : G[W ] perfekt, also auch G | Widerspruch. Bemerkung. Ungerade Kreise und ihre Komplemente sind Mip. (Die Vermutung von Bergebesagt ja gerade, da ungeraden Kreise und ihre Komplemente genau die Mip-Graphen sind). Bemerkung. G Mip , Gc Mip. (Das folgt direkt aus dem Perfekt Graph Theorem). 8.1 Eine Charakterisierung perfekter Graphen Fur einen Graphen G = (V; E ) und eine Abb. w : V ! IN bezeichne G w (Multiplikation von G mit w) den Graphen den man erhalt, indem man v 2 V durch unabh. Menge der Groe w(v) ersetzt. Beispiel. w(a; b; c; d) = (1; 0; 1; 3) c b d a U bung 1. Aus G perfektG und w : V ! IN Gfolgtw G w perfekt Gilt fur zwei Knoten u = 6 v N (u) = N (v), so nennt man sie Zwillinge, und im Fall N (u) [ fug = N (v) [ fvg Cozwillinge. u v Zwilling u v CoZwilling Bemerkung. G Mip ) G enthalt keine Zwillinge und keine Cozwillinge. Beweis. In Hinblick auf die vorige Bemerkung beschranken wir uns auf den Fall der Zwillinge. Aus dem Perfekt Graph Theorem (PGT) folgt: Ist G perfekt, w : V ! IN, dann ist auch G w perfekt. Annahme: ex Mip G mit Zwillingen u und v. Da G Mip ist G[V n v] perfekt. Sei w : V ! IN mit w(u) = 2 und fa. s 2 V n fu; vg : w(s) = 1. Dann ist G[V n v] w = G, also G perfekt | Widerspruch 8.1 Eine Charakterisierung perfekter Graphen Satz 1. [Lovasz] G perfekt , fa:W V : !(G[W ]) (G[W ]) jW j U bung 2. Mit dem Satz gilt: G ist -perfekt , G ist -perfekt. Das heit also, da der zu beweisende Satz gleichwertig zu (PGT) ist (vorausgesetzt wir benotigen (PGT) nicht fur den Beweis), was uns schon ahnen 73 74 Graphenalgorithmen: Perfekte Graphen lat, da der Beweis kein Dreizeiler wird. Im nachfolgenden Beweis benutzen wir (PGT) der Einfachheit halber an einer Stelle, es sei aber erwahnt, da sich dies durchaus vermeiden liee. Beweis. ()) fa. G : (G) (G) jV (G)j (zerlege Graphen in (G) unabh. Mengen, jede ist (G)). Fur perfekte Graphen gilt zusatzlich: fa. W V : (G[W ]) = !(G[W ]). (() Angenommen, G nicht perfekt. Sei G ein bzgl. jV j minimales Gegenbeispiel. Dann gilt: G ist Mip (ware G kein Mip konnten wir einen nichtperfekten Subgraphen betrachten. Der erfullt unsere Pramisse weil G sie erfullt und ist also auch ein Gegenbeispiel). Wir zeigen zunachstPfolgende Hilfsbehauptung: (|) Behauptung. !(G w) (G w) jV (G w)j = i2V w(i) Bew: Annahme: ex. wP: V ! IN mit !(G w) (G w) < jV (G w)j. Sei w eine solche Abb., die i2V w(i) minimiert. Da nach Voraussetzung die rechte Seite des Satzes, also die Ungleichung fur G und seine Subgraphen erfullt ist, ex. i 2 V mit w(i) > 1. Sei i0 so gewahlt und w0 := w(i0). Betrachte nun w0 := w ? 1lfi0 g . Wegen der Minimalit at von w gilt: !(G w0) (G w0) Pi2V w0(i) = Pi2V w(i) ? 1, und nach Annahme: !(G w) (G w) Pi2V w(i) ? 1. Da G w0 Subgraph von G w, gilt: !(G w0) !(G w) und (G w0) (G w); somit mu insgesamt gelten: !(G w0) = !(G w) =: p; (G w0) = (G w) =: r, P also i2V w(i) = p r + 1: Sei nun w00 = w ? w0 1lfi0 g. Dann entsteht G w00 aus G w durch Entfernen aller Kopien von i0 , bzw durch Multiplikation aus G[V ? i0 ]. Als Subgraph des Mip G ist G[V ? i0] perfekt, also auch G w00 (PGT) und es gilt: (G w00) = (G w00) (G w) = r. Es ex. also eine Cliquenuberdeckung von G w00 bestehend aus r Cliquen. Seien C1; :::; Cr so gewahlt, obdA gelte jC1j ::: jCr j. Es gilt: jCij p fa. i = 1::r Pi=1::r jCij = Pi2V wi00 = (Pi2V wi) ? w0 = p r + 1 ? w0 ) fur hochstens w0 ? 1 der Ci gilt jCij < p: ) jC1j = ::: = jCr?(w0?1) j = p: (r ? (w0 ? 1) 1, da r = (G w) und w0 Groe der unabh. Menge der Kopien von i0 in G w). 8.1 Eine Charakterisierung perfekter Graphen 75 Sei W := fi0 g [ Si=1::r?w0+1 Ci und H := G w[W ], also H = G w000 fur ein geeignetes w000 < w (komponentenweise , fur zumindest eine <). Da w minimal gewahlt war ist !(H ) (H ) jV (H )j = p (r ? w0 + 1) + 1. Wegen !(H ) !(G w) = p gilt (H ) r ? w0 + 2. Sei I unabh. in H mit jI j = (H ). Dann gilt: i0 2 I weil W ? i0 Vereinigung von r ? w0 +1 Cliquen ist. Sei I 0maximale unabh. Menge in G w, die I enthalt. Mit i0 sind auch samtliche Kopien von i0 in I 0, also gilt jI 0j jI j + w0 ? 1 r ? w0 +2+ w0 ? 1 = r +1 > (G w) | Widerspruch. damit ist (|) bewiesen. Da G Mip gilt: fa. I unabh. in G : !(G ? I ) = (G ? I ) (G) ? 1 !(G), also (y) : !(G ? I ) = !(G). Sei I := fI V : I unabhangig in Gg. Fur jedes I 2 I wahle eine Clique CI mit I \ CI = ; jCI j = !(G) (moglich wegen (y)). Konstruiere w : V ! IN mit w(v) := jfI 2 I : v 2 CI gj. Dann gilt: X XX (i) jV (G w)j = w(v) = v2CI = jIj !(G) v2V (ii) !(G w) !(G) (iii) (G w) = max I 2I X v2I v2V I 2I w(v) = max I 2I XX v2I J 2I v2CJ = max I 2I X J 2I jCJ \ I j. Da J unabhangig und CI Clique ist jCJ \ I j 1. Fur I = J gilt jCJ \ I j = 0, also (G w) jIj ? 1. Insgesamt gilt nun: !(G w) (G w) !(G) (jIj ? 1) < jV (G w)j { Widerspruch zu (|) Folgerung. G Mip ) !(G) (G) = jV j ? 1 Beweis. Es gilt: !(G[V ? v]) (G[V ? v]) !(G) (G) !(G[V ? v]) (G[V ? v]) also gilt in allen Ungleichungen die Gleichheit. jV j ? 1 jV j ? 1 !(G) (G) 76 Graphenalgorithmen: Perfekte Graphen 8.2 (!; )-zerlegbare Graphen 16. Vorlesung, 11.1.96 Mitschrift: Carsten Ihlemann Denition. Sei G = (V; E ) Graph, p; r 2 IN; r > 1. G heit (p; r)-zerlegbar falls jV (G)j = pr + 1 und fur alle v 2 V gilt: (G ? v) = p und (G ? v) = r: Lemma 2. Sei G (p; r)-zerlegbar. Dann ist !(G) = p und (G) = r. Beweis. Eine minimale Clique-U berdeckung von G ? v teilt G ? v in r Cliquen. Da jG ? vj = p r ist, mu eine Clique Groe mindestens p haben. Also !(G) !(G ? v) p. Eine p-Farbung von G ? v partitioniert G ? v in p unabhangige Mengen, von denen eine mindestes die Groe r haben mu. Also (G) (G ? v) r. Sei andereseits C eine maximale Clique in G und v 2= C . Das geht, da ein (p; r)-zerlegbarer Graph nicht vollstandig ist. C ist dann auch maximale Clique in G ? v. Dann folgt: p = (G ? v) !(G ? v) = !(G). Also: !(G) = p: analog. U bung 3. Zeige fG: G Mip g fG: G pr-zerlegbar g fG: G imperfekt g. Satz 3. G sei (!; )- zerlegbar mit jV (G)j = n. Dann gibt es n verschiedene Cliquen C1 ; ::; Cn der Groe ! und n verschiedene unabhangige Mengen I1 ; ::; In der Groe so da (1) jedes v 2 V kommt in ! vielen der Ci vor (2) jedes v 2 V kommt in vielen der Ij vor (3) Ci \ Ij = ; , i = j . Beweis. Sei C eine maximum Clique. Also jC j = !. Fur jedes v 2 C sei Cv eine minimale Cliquen-U berdeckung von G ?Sv. Nach Lemma 5 besteht Cv aus Cliquen der Grosse !(G). Sei C := fC g [ v2C Cv = fC1; ::C!+1g: Behauptung: Jeder Knoten ist durch C !-fach uberdeckt, d.h C erfullt (1). Beweis: Jedes u 2= C kommt in jeder U berdeckung Cv , v 2 C genau einmal vor, also jC j = ! mal. Ist u 2 C , dann wird u von C und von jedem Cv mit v 6= u uberdeckt. Sei A die n n-Matrix, deren i-te Zeile der Vektor 1l>Ci ist. Nach dem eben gezeigten gilt: 1l>A = !1l>. Fur jedes i wahle vi 2 C beliebig. Sei Ii 8.2 (!; )-zerlegbare Graphen eine minimale U berdeckung von G ? vi durch unabhangige Mengen (d.h. eine optimale Farbung von G ? vi), dann ist jIij = ! und jedes I 2 Ii hat Groe . Sei Ii die eindeutig bestimmte unabhangige Menge aus Ii , fur die Ii \ Ci = ; gilt. Sei B die nn Matrix deren i-te Zeile der Vektor 1l>Ii ist. Nun gilt B 1l = 1l also 1l>A B > = !1l>B > = !1l> = (n ? 1)1l>. Weil ai b>i = 0 nach der Wahl von bi = 1lIi , besteht die Diagonale von A B > nur aus Nullen. Also ist A B > = J ? I , wobei J die uberall 1 Matrix ist. Damit ist (3) fur die Cliquen Ci und die unabhangigen Mengen Ii gezeigt. Insbesondere sind die Cliquen/unabhangige Mengen jeweils untereinander verschieden. Die Matrix J ? I ist nicht-singular also sind auch A und B nicht-singular. Aus 1l>A = !1l> folgt nun 1l>A?1 = !1 1l>. Daher gilt 1l>B = 1l>B A> (A>)?1 = 1l> (J ? I ) (A>)?1 = (n ? 1) 1l> (A>)?1 = (n?! 1) 1l> = 1l>. Die Gleichung 1l> B = 1l> entspricht der noch austehenden Behauptung (2). U bung 4. Beweise, da J ? I nicht-singular ist. (Hinweis: nde n verschieden Eigenvektoren). !?1 sei der Graph auf V = fv ; :::; v g und der Kantenmenge Denition. C! 0 ! n +1 o fvi ; vj g : i 6= j; ; (i ? j mod ! + 1) ! ? 1 . Beispiel. C102 Bemerkung. C21+1 ist ungerader Kreis und C2!!?+11 ist Komplement eines ungeraden Kreises. !?1 ein (!; )-zerlegbarer Graph. U bung 5. Fur alle !; 2 ist C! +1 ! ? 1 Satz 4. Fur !; 3 ist C!+1 kein Mip. !?1 und S = fv ; v ; v ; v Beweis. Sei G = C! 1 ! !+2 2!+1 ; v(?1)!+1 ; v! g Behaup+1 0 tung: G := G[V ? S ] ist nicht-perfekt. Es ist !(G0) ! ? 1 weil S aus jeder !-Clique von G, d.h aus jedem !-Abschnitt, einen Knoten enthalt. 77 78 Graphenalgorithmen: Perfekte Graphen Annahme: ex. Farbung mit ! ? 1 Farben. Sei R = f1; ::; ! ? 2g und sei F eine Farbung von G mit den Farben frotg[R. OBdA sei F (v0) = rot. Weil v0 ; v2; v3; ::; v!?1 eine Clique in G0 ist gilt: F (v2; ::; v!?1) = R. Weil v2 ; v3; ::; v!?1; v!+1 eine Clique in G0 ist gilt: F (v!+1) = rot. Aus der Betrachtung weiterer Cliquen erhalt man: F (v!+3 ; ::; v2! ) = R ) F (v2!+2) = rot ) F (v2!+3 ; ::; v3! ) = R : : : ) F (v(?1)(!+2) ) = rot. Wegen v0 ; v(?1)!+2 2 E (G0) ist F keine gute Farbung. Dieser Widerspruch zeigt, da die chromatische Zahl von G0 zumindest ! ist, also ist der Subgraph G0 von G nicht perfekt. !?1 . Bemerkung. Nicht jeder (!; )-zerlegbare Graph ist ein C! +1 Beispiel. 17. Vorlesung, 16. Januar 96 Mitschrift: Carola Wenk Lemma 5. Sei G = (V; E ) (!; )-zerlegbar mit jV j = n und sei B die im Beweis von Satz 3 denierte Matrix. Dann entspricht jeder -unabhangigen Menge von G eine Zeile von B . Beweis. Es gilt ( 1 J ? A) B > = 1 J ? A B > = J ? (J ? I ) = I . Damit ist noch einmal gezeigt, da B nicht-singular ist. Genauer (B >)?1 = ( 1 J ? A). Sei nun S eine -unabhangige Menge und t = (B >)?1 1lS . Dann gilt t = 1 ( J ? A) 1lS = 1l ? A 1lS . Da jede Zeile von A charakteristischer Vektor einer Clique C ist, und 1l>C 1lS 2 0; 1 ist, ist t ein 0,1-Vektor. Nun zahlen wir die Einsen in t: 1l> t = 1l>(1l ? A 1lS ) = n ? 1l> A 1lS = n ? ! 1l> 1lS = n ? ! = (! + 1) ? ! = 1. Aus B > t = 1lS folgt nun, da 1lS eine Zeile von B ist. 8.2 (!; )-zerlegbare Graphen 79 Bemerkung. Analog zeigt man, da unter obigen Voraussetzungen jede !Clique eine Zeile in A reprasentiert. Lemma 6. Sei G ein (!; )-zerlegbarer Graph und S1 und S2 unabhangige Mengen der Groe in G. Dann ist G[S1 4S2 ] zusammenhangend (mit 4 bezeichnen wir die symmetrische Dierenz zweier Mengen). Beweis. Indirekt. Seien S1 und S2 zwei -unabhangige Mengen, und angenommen, G0 := G[S1 4S2] ist unzusammenhangend. Sei Z eine Zusammenhangskomponente von G0. Deniere A := S1 \ S2 und Zi := Z \ Si und Ri := Si n (A [ Zi ) fur i = 1; 2. Dann sind die beiden Mengen T1 := A [ Z1 [ R2 und T2 := A [ Z2 [ R1 unabhangig, und nach Konstruktion gilt jT1j + jT2j = 2; weshalb T1 und T2 beides -unabhangige Mengen sind. Nun sind jedoch nach obigem Lemma 1l>S1 ; 1l>S2 ; 1l>T1 und 1l>T2 Zeilen von B , aber es gilt 1lT2 = 1lS1 + 1lS2 ? 1lT1 , was einen Widerspruch zur Nicht-Singularitat von B darstellt. # Z R x 1 x x 1 x S1 ' x x x x $ xZ2 x xR2 x & % S2 A "! Z Denition. Zwei Knoten u,v in einem Graphen G heien even pair, wenn es keinen induzierten (= sehnenfreien) Pfad mit ungerade vielen Kanten zwischen u und v gibt. Beispiele. 1) 2) 3) x x u v xu xv x x x x x x v x Lemma 7. (!; )-zerlegbare Graphen besitzen keine even pairs. u 80 Graphenalgorithmen: Perfekte Graphen Beweis. Seien x; y 2 V beliebig. Aus der (!; )- Zerlegbarkeit des Graphen folgt, da es zwei -unabhangige Mengen Sx und Sy mit x 2 Sx, y 2= Sx, x 2= Sy und y 2 Sy gibt. Nach obigem Lemma ist der Graph G0 := G[Sx4Sy ] zusammenhangend und bipartit. Ein kurzester Weg zwischen x und y ist ein ungerader sehnenfreier Weg in G0, also auch in G. ) x; y ist kein even pair. Satz 8. Ein Mip besitzt kein even pair. Beweis. Da Mips (!; )-zerlegbar sind, folgt der Satz aus Lemma 10. Denition. Eine Menge S V heit trennender Stern, wenn (1) G[V ? S ] ist nicht zusammenhangend. (2) es existiert ein x 2 S , Zentrum genannt, so da S N [x]. (N [x] ist die abgeschlossene Nachbarschaft von x). Beispiel. ' '$ $ & x x &% % S Satz 9. Ein Mip besitzt keinen trennenden Stern. Beweis. Indirekt. Sei G ein Mip mit trennendem Stern S und Zentrum x 2 S . Sei W eine Zusammenhangskomponente von G[V ? S ] und G1 := G[W + S ], G2 := G[V ? W ]. Dann sind G1 und G2 perfekt. Seien nun Fi Farbungen der Gi mit !(Gi) Farben. Sei Ii die Menge der Knoten in Gi, die dieselbe Farbe wie x haben und deniere I := I1 [ I2. Da S trennend ist, existiert keine Kante zwischen I1 und I2 . Als Farbklassen sind I1 und I2 unabhangig. Weil x Zentrum besteht I \ S nur aus x. Damit ist gezeigt, da I unabhangig in G ist. Da S trennend ist, ist jede !-Clique C von G ganz in G1 oder G2 enthalten. Weil sowohl G1 als auch G2 perfekt sind ist C \ I 6= ;, also !(G[V ? I ]) < !(G). Das bedeutet, da G[V ? I ] nicht perfekt ist. Ein Widerspruch zur Annahme G Mip. 8.3 Operationen, die Perfektheit erhalten 81 8.3 Operationen, die Perfektheit erhalten Als Beispiel einer Operation, die Perfektheit erhalt kennen wir die Multiplikation von Knoten: Ist G perfekt und w eine Abbildung w : V ! IN, dann ist G w ebenfalls perfekt. Denition. G, H Graphen und x 2 V (G). Dann ist GHx der Graph mit der Knotenmenge (V (G) ? x) [ V (H ) und der Kantenmenge E (G ? x) [ E (H ) [ f(u; v) : u 2 NG(x); v 2 V (H )g. Man sagt GHx ist durch Substitution von x durch H in G entstanden. Beispiel. ' v u & G $ v x % H ' v u H & $ % GHx Lemma 10. Substitution erhalt Perfekheit (d.h. G; H perfekt ) GHx perfekt) Beweis. Indirekt. Angenommen, GHx ist nicht perfekt. Dann existiert ein Mip M , der ein induzierter Subgraph von GHx ist. Es existieren induzierH0 0 0 0 te Subgraphen G von G und H von H , so da M = Gx , (die Graphen G0 und H 0 sind durch die Knotenmengen V (G0) = V (M ) \ V (G) + x und V (H 0) = V (M ) \ V (H ) induziert). Betrachte folgende Eigenschaften (a) 9y 2 G0 : (yx) 2= E (G) (b) 9u; v 2 H 0 : (uv) 2= E (H ) Angenommen, (a) ist nicht erfullt. Dann ist M unzusammenhangend, was einen Widerspruch zu den Eigenschaften eines Mips darstellt. Also gilt (a). Angenommen, (b) ist nicht erfullt. Dann ist H 0 eine Clique in G0 . Wenn jV (H 0)j 2, dann existieren Cozwillinge in M . Widerspruch. Wenn jV (H 0)j 2, dann ist M isomorph zu einem Subgraphen von G. Widerspruch. Wenn (a) und (b) erfullt sind, dann ist N [u] ein trennender Stern. Im Widerspruch dazu, da M ein Mip ist. 82 Graphenalgorithmen: Perfekte Graphen 18. Vorlesung, 23.Januar 96 Mitschrift: Christof Schultz Lemma 11. Wenn G P4-frei und jV j > 1 ist folgt: (1) G enthalt Zwillinge oder (2) G enthalt Cozwillinge. Beweis. Der Fall jV j = 1 ist klar. Betrachten wir nun jV j > 1: Wenn G eine Clique ist, ist jedes Knotenpaar ein Cozwillingspaar. Seien nun x; y Knoten aus G mit (x; y) 2= E und A eine minimal trennende Menge fur x und y. Dann zerfallt G[V ? A] in mehrere Komponenten, wobei Cx die Komponente ist, die x enthalt und Cy die die y enthalt. Behauptung: Fur alle z 2 Cx und alle a 2 A ist (z; a) 2 E . Angenommen das gilt nicht. Sei K = (z : : : x0 : : : a : : : y) der kurzesten Weg von z uber a nach y. Das ist ein sehnenfreier Weg mit mehr als 4 Knoten. Dies steht aber im Widerspruch dazu, da der Graph P4-frei sein soll. Also ist jeder Knoten aus Cx [ Cy mit jedem Knoten aus A verbunden. Betrachten wir nun zwei Falle: 1. Wenn jCxj = jCy j = 1 ist, folgt unmittelbar, da x und y Zwillinge sind. 2. Wenn jCxj 2 folgt, mit obiger U berlegung, da ein Zwillings-, bzw. ein Cozwillingspaar in G[Cx] ein ebensolches Paar in G is. Folgerung. P4 -freie Graphen sind perfekt. Beweis. P4 -Freiheit ist eine heritare Eigenschaft, d.h. ein nicht perfekter P4 freier Graph besitzt eine P4-freien Mip. Nach obigen Lemma besitzt dieser Mip aber Zwillinge, bzw. Cozwillinge, was aber im Widerspruch zu den Eigenschaften eines Mip steht. U bung 6. Wenn G P4-frei ist, dann ist G oder G unzusammenhangend. U bung 7. P4 -freie Graphen sind Vergleichbarkeitsgraphen. 8.4 Rot{Wei Dekompositionssatze Im folgendem betrachten wir Graphen mit einer Rot/Wei-Farbung, die nicht unbedingt eine gute Farbung sein mu. Speziell interessiert uns die auf P4's in G induzierten Farbungen. 8.4 Rot{Wei Dekompositionssatze Beispiel. g wg g g P4 vom Typ WRWW, (es gilt WRWW = WWRW) Allgemeine Form des Rot{Wei Dekompositionssatzes Wenn G so gefarbt ist, da keine P4 vom Typ t 2 T auftreten folgt: G ist genau dann perfekt, wenn beide einfarbigen Subgraphen perfekt sind. Hierbei ist T eine Menge von Farbungstypen. Beispiel. Wenn jeder P4 eine gerade Anzahl von roten Knoten hat folgt: G ist genau dann perfekt, wenn Gwei und Grot perfekt sind. Hierbei ist T = fWRRR; RWRR; RWWW; WRWWg (Beweis in [8]). Satz 12. Fur die folgenden Mengen T1; T2 ; T3 gilt der Dekompositionssatz: (1) T1 = fRRRR; RWWR; WRRW; WWWWg (2) T2 = fWRRR; RWRR; RWWR; WRRW; WWWWg (3) T3 = fWRRR; RWRW; RWWR; WRRW; WWWWg Beweis fur (1) und (2) Angenommen es existiert ein Gegenbeispiel, dann auch ein minimales Gegenbeispiel, also ein Mip. Nach Vorraussetzung gibt es keinen weien P4 in G, somit auch nicht in G. Aus dem Lemma 14 folgt, da Gwei Zwillinge, bzw. Cozwillinge enthalt. O.B.d.A nehmen wir an, da Gwei die Zwillinge u; v enthalt (ansonsten arbeite mit G weiter). Behauptung: u; v ist ein even pair in G, d.h. jeder von u; v induzierte Weg hat eine gerade Anzahl von Kanten. Sei P = (u = w0w1w2 : : : wk = v) ein sehenfreier Weg zwischen u und v. k = 1 geht nicht, da uv 62 E , fur k = 2 ist die Behauptung erfullt. Betrachten wir nun k 2. Hier gilt, da u und v Zwillinge in Gwei sind, da w1 und wk ? 1 rot sind. Betrachten wir nun die max. monochromatischen Teilstucek von P : Fur T1: Da T1 symmetrisch bezuglich der Vertauschung von R und W in den Farbungstypen ist, genugt es die weien Teilstucke RWi R zu betrachten. Da WWWW 2 T1 gibt es keine weien Teilstucke mit i 4. Teilstucke der Lange 2 fallen auch weg, da RWWR 2 T1. Also haben alle max. monochromatischen Teilstuck eine ungerade Lange, namlich 1 oder 3. Fur T2: Die Argumentation fur die weien Teilstucke gehen analog zu obigen. Betrachten wir nun roten Teilstucke. Rote Teilstucke der Lange 2 sind verboten, da WRRW 2 T2 ist. Teilstuck mit eine Lange groer als 3 sind 83 84 Graphenalgorithmen: Perfekte Graphen auch verboten, da das Anfangsstuck WRRR 2 T2 ist. Also gibt es nur rote Teilstucke der Lange 1, d.h. mit ungerader Lange. Das bedeutet, da zwischen u und v eine ungerade Anzahl von Knoten liegen, d.h. P enthalt eine gerade Anzahl von Kanten. Somit ware aber u; v ein even pair, was im Widerspruch dazu steht, da G ein Mip sein sollte. Beweis fur (3) Wie im obigen Beweis sei G ein minimales Gegenbeispiel, also Mip. Wenn kein P4 in G vom Typ RWRR ist, dann folgt die Aussage aus Teil (2), da T2 T3 + RWRR. Betrachten wir nun im Folgenden einen P4 : (u; v; w; x) vom Typ RWRR: ugw vg wwg xwg Sei nun N := N (v) + v ? u und Q die Menge der rote Nachbarn von w, die nicht zu v und nicht zu u benachbart sind (x 2 Q). Angenommen es existiert ein Paar p; q mit p 2 Q und q 2= N [ Q und (q; p) 2 E . $ ' Q N ugw vg wgw xgw &% gwp q gc 1.Fall: Angenommen (q; u) 2 E . Wegen p 2 Q ist (p; u) 2= E , wegen p; q 2= N sind (q; v) 2= E und (p; v) 2= E . Also ist (p; q; u; v) ein sehnenfreier Pfad von p nach v. pgw qcg uwg vg Dies geht nicht, da RXRW fur X 2 fR; Wgverboten ist, d.h. (q; u) 2= E . 2.Fall: Betrachte nun den Pfad (v; w; p; q). Nach Voraussetzung is (v; p) 2= E und (v; q) 2= E . Wenn (q; w) 2= E , dann ist (v; w; p; q) ein sehnenfreier Pfad von v nach w. vg ww pwg qcg Dies ist verboten, da WRRX fur X 2 fR; Wg verboten ist. Also ist (q; w) 2 E . Nachdem die Kante (q; w) 2 E und q 2= N [ Q, folgt, da q wei ist. 8.4 Rot{Wei Dekompositionssatze 85 ugw vg wwg xwg g ugw vg wgw qg q gwp Betrachten wir nun: Das ist ein induzierter P4. Da RWRW verboten ist, kann es keine solchen Knoten p; q geben. Deshalb zerfallt G[V ? N ] in mehrere nicht leere Komponenten Cu und Cx. Das heit aber, da N ein trennender Stern mit Zentrum v ist, was im Widerspruch dazu steht, da G ein Mip sein sollte. Zum Kapitel Der Beweis von Satz 4 stammt aus Lovasz a characterization of perfect graphs und ist in [2] (Seiten 40{42) nachgedruckt. Dort ndet man auch den ursprunglichen Beweis des PGT der die Theorie der Hypergraphen verwendet. Fulkerson hatte zuvor schon eine Theorie der Antiblocker von Polyeder in der zum Beweis des PGT nur der Beweis fehlte, da Substitution Perfektheit erhalt. Aufbauend auf der fur Mips gultigen Gleichung n = ! + 1 wurde diese Klasse von Padberg sowie von Bland, Huang und Trotter genauer Untersucht. Originalarbeiten und weitere Ergebnisse zu Mip und (!; )-zerlegbaren Graphen ndet man in [2]. Der Begri des even-pairs stammt von Meyniel, der hier vorgestellte Beweis von Lemma 10 ist von Reed [41]. Meyniel [35] deniert quasi parity Graphen als jene Graphen G in denen fur jedes W V entweder G[W ] oder G[W ] ein even-pair besitzt. Quasi parity Graphen sind eine groe Klasse perfekter Graphen, sie umfassen Meyniel-Graphen und PO Graphen. Die grundlegende und sehr lesenswerte Arbeit uber trennende Sterne stammt von Chvatal [7]. Dort werden auch weitere Operationen die Perfektheit erhalten diskutiert. P4-frei Graphen heien auch Cographen, sie sind die Vergleichbarkeitsgraphen von Serien-Parallelen Ordnungen und treten als besonders gut verstandene Klasse von Graphen in den verschiedensten Zusammenhangen auf (vergl. [5]). Rot-Wei Dekompositionssatze wurden zuerst von Chvatal und Hoang [8] und [25] untersucht. Die hier behandelten Falle und die vollstandige Charakterisierung der Mengen von Farbungstypen fur die der Rot-Wei Dekompositionssatz gilt ist von Chvatal, Lenhart und Sbihi [9]. 86 Graphenalgorithmen: Perfekte Graphen 9 Vergleichbarkeitsgraphen Vergleichbarkeitsgraphen sind als die zugrundeliegenden Graphen von Ordnungen deniert, das heit, ein ungerichteter Graph G = (V; E ) ist ein Vergleichbarkeitsgraph, wenn ein orientierter Graph H = (V; F ) mit E = ffu; vg : (uv) 2 F oder (vu) 2 F g und F transitiv existiert. (H orientierter Graph bedeutet F \ F ?1 = ; und F transitiv bedeutet F 2 F , bzw. (x; y) 2 F und (y; z) 2 F ) (x; z) 2 F ). Erfullt F die genannten Bedingungen, so heit F transitive Orientierung von G. Bemerkung. Wenn F eine transitive Orientierung von G ist, so auch F ?1. Folgerung. Fur eine Kante aus E durfen wir die Orientierung beliebig vorgeben. Beispiel. s s7 -o s y kein Vergleichbarkeitsgraph s s sy }s s 6 s -s? O s -s 9.1 Die ? Relation 19. Vorlesung, 25.01.96 Mitschrift: Bernd Falkenberg Denition. Die ?-Relation (forcing relation) ist eine Relation auf der Menge E^ der geordneten Paare uv fur fu; vg 2 E : = u0 und fv; v0g 2= E oder uv ? u0v0 , vu = v0 und fu; u0g 2= E Wir denieren die Relation ? durch: ab? cd , 9xi ; yi so da ab?x1 y1?x2 y2?::?xk yk ?cd. nennen so etwas eine ?-Weg von ab nach cd. Lemma 1. ? ist reexiv, transitiv und symmetrisch. Beweis. Reexiv: da ? reexiv ist. und 9.1 Die ? Relation 87 Transitiv: Wenn es einen ?-Weg von uv nach wx und einen von wx nach xy gibt, dann gibt es auch einen von uv nach xy, da man einfach die Wege aneinander hangen kann. Symmetrisch Wenn es einen ?-Weg von uv nach xy gibt. so kann man ihn einfach ruckwarts laufen und erhalt so einen ?-Weg von xy nach uv. Also ist ? eine A quivalenzrelation und induziert eine Partition von E^ . Die Klassen dieser Partition heien Implikationsklassen. Lemma 2. I sei Implikationsklasse. Dann ist auch I ?1 Implikationsklasse. Beweis. Seien ab, cd 2 I . ab?cd. Dann gilt ba, dc 2 I ?1. Wenn ab und cd den Endpunkt gemeinsam haben, so haben ba und dc den Anfangspunkt gemeinsam. Analog: ab und cd haben den Endpunkt gemeinsam. Damit gilt : ba?dc und somit folgt: I ?1 ist Implikationsklasse. Beispiel. f a c g e h b d i In diesem Beispiel gibt es sechs Implikationsklassen. Diese sind : I1 = fac; bc; bd; ad; ec; ed; ef; eg; eh;?1eig?, 1I2 = fdc g und I3 = fgf; gh; ihg. Die in?1 versen Implikationsklassen I1 ; I2 und I3 sind die ubrigen drei Implikationsklassen. Lemma 3. I E^ Implikationsklasse, dann gilt I = I ?1 oder I \ I ?1 = ;. Beweis. Aus I \ I ?1 6= ; folgt I = I ?1, da die Implikationsklassen eine Partition darstellen. Satz 4. G = (V; E ) hat transitive Orientierung F , dann gilt fur jede Implikationsklasse I \ I ?1 = ;. 88 Graphenalgorithmen: Perfekte Graphen Beweis. : Sei ab 2 F ) I(a;b) F und ba 62 F ) ba 62 I(a;b) ) ba 2 I(?a;b1 ) (wegenLemma). Bemerkung. Wenn fur jede Implikationsklasse I gilt I \ I ?1 = ;, dann hat G = (V; E ) eine transitive Orientierung F . Aber! In einem vollstandigen Graphen besteht jede Implikationsklasse aus nur einer Kante, also gilt nicht fur jede Menge von Implikationsklassen fI1; :::; Ik g deren Vereinigung eine Orientierung von G ist, da S Ii transitiv ist. Es folgen zwei technische Lemmata, die sogenannten Dreickslemmata. Lemma 5. Seien A; B; C Implikationsklassen mit A 6= B; A 6= C . Seien x; y; z Knoten mit xy 2 A; xz 2 B; zy 2 C . Dann gilt: 8y0 mit fx; y0g 2 E; fy; y0g 62 E ist zy` 2 C . Insbesondere fxy0g 2 E . Beweis. Zunachst ist klar, wenn fz; y0g 62 E dann z C B y A y folgt aus xy?xy0?xz schon A = B , Widerspruch. Aus fy; y0g 62 E folgt zy?zy0, also wegen zy 2 C auch zy0 2 C x Lemma 6. Seien A; B; C Implikationsklassen mit A 6= B; A 6= C . Seien x; y; z Knoten mit xy 2 A; xz 2 B; zy 2 C . Dann gilt: uv 2 A ) uz 2 B und zv 2 C . Beweis. xy 2 A und uv 2 A bedeutet xy?uv, das heit es gibt eine kurzeste Folge xy?x1 y1?:::xk yk ?uv. Wenn k = 0, also xy?uv dann folgt die Behauptung aus dem vorigen Lemma. Als Induktionsvorausetzung durfen wir nun annehmen, da xk z 2 B und zyk 2 C . Das Dreieck xk ; yk ; z hat nun dieselben Eigenschaften wie x; y; z und die Behauptung folgt wie eben aus dem vorigen Lemma. 9.2 Substitutionsdekomposition 89 z z B B C x y A C y x A y’ y’’ x’ y’’’ u v u v Wir verlassen das Thema transitive Orientierung nun zu einem Exkurs uber Substitutionsdekomposition. Anschlieend werden wir den engen Zusammenhang zwischen diesen beiden Konzepten kennenlernen. 9.2 Substitutionsdekomposition Denition. Sei W V , d.h. W 6= V , und U = V ? W . Wenn fur alle w1 ; w2 2 W gilt: N (w1) \ U = N (w2) \ U dann heit W ein Modul von G. Wenn jW j = 1, dann heit W trivial. Sonst heit W nichttriveal. Im Abschnitt 8.3 hatten wir Substitution als Operation kennengelernt, die einen Knoten eines Graphen G durch einen anderen Graphen H ersetzt, und jeden Knoten aus H mit den Nachbarn von x verbindet, der so erhaltene Graph wurde mit GHx bezeichnet. Oenbar ist V (H ) also ein Modul in GHx . Die Umkehrung gilt auch: Sei W Modul in G, w0 2 W beliebig und U = V (G) ? V (W ). Dann lasst sich G auch schreiben als : G[U + w0 ]wG0[W ]. Denition. Wenn G ein nichttriviales Modul besitzt oder jV (G)j 2, dann heit G dekomponierbar. Andernfalls heit G prim. U bung 1. G prim ) G und G sind zusammenhangend. 90 Graphenalgorithmen: Perfekte Graphen Satz 7. (Dekompositionssatz) Fur jeden Graphen G gilt genau eine der fol- genden Aussagen: (1) G ist unzusammenhangend (paralleler Fall) (2) G ist unzusammenhangend (serieller Fall) (3) 9! primer Graph H mit Knoten v1 ; :::; vk 2 V (H ) und Graphen K1 ; :::; Kk , soda G = H Kv11 Kv22:::::: Kvkk . Wir werden den Satz spater beweisen. Zunachst stellen wir fest, da basierend auf den drei Fallen aus dem Satz jedem Graphen G ein Dekompositionsbaum T zugeordnet werden kann. Jedem Knoten von T ist ein induzierter Subgraph von G und ein Typ aus fparallel,seriell,primg zugeordnet, so da der Typ gerade der auf den Subgraphen zutreende Fall ist. Die Wurzel von T ist G. Die Nachfolger von paralellen und seriellen Knoten sind die Zusammenhangskomponenten beziehungsweise die Zusammenhangskomponenten des Komplements. Nachfolger von primen Knoten sind die Graphen K1; :::; Kk . Beispiel. Ein Graph und sein Dekompositionsbaum. Module f c a g e h b d i e a b c d f g h i 9.2 Substitutionsdekomposition U bung 2. Wie verhalt sich der Dekompositionsbaum von G zum Dekompo- sitionsbaum von G? Bevor nun der Dekompositionssatz bewiesen werden soll, zunachst einige Lemmata uber Module: Lemma 8. Seien M1 ; M2 Module, M1 \ M2 6= ;. Dann gilt: M1 [ M2 = V oder M1 [ M2 ist ein Modul. Auerdem ist M1 \ M2 ein Modul. Beweis. Sei M1 [ M2 6= V und m 2 V n(M1 [ M2 ). Da M1 Modul, verhalten sich je zwei Knoten aus M1 zu m gleich. Ebenso mit M2. Seien jetzt m1 2 M1 ; m2 2 M2. Da M1 \ M2 6= ; gilt, gibt es einen Knoten m3 2 M1 \ M2. Wenn dieser eine Kante zu m besitzt, so auch m1 und m2 . Wenn keine Kante zwischen m und m3 exitstiert, so auch keine zwischen m1 und m sowie m2 und m. Da m1 und m2 beliebig waren ) M1 [ M2 ist ein Modul. Seien m1 ; m2 2 M1 \ M2 . Da mi 2 M1, verhalten sie sich gegenuber allen Knoten in V nM1 gleich. Ebenso verhalten sie sich allen Knoten in V nM2 gleich. Also verhalten sie sich allen Knoten aus V n(M1 \ M2 ) gegenuber gleich ) M1 \ M2 ist Modul. Lemma 9. Seien M1 ; M2 Module, die nicht ineinander enthalten sind. Dann gilt: In G sind entweder alle oder keine Kanten zwischen M1 nM2 und M2 nM1 vorhanden. Beweis. Annahme, es gebe eine Kante a1a2 mit a1 2 M1nM2 und a2 2 M2 nM1. Da M1 Modul ist folgt, da jeder Knoten aus M1 nM2 zu a2 benachbart ist. Da M2 Modul ist mu nun aber jeder Knoten aus M2nM1 genau wie a2 zu jedem Knoten aus M1 nM2 benachbart sein, das heit, da alle Kanten zwischen M1 nM2 und M2 nM1 existieren. Lemma 10. Weder G noch G sind unzusammenhangend, M1 ; M2 sind maximale Module ) M1 \ M2 = ;. Beweis. Da M1 ; M2 maximale Module sind ist M1 [M2 kein maximales Modul, also wegen Lemma 8 M1 [ M2 = V . Nun gilt mit Lemma 9: Entweder alle oder keine Kanten existieren zwischen M1 nM2 und M2 nM1 . O.B.d.A. sei keine Kante zwischen M1 nM2 und M2 nM1 vorhanden (andernfalls gehen wir zum Komplementargraphen uber). Da M1 Modul ist gibt es keine Kante zwischen M1 und M2 nM1. Wegen M1 [ M2 = V bedeutet das, da G unzusammenhangend ist | Widerspruch. 91 92 Graphenalgorithmen: Perfekte Graphen Beweis. (des Dekompositionssatzes) Annahme: G und G sind zusammen- hangend. Dann gilt: Die maximalen Module M1; :::; Mk bilden eine Partition von V . Sei Ki = G[Mi ] und wahle vi 2 Ki beliebig. Wir denieren den Quotientengraphen G=fMig := G[v1 ; :::; vk ]. Behauptung: G=fMig ist das gesuchte H . G=fMi g ist zusammenhangend, da G zusammenhangend ist. G=fMi g ist zusammenhangend, da G zusammenhangend ist. Angenommen, es existiert ein nicht-triviales Modul. Dann gibt es eine Teilmenge der Module Mi, deren Vereinigung ein Modul in G ist. Das ist aber ein Widerspruch zur Maximalitat der Module M1 ; :::; Mk . G / {M i } G M2 M1 v1 v2 M3 M5 v3 v5 M4 v4 Algorithmen zur Berechnung des Dekompositionsbaumes zuerst 70er Jahre O(n5); O(n4) Anfang der 80er O(n3) (Gallai, Golumbic, Buer & Mohring) Ende der 80er O(n2) (Muller & Spinrad) 1992 O(m log n) (Cournier & Habib) 1993 O(m (m n)) (Spinrad) 1994 O(m + n) (McConnell & Spinrad) 9.3 Transitive Orientierbarkeit und Substitution 20. Vorlesung, 30.1.96 Mitschrift: Susanna Gebauer Wenn I E^ eine Implikationsklasse ist, dann heit I^ = I [ I ?1 Farbklasse. Farbklassen konnen als Teilmengen von E aufgefat werden. Der Trager einer Implikationsklasse I ist Tr(I ) = fx : 9y; so da xy 2 I^g 9.3 Transitive Orientierbarkeit und Substitution Lemma 11. Der Trager einer Implikationsklasse ist ein Modul. Beweis. Sei A Implikationsklasse und A^ die zugehorige Farbklasse. Seien a; b 2 Tr(A) und x 62 TR(A^). Wir mussen zeigen: fa; xg 2 E () fb; xg 2 E . Aus a; b 2 Tr(A) folgt es gibt einen ?-Weg zwischen einer Kante die a enthalt und einer die b enthalt (siehe Bild). b x p a Aus faxg 2 E folgt fpxg 2 E , sonst ware ap ? ax also x 2 Tr(A). Dieses Argument schreibt man fort bis schlielich fbxg 2 E Lemma 12. Keine zwei verschiedenen Farbklassen haben denselben Trager Beweis. z e x y Sei x 2 Tr(A^) = Tr(B^ ), d.h. x ist inzident mit zumindest einer Kante aus A und einer Kante aus B , also z.B. ay 2 A^ und xz 2 B^ . Die Kante e = fyzg 2 E , weil A 6= B . Fall 1. e 62 A, dann folgt mit Lemma 5: keine Kante aus A ist mit z inzident (andernfalls mute fz; zg in B^ sein). Also Tr(A) 6= Tr(B ) { Widerspruch. Fall 2. e 2 A^ also e 62 B^ , dann folgt symmetrisch zu Fall 1 der Widerspruch Tr(A) 6= Tr(B ) 93 94 Graphenalgorithmen: Perfekte Graphen Satz 13. G prim ) in G gibt es nur eine Farbklasse. Beweis. Wenn G prim, dann gibt es keine nichttrivialen Module. Aus Lemma 11 folgt daher, da jede Farbklasse Trager V hat. Nun folgt mit Lemma 12, da es nur eine Farbklasse gibt. Folgerung. G primer Vergleichbarkeitsgraph ) es gibt genau ein Paar F; F ?1 von transitiven Orientierungen fur G. Die Orientierung F ?1 heit die zu F duale Orientierung. Beispiel. Graph G Ordnung PG duale Ordnung P d G Der Satz zeigt, da es einfach ist prime Vergleichbarkeitsgraphen, transitiv zu orientieren (starte mit beliebiger Kante und bilde die Implikationsklassen). Wenn der Dekompositionsbaum des Graphen gegeben ist, dann ist es auch fur nicht-prime Vergleichbarkeitsgraphen einfach eine transitive Orientierung zu nden. Bemerkung. 1. Fast alle Graphen sind prim. 2. Fast alle Vergleichbarkeitsgraphen sind prim. U bung 3. Trivialerweise ndet man zu einer Kante uv alle xy mit uv ? xy mit O(n2 ) Operationen. Zeige, da schon O(n) Operationen genugen. Verwende dieses Teilergebnis im Entwurf eines O(mn) Algorithmus zur transitiven Orientierung primer Vergleichbarkeitsgraphen. 9.4 Schnelle transitive Orientierung In diesem Abschnitt wollen wir einen O(m log n) Algorithmus zur transitiven Orientierung primer Vergleichbarkeitsgraphen kennenlernen. Die Beschrankung 9.4 Schnelle transitive Orientierung auf prime Graphen ist durch die am Ende des vorigen Abschnitts gemachten Bemerkungen gerechtfertigt. Sei G ein primer Vergleichbarkeitsgraph im ersten Schritt suchen wir ein Element c 2 V das in einer transitiven Orientierung von G ein Maximum ist. Der nachfolgende Algorithmus CandSplit ndet so ein Element. CandSplit(G; v ) C V ?v Q v repeat x pop Q if C \ N (x) 6= ; then Q Q + [C ? N (x)] C C \ N (x) until j C j= 1 return C Beispiel. 1 6 2 5 3 Die folgende Tabelle illustriert wie CandSplit(G; 6) auf dem Beispielgraphen arbeitet. Die erste Spalte zeigt das soeben bearbeitete Splitelement x, die zweite die Kandidatenmenge C , die dritte die Queue Q. f1; 2; 3; 4; 5g [6] 6 f1; 4; 5g [3; 2] 3 f1; 4g [2; 5] 2 f4g [5; 1] return 4 4 Lemma 14. DerAlgorithmus erhalt die Invariante: 8c 2 C und alle y 62 C gilt: wenn fc; yg 2 E , dann ist (y; c) 2 I(v;c) . Beweis. Ganz zu Beginn ist v das einzige mogliches y und die Aussage ist trivial. Sei nun c; y = 6 v ein Paar, das den Bedingungen genugt ) es gab ein Splitelement x, das y aus C herausholte. 95 96 Graphenalgorithmen: Perfekte Graphen x c y Die Invaraiante impliziert,da x und y nicht benachbart sind und (x; c) 2 I(v;c) . Aus (y; c)?(x; c) folgt wie behauptet (y; c) 2 I(v;c) . Satz 15. CandSplit ist korrekt, d.h. wenn G primer Vergleichbarkeitsgraph ist und F eine transitive Orientierung von G, dann ist das berechnete Element entweder ein Maximum oder ein Minimum in F . Beweis. Da G prim gibt es genau ein Paar dualer Implikationsklassen die als I(xy) und I(yx) fur beliebiges fxyg 2 E geschrieben werden konnen. Wenn CandSplit ein c zuruckgibt, dann impliziert das Lemma, da c Maximum in I(vc) ist. Bleibt zu uberprufen, da der Algorithmus tatsachlich ein c zuruckgibt. Es gilt: jC j 1 das wird durch die Abfrage C \ N (x) 6= ; sichergestellt. Nachdem x 2 V als Splitelement verwendet wurde ist x weder in C noch in Q. Damit ist ausgeschlossen, da der Algorithmus in eine unendliche Schleife gerat. Als Fehlermoglichkeit bleibt nun noch, da der pop Befehl auf eine leere Queue angewendet wird. In diesem Fall ist jC j > 1 und fur alle x 2= C gilt x wurde als Splitelement verwendet, das heit entweder ist C \ N (x) = ; oder C N (x). Also ist C ein nichttriviales Modul und G ist als illegale Eingabe enttarnt. Lemma 16. CandSplit kann so implementiert werden, da die Laufzeit O(n + m), also linear ist. Beweis. Wenn wir annehmen, da die Mengen C \ N (x) und C ? N (x) in Zeit proportional zu jN (x)j berechnet werden konnen, dann ist die angegebene Laufzeitschranke leicht einzusehen. Die Annahme kann realisiert werden, indem man C als doppelt verkettete Liste halt und dafur sorgt, da jedes Element y 2 N (x) in konstanter Zeit in C lokalisiert und aus C geloscht werden kann. 9.4 Schnelle transitive Orientierung 97 21. Vorlesung, 6. Februar 96 Mitschrift: Johannes Schwarz Nachdem wir fur einen primen Vergleichbarkeitsgraphen G den Algorithmus CandSplit(G; v) entworfen haben, der uns einen Knoten c liefert, der Maximum in einer transitiven Orientierung F von G ist, wird der nachste Algorithmus die geordnete Partition (V nfcg; fcg) verfeinern. Das Ziel ist die Partition so zu Verfeinern, da die zuletzt erreichte Verfeinerung eine lineare Erweiterung der transitiven Orientierung F ist. Ist eine lineare Erweiterung L von F berechnet, dann ist Kante fx; yg in F als (x; y) orientiert, genau wenn x vor y in L, also ist F durch L vollstandig bestimmt. Das angegebene Ziel wird erreicht, wenn die geordnete Partition (V ? c; c) schrittweise verfeinert wird, so da gilt: (1) Invariante. Kanten zwischen Blocken sind von links nach rechts orientiert. (Etwas formaler: Seien B , B 0 Blocke und B vor B 0 in der geordneten Partition, fur alle x 2 B und y 2 B 0 mit fx; yg 2 E gilt (x; y) 2 F ). (2) Die Partition kann so lange verfeinert werden, bis jeder Block einelementig ist. Von der folgenden Operation werden wir zeigen, da sie die angegebenen Eigenschaften erfullt. Sei s 2 V beliebig, wir nennen S das Splitelement. Split(s) Fur jeden Block B mit s 62 B seien B := B \ N (s) und B := B nB . Ist B vor dem Block von s in der Partition, dann ersetze B durch B ,B. Ist der Block von s vor B in der Partition, dann ersetze B durch B ,B . Lemma 17. Der Split{Operation erhalt die Invariante. Beweis. Seien x; y 2 B , fx; yg 2 E und x,y liegen nach dem Split mit s in verschiedenen Blocken. 1. Fall: x liegt vor s, x 2 N (s), y 62 N (s). x B* Kante in F keine Kante in F y B* s 98 Graphenalgorithmen: Perfekte Graphen Also ist xs?xy, und damit folgt aus xs 2 F auch xy 2 F . 2. Fall: x liegt hinter s, x 2 N (s), y 62 N (s). y s B* Kante in F keine Kante in F x B* Also folgt analog zum 1. Fall yx 2 F . Beispiel Wir betrachten eine Folge von Split{Operationen an dem Graphen an dem wir auch CandSplit veranschaulicht haben. 4 3 Rückgabe von CAND SPLIT (G ,6) 5 2 6 [12356 | 4] s =4 [2356 | 1 | 4] s =1 1 [26 | 35 | 1 | 4] 4 3 2 1 s =2 [26 | 5 | 3 | 1 | 4] s =5 5 6, 2, 5, 3, 1, 4 6 Als Ergebnis erhalten wir die lineare Erweiterung L = (6; 2; 5; 3; 1; 4) aus der wir F = f65; 61; 64; 23; 21; 24; 54; 34g berechnen. Die Ordnung PF ist links unten im Bild dargestellt. Lemma 18. Wenn kein Block B der Partition mehr durch ein Splitelement s 62 B zerlegt werden kann, so folgt: Jeder Block der Partition ist Modul. 9.4 Schnelle transitive Orientierung Beweis. Sei B Block, s 62 B ; wenn B nach Split(s) noch Block der Partition ist, dann ist B = B oder B = B . Ist B unzerlegbar, so verhalten sich also alle x 2 B zu jedem s 62 B gleich, d.h. B ist Modul. Aus dem Lemma ergibt sich unmittelbar die Folgerung 19. Wenn der Graph G ein primer Vergleichbarkeitsgraph ist und c =CandSplit(G; v) dann kann die Anfangspartition (V ? c; c) durch Split-Operationen solange verfeinert werden, bis jeder Block der Partition einelementig ist. Also ist die zuletzt erreichte geordnete Partition eine lineare Erweiterung der transitiven Orientierung F von G. Unser nachstes Ziel ist es aus diesem Ansatz einen O(m log n)-Algorithmus zu machen. Dazu genugt es, wenn die folgenden zwei Bedingungen erfullt werden konnen. (1) Der Aufwand fur Split(s) kann auf O(jN (s)j) Zeit beschrankt werden. (2) Jedes Element wird hochstens O(log n)-mal als Splitelement verwendet. Dann namlich ist Pv2V log n dv = log n Pv2V dv = 2m log n. Ad (1) Wir stellen den Graphen G als einen Array von Knoten dar, die wiederum als Records deklariert werden: type Node = record neighbourlist: pointer to ListNode positionInBlocklist: pointer to BlockListNode Dabei deklarieren wir weiterhin: ListNode = record identity: f1 .. ng next: pointer to ListNode or nil previous: pointer to ListNode or nil BlockListNode = record identity: f1 .. ng next: pointer to BlockListNode or nil previous: pointer to BlockListNode or nil blockaddress: pointer to Block or nil Die geordnete Partition stellen wir dar, indem wir ihre Blocke ebenfalls als Records deklarieren: 99 100 Graphenalgorithmen: Perfekte Graphen Block = record rst: f1 .. ng last: f1 .. ng helplength: f0 .. length ? 1g nextBlock: pointer to Block or nil previousBlock: pointer to Block or nil blocklist: pointer to BlockListNode helplist: pointer to BlockListNode or nil Auerdem benotigen wir eine Liste der Blocke, die wahrend der Split-Operation mit Element s angefat werden und die geordnete Partition als Liste von Blocken: var touchedList: pointer to Block or nil Partition: pointer to Block or nil Wenn wir nun wahrend eines Splits die Nachbarschaftsliste eines Knotens s durchlaufen und wissen wollen, an welcher Position der zugehorigen Blockliste B sich ein Nachbarschaftslistenknoten x bendet, so nden wir diese Information im Feld G[x.identity].positionInBlocklist. Diese Knoten werden dann in die Hilfsliste B (= B \ N (s)) eingetragen. Die verbleibende Haupt-Blockliste B (= B nB ) wird dann zur neuen Blockliste B . Dieses Eintragen der Nachbarn von s in die Hilfslisten ihrer Blocke benotigt nur O(ds) Zeit. Anhand der Werte B:rst und B:last kann entschieden werden, ob B vor oder hinter s liegt. Wir konnen dann die Anfangs- und Endwerte fur B und B reparieren (O(ds) Zeit) und fur Elemente x aus B die Pointer von x auf Block(x) neu setzen (ebenfalls O(ds) Zeit). Diese Ideen sind die Grundlage fur den in der Abbildung widergegebenen detailierten Code fur Split. Der Code verwendet die oben denierten Datentypen und daruberhinaus einige einfache Listenoperationen wie delete und insert before. Folgerung 20. Die Zeitkomplexitat fur Split(s) kann auf O(ds) beschrankt werden. Als hinreichend fur eine Gesamtlaufzeit von O(m log n) hatten wir oben zwei Bedingungen formuliert. Die Erfullbarkeit der ersten ist obige Folgerung. Die zweite Bedingung war: Jedes Element wird hochstens O(log n)-mal als 9.4 Schnelle transitive Orientierung Split(s) Bs G[s].positionInBlocklist.blockaddress for all x in G[s].neighbourlist do bx G[x.identity].positionInBlocklist Bx bx.blockaddress if Bx 6= Bs do delete( bx, Bx.blocklist) headinsert( bx, Bx.helplist) if Bx.helplength = 0 do headinsert( Bx, touchedList) Bx.helplength++ for all B in touchedList do new Block B B.blocklist B.helplist B.helplist nil for all bx in B.blocklist do bx.blockaddress address(B ) if B.last < Bs.rst do B.rst B.rst B.last B.rst + B.helplength ? 1 B.rst B.last + 1 insert before( B , B, Partition ) if B.st > Bs.last do B.last B.last B.rst B .last ? B.helplength + 1 B.last B .rst ? 1 insert after( B , B, Partition ) B.helplength 0 Abbildung 2: Verfeinerter Code fur Split 101 102 Graphenalgorithmen: Perfekte Graphen Splitelement verwendet. Die Idee um dieses Ziel zu erreichen ist, da wir fur jeden Block einen Zahler free verwenden, der angibt, wie klein der Block werden mu, bevor wir seine Elemente wieder als Splitelemente verwenden werden. NodePartit(G; c) L [V ? c j c ] free(V ? c) n2 free(c) 2 while 9X with free(X ) jX j free(X ) 21 jX j for all s 2 X for all B 6= X in L B B \ N (s) B B nB free(B ) free(B ) if B before X in L replace B by B B else return L replace B by BB Lemma 21. Ein Element wird von NodePartit hochstens (log n)-mal als Splitelement benutzt. Beweis. jX1j n, jX2j jX21j , ..., jXtj jXt2?1j , und somit ist n 2t . Lemma 22. Der grote Block B in der Ruckgabeliste L ist ein Modul. Beweis. Sei z 2 (V ? c) n B und D der (zeitlich) letzte Block, in dem B und z gemeinsam enthalten waren. Mit Bz bezeichnen wir den augenblicklichen Block von z. Dann ist jBz j 12 jDj. Daher wurden die Elemente von Bz , insbesondere z selbst, nach dem Zerfall von D als Splitelemente verwendet. Also verhalten sich alle Elemente von B zu jedem z 2 (V ? c) n B gleich. Zu z = c verhalten sich alle Elemente von B gleich, weil c das erste Splitelement war. Also ist B ein Modul. 9.4 Schnelle transitive Orientierung 103 Satz 23. Sei G primer Vergleichbarkeitsgraph. Dann ist die geordnete Partition L := NodePartit(G;CandSplit(G; v)) die lineare Erweiterung einer transitiven Orientierung F von G. Die Laufzeit ist O(m log n). Beweis. Das Element c =CandSplit(G; v)) kann in O(m + n) berechnet werden und ist Maximum in einer transitiven Orientierung F von G (Lemma 15 und Lemma 16). Da NodePartit einen primen Graphen durch SplitOperationen in einelementige Blocke zerlegt (Lemma 22) folgt aus Folgerung 19, da die Partition L lineare Erweiterung von F ist. Die Erfullbarkeit der beiden Bedingungen die eine Zeitkomplexitat von O(m log n) gewahrleisten, wurde mit Folgerung 20 und Lemma 21 nachgewiesen. Satz 24. Fur zusammenhangende Graphen G gilt: G prim () CandSplit(G; v) gibt ein Element c zuruck NodePartit(G; c) enthalt nur einelementige Blocke Beweis. Die Implikation ()) ist durch den Beweis von Satz 15 (wenn Cand- Split kein c zuruckgibt dann gibt es ein nichttriviales Modul) und Lemma 22 abgedeckt. Umgekehrt, sei G nicht prim, es ist zu zeigen, da eine der Bedingungen nicht erfullt ist. Wenn M ein Modul in V nfcg ist, dann bleibt M bei allen SplitOperationen erhalten und ist in einem Block der Ruckgabeliste enthalten. Also durfen wir annehmen, da c in allen nichttrivialen Modulen enthalten ist. Ein Modul M mit c 2 M und v 62 M bleibt wahrend des Laufs von CandSplit in C enthalten, also kann der Al;gorithmus nicht ein einzelner Element zuruckgeben { Widerspruch. Daher sind v und c gemeinsam in allen nichttrivialen Modulen enthalten. Sei M das kleinste solche Modul. Sei A die Menge der Nachbarn der Elemente von M in V ? M und B die Menge der Nichtnachbarn. Angenommen B = V ? M oder A = V ? M , in beiden Fallen ist V ? M ein Modul. Ist jV ? M j = 1 dann ist A = V ? M weil G zusammenhangend und wenn A = fag dann ist c 6= a =CandSplit(G; v), Widerspruch. Ist jV ? M j > 1 dann ist V ? M ein nichttriviales Modul das c nicht enthalt, Widerspruch. Also ist A 6= ; und B 6= ;. Nach der ersten Runde in der C = V ? v mit v gesplitet wurde ist C A [ M und B Q. Nachdem mit einem Ele- 104 Graphenalgorithmen: Perfekte Graphen ment b 2 B gesplitet wurde ist C A, im Widerspruch zu c 2 M und c =CandSplit(G; v). Unser Ziel war einen Erkennungsalgorithmus fur Vergleichbarkeitsgraphen zu entwickeln. Die U berlegungen in den Abschnitten 9.2 und 9.3 legten nahe, da wir uns auf das einfachere Problem der Erkennung primer Vergleichbarkeitsgraphen beschranken. Satz 24 beweist, da wir prime Graphen erkennen konnen. Ein Graph ist ein Vergleichbarkeitsgraph, genau wenn er eine transitive Orientierung besitzt. Satz 23 zeigt wie wir fur prime Vergleichbarkeitsgraphen eine transitive Orientierung berechnen konnen. Fur die Erkennung von primen Vergleichbarkeitsgraphen fehlt nun noch die Verikation, da eine gegebene Orientierung transitiv ist. In anderen Worten, was dann noch fehlt, ist ein Algorithmus fur das Problem: Gegeben eine Orientierung A von G. Entscheide, ob A transitiv ist. Es ist einfach einen O(n3) Algorithmus fur das Problem zu entwerfen: A ist nicht transitiv genau wenn es (x; y; z) gibt mit (x; y) 2 A und (y; z) 2 A aber (x; z) 62 A. Also pruft man alle Tripel (x; y; z). U bung 4. Das Problem kann auf Matrixmultiplikation zuruckgefuhrt werden. Folgerung. Das Problem kann in O(n2;39:::) gelost werden. Beweis. Matrixmultiplikation kann in O(n2;39:::) durchgefuhrt werden (fur mehr zu diesem Thema siehe etwa [10]). Zum Kapitel Die ursprungliche Quelle zu Vergleichbarkeitsgraphen ist Gallai [16]. Algorithmisch wurde die Erkennung von Vergleichbarkeitsgraphen zuerst von Pnueli, Lempel und Even und anschlieend von Golumbic behandelt. Diese Autoren verfolgen den naiven Ansatz, orientiere eine Kante und erzeuge die zugehorige Implikationsklasse. Eine grundliche Darstellung eines O(n3) Algorithmus der auf dieser Idee basiert gibt Golumbic [18]. Substitutionsdekomposition fur Graphen ist ein Spezialfall einer allgemeineren Dekomposition die fur diskrete Strukturen. Eine ausfuhrliche Darstellung die auch verschiedene algorithmische Anwendungen anspricht geben Mohring und Radermacher [39]. Einen U berblick uber die Zeitschranken fur Dekompositionsalgorithmen haben wir schon gegeben, genaue Literaturangaben nden sich bei McConnel und Spinrad [33]. Mehr uber Ordnungen 105 Fur transitive Orientierung wurden O(n2) Algorithmen von Spinrad entwickelt. Die in diesem Kapitel vorgestellten Algorithmen basiert auf dem Konferenzbeitrag [33] von 1994. Zuletzt konnten McConnel und Spinrad auch transitive Orientierung auf Linearzeit drucken [34]. An der Vereinfachung der Ergebnisse von McConnel und Spinrad wird noch zu Arbeiten sein. 10 Mehr uber Ordnungen 10.1 Dimension 22. Vorlesung, 8.2.1996 Mitschrift: Helmut Weil Zunachst wollen wir einen Beweis fur das folgende Lemma geben, (vergl., Ubung 8 in Kapitel 2). Lemma 1. Jede Ordnung besitzt eine lineare Erweiterung. Beweis. Sei P = (X; <) eine Ordnung. Wir geben einen Algorithmus zur Erzeugung einer linearen Erweiterung L von P an. Dabei bezeichne P [X 0] fur X 0 X die auf X 0 eingeschrankte Ordnung P und Min(P ) die Menge der minimalen Elemente in P . LinExt(P ) L [] while X 6= ; choose x 2 Min(P [X ]) L L+x X X ?x return L LinExt ist ein generischer Algorithmus. Durch geeignete Spezikation des Auswahlverfahrens choose kann man jede lineare Erweiterung von P durch diesen Algorithmus erzeugen lassen. Wir werden den Algorithmus im folgenden dazu verwenden, uns lineare Erweiterungen mit bestimmten Eigenschaften zu verschaen. 106 Graphenalgorithmen: Perfekte Graphen Doch zuerst brauchen wir noch einige Denitionen: Wenn P = (X; <P ) und Q = (X; <Q) zwei Ordnungen auf der gleichen Menge X sind, dann denieren wir die Ordnung P \ Q als Durchschnitt der Mengen der geordneten Paare der Relationen <P und <Q, also x <P \Q y () x <P y ^ x <Q y Mit L(P ) bezeichnen wir die Menge aller linearen Erweiterungen von P . Lemma 2. Jede Ordnung ist Durchschnitt ihrer linearen Erweiterungen. P = \ L2L(P ) L Beweis. Fur eine Ordnung P = (X; <P ) gilt P TL2L(P ) L, weil fur alle L 2 L(P ) jede Relation in P auch Relation in L ist. Sei jetzt z 2 X und Lz :=LinExt(P ), wobei choose jedes Element x = 6 z gegenuber z bevorzugt, d.h. in Lz kommen hinter z nur noch solche y 2 X vor, fur die z <P y gilt. Dann gilt fur x; y 2 X mit x k y (unvergleichbar in P ), x ist vor y in Ly und y ist vor x in Lx, also x k y in Lx \ Ly . Damit folgt \ \ L Lz P L2L(P ) z2X Eine Menge linearer Erweiterungen R L(P ) heit Realizer von P , falls T L2R L = P gilt. Die Dimension der Ordnung P denieren wir als die Groe eines minimalen Realizers von P , also dim(P ) := min(jRj), wobei R Realizer von P . Da nach obigem Lemma L(P ) ein Realizer von P ist, ist die Dimension wohldeniert. Aus dem Beweis bekommen wir auch eine erste Schranke fur die Dimension: dim(P ) jX j. Beispiele. (i) Eine Ordnung P = L1 \ L2 . uf e u a u c u ub ud P mit dim(P ) = 2 e c a f d b u u u u u u L1 uf ue ud uc ub ua L2 10.1 Dimension 107 (ii) Mit Sn bezeichnen wir die durch die ein- und (n ? 1)-elementigen Teilmengen einer n-elementigen Menge induzierte Ordnung auf 2n Knoten, d.h. wenn M := f1; 2; : : :; ng die zugrundeliegende Menge ist und wir abkurzend i := fig und { := M ? i, (i = 1; : : : ; n) fur die Teilmengen schreiben, dann ist Sn = (fi : i 2 M g [ f{ : i 2 M g; ). Am Beispiel S4 ist dies im nachfolgenden Bild illustriert. 1u 2u 3u 4u u 1 u u 2 3 Die Ordnung S4 u 4 Behauptung. dim(Sn) n. Beweis. In jedem Realizer von Sn mu es eine lineare Erweiterung geben, in der { vor i steht, aber in keiner linearen Erweiterung kann { vor i und | vor j stehen (i 6= j ). Denn wenn es ein solches L 2 L(Sn) | gabe, dann ware { <L i <Sn | <L j <Sn { 2 1 .. ... n ohne { { Widerspruch. Ein Realizer von Sn hat also fur jedes i = 1; 2; : : : ; n eine lineare im Erweiterung mit { vor i. {m .. ... 12 j n ohne i Schranken fur die Dimension Satz 3. Fur eine Ordnung P = (X; <P ) mit Weite w(P ) gilt: dim(P ) w(P ) 108 Graphenalgorithmen: Perfekte Graphen Beweis. Sei C1; : : : ; Cw eine Zerlegung von P in w = w(P ) viele Ketten. Diese Zerlegung existiert nach dem Satz von Dilworth. Sei weiter fur i = 1; : : : ; w Li =LinExt(P ), wobei diesmal choose jedes Element 2= Ci gegenuber jedem Element 2 Ci bevorzugt, d.h. da Ci in L so hoch wie moglich\ Tw i " liegt. Da die Li lineare Erweiterungen sind ist P i=1 Li erfullt. Fur die andere Richtung seien x; y 2 X in P unvergleichbare Elemente, dann sind sie in verschiedenen Ketten, d.h. x 2 Ci; y 2 Cj und i 6= j . Man uberzeugt sich schnell, dat x <Lj y und y <Li x. Also sind x und y unvergleichbar in Li \ Lj . Satz 4. Sei P = (X; <P ) eine Ordnung und x 2 X , dann gilt: dim(P ) ? 1 dim(P ? x) dim(P ) Beweis. Wir wollen zuerst die zweite Ungleichung dim(P ? x) dim(P ) zeigen. Dazu sei fL1; : : : ; Lr g ein Realizer von P und Li := Li ? x fur i = 1; : : : ; r: (Dabei soll Li ? x = Li [X ? x] die auf X ? x eingeschrankte Ordnung Li bezeichnen.) Dann ist fL1; : : : ; Lr g ein Realizer von P ? x. Zum Beweis der ersten Ungleichung fuhren wir erst noch eine Abkurzung ein. Die Menge fy 2 X : x <P yg heit Upset von x und wird mit U (x) bezeichnet. Analog ist D(x) = fy 2 X : y <P xg das Downset von x. Sei fL1 ; : : : ; Lr g ein Realizer von P ?x. Dann gibt es in jedem Li eine Stelle, an der x eingefugt werden kann, so da Li = Li + x eine lineare Erweiterung von P ist. Eine solche Stelle ist z.B. unmittelbar vor dem y 2 U (x), das in Li am weitesten links steht. Denn wenn wir annehmen, das ware nicht der Fall, d.h. das so erzeugte Li ware keine lineare Erweiterung von P , dann mu eine Relation mit x in P verletzt sein. Weil fur alle y 2 U (x) nach Konstruktion x <Li y gilt, bleibt nur ubrig, da es ein z 2 D(x) gibt mit x <Li z. Dann ist z in Li hinter dem am weitesten links stehenden Element y 2 U (x) und es folgt wegen z <P x <P y auch z <Li x <Li y <Li z, was unmoglich ist. Wir konnen also x in L2 ; : : : ; Lr einfugen und erhalten lineare Erweiterungen L2 ; : : : ; Lr von P . Dann bilden wir L0 und L1 folgendermaen: L0 = L1 [D(x)] ; x ; L1[X ? D(x)] L1 = L1 [X ? U (x)] ; x ; L1 [U (x)] In L0 liegen also genau alle y 2 D(x) in der Reihenfolge wie in L1 vor x, und alle anderen dahinter, in L1 liegen genau alle y 2 U (x) in der Reihenfolge wie 10.1 Dimension 109 in L1 hinter x, alle anderen davor. Anders ausgedruckt: mit x unvergleichbare Elemente sind weder in D(x) noch in U (x), liegen also in L0 hinter x und in L1 vor x. Auerdem bleiben alle Relationen, an denen x nicht beteiligt ist, erhalten. Insgesamt folgt, da fL0 ; : : : ; Lr g ein Realizer von P ist und damit die erste Ungleichung. Satz 5. Fur jede Ordnung P = (X; <) gilt: dim(P ) jX2 j . Bemerkung. Wir wollen das Theorem hier nicht beweisen, sondern nur auf folgendes hinweisen: Es scheint naheliegend, zu versuchen den Beweis per Induktion zu fuhren. Dazu wunscht man sich ahnlich wie im vorletzten Satz eine Aussage der Form 8P 9x; y 2 X : dim(P ? fx; yg) dim(P ) ? 1: Das ist allerdings eine bisher unbewiesene Vermutung. (Der Beweis des Satzes geht also anders.) Dominanzordnung im IRn Wir wollen uns jetzt der Dimension von Ordnungen aus einer anderen Richtung nahern. Fur Punkte x = (x1 ; : : : ; xn ); y = (y1; : : : ; yn) des IRn sagen wir x dominiert y gdw. xi yi fur alle i = 1; : : : ; n, und das deniert uns eine Ordnung der Punkte des IRn, die Dominanzordnung. Wenn eine Ordnung P = (X; <P ) mittels einer Abb. : X ! IRk so in den IRk eingebettet werden kann, da 8x; y 2 X : x <P y () (y) dominiert (x) dann sagen wir dimO (P ) k. Wenn k die kleinste Zahl ist, so da sich P auf k diese Weise in den IR einbetten lat, dann ist dimO (P ) = k. Spater werden wir, wenn keine Verwechslungen zu befurchten sind, die Abb. meist weglassen und x mit (x) identizieren. Beobachtung. dim(P ) = dimO (P ). Beweis. Sei P = (X; <P ) eine Ordnung und fL1 ; : : : ; Lk g ein minimaler Realizer von P . Dann denieren wir eine Abbildung 110 Graphenalgorithmen: Perfekte Graphen = (1; : : : ; k ) : X ! IRk wobei i(x) die Position von x in Li ist. Dann gilt fur alle x; y 2 X : (y) dominiert (x) , 8i k : i(x) i(y) , in jedem Li liegt x vor y , x <P y: Also ist dim(P ) dimO (P ). Sei umgekehrt P = (X; <P ) eine mittels einer Abb. = (1; : : : ; k ) in den IRk eingebettete Ordnung, dann denieren wir fur i = 1; : : : ; k Li als die nach den i-ten Koordinaten sortierte Liste der Punkte aus (X ), d.h. x <Li y gdw. i(x) < i(y). Dann gilt fur alle x; y 2 X : 8i k : x <Li y , 8i k : i(x) < i(y) , (y) dominiert (x) , x <P y: Also ist dimO (P ) dim(P ). Beispiel. Zur Illustration des Beweises betrachten wir noch einmal unser P von fruher, diesmal eingebettet in IR2 mit der Dominanzordnung. L2 f e d c b a p p p p p p p p p p p p p p tpp p p p p p p p p p p p p p p p pp p p p p p p p p p p p p p p ptp pp p p p p p p p p p p ppt ppp p p p p p p p p p pp p p p p pp p p p p p p p p p ppt ppp pp pp p p p p ppt ppp ppp p p p p p pp p p p p pp p p p p pp p p p p ppt ppp ppp pp p pp p p p 6 b d f a c 2e Einbettung von P im IR - L1 Bemerkung. Die Entscheidung, ob eine gegebene Ordnung eine Dimension k hat, ist NP -vollstandig fur k 3. 10.2 2-dimensionale Ordnungen 111 10.2 2-dimensionale Ordnungen Zuerst wollen wir einige Eigenschaften 2-dimensionaler Ordnungen am Beispiel illustrieren. Beispiel. Aus der Einbettung unserer Beispielordnung P konnen wir eine Inklusionsordnung von Intervallen erzeugen, indem wir die Achsen L2 und L1 wie im nachsten Bild unten "aufklappen\ und Intervalle Ix mit den Endpunkten x 2 L2 und x 2 L1 fur alle x denieren. Dann gilt (nicht nur in diesem Beispiel, sondern allgemein fur 2-dim. Ordnungen) Ix Iy , x <P y f e d c b a L2 b d f a c eL1 Wenn wir L1 und L2 ubereinanderlegen und die Positionen der selben Knoten verbinden, deniert uns das einen Permutationsgraphen (vergl Beispiel 2 aus Abschnitt 1.2). Zwei Kanten schneiden sich gdw. die zugehorigen Elemente in P unvergleichbar sind. a b c d e f uf e u L2 u u u u u u L1 u u u u u u b d f a c e =) a u c u ub ud Permutationsgraphen sind die Unvergleichbarkeitsgraphen 2-dimensionaler Ordnungen. Lemma 6. Wenn P eine Ordnung der Dimension 2 ist und G der Vergleichbarkeitsgraph von P , dann ist G auch ein Vergleichbarkeitsgraph. 112 Graphenalgorithmen: Perfekte Graphen Beweis. Sei fL1 ; L2g ein Realizer von P , d.h. P = L1 \ L2 . Dann wird fur jedes x 2 X durch die Dominanzordnung der IR2 in 4 Quadranten unterteilt, von denen je zwei gegenuberliegende nur mit x bzgl. der Dominanzordnung vergleichbare und die anderen beiden nur mit x unvergleichbare Elemente y enthalten, wie im Bild unten links angedeutet ist. Wenn wir jetzt das Bild an der L1 -Achse spiegeln, bzw. wie im rechten Bild die L2-Achse durch L?2 1 ersetzen (umdrehen), dann erhalten wir eine neue Ordnung P 0 = L1 \ L?2 1. L2 L?2 1 6 xjjy x dom y 6 y dom x tx x dom y xjjy xjjy - L1 tx xjjy y dom x - L1 Dann ist jedes Paar x; y entweder in P oder in P 0 vergleichbar. Daher gilt wenn G der Vergleichbarkeitsgraph von P und G0 der Vergleichbarkeitsgraph von P 0 ist, da G0 = G und damit ist gezeigt, da G Vergleichbarkeitsgraph ist. Das diese Eigenschaft schon eine Charakterisierung der Vergleichbarkeitsgraphen 2-dimensionaler Ordnungen darstellt zeigen wir im folgenden Satz. Satz 7. P ist 2-dimensionale Ordnung genau dann, wenn der Unvergleichbarkeitsgraph G von P ein Vergleichbarkeitsgraph ist. Beweis. Wir mussen nur noch die Ruckrichtung ((=) zeigen. Sei also G der Vergleichbarkeitsgraph von P , und Q transitive Orientierung von G (der ja nach Vorr. auch Vergleichbarkeitsgraph ist). Dann ist L = P [ Q eine Orientierung des Kn (wobei n = jV (G)j), und diese Orientierung ist transitiv bzw. azyklisch. Denn wenn sie das nicht ware, enthielte sie einen gerichteten Kreis und damit auch ein gerichtetes Dreieck,von dessen drei Kanten entweder genau zwei 2 P oder genau zwei 2 Q sind. Wir nehmen o.B.d.A. (x; y); (y; z) 2 P an (siehe Bild). 10.2 2-dimensionale Ordnungen xt 7 z t 2P 2P w 113 ty Aus der Transitivitat von P folgt aber (x; z) 2 P , und damit (z; x) 2= P [ Q, also haben wir einen Widerspruch und P [ Q ist azyklisch. Ganz analog folgt, da L0 = P [ Q?1 azyklische Orientierung des Kn ist und weil P \ Q = P \ Q?1 = ; und damit P = (P [ Q) \ (P [ Q?1 ) = L \ L0 folgt: fL; L0 g ist Realizer von P , also dim(P ) 2. Erkennung 2-dimensionaler Ordnungen Der Beweis des letzten Satzes ermoglicht uns, zum Schlu noch kurz ein Verfahren anzugeben zur Losung des Problems der Erkennung 2-dimensionaler Ordnungen, bzw. genauer der Beantwortung der Frage: Ist ein gegebener primer Graph G Vergleichbarkeitsgraph einer Ordnung der Dimension 2 ? Die Beschrankung auf prime Graphen rechtfertigt sich durch die Tatsache, da wenn alle Module eines Graphen Vergleichbarkeitsgraphen 2-dimensionaler Ordnungen sind, dasselbe klarerweise auch fur den ganzen Graphen gilt und umgekehrt. Mit den Bezeichnungen des letzten Beweises sieht das Verfahren so aus: Berechne zuerst A =NodePartit(G; c) und B =NodePartit(G; d). Wenn G der prime Vergleichbarkeitsgraph einer 2-dimensionalen Ordnung P ist, dann ist, nach dem im Abschnitt uber transitive Orientierung bewiesenen, A eine lineare Erweiterung von P und B eine von Q. Mit Hilfe von A und B konnen die Knoten nun in O(n log n) Zeit so sortiert werden, da sie in der Reihenfolge L = P [ Q sind, und genauso fur L0 = P [ Q?1 . Ist das getan, dann bleibt zu prufen, ob P = L \ L0 ? Das ist in O(m) Zeit moglich. Das Verfahren insgesamt ist also in O(m + n log n) Zeit durchfuhrbar. 114 10.3 Graphenalgorithmen: Perfekte Graphen k-Perfektheit 23. Vorlesung, 13.2.96 Mitschrift: Stefan Felsner Die maximale Groe (G) einer unabhangigen Menge ist in jedem Graphen G beschrankt durch die Groe eine Cliquenzerlegung C . Sei k (G) die maximale Groe einer Vereinigung von k unabhangigen Mengen. Eine Menge die k (G) maximiert kann auch als maximum k-farbbare Teilmenge von V beschrieben werden. Jede Clique kann hochstens k Knoten mit so einer Menge gemeinsam haben, also liefern Cliquenzerlegungen auch Schranken fur k . Diese Schranken hangen nur von den Groen der Cliquen ab, daher wir denieren wir fur eine endliche Multimenge naturlicher Zahlen A die k{Norm als mk (A) = Pa2A min(k; a). Fur eine Cliquenzerlegung C schreiben wir abkurzend mk (C ) wenn wir die k{Norm der Groen von Cliquen in C meinen. Damit gilt also fur jedes k 2 IN und jede Cliquenzerlegung C k (G) mk (C ): Ein Graph G heit k-Perfekt wenn er fur jedes k eine Cliquenzerlegung C besitzt, so da k (G) = mk (C ). U bung 1. Seien G und H wie im folgenden Bild. Zeige: G ist k-perfekt und H ist nicht k-perfekt. G H Da die Graphen G und H aus der U bung komplementar sind gilt das k Analogon des PG-Theorems im allgemeinen nicht. Als U bung in Matchingtheorie zeigt man: U bung 2. Bipartite Graphen und ihre Komplemente sind k-perfekt. Es gilt auch: Line-Graphen von bipartiten Graphen sind k-perfekt. Die Komplemente dieser Graphen haben die Eigenschaft aber, wie obiges Beispiel zeigt, schon nicht mehr. 10.3 k-Perfektheit 115 Die k-Perfektheit von Vergleichbarkeitsgraphen folgt aus der folgenden Verallgemeinerung des Satzes von Dilworth. Satz 8. [Greene & Kleitman] Fur jede Ordnung P und jedes k gilt [ max j Aj = min m (C ) A C k A2A Dabei wird das Maximum uber alle A = fA1 ; ::; Ak g mit Ai Antikette genommen und das Minimum uber alle Kettenzerlegungen. Es sei erwahnt, da dies naturlich die k-Perfektheit bipartiter Graphen einschliet. Eine wichtige Beobachtung ist, da das Minimum mk (C ) fur verschiedene k im allgemeinen verschiedenen Kettenzerlegungen erfordert. Beispiel. Die dargestellte Ordnung hat minC m1 (C ) = 2 und minC m3 (C ) = 5, der erste Wert wir ausschlielich von der Kettenzerlegung fa; c; e; gfb; d; f g angenommen, der zweite von fa; c; d; f; gfbgfeg. f d b c a e Es gilt allerdings das sogenannte t-Phanomen: Fur alle t gibt es eine Kettenzerlegung C die sowohl mt (C ) als auch mt+1 (C ) minimiert. Die duale Aussage zu Satz 8 ist ebenfalls wahr. Satz 9. [Greene] Fur jede Ordnung P und jedes ` gilt [ max j C j = min m (A) C A ` C 2C Dabei wird das Maximum uber alle C = fC1 ; ::; C`g mit Ci Kette genommen und das Minimum uber alle Antikettenzerlegungen. Wieder gilt das t-Phanomen. Fur alle t gibt es eine Antikettenzerlegung A die sowohl mt (A) als auch mt+1 (A) minimiert. Eine Partition von n 2 IN ist eine Folge 1 2 :: p > 0 mit i 2 IN Pp und i=1 i = n. Partitionen werden durch sogenannte Ferrers Diagramme graphisch dargestellt, siehe nachfolgendes Bild. Die i-te Zeile von unten im Ferrers Diagramm besteht aus i Kastchen. Die konjugierte Partition von ist die Partition deren Ferrers Diagramm man aus dem Ferrers Diagramm von an der Diagonalen erhalt. 116 Graphenalgorithmen: Perfekte Graphen Beispiel. Die Ferrers Diagramme zur Partition = (6; 5; 3; 3; 1) und der konjugierten = (5; 4; 4; 2; 2; 1) von . Ein weiterer Satz von Greene (konjugierte Partitionen Satz) besagt, da es zu jeder Ordnung P ein Ferrers Diagramm g(P ) gibt, fur das gilt: Satz 10. Die Zahl der Kastchen in den k langsten Zeilen von g(P ) ist die maximale Groe einer Vereinigung von k Antiketten und die Zahl der Kastchen in den ` langsten Spalten von g(P ) ist die maximale Groe einer Vereinigung von ` Ketten, fur alle k; ` 2 IN. 10.4 Skelette 2-dimensionaler Ordnungen Wir erinnern uns, da eine 2-dimensionale Ordnung P eine Darstellung als Dominanzordnung von Punkten in der Ebene besitzt. Fur einen Punkt p = (x; y) 2 IR2 sei der Schatten von p die Menge (p) = fq = S(u; v) : u > x und v > yg. Der Schatten einer Menge Z IR2 sei (Z ) = p2Z (p). Der topologische Rand @ eines Schattens heit Sprunglinie. Die Sprunglinie einer endlichen Antikette A hat runter/rechts-Knicke in den Punkten von A, die Punkte in den rechts/runter-Knicken der Sprunglinie heien die Skelettpunkte S (A) der Antikette. Es gilt jS (A)j = jAj ? 1. Die minimalen Element einer Menge X sind eine Antikette A, so da der Rest X ? A im Schatten von A liegt. Entfent man A und behandelt den Rest wieder so, so erhalt man die kanonische Antikettenzerlegung A1 ; ::; A die Antikette Ai wird auch die i-te Lage von X genannt. Die Sprunglinien @(Ai ) der Lagen von X schneiden sich nicht. Das Skelett S (X ) denieren wir als Vereinigung der Skelette der Lagen von X . Das folgende Bild zeigt eine Menge X , ihre kanonische Antikettenzerlegung, die Sprunglinien der Antiketten, das 10.4 Skelette 2-dimensionaler Ordnungen 117 Skelett S (X ) und schattiert den Schatten der 3-ten Lage von X . Punkte Skelettpunkte U bung 3. Sei A1; ::; Ak eine Antikettenzerlegung von X , wenn die Sprung- linien @(Ai ) paarweise disjunkt sind, dann ist die Antikettenzerlegung die kanonische. Wir beschreiben nun einen Algorithmus zur Berechnung des Skeletts und einer minimum Antikettenzerlegung einer Punktmenge X . Wir stellen uns vor, da der Algorithmus die Ebene von rechts nach links mit einer vertikalen Geraden (sweep line) L uberstreicht. Auf der Geraden sind Markierungen die waagrechten Abschnitten von Sprunglinien entsprechen. Wenn L einen Punkt p aus X erreicht, dann suchen wir die nachste Sprunglinie (Markierung) oberhalb von p. Existiert so eine Sprunglinie, dann wird ein Skelettpunkt erzeugt, p wird der Lage der Sprunglinie zugeordnet, die alte die Sprunglinie reprasentierende Markierung geloscht und eine neue auf der Hohe von p eingefugt. Wenn es noch keine Sprunglinie oberhalb von p gibt, dann eronet p eine neue Lage und eine Markierung auf der Hohe von p wird in L eingefugt. Die Operationen die auf L ausgefuhrt werden muen sind: Finde die nachste Markierung oberhalb von p, losche eine Markierung und fuge eine Markierung ein. Das sind typische Aufgaben fur die spezielle Datenstrukturen entwickelt wurden (vergl citeCLR90). Verwendet man balancierte Suchbaume, dann kann jede der drei Aufgaben in O(log n) Zeit erfullt werden, dabei ist n die Anzahl der in der Datenstruktur abgelegten Objekte, in unserem Fall also n = jX j. 118 Graphenalgorithmen: Perfekte Graphen Skelett(X ) k S 0 ; for each p 2 X from left to right insert m0 in L with (m0y ; m0x) (py ; Lx) if 9 m above p on L then add v to antichain(m) antichain(m0 ) antichain(m) add skeleton point (Lx; my ) to S remove m from L else k k+1 Ak fpg antichain(m0 ) return S; A1; : : : ; Ak Ak Satz 11. Algorithmus Skelett berechnet das Skelett und die kanonische Antikettenzerlegung von X mit jX j = n in O(n log n) Zeit. U bung 4. Erweitere den Algorithmus so, da er mit der Antikettenzerlegung auch eine maximum Kette berechnet. Sei .(p) = fq = (u; v) : u < x und v < yg der Schatten von p wenn von rechts oben statt von links unten beleuchtet wird, wir wollen .(p) auch dualen Schatten nennen. Die Rander dualer Schatten sind duale Sprunglinie., Die runter/rechts Knicke von dualen Sprunglinien sind duale Skelettpunkte. Die dualen Skelettpunkte der dual kanonischen Antikettenzerlegung bilden das duale Skelett S.(X ). Eine interessante Eigenschaft des Skeletts von X ist, da wir aus S (X ) mit wenig zusatzlicher Information X zuruckgewinnen konnen. Man benotigt zusatzlich zu S (X ) die x-Koordinaten der vertikalen Strahlen auf den Sprunglinien und die y-Koordinaten der horizontalen Strahlen auf den Sprunglinien. Den Prozess zur Zuruckgewinnung von X beschreibt das folgende Lemma. Lemma 12. Seien Mv (X ) und Mh(X ) je eine Kette marginaler Punkte auf 10.4 Skelette 2-dimensionaler Ordnungen 119 den vertikalen und auf den horizontalen Strahlen der Sprunglinien von X . Dann gilt X = S.(S (X ) [ Mv (X ) [ Mh (X )). Die Konstruktion der marginalen Ketten und die Aussage des Lemmas veranschaulichen wir durch ein Bild. Punkte Schattenpunkte marginale Punkte Skelette und Young-Tableaux Sei eine Partition von n, symbolisch ` n. Ein Young-Tableau der Gestalt besteht aus dem Ferrers Diagramms von , in dessen Kastchen die Zahlen 1; ::; n so eingetragen sind, da die Eintrage in jeder Zeile von links nach rechts und in jeder Spalte von unten nach oben aufsteigen. Sei f die Anzahl der Young-Tableaux der Gestalt . Es gilt die Bemerkenswerte Formel X n! = f2 : `n Zum Beweis zeigt man Satz 13. [Robinson-Schensted] Es gibt eine Bijektion zwischen Permutationen 2 Sn und Paaren P ; Q von Young-Tableaux derselben Gestalt. Vor dem Beweis des Satzes noch einige Denitionen und Voruberlegungen. Fur eine Punktmenge X sei S k (X ) das k-te Skelett von X , also S k (X ) = S (S k?1(X ) und S 0(X ) = X . Mit (X ) bezeichnen wir die kleinste Zahl fur die S (X )+1 (X ) = ; gilt. Fur 1 i = (X ) sei i die Anzahl der Lagen von S i(X ). 120 Graphenalgorithmen: Perfekte Graphen Lemma 14.P Sei X eine Punktmenge, dann gilt 0 1 ::: > 0 und jS k (X )j = ki i. Insbesondere ist = (0; 1; :::; ) eine Partition von n. Beweis. i die Anzahl der Lagen von S i(X ) also die Anzahl der Antiketten einer minimalen Antikettenzerlegung. Die Sprunglinien von S i(X ) induzieren eine Antikettenzerlegung der Skelettpunkte, also der Punkte von S i+1(X ). Daher gilt i+1 i. Aus jS (A)j = jAj? 1 fur eine Antikette folgt jX P j = jS (X )j? 0. Aus dieser k Formel erhalt man durch Induktion die jS (X )j = ki i. Beweis. (Des Satzes) Einer Permutation sei die Punktemenge X zugeordnet, die aus den Punkten (i; (i)) besteht. Das Young-Tableau P auch P -Symbol von genannt erhalt man wie folgt: Die k-te Zeile von P enthalt die y-Koordinaten der horizontalen Strahlen der Sprunglinien von S k (X ) in aufsteigender Reihenfolge. Die Konstruktion des Q-Symbols ist analog: Die k-te Zeile von Q enthalt die x-Koordinaten der vertikalen Strahlen der Sprunglinien von S k (X ) in aufsteigender Reihenfolge. Das nachste Bild zeigt die ersten beiden Skelette von X wobei die Permutetion (6; 11; 10; 2; 3; 5; 9; 1; 4; 7; 8) ist. Man sieht, da die ersten beiden Zeilen des P -Symbols durch [1; 3; 4; 7; 8] und [2; 5; 9] gegeben sind. 11 10 9 8 7 6 11 5 4 8 6 10 2 5 9 1 3 4 4 9 3 5 10 1 2 6 3 2 1 1 2 3 4 5 6 7 8 9 10 11 7 8 7 11 Das so konstruierte P -Symbol hat nach dem vorhergehenden Lemma die Gestalt einer Partition. Klar ist auerdem, da die Gestalt des P und des QSymbols identisch ist. Auch das Wachstum der Eintrage in den Zeilen der Symbole ist unmittelbar einzusehen. Wir zeigen nun (fur das Q-Symbol), da in den Symbolen jeder Wert i aus 1; ::; n vorkommt: Betrachte den Punkt (i; (i)), uber diesem Punkt ist 10.4 Skelette 2-dimensionaler Ordnungen 121 ein Stuck Sprunglinie, entweder das ist ein vertikaler Strahl was bedeutet, da i in der untersten Zeile des Q-Symbols vorkommt oder das Stuck Sprunglinie knickt in einem Skelettpunkt ab. Man Iteriert die U berlegung bis ein vertikaler Strahl oberhalb von (i; (i)) gefunden ist. Das Wachstum der Eintrage in den Spalten der Symbole folgt aus der Behauptung: Die i-te Sprunglinie von S k+1(X ) liegt ganz im Schatten der i-ten Lage von S k (X ). Zum Beweis der Behauptung verfeinern wir das schon im Lemma verwendete Argument ein wenig. Die Sprunglinien von S k (X ) induzieren eine Antikettenzerlegung fB1 ; ; ::; Bk g von S k+1(X ). Fur p 2 Bi gilt, alle von p dominierten Punkte sind in Antiketten Bj mit j < i, anders gesagt die Hohe von Elementen in Bi ist hochstens i. Die Punkte der i-ten Sprunglinie von S k+1(X ) sind genau die Punkte mit Hohe i, liegen also entweder auf der i-ten Sprunglinie von S k (X ) oder auf einer Sprunglinie die im Schatten der i-ten Sprunglinie von S k (X ) liegt. Bisher haben wir uns davon uberzeugt, da die Konstruktion eine Abbildung von Permutationen auf Paare von Young Tableaux derselben Gestalt ist. Da diese Abbildung eine Bijektion ist folgt im wesentlichen aus Lemma 12. Die Eintrage in den k-ten Zeilen der Symbole sind genau die Information die wir benotigen um die marginalen Ketten Mv (S k (X )) und Mh (S k (X )) konstruieren zu konnen. Damit konnen wir dann S k?1(X ) zuruckerhalten. Sei ?1 die Inverse der Permutation , die Punktmenge X?1 besteht aus den Punkten ((i); i), ist also die Spiegelung von X an der Diagonalen. Folgerung. P?1 = Q und Q?1 = P . Wir nennen eine Menge von Elementen einer Ordnung die von k Antiketten uberdeckt werden kann eine k-Antikette, analog ist eine `-Kette eine Menge die von `-Ketten uberdeckt werden kann. Satz 15. Die Gestalt des P -Symbols von ist das aus Satz 10 bekannte Greene Diagramm von X , d.h. die Zahl der Kastchen in den k langsten Zeilen ist die maximale Groe k-Antikette und die Zahl der Kastchen in den ` langsten Spalten ist die maximale Groe `-Kette in X . Wir werden hier keinen vollstandigen Beweis dieses Satzes geben aber einige der Ideen andeuten. Sei AkX die Menge der k-Antiketten von X und A^kX die Menge der k- 122 Graphenalgorithmen: Perfekte Graphen Antiketten die keine (k ? 1)-Antiketten von X sind. Elemente von A^kX werden auch strikte k-Antiketten genannt. Wir denieren nun zwei Abbildungen zwischen AkX und AkS(X ). (1) : AkX ! AkS(X ) Sei fA1 ; ::; Ak g die kanonische Antikettenzerlegung einer k-Antikette in X . Wir sammeln nun jene Skelettpunkte die auf Sprunglinien @(Ai ) liegen. Fur jedes i ist die Menge @(Ai ) \ S (X ) eine Antikette im Skelett, also ist Ski=1 @(Ai ) \ S (X ) in AkS(X ) . (2) : AkS(X ) ! AkX Sei fA1; ::; Ak g die dual kanonische Antikettenzerlegung einer k-Antikette in S (X ). Wir sammeln nun jene Punkte von X die auf dualen Sprunglinien @. (Ai) liegen. Fur jedes i ist die Menge @. (Ai) \ X eine Antikette, also ist Ski=1 @. (Ai) \ X in AkX . Der -Operator wird im nachsten Bild illustriert. Die Bedeutung der Operatoren und beruht auf. Fur Y 2 A^kX ist j(Y )j jY j ? k. Fur Y 2 A^kS(X ) ist j(Y )j jY j + k. Ist Y 2 A^kS(X ) eine maximum k-Antikette in S (X ), dann ist j(Y )j = jY j + k und (Y ) ist eine maximum k-Antikette in S (X ). Aus diesen Aussagen folgert man die eine Halfte des Satzes. Implizit ist damit auch ein Algorithmus zur Berechnung von maximum k-Antiketten in 2dimensionalen Ordnungen gegeben. Wir wenden uns nun dem Fall der `-Ketten zu. Die kanonische Kettenzerlegung einer Punktmenge X , entspreche der kanonische Antikettenzerlegung der an einer vertikalen gespiegelten Menge X R, oder anders, der duch die Schatten - bezuglich einer von rechts unten kommenden Beleuchtung gegebene 10.4 Skelette 2-dimensionaler Ordnungen 123 Zerlegung. Sei Y eine `-Kette in S (X ) und fC1; ::; C`g die kanonische Kettenzerlegung. Fur i zwischen 2 und ` sei die i-te Region Ri (Y ) sei deniert als -(Ci?1) ? -(Ci). Die Denition und die gesondert zu denierenden Regionen R1 und R`+1 werden im folgenden Bild dargestellt. Wir beschreiben nun einen Algorithmus zur Berechnung einer maximum `Kette in X . (Siehe auch voriges Bild) 1. Berechne das Skelett S (X ) von X . 2. Berechne rekursiv eine maximum (` ? 1)-Kette in S (X ). 3. In jeder der ` durch Y gegebenen Regionen berechne eine maximum Kette von X [ Ri (Y ). Die Vereinigung dieser `-Ketten ist eine maximum `-Kette von X . Die durch dieses Verfahren berechnete `-Kette in X enthalt zumindest jY j + Punkte, wenn die Hohe von X , also die Lange einer langsten Kette in X ist. Ist gezeigt, da das Verfahren tatsachlich eine maximum `-Kette berechnet, dann folgt der zweite Teil des Satzes durch Induktion. Zum Kapitel Das Standardwerk zur Dimension von Ordnungen ist von Trotter [48]. Permutationsgraphen und 2-dimensionale Ordnungen werden auer in [48] auch in [18, 38, 43] behandelt. Der Erkennungsalgorithmus basiert auf [33]. Es sei noch angemerkt, da die Erkennung von Ordnungen der Dimension k 3 nach einem Resultat von Yannakakis NP -vollstandig ist. 124 LITERATUR Der Begri der k-Perfektheit wurde von Lovasz eingefuhrt. Die k-Perfektheit von Line-Graphen bipartiter Graphen ist von Saks. Die Originalbeweise der Satze 8{10 ndet man in [19, 20, 21]. Einfachere Beweise wurden von Saks [42], Fomin [14] und Frank [15] gefunden. Der auf dem minimum cost ow von Ford und Fulkerson beruhende Beweis von Frank wurde von Felsner [11] noch weiter vereinfacht und auf gerichtete Graphen verallgemeinert. Dieser letztgenannte Beweis impliziert, da maximum kAntiketten und `-Ketten sowie die dazu dualen optimale Zerlegungen in O(n3) Zeit gefunden werden konnen. Der klassische Beweis des Satzes von Robinson und Shensted wird mit dem sogenannten bumping Algorithmus gefuhrt. Dieser Zugang ist etwa in [44] beschrieben. Der Begri des Skeletts einer Punktemenge stammt von Viennot in dem U bersichtsartikel [51] werden zahlreiche Anwendungen dieses Begris gegeben. Der Beweis von Satz 15 ist in [12] ausgearbeitet. Der dort vorgeschlagene Algorithmus zur Berechnung von maximum `-Ketten lauft in O(`n log n) Zeit. Eine sehr umfassende U bersicht zu den in diesem Kapitel behandelten Fragen miteiner Vielzahl von Verallgemeinerungen und Varianten gibt West [45]. Literatur [1] M. Aigner, Graphentheorie, eine Entwicklung aus dem 4-Farben Problem, Teubner Verlag, Stuttgart, 1984. [2] C. Berge and V. Chvatal (eds.), Topics on Perfect Graphs, Math. stud. 88, North-Holland, Amsterdam-New York-Oxford, 1984. [3] N.L. Biggs, E.K. Lloyd and R.J. Wilson, Graph Theory 1736-1936, Clarendon Press, Oxford, 1976. [4] H. Bodlander, A tourists guide to treewidth, Acta Cybernetica 11 (1993), 1{21. [5] A. Brandstadt, Special graph classes { a survey, Schriften-Mathematik Uni.Duisburg (1991). [6] A. Brandstadt, Graphen und Algorithmen, Teubner, Stuttgart, 1994. [7] V. Chvatal, Star-cutsets and perfect graphs, J. Combin. Theory Ser. B 39 (1985), 189{199. [8] V. Chvatal and C. T. Hoang, On the P4 -structure of perfect graphs I. Even decompositions, J. Combin. Theory Ser. B 39 (1985), 209{219. LITERATUR 125 [9] V. Chvatal, W. J. Lenhart, and N. Sbihi, Two-colorings that decompose perfect graphs, J. Combin. Theory Ser. (B) 49 (1990), 1{9. [10] T. Cormen, C. Leiserson, R. Rivest, Introduction to Algorithms, MIT Press, Cambridge, Mass., 1990. [11] S. Felsner, Orthogonal Structures in Directed Graphs, J. Combin. Theory Ser. (B) 57 (1993), 309{321. [12] S. Felsner and L. Wernisch, Maximum k-Chains in Planar Point Sets: Combinatorial Structure and Algorithms, to appear SIAM Journal of Computing 1996. [13] P.C. Fishburn, Interval Orders and Interval Graphs, Wiley, New-York, 1985. [14] S.V. Fomin, Finite partially ordered sets and Youg Tableaux, Soviet Math. Dokl. 19 (1978), 1510{1514. [15] A. Frank, On chain and antichain families of a partially ordered set, J. Combin. Theory Ser. (B) 29 (1980), 176{184. [16] T. Gallai, Transitiv orientierbare Graphen, Acta Math. Acad. Scient. Hung. 18 (1967), 25{66. [17] M. Garey and D. Johnson, Computers and Intractability. A Guide to the Theory of NP-Completeness, Freeman, San Francisco, 1979. [18] M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, Academic Press, New York, 1980. [19] C. Greene, An extension of Schensted's theorem, Adv. in Math., 14 (1974), 254{265. [20] C. Greene, Some partitions associated with a partially ordered set J. Comb. Th. (A) 20 (1976) 69{79. [21] C. Greene and D. J. Kleitman, The structure of sperner k-families, J. Comb. Th. (A) 20 (1976), 41{68. [22] M. Grotschel, L. Lovasz, and A. Schrijver, Geometric Algorithms in Combinatorial Optimization, Springer-Verlag, Berlin-New York, 1988. [23] R. B. Hayward, Weakly triangulated graphs, J. Combin. Theory Ser. B 39 (1985), 200{208. [24] R. B. Hayward, C. Hoang, and F. Maray, Optimizing weakly triangulated graphs, Graphs Combin. 5 (1989), 339{349. [25] C. T. Hoang, On the P4 -structure of perfect graphs II. Odd decompositions, J. Combin. Theory Ser. B 39 (1985), 220{232. 126 LITERATUR [26] D. Jungnickel, Graphen, Netzwerke und Algorithmen, Bibliographisches Institut, Zurich, 1987. [27] T. Kloks, Treewidth, Computations and Approximations, Lecture Notes in Computer Science 842, Springer 1994. [28] D. E. Knuth, The Sandwich Theorem, Electr. J. Combin. 1 (1994). [29] C.G. Lekkerkerker and J.C. Boland, Representation of a nite Graph by a set of intervals on the real line, Fund. Math. 51 (1962), 45{64. [30] L. Lovasz, Perfect graphs, in More Selected Topics on Graph Theory (L. M. Beineke and R. L. Wilson, eds.), Academic Press, London-New York, 1983, pp. 55{ 87. [31] L. Lovasz, An Algorithmic Theory of Numbers, Graphs and Convexity, CBMSNSF Regional Conf. Series in Appl. Math., number 50, SIAM, Philadelphia, 1986. [32] L. Lovasz, Stable sets and polynomials, Discrete Math. 124 (1994), 137{153. [33] R.M. McConnell and J.P. Spinrad, Linear-Time Modular Decomposition and Ecient Transitive Orientation of Comparability Graphs, Fifth ACM-SIAM Symp. on Discr. Algo. (1994), 536-545. [34] R.M. McConnell and J.P. Spinrad, Modular Decomposition and Transitive Orientation, http://www.cs.amherst.edu/ross/work.html, 47 pages. [35] H. Meyniel, A new property of critical imperfect graphs and some consequences, European J. Combin. 8 (1987), 313{316. [36] M. Middendorf and F. Pfeier, On the complexity of recognizing perfectly orderable graphs, Discrete Math. 80 (1990), 327-333. [37] R.H. Mohring, Algorithmic aspects of comparability graphs and interval graphs, in Rival (ed.), Graphs and Order, Reidel Publishing Company, 1985, 41-101. [38] R.H. Mohring, Computationally tractable classes of ordered sets, in Rival (ed.), Algorithms and Order, Reidel Publishing Company, 1989, 105-193. [39] R.H. Mohring and F.J. Radermacher, Substitution decomposition for discrete structures and connections with combinatorial optimization, Annals of Discrete Mathematics 19 (Burkhard el al Eds), 1984, 257{356. [40] H.J. Promel und A. Steger, Allmost all Berge graphs are prefekt, Combin. Prob. and Computing 1 (1992), 53{79. [41] B. A. Reed, A note on even pairs, Discrete Math. 65 (1987), 317{318. [42] M. Saks, A short proof for the existence of k-saturated partitions of partially ordered sets, Advances in math. 33 (1979), 207{211. LITERATUR 127 [43] K. Simon, Eziente Algorithmen fur perfekte Graphen, Teubner, Stuttgart, 1992. [44] D. Stanton and D. White, Constructive Combinatorics, Undergraduate Texts in Math, Springer Verlag, 1986. [45] D.B. West, Parameters of Partial Orders and Graphs: Packing, Covering and Representation, in Rival (ed.), Graphs and Order, Reidel Publishing Company, 1985, 267{350. [46] R.J. Wilson, Introduction to Graph Theory (Second Edition), Longman, London, 1979. [47] R. E. Tarjan and M. Yannakakis, Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs, SIAM J. Computing 13 (1984), 566{579. [48] W.T. Trotter, Combinatorics and Partially Ordered Sets: Dimension Theory, Johns Hopkins Press, Baltimore, 1991. [49] W.T Trotter, Partially Ordered Sets, in R.L. Graham, M. Grotschel and L. Lovasz (eds.), Handbook of Combinatorics, Volume I, North-Holland, Amsterdam, 1995. [50] L. Vandenberghe und S. Boyd, Semidenite Programming, SIAM Review (1996). [51] G. Viennot, Chain and antichain families, grids and young tableaux, in M. Pouzet (editor) Orders: Description and Roles, pages 409{463. North-Holland Math. Stud. 99, Amsterdam-New York, 1984.