SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare...

29
SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08 17. Dezember 2007 TU Dortmund, Fakultät für Informatik, Ls11

Transcript of SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare...

Page 1: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 2: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

Ü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

Page 3: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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?)

Page 4: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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.

Page 5: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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).

Page 6: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 7: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 8: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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.

Page 9: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 10: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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.

Page 11: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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 ⇔

Page 12: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

Splitklassen (2)

17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 12

Page 13: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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.

Page 14: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

Split-Operation (2)

C = E1 C′ = E2 ∪ E3

17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 14

G G1 G2

Page 15: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 16: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

Tutte-Split (2)

Tutte-Split ja oder nein?

17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 16

Nein! Nein! Ja!

Page 17: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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.

Page 18: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 19: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 20: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 21: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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.

Page 22: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 23: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 24: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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]

Page 25: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 26: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

Aufzählen aller Einbettungen (1)

17.12.2007 — Automatisches Zeichnen von Graphen: SPQR-Bäume 26

Page 27: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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

Page 28: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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 µ

Page 29: SPQR-Bäume und planare Einbettungen P Q Carsten Gutwengerls11- · SPQR-Bäume und planare Einbettungen Carsten Gutwenger Q S P R Vorlesung Automatisches Zeichnen von Graphen WS 07/08

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