Algorithmische Graphentheorie

Werbung
Algorithmische Graphentheorie
Walter Unger
Lehrstuhl für Informatik I
20. April 2006
Teil I
Einleitung und Motivation
1
2
3
4
5
1
Motivation
Bandweite
Definition
Probleme
Pfadweite
Definition
Aussagen
Baumweite
Definition
Aussagen
k-Bäume
Beispiel
Definition
Aussagen
Fragen
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
53/350
Motivation
Bisher gesehen: Probleme sind schnell lösbar, wenn der
“Informationsfluss nicht zu gross ist”.
Beispiele: Intervallgraphen, Permutationsgraphen, Bäume, ...
Idee: versuche diesen eingeschänkten Informationsfluss von Bäumen
zu erweitern.
Also: definiere ein erweitertes Baumkonzept.
Idee dazu: Mache die Knoten “fett”.
Vorher ein Rückblick auf das Bandweitenproblem.
Danach: Pfadweite, Baumweite und partielle k-Bäume
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Definition
Fragen
54/350
Definition der Bandweite
Definition
Bandweite Sei G = (V , E ) ein Graph und seien v , v ′ ∈ V .
Ein Labeling von G ist eine Funktion
e : V → IN mit e(v ) = e(v ′ ) ⇒ v = v ′ .
Der Abstand zwischen v und v ′ im Labeling e ist gegeben durch:
dist(e, v , v ′ ) =| e(v ) − e(v ′ ) |.
Die Bandweite des Labelings e auf G ist
bw(e, G ) = max{dist(e, v , v ′ ) | {v , v ′ } ∈ E }.
Die Bandweite eines Graphen G ist bw(G ) = mine:V →IN {bw(e, G )}.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Definition
55/350
Beispiel
e(2) = 1
2
x
@
@
e(1) = 21
x
@x e(3) = 3
e(6) = 46
x
@
x e(4) = 5
4
@
@x








0
1
1
0
0
10
1
0
1
10
0
0
1
1
0
01
1
0
0
10
01
0
1
10
0
0
1
1
0
1
e(5) = 6
5
Bandweite = 52
Adjazenzmatrix
10
0
0
10
1
0








Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Probleme
Fragen
56/350
Bandweite
Definition (Bandweitenproblem)
Das Bandweitenproblem für Graphen ist:
Eingabe: Ein Graph G = (V , E ) und ein k ∈ IN.
Ausgabe: Gilt bw(G ) 6 k?
Theorem
Das Bandweitenproblem ist NP-vollständig.
Definition (Raupengraph)
Ein Raupengraph (Caterpillar) ist ein Baum bei dem alle Knoten vom
Grad > 3 auf einem Weg liegen.
Theorem
Das Bandweitenproblem für Raupengraphen ist NP-vollständig.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Probleme
Fragen
57/350
k-Bandweite
Definition (Bandweitenproblem)
Das k-Bandweitenproblem für Graphen ist:
Eingabe: Ein Graph G = (V , E ).
Ausgabe: Gilt bw(G ) 6 k?
Theorem
Das k-Bandweitenproblem kann in Linearzeit gelöst werden.
Theorem
Sei G = (V , E ) ein Graph mit bw(G ) = k, dann können die folgenden
Probleme auf G in Linearzeit gelöst werden:
Independent-Set, Clique, Vertex-Cover
Färbungsproblem
Hamilton-Kreis, Hamilton-Weg
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Probleme
Fragen
58/350
Idee dazu
Sei bw(G ) = k.
Seien die Knoten durch das Labeling sortiert. D.h. e(vi ) = i.
Betrachte Block Bi = {vi , vi+1 , vi+2 , · · · , vi+k }.
Keine Kante geht von einem Knoten links von Bi zu einem Knoten
rechts von Bi
d.h. keine Kante geht von va zu vb für a < i und b > i + k.
d.h. alle “Informationen” müssen über Bi laufen.
Damit können die Probleme mit dynamischen Programieren gelöst
werden.
Kodiere alle Lösung für v1 , v2 , · · · , vi+k auf den Knoten von Bi .
Bestimme alle Lösung für v1 , v2 , · · · , vi+k+1 auf den Knoten von
Bi+1 mit den Lösungen für Bi .
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Probleme
Fragen
59/350
Independent Set
Sei Bi = {vi , vi+1 , vi+2 , · · · , vi+k }
Für jede Teilmenge Iij ⊂ Bi speichere:
Iij und wij mit
wij = |I | für das größte Independent Set I auf {v1 , v2 , · · · vi+k }
mit Iij ⊂ I .
Iterationsschritt auf Bi+1 :
j
Für jede Teilmenge Ii+1
bestimmt obige Wert mit den Daten für Bi .
j
Falls vi+k+1 6∈ Ii+1
setze:
j
j
}
wi+1
= max{wil | Iil \ {vi } ⊂ Ii+1
j
setze:
Falls vi+k+1 ∈ Ii+1
l
Ii ∩ {vx | {vi+k+1 , vx } ∈ E } = ∅∧
j
l
wi+1 = max wi + 1 | l
j
Ii \ {vi } ⊂ Ii+1
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Probleme
60/350
Independent Set (Beispiel a)
v1
v2
v3
v4
v5
v6
0
1
1
1
2
1
1
1
1
2
1
2
2
v7
v8
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Probleme
61/350
Independent Set (Beispiel b)
v1
v2
v3
v4
v5
v6
v7
1
2
2
1
2
2
2
3
v8
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Probleme
62/350
Independent Set (Beispiel c)
v1
v2
v3
v4
v5
v6
v7
v8
1
2
2
2
3
2
2
2
3
3
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Probleme
63/350
Independent Set (Beispiel d)
v1
v2
v3
v4
v5
v6
v7
v8
v9
2
3
3
2
3
3
3
4
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Probleme
64/350
Independent Set (Beispiel e)
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
2
3
3
3
4
2
3
3
3
4
3
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Probleme
65/350
Independent Set (Beispiel f)
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
2
3
3
3
4
3
3
3
3
4
3
4
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Probleme
66/350
Independent Set (Beispiel g)
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
4
4
4
3
2
2
2
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Definition
Fragen
67/350
Pfadweite (Pathwidth)
Definition
Ein Graph G = (V , E ) hat Pathwidth k genau dann, wenn es einen Weg
P = (Vp , Ep ) und eine Abbildung f : Vp → P(V ) gibt mit:
∀(a, b) ∈ E : ∃x ∈ Vp : a, b ∈ f (x)
Falls c auf einem Weg von a nach b in P, dann gilt:
f (b) ∩ f (a) ⊂ f (c).
∀x ∈ Vp : |f (x)| 6 k + 1.
und für k − 1 gibt es keine solche Funktion f und Weg P.
Schreibweise: pw(G ) = k.
Theorem
Sei G = (V , E ) ein Graph, dann gilt: bw(G ) > pw(G ).
Beachte: bw(K1,2n+1 ) = n aber pw(K1,2n+1 ) = 1
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Definition
68/350
Pfadweite (Beispiel)
v1
v2
v3
v4
v5
v6
v7
v8
p1
p2
p3
p4
p5
p6
p7
p8
v1
v2
v3
v4
v2
v3
v4
v5
v3
v4
v5
v6
v4
v5
v6
v7
v5
v6
v7
v5
v6
v7
v8
v6
v7
v8
v9
v7
v8
v9
v10
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
69/350
Aussagen I
Theorem
Sei G = (V , E ) ein Graph, dann gilt: bw(G ) > pw(G ).
Sei G = (V , E ) Graph mit bw(G ) = k und |V | = n.
Zeige pw(G ) 6 k
Sei e Einbettungsfunktion mit bw(e, G ) = k
Sei e(vi ) = i.
Sei Pn−k = ({p1 , p2 , · · · , pn−k+1 }, {{pj , pj+1 } | 1 6 j 6 n − k})
Pfad mit n − k + 1 Knoten
Definiere Funktion f : {p1 , p2 , · · · , pn−k+1 } 7→ P(V ):
f (pi ) = {vi , vi+1 , · · · , vi+k }.
Damit gibt: |f (pi )| = k + 1.
Und falls {vi , vi+d } ∈ E , dann ist {vi , vi+d } ⊂ f (pi ).
Damit: pw(G ) 6 k
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
70/350
Aussagen II
Theorem
Sei G = (V , E ) ein Graph, dann gilt:
Das Problem, die Pfadweite eines Graphen zu bestimmen, ist
NP-vollständig.
Für ein festes k kann man in Linearzeit O(n + m) feststellen, ob ein
Graph Pfadweite k hat.
Theorem
Sei G = (V , E ) ein Graph mit pw(G ) = k, dann können die folgenden
Probleme auf G in Linearzeit gelöst werden:
Independent-Set, Clique, Vertex-Cover
Färbungsproblem
Hamilton-Kreis, Hamilton-Weg
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
71/350
Beispiel (Independet Set)
Sei G = (V , E ) Graph mit pw(G ) = k und |V | = n.
Sei Pn−k = ({p1 , p2 , · · · , pn−k+1 }, {{pj , pj+1 } | 1 6 j 6 n − k})
Pfad mit n − k + 1 Knoten.
Sei f : {p1 , p2 , · · · , pn−k+1 } 7→ P(V ) passende Funktion zur
Pfadweite k.
Für jede Teilmenge Iij ⊂ f (pi ) speichere:
Iij und wij mit
Si
j
wi = |I | für das größte Ind. Set I auf j=1 f (pj ) mit Iij ⊂ I .
Iterationsschritt auf f (pi+1 ):
j
bestimmt obige Wert:
Für jede Teilmenge Ii+1
Nein das macht keinen Spass mehr.
Da vereinfachen wir!
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
72/350
Beispiel (Independet Set)
Sei G = (V , E ) Graph mit pw(G ) = k und |V | = n.
Sei Pn−k = ({p1 , p2 , · · · , pn−k+1 }, {{pj , pj+1 } | 1 6 j 6 n − k})
Pfad mit n − k + 1 Knoten.
Sei f : {p1 , p2 , · · · , pn−k+1 } 7→ P(V ) passende Funktion zur
Pfadweite k mit:
|f (pi )| − |f (pi+1 )| ∈ {1, −1}, d.h.
˙
f (pi )∪{x}
= f (pi+1 ) oder
˙
f (pi ) = f (pi+1 )∪{x}
Schreibweisen:
f (pi+1 ) = add(f (pi ), x) bzw.
f (pi+1 ) = del(f (pi ), x)
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
73/350
Beispiel (Independet Set)
Damit reicht es aus, wie folgt anzugeben
Zu speichernden Daten für f (pi ): D(f (pi ))
Eine Prozedur D(f (p1 )) := Init(f (p1 )), die die ersten Werte
bestimmt.
Eine Prozedur D(f (pi+1 )) := Add(D(f (pi )), x), die Werte für
f (pi+1 ) bestimmt.
Eine Prozedur D(f (pi+1 )) := Del(D(f (pi )), x), die Werte für
f (pi+1 ) bestimmt.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
74/350
Beispiel (Independet Set)
D(f (pi )) = {(I , w ) | I ist IS in f (pi ) ∧ w = Wert(I , i)} mit:
Wert(I , i) = max{|I ′ | | I ′ ⊂ ∪ij=1 f (pj ) ∧ I ′ ist IS ∧ I ⊂ I ′ }
Init(f (p1 )) = {(I , w ) | I ist IS in f (p1 ) ∧ w = |I |}, d.h.
bestimme alle IS I ⊂ f (p1 ) und setze w = |I |.
(I , w ) ∈ Del(D(f (pi )), x) genau dann wenn:
(I ∪ {x}, w ) ∈ D(f (pi )) und
falls (I ∪ {x}, w ′ ) ∈ D(f (pi )) dann gilt w ′ 6 w
(I , w ) ∈ Add(D(f (pi )), x) genau dann wenn:
(I , w ) ∈ D(f (pi )) oder
(I \ {x}, w − 1) ∈ D(f (pi )) und I ist IS.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
75/350
Independent Set (Beispiel a)
v1
v2
v3
v4
v5
0
1
1
1
2
1
1
1
1
2
1
v6
v7
v8
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
76/350
Independent Set (Beispiel b)
v1
v2
v3
v4
v5
v6
1
1
1
2
1
1
1
1
2
1
2
2
v7
v8
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
77/350
Independent Set (Beispiel c)
v1
v2
v3
v4
v5
v6
1
1
1
2
1
2
2
1
2
1
2
2
v7
v8
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
78/350
Independent Set (Beispiel d)
v1
v2
v3
v4
v5
v6
v7
1
2
2
1
2
2
2
3
v8
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
79/350
Independent Set (Beispiel e)
v1
v2
v3
v4
v5
v6
v7
1
2
2
2
3
2
2
2
3
v8
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
80/350
Independent Set (Beispiel f)
v1
v2
v3
v4
v5
v6
v7
v8
2
2
2
3
2
2
2
3
3
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
81/350
Independent Set (Beispiel g)
v1
v2
v3
v4
v5
v6
v7
v8
2
2
2
3
3
2
2
2
3
3
v9
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
82/350
Independent Set (Beispiel h)
v1
v2
v3
v4
v5
v6
v7
v8
v9
2
3
3
2
3
3
3
4
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
83/350
Independent Set (Beispiel i)
v1
v2
v3
v4
v5
v6
v7
v8
v9
2
3
3
3
4
2
3
3
3
4
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
84/350
Independent Set (Beispiel j)
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
2
3
3
3
4
2
3
3
3
4
3
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
85/350
Independent Set (Beispiel k)
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
2
3
3
3
4
3
3
3
3
4
3
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
86/350
Independent Set (Beispiel l)
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
3
3
3
4
3
3
3
3
4
3
4
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Aussagen
87/350
Independent Set (Beispiel m)
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
4
4
4
3
2
2
2
Motivation
Bandweite
Pfadweite
Baumweite
Definition
k-Bäume
Fragen
88/350
Baumweite
Definition (Baumweite)
Ein Graph G = (V , E ) hat Treewidth k genau dann, wenn es einen Baum
T = (Vt , Et ) und eine Abbildung f : Vt → P(V ) gibt mit:
∀(a, b) ∈ E : ∃x ∈ Vp : a, b ∈ f (x)
Falls c auf einem Weg von a nach b in T , dann gilt:
f (b) ∩ f (a) ⊂ f (c).
∀x ∈ Vt : |f (x)| 6 k + 1.
und für k − 1 gibt es keine solche Funktion f und Weg T .
Schreibweise: tw(G ) = k.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
89/350
Aussagen
Theorem
Sei G = (V , E ) ein Graph, dann gilt:
Das Problem, die Treewidth eines Graphen zu bestimmen, ist
NP-vollständig.
Für ein festes k kann man in Linearzeit O(n + m) feststellen, ob ein
Graph Treewidth k hat.
Theorem
Sei G = (V , E ) ein Graph mit
tw(G ) = k, dann können die folgenden Probleme auf G in Linearzeit
gelöst werden:
Independent-Set, Clique, Vertex-Cover
Färbungsproblem
Hamilton-Kreis, Hamilton-Weg
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
90/350
Vereinfachungen
Sei t Nachfolger von s im Baum, dann gelte o.E.d.A.:
s habe höchstens zwei Nachfolger.
f (t) = f (s) falls es einen weiteren Nachfolger von t gibt.
|f (t)| − |f (s)| ∈ {1, −1} falls es keinen weiteren Nachfolger von t
gibt, d.h.:
f (s) = add(f (t), x) bzw.
f (s) = del(f (t), x)
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
91/350
Beispiel (Independet Set)
Damit reicht es aus, wie folgt anzugeben
Zu speichernden Daten für f (s): D(f (s))
Eine Prozedur D(f (s)) := Init(f (s)), die die ersten Werte an einem
Blatt s bestimmt.
Eine Prozedur D(f (s)) := Add(D(f (t)), x).
Eine Prozedur D(f (s)) := Del(D(f (t)), x).
Eine Prozedur D(f (s)) := Join(D(f (t)), D(f (t ′ ))).
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
92/350
Beispiel (Independet Set)
D(f (s)) = {(I , w ) | I ist IS in f (s) ∧ w = Wert(I , s)} mit:
Wert(I , s) = max{|I ′ | | I ′ ⊂ ∪t∈V (Ts ) f (t) ∧ I ′ ist IS ∧ I ⊂ I ′ }
und
Ts ist der Teilbaum mit s als Wurzel.
Init(f (t)) = {(I , w ) | I ist IS in f (t) ∧ w = |I |}, d.h.
bestimme alle IS I ⊂ f (t) und setze w = |I |.
(I , w ) ∈ Del(D(f (t)), x) genau dann wenn:
(I ∪ {x}, w ) ∈ D(f (t)) und
falls (I ∪ {x}, w ′ ) ∈ D(f (t)) dann gilt w ′ 6 w
(I , w ) ∈ Add(D(f (t)), x) genau dann wenn:
(I , w ) ∈ D(f (t)) oder
(I \ {x}, w − 1) ∈ D(f (t)) und I ist IS.
(I , w ) ∈ Join(D(f (t)), D(f (t ′ ))) genau dann wenn:
(I , w ′ ) ∈ D(f (t)) und
(I , w ′′ ) ∈ D(f (t ′ )) und
w = w ′ + w ′′ − |I |
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Beispiel
93/350
Idee (1-Baum)
v1
v2
v4
v8
v3
v5
v9
v6
v10
v7
v11
v12
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Beispiel
94/350
Idee (2-Baum)
v1
v8
v2
v3
v4
v6
v5
v7
v9
v11
v12
v10
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
Beispiel
95/350
Idee (3-Baum)
v3
v2
v12
v8
v5
v1
v4
v6
v7
v10
v9
v11
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Definition
Fragen
96/350
k-Baum
Definition (k-Baum (Rose 1974))
Ein k-Baum ist wie folgt rekursiv definiert:
Kk+1 ist ein k-Baum.
Bemerkung: Man kann auch ggf. mit Kk beginnen
Falls T = (V , E ) ein k-Baum ist und C = {c1 , c2 , ..., ck } eine
Clique in T ist, dann ist
˙ }, E ∪ {(v , ci ); 1 6 i 6 k}) ein k-Baum.
T = (V ∪{v
Es gibt keine weiteren k-Bäume.
Sei T = (V , E ) ein k-Baum. Dann ist G = (V , F ) mit F ⊂ E ein
partieller k-Baum.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
97/350
Aussagen I
Theorem
Ein 1-Baum ist ein Baum.
Sei G ein k-Baum, dann gilt: ω(G ) = k + 1 falls G mehr als k
Knoten hat (ansonsten ω(G ) = k).
ω(G ) = max{|C | | C ⊂ V (G ) ∧ C ist Clique}
Lemma
Ein k-Baum kann von jeder Clique aus konstruiert werden.
Bemerkung
Ein k-Baum ist chordal und perfekt.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Aussagen II
Theorem
Ein Graph G = (V , E ) ist ein k-Baum genau dann, wenn tw(G ) = k und
G ist maximal.
Theorem
Ein Graph G = (V , E ) ist ein partieller k-Baum genau dann, wenn
tw(G ) 6 k.
Fragen
98/350
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
99/350
Erkennen der Baumweite
Es ist schwer den Stützbaum zu finden.
Dann kann man folgendes Modell verwenden:
Modifizierte Suchnummer
Wie viele Polizisten baucht man um einen Falschparker in einem
Graphen zu finden.
Falschparker ist beliebig schnell und nutzt Knoten und Kanten.
Polizisten nutzen nur die Knoten, können aber springen.
Falschparker kann an einem Polizisten nicht vorbei.
Polizisten sind nicht blind, sehen den Falschparker.
Kante gilt als Falschparkerfrei, falls auf beiden Knoten je ein Polizist
gleichzeitig war.
Modifizierte Suchnummer entspricht Baumweite.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Aussagen III
Definition
Ein Graph G = (V , E ) heißt Kaktus, falls jede 2-fach
Zusammenhangskomponente ein Kreis ist.
Theorem
Für einen Kaktus G = (V , E ) gilt: tw(G ) 6 2
Definition
Ein Graph G = (V , E ) heißt fast-Baum(k), falls jede 2-fach
Zusammenhangskomponente mit x Knoten x + k − 1 Kanten hat.
Theorem
Für einen fast-Baum(k) G = (V , E ) gilt: tw(G ) 6 k + 1
Fragen
100/350
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
101/350
Beweisidee I (Kaktus)
Sei G = (V , E ) ein Kaktus mit V = {v1 , v2 , v3 , · · · , vn }.
Seien C1 , C2 , · · · , Cd alle Kreise in G .
Da G = (V , E ) ein Kaktus ist, sind diese Kreise knotendiskunkt.
äh, falsch, gilt nicht, nehmen wir das aber mal an.
Entferne aus jedem Kreis Ci eine Kante ei .
Damit ist T = (V , E \ {e1 , e2 , · · · , ed }) ein Baum mit Wurzel v1
Zu v ∈ V sei p(v ) der Vorfahr von v in T (p(v1 ) = v1 )
Zu einer Kante ei = {a, b} seien Pi die Knoten in T auf dem Pfad
von a nach b.
Falls v auf einem Pfad Pi dann definiere x(v ) = min{a, b},
ansonsten x(v ) = v .
Definiere f : V 7→ P(V ) durch: f (v ) = {v , p(v ), x(v )}.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
102/350
Beweisidee II (Kaktus)
Sei G = (V , E ) ein Kaktus mit V = {v1 , v2 , v3 , · · · , vn }.
Seien C1 , C2 , · · · , Cd und e1 , e2 , · · · , ed wie oben.
Sei T = (V , E \ {e1 , e2 , · · · , ed }) wie oben.
Modifiziere nun T :
Falls es einen Knoten vx gibt, der in zwei Kreisen Ci , Cj liegt,
und Ci die Knoten a, vx , b enthällt
und Cj die Knoten c, vx , d enthällt
dann erzeuge Knoten vxi und vxj und
lösche Kanten {a, vx }, {vx , b},{c, vx }, {vx , d} und
erzeuge Kanten {a, vxi } {vxi , b} {vxi , vx } und
erzeuge Kanten {c, vxj } {vxj , d} {vxj , vx }.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
103/350
Beweisidee III (fast-Baum)
Sei G = (V , E ) ein fast-Baum(k) mit V = {v1 , v2 , v3 , · · · , vn }.
Seien C1 , C2 , · · · , Cd alle ZS-Komponenten in G .
Seien diese ZSK knotendiskunkt.
Entferne aus jeder ZSK Ci bis zu di 6 k Kanten eij .
Damit ist T = (V , E \ {eij | 1 6 i 6 d ∧ 1 6 j 6 di }) ein Baum mit
Wurzel v1
Zu v ∈ V sei p(v ) der Vorfahr von v in T (p(v1 ) = v1 )
Zu einer Kante eij = {a, b} seien Pij die Knoten in T auf dem Pfad
von a nach b.
Falls v auf einem Pfad Pij dann definiere x j (v ) = min{a, b},
ansonsten x j (v ) = v .
Definiere f : V 7→ P(V ) durch:
f (v ) = {v , p(v ), x 1 (v ), x 2 (v ), · · · , x k (v )}
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
104/350
Beweisidee IV (fast-Baum)
Sei G = (V , E ) ein fast-Baum(K ) mit V = {v1 , v2 , v3 , · · · , vn }.
Seien C1 , C2 , · · · , Cd und eij wie oben.
Sei T = (V , E \ {eij | 1 6 i 6 d ∧ 1 6 j 6 di }) wie oben.
Modifiziere nun T :
Falls es einen Knoten vx gibt, der in zwei Komponenten Ci , Cj
liegt,
und Ci die Knoten vx , a1 , a2 , · · · enthällt
wobei ai Nachfolger von vx in T .
und Cj die Knoten vx , b1 , be , · · · enthällt
wobei bi Nachfolger von vx in T .
dann erzeuge Knoten vxi und vxj und
lösche Kanten {ai , vx }, {bi , vx } und
erzeuge Kanten {ai , vxi } {vxi , vx } und
erzeuge Kanten {bi , vxj } {vxj , vx }.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Aussagen IV
Definition
Ein Graph G = (V , E ) heißt Halin Graph, falls G aus einem planar
eingebetteten Baum besteht, bei dem die Blätter mit einem Kreis
verbunden sind.
Theorem
Für einen Halin Graphen G = (V , E ) gilt: tw(G ) 6 3
Definition
Ein planarer Graph G = (V , E ) heißt außenplanar, wenn es eine planare
Einbettung gibt, bei der alle Knoten auf dem äußeren Fenster (Region)
liegen.
Theorem
Für einen außenplanaren Graphen G = (V , E ) gilt: tw(G ) 6 2
Fragen
105/350
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
106/350
Beweisidee I (Halin Graph)
Sei G = (V , E ) ein Halin Graph mit V = {v1 , v2 , v3 , · · · , vn }.
Sei T = (V , E ′ ) der Baum mit Wurzel v1 in G .
Sei T ′ = (V ∪ E ′ , {{v , e} | v ∈ V ∧ e ∈ E ′ ∧ v ∈ e})
der totale Baum mit Wurzel v1 .
Zu einer Kante e = {a, b} ∈ E \ E ′ seien Pe die Knoten und Kanten
in T auf dem Pfad von a nach b.
Falls a auf einem Pfad Pe dann definiere xe (a) = min{a, b}.
Definiere f : V ∪ E ′ 7→ P(V ) durch:
f (a) = {a} ∪ {xe (a) | a ∈ Pe } falls a ∈ V .
f (a) = a ∪ {xe (a) | a ∈ Pe } falls a ∈ E ′ .
Beachte;
|{xe (a) | a ∈ Pe }| 6 3 falls a ∈ V .
|{xe (a) | a ∈ Pe }| 6 2 falls a ∈ E ′ .
Motivation
Bandweite
Pfadweite
Baumweite
Aussagen
k-Bäume
Fragen
107/350
Beweisidee II (außenplanarer Graph)
Sei G = (V , E ) ein außenplanarer Graph.
Sei G = (V , E ) maximal,
˙
d.h. G = (V , E ∪{e})
ist nicht außenplanar.
Sei V ′ die Menge der inneren Regionen (Fenster).
Damit ist V ′ eine Menge von Dreiecken.
Für x ∈ V ′ sei:
V (x) die Knoten des Dreiecks x.
E (x) die Kanten des Dreiecks x.
Definiert Baum (V ′ , {{a, b} | E (a) ∩ E (b) 6= ∅})
Definiere f durch: f (x) = V (x).
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Aussagen V
Definition
Ein planarer Graph G = (V , E ) heißt k-außenplanar, wenn es eine
planare Einbettung gibt, bei der durch Löschen aller Knoten auf dem
äußeren Fenster ein (k − 1)-außenplanar Graph entsteht.
Theorem
Für einen k-außenplanaren Graphen G = (V , E ) gilt: tw(G ) 6 3 · k − 1
Fragen
108/350
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
109/350
Aussagen VI
Definition
Ein Graph G = (V , E ) heißt SP-Graph (serien-parallel Graph), wenn er
durch die serien-parallel Operationen aufgebaut werden kann:
G = ({a, b}, ∅, a, b) ist SP-Graph.
G = ({a, b}, {{a, b}}, a, b) ist SP-Graph.
Falls G = (V , E , a, b) und G = (V ′ , E ′ , a, b) SP-Graphen mit
V ∩ V ′ = {a, b} dann ist G = (V ∪ V ′ , E ∪ E ′ , a, b) SP-Graph.
Falls G = (V , E , a, x) und G = (V ′ , E ′ , x, b) SP-Graphen mit
V ∩ V ′ = {x} dann ist G = (V ∪ V ′ , E ∪ E ′ , a, b) SP-Graph.
Theorem
Ein Graph ist ein SP-Graph genau dann, wenn er Treewidth 2 hat.
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Fragen
110/350
Minoren
Definition (Minor)
Ein Graph G ′ ist Minor vom Graphen G , falls ein isomorphes Bild von G ′
durch Knotenverschmelzung von G erzeugt werden kann.
Knotenverschmelzung:
Sei G = (V , E )
Sei {a, b} ∈ E ,
dann ist die Knotenverschmelzung von a und b möglich:
Sei G ′ = (V \ b, (E \ {{v , b} | v ∈ V }) ∪ {{v , a} | {v , b} ∈ E })
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Aussagen
Aussagen VII
Theorem
Ein Graph G mit tw(G ) 6 k hat keinen Kk+2 Minor.
Theorem
Graphen G mit tw(G ) 6 k lassen sich durch eine endliche Folge von
Minoren beschreiben.
Theorem
Jedes durch MS2 beschreibbare Problem ist auf Graphen G mit
tw(G ) 6 k polynomiell lösbar.
Fragen
111/350
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
112/350
Fragen
1
Wie ist die Bandweite eines Graphen definiert?
2
Welche Probleme kann man auf Bandweite beschränkten Graphen
effizient lösen?
3
Wie ist das Vorgehen dabei?
4
Wie ist die Pfadweite eines Graphen definiert?
5
Welche Probleme kann man auf Pfadweite beschränkten Graphen
effizient lösen?
6
Wie ist das Vorgehen dabei?
7
Welchen Zusammenhang gibt es zwischen Bandweite und
Pfadweite?
8
Wie ist die Baumweite eines Graphen definiert?
9
Welche Probleme kann man auf Baumweite beschränkten Graphen
effizient lösen?
10
Wie ist das Vorgehen dabei?
Motivation
Bandweite
Pfadweite
Baumweite
k-Bäume
Fragen
113/350
Fragen
1
Welchen Zusammenhang gibt es zwischen Pfadweite und
Baumweite?
2
Wie ist ein partieller k-Baum definiert?
3
Welchen Zusammenhang gibt es zwischen k-Baum und Baumweite?
4
Wie ist die Baumweite von Halin Graphen?
5
Wie ist die Baumweite von einem Graph der ein Kaktus ist?
6
Wie ist die Baumweite von eime fast k-Baum?
7
Wie ist die Baumweite von außenplanaren Graphen?
8
Wie ist die Baumweite von k-außenplanaren Graphen?
9
Wie ist die Baumweite von SP-Graphen?
Herunterladen