Baumzerlegung von Graphen Überblick Literatur 4.1 Einführung

Werbung
Überblick
Kap. 4: Baumzerlegung von
Graphen
• 4.1 Einführung
– Definition und Motivation
Professor Dr. Petra Mutzel
• 4.2 Algorithmen für Graphen mit
beschränkter Baumweite
Lehrstuhl für Algorithm Engineering, LS11
8. VO
– Dynamische Programmierung
• 4.3 Berechnung einer Baumzerlegung
4. Dezember 2006
2
4.1 Einführung
Literatur
• Hans L. Bodlaender: A Tourist Guide through
Treewidth, Acta Cybernetica 11, 1-23, 1993
• Viele NP-schwierige Optimierungsprobleme in
Graphen G sind in polynomieller Zeit lösbar, falls G
ein Baum ist.
• R. Niedermeier und J. Alber: Parametrisierte
Algorithmen, Universität Tübingen, VO-Folien im WS
2002/03, S. 130-151
• Idee: Vielleicht sind diese auf „baumartigen“
Graphen auch in polynomieller Zeit lösbar.
• Einführung der Baumweite von G: „Wie weit ist G
weg von einem Baum?“
• Hoffnung: Polynomielle Algorithmen für Graphen
mit beschränkter Baumweite.
3
Definition der Baumweite
4
Beispiel Baumzerlegung
Robertson & Seymour 1983
b
• Eine Baumzerlegung von G=(V,E) ist ein Paar
({Xi: i∈I}, T=(I,F)) mit {Xi: i∈I} ist eine Familie von
Teilmengen von V, eine für jeden Knoten von T, und
einem Baum T mit folgenden Eigenschaften:
a
d
j
h
e
– ⋃i∈I Xi = V
i
f
k
g
– Für alle Kanten vw∈E existiert ein i∈I mit v∈Xi und w∈Xi
– Für alle i,j,k∈I: falls j auf einem Weg von i nach k in T
liegt, dann gilt Xi∩Xk ⊆ Xj
• Die Baumweite einer Baumzerlegung ({Xi: i∈I}, T=(I,F))
ist: maxi∈I |Xi|-1.
• Die Baumweite eines Graphen G ist die kleinste
Baumweite über alle möglichen Baumzerlegungen von G.
c
i j
ab
c
cd
e
de
f
df
h
h i
i k
gf
Ein Graph G und eine Baumzerlegung von G mit Baumweite 2
5
6
1
Bemerkungen zur Baumzerlegung
Motivation zur Baumzerlegung
• Einige i.a. NP-schwierige Optimierungsprobleme können
auf Graphen mit beschränkter Baumweite in polynomieller
Zeit gelöst werden, wie z.B.
– stabile Mengenproblem (independet set)
– Hamiltonkreisproblem
– Steinerbaumproblem
–…
• Anwendungen z.B. bei Expertensystemen zur
Inferenzberechnung in Bayesschen Netzwerken
• Optimierungsprobleme im Compilerbau: die Kontrollflussgraphen von goto-free Programmen einiger
Programmiersprachen haben beschränkte Baumweite
(z.B. 7 für C++, 6 für C, 3 für Pascal).
• Ein Baum hat Baumweite 1.
• Je kleiner die Baumweite eines Graphen ist, desto
baumartiger ist er
• Die Knotenmengen Xi einer Baumzerlegung werden oft
auch als „Bag“ bezeichnet.
• Es gibt verschiedene äquivalente Definitionen von
Baumzerlegungen bzw. Baumweite.
• Man sagt: G hat beschränkte Baumweite (bounded
treewidth), wenn seine Baumweite durch eine kleine
Konstante beschränkt ist.
• Zur Ermittlung der Baumweite von Graphen: s. Kapitel
4.3.
7
8
Motivation zur Baumzerlegung
Courcelle et al. 1990: Jedes Graphproblem, das durch
Formeln mit den folgenden Sprachbefehlen zusammensetzbar ist, kann auf Graphen mit beschränkter Baumweite (bei geg. Baumdekomposition) in linearer Zeit
gelöst werden:
– logische Operationen (⋀,⋁, NOT,⇨)
– Quantifizierungen über Knoten, Kanten,
Knotenmengen und Kantenmengen (z.B. ∃v∈V, ∀F⊆E)
– Mitgliedschafttests (z.B. v∈V)
– Nachbarschaftstests (z.B. vw∈E, v ist Endknoten von e)
– und gewisse Erweiterungen
erweiterte monadic second order formulas
z.B. Graphfärbung,…
9
2
Herunterladen