SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare...
Transcript of SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare...
SPQR-Bäumeund
planare Einbettungen
Carsten Gutwenger
Q
S
P
R
Vorlesung
Automatisches Zeichnen von GraphenWS 07/08
17. Dezember 2007
TU Dortmund, Fakultät für Informatik, Ls11
Überblick
Heute:
� k-Zusammenhang, Blöcke
� 3-Zusammenhangskomponenten
� SPQR-Bäume
� Planare Einbettungen
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 2
� Planare Einbettungen
Dienstag:
� Anwendung von SPQR-Bäumen:Einbettungen mit maximaler Außenfläche
Motivation
SPQR-Bäume haben zahlreiche Anwendungen im Graphenzeichnen:
� Optimierung über alle möglichen Einbettungen
� praxisrelevant!
� Kreuzungsminimierung
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 3
� Kreuzungsminimierung
� Preprocessing (Non-planar Core Reduction)
� Kanteneinfügen (� Januar)
� Einbettungsconstraints (� Januar)
� Aufwärtsplanaritätstest für sT-Graphen (� Februar?)
Literatur
W. T. Tutte, Connectivity in graphs, Vol. 15 of Mathematical Expositions, University of Toronto Press, 1966.
J. E. Hopcroft, R. E. Tarjan, Dividing a graph into triconnected components, SIAM Journal on Computing 2, 1973, pp. 135-158.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 4
1973, pp. 135-158.
C. Gutwenger, P. Mutzel, A linear time implementation of SPQR-trees, in: J. Marks (ed.), Graph Drawing (GD 2000), LNCS 1984, pp. 77-90, Springer-Verlag, 2001.
kkkk-Zusammenhang
Definition. Sei k ∈ N.
G=(V,E) ist k-zusammenhängend genau dann wenn
� |V| > k und
� G-X ist zusammenhängend für jedes X⊆V mit |X| < k.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 5
0-zshgd. ⇔ G ist nicht leer.
1-zshgd. ⇔ G ist zusammenhängend (und hat mind. 2 Knoten).
kkkk-Zusammenhang (2)
Satz (Menger‘s Theorem).
Ein Graph ist genau dann k-zusammenhängend, wenn es
zwischen jedem Paar von Knoten k unabhängige Pfade
gibt.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 6
…
≥ k
unabhängige Pfade: keine internen Knoten gemeinsam
2-Zusammenhang
Bekannt:
a ist Schnittknoten (cutvertex) gdw. ex. Knoten v und w,
so dass jeder Pfad von v nach w über a führt.
Block: maximaler zusammenhängender Teilgraph, der
keinen Schnittknoten enthält.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 7
keinen Schnittknoten enthält.
awv
Block-Graph
Definition. Seien G=(V,E) und
� C ⊆ V Menge der Schnittknoten von G,
� B Menge der Blöcke von G.
Dann ist der (bipartite) Graph
( ∪ , { ( , ) | ∈ })
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 8
(C ∪ B , { (c,b) | c ∈ b })
der Block-Graph von G.
Block-Graph (2)
B
C
BBB
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 9
C
B
B
BB
B
Graph Block-Graph BC-Baum
Separationspaar
Sei G=(V,E) 2-zusammenhängend.
{u,v} ∈ V heißt Separationspaar, falls G - {u,v} nicht
zusammenhängend ist.
{u,v} heißt Splitpaar, falls
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 10
� {u,v} Separationspaar ist, oder
� u und v sind adjazente Knoten.
Splitklassen
Sei {u,v} Splitpaar.
Splitklassen von {u,v}:
Partition E1,…,Ek der Kantenmenge, so dass
e und f liegen auf einem Pfad, der u und ve, f ∈ E ⇔
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 11
e und f liegen auf einem Pfad, der u und v
höchstens als einen Endpunkt enthält.e, f ∈ Ei ⇔
Splitklassen (2)
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 12
Seien E1,…,Ek die Splitklassen eines Splitpaares {u,v}.
Für ein j mit 1≤ j< k seien
C = E1 ∪ … ∪ Ej und
C′ = Ej+1 ∪ … ∪ Ek,
so dass |C| ≥ 2 und |C′| ≥ 2.
Split-Operation
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 13
so dass |C| ≥ 2 und |C′| ≥ 2.
Eine Split-Operation ersetzt G durch die Split-Graphen
G1 = (V(C) , C ∪ e) undG2 = (V(C′) , C′ ∪ e),
wobei e=(u,v) eine neue virtuelle Kante ist.
Split-Operation (2)
C = E1 C′ = E2 ∪ E3
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 14
G G1 G2
Tutte-Split
Eine Split-Operation heißt Tutte-Split, falls
• C = Eα und
• G[C] oder G[C′] enthält keinen Schnittknoten.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 15
Tutte-Split (2)
Tutte-Split ja oder nein?
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 16
Nein! Nein! Ja!
Split-Graphen
Beobachtung. Jeder Split-Graph enthält keinen Schnitt-
knoten und mindestens 3 Kanten.
Führe solange Split-Operationen durch wie möglich.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 17
Lemma. Die Gesamtzahl aller Kanten in Splitgraphen ist
beschränkt durch 3 |E| - 6.
(Beweis durch Induktion nach Anzahl der Kanten.)
Führe solange Split-Operationen durch wie möglich.
3-Zusammenhangskomponenten
Definition. Wir erhalten die 3-Zusammenhangs-
komponenten eines Graphen, indem wir solange Tutte-
Splits durchführen wie möglich.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 18
3-Zusammenhangskomponenten (2)
a
c
b
e
dg
Beispiel:
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 19
f
hi
k jl
m
p
o
n
3-Zusammenhangskomponenten (3)a
c
b
ed
g
f
h
ed
d
ee
e n
e
e
n
A
EC
BF
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 20
h
i
k
j
l
m p
o
nh
e
h
e n
j
nn
j
h
j
hj
h
jm
h
DE
C
G
HKIL
J
L
K
I
3-Zusammenhangskomponenten (4)
Theorem. Jede 3-Zusammenhangskomponente ist
a) ein einfacher, 3-zshgd. Graph,
b) ein Kreis (Polygon) mit mind. 3 Kanten, oder
c) ein Bündel von mind. 3 parallelen Kanten. parallel
seriell
3-zshgd.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 21
Theorem. Die 3-Zusammenhangskomponenten eines Graphen sind eindeutig.
SPQR-Baum
1
2
3
4
A
K
B
I
C
DL
R
S
P
P
1
2
3
4
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 22
5
11
10
9
8
7613 12K I
F
D
E
L
J G
H
R
R
S
S SS
PP P
5
9
8 6
7
10
1112
13
Baum T(G) SPQR-Baum
SPQR-Bäume im OGDF
� StaticSPQRTree
� Hopcroft/Tarjan Implementierung
� StaticPlanarSPQRTree
� zusätzlich: „Aufzählen“ von Einbettungen
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 23
� DynamicSPQRTree
� G. Di Battista, R. Tamassia, On-line maintenance of triconnected
components with SPQR-trees, Algorithmica 15(4), 1996, pp. 302-318.
� DynamicPlanarSPQRTree
200
250
300
350Laufzeit [ms]
planar 2-zshgd., m = 1.5n planar 2-zshgd., m = 2n
Laufzeit Aufbau SPQR-Baum
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 24
0
50
100
150
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Anzahl Knoten
Laufzeit [ms]
Planare Einbettungen
Definition.Eine kombinatorische Einbettung eines Graphen G ist
gegeben durch die zyklischer Reihenfolge der Kanten um jeden Knoten in einer planaren Zeichnung von G.
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 25
äquivalent:zyklische Reihenfolge der Kanten in jeder Fläche
planare Einbettung: komb. Einbettung + Außenfläche
Aufzählen aller Einbettungen (1)
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 26
Aufzählen aller Einbettungen (2)
P-Knoten S-Knoten R-Knoten
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 27
(k-1)! Permutationen 1 Einbettung 2 Einbettungen
Aufzählen aller Einbettungen (3)
Anzahl aller komb. Einbettungen eines 2-zshgd. Graphen:
∏∈
−⋅P
Rn
µµ )!1(2
||
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 28
R Menge der R-KnotenP Menge der P-Knotennµ Anzahl Kanten im P-Knoten µ
Aufzählen aller Einbettungen (4)
R
S
S
P
P
1
2
3
4
5
|V| = 16|E| = 29|F| = 29-16+2 = 15
17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 29
R
R
S
S SS
PP P
5
9
8 6
7
10
1112
13
komb. Einbettungen: 23⋅24⋅3! = 768
planare Einbettungen: 15⋅768 = 11520