Graphenalgorithmen: Perfekte Graphen - homepages.math.tu

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