Orthogonale planare Verfahren

Werbung
Überblick zu Kapitel 4
Kap. 4: Planare Zeichenverfahren
4.4 Orthogonale planare Verfahren (flussbasiert)
4.1 Einführung Planarität, Einbettungen, Überblick
4.2 Planaritätstest und Einbettungsberechnung
Prof. Dr. Petra Mutzel
4.3 Geradlinige planare Zeichenverfahren
Lehrstuhl für
4.4 Orthogonale planare Verfahren (flussbasiert)
Algorithm Engineering LS11
Universität Dortmund
23./24. VO
WS07/08
21./22. Januar 2008
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
4.4 Orthogonale planare Verfahren
(flussbasiert)
Literatur für diese VO
• Originalartikel: Roberto Tamassia: On Embedding a
Graph in the Grid with the Minimum Number of Bends.
SIAM J. Computing, vol. 16 (3):421-444, 1987.
4.4.1 Einführung
4.4.2 Orthogonale Repräsentation und ihre
Eigenschaften
• M. Kaufmann, D. Wagner (Eds.): Drawing Graphs:
Methods and Models, Lecture Notes in Computer
Science, Tutorial, Vol. 2025, 2001, ISBN 3-540-42062-2.
4.4.3 Bestimmung einer knickminimalen
orthogonalen Repräsentation
• M. Jünger, P. Mutzel (Eds.): Kapitel 2: Technical
Foundations aus: Graph Drawing Software, Mathematics
and Visualization, Springer Verlag, 2004, ISBN 3-54000881-0.
4.4.4 Algorithmen zur Längenbestimmung
(Kompaktierung)
4.4.5 Erweiterungen
Ausarbeitung basierend auf Gunnar Klau, TU Wien 2003
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
4.4.1 Einführung
shape
metrics
•
•
•
•
4
``Topology-Shape-Metrics´´
Motivation: Aesthetik-Kriterien
topology
2
wenige Kreuzungen
wenige Kantenknicke
kurze Kantenlängen
kleine Zeichenfläche
Phase 1: Bestimme die Topologie
G
• (speziell: Hierarchien, Symmetrien)
Ziel:
``Topology-Shape-Metrics´´ Verfahren
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
5
Kreuzungsminimierung
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
6
1
``Topology-Shape-Metrics´´
``Topology-Shape-Metrics´´
Phase 2: Bestimme die Form
Phase 1: Bestimme die Topologie
Orthogonalisierung
0
0
0
G
1
Planarisierung
1
0
1
0
0
0
Ziel:
Kreuzungsminimierung
Ziel:
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
7
Knickminimierung
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
8
Planare Zeichenalgorithmen
``Topology-Shape-Metrics´´
Netzwerk-Flußmethoden
Tamassia 1987
• Knickminimierung für eine fixierte planare Einbettung
• Knotengrad kleiner gleich vier
• orthogonaler Zeichenalgorithmus:
(1) berechne das Netzwerk
(2) min-cost flow
(3) orthogonale Repräsentation
(4) Längenberechnung
(5) Kompaktierung
Phase 3: Bestimme die Kantenlängen
Kompaktierung
WERKE
Werke_ID
Werke_PLZ
N
SOLLBESTAND
e
ARTIKEL
Artikel_ID
Artikel_Menge
SORTIMENTE
s
VERTRIEB
PRODUKTION
t
Ziel:
LAUFZEIT
Laufzeit_ID
Kurze Kanten, kleine Zeichenfläche
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
9
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Einführung
10
Knickminimierung
ABER:
General-Voraussetzung: Gegeben ist ein 4-planarer Graph
G=(V,E), d.h. G planar und ∀v ∈V: δ(v)≤4
Gegeben ist ein 4-planarer Graph G=(V,E) mit seiner
planaren Einbettung
Gesucht: Gitterzeichnung mit minimaler Knickanzahl, die
die planare Einbettung beibehält
Ziel: orthogonale planare Zeichnungen mit kleinstmöglicher
Knickanzahl
• Das obige Optimierungsproblem
kann in polynomieller Zeit gelöst
werden durch Transformation
des Problems in ein minimales
Kostenflussproblem in einem
Netzwerk [Tamassia 1987]
• Das Entscheidungsproblem,
ob es eine orthogonale
Zeichnung für G ohne Knicke
gibt, ist NP-vollständig
[Formann et al. 1990]
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
11
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
12
2
4.4.2 Orthogonale Repräsentation
4.4.2 Orthogonale Repräsentation
Eine orthogonale Repräsentation H
• erweitert die planare Einbettung P
• beschreibt zusätzlich zur Topologie die Form einer
planaren orthogonalen Zeichnung
• ist „dimensionslos“ (es werden keine Angaben über die
Längen der Kantensegmente gemacht)
Def.: Sei H definiert als eine Menge von zirkulären, im
Uhrzeigersinn sortierten Listen H(f) für jede Region f.
Ein Element r∈H(f) hat die Form (er, sr, ar), wobei
• er eine f begrenzende Kante,
• sr ein Binärstring und
• ar ∈ {90, 180, 270, 360} eine ganze Zahl ist.
Def.: Sei H definiert als eine Menge von zirkulären, im
Uhrzeigersinn sortierten Listen H(f) für jede Region f.
Ein Element r∈H(f) hat die Form (er, sr, ar), wobei
• er eine f begrenzende Kante,
• sr ein Binärstring und
• ar ∈ {90, 180, 270, 360} eine ganze Zahl ist.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
•
Dabei beschreibt der Binärstring sr die Form der Kante er:
– Das k-te Bit in sr beschreibt den k-ten Knick auf er (im
Uhrzeigersinn). Dabei steht 0 für einen 90°-Knick und 1
für einen 270°-Knick
• Sei q das auf r folgende Element in H(f). Dann
bezeichnet ar den Winkel zwischen er und eq in f.
13
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Beispiel
14
Eigenschaften
Beobachtung: Die Anzahl der Knicke von H ist
e1
e5
f1
e3
e6
e2
f2
wobei |sr| die Länge von sr bezeichnet.
f0
e4
H(f1): ((e1, ε, 90), (e6, ε, 180), (e5, 00, 90))
H(f2): ((e6, ε, 90), (e3, 0, 360), (e3, 1, 90), (e2, 0010, 90), (e4, ε, 90))
H(fo): ((e4, ε, 270), (e2, 1011, 90), (e1, ε, 270), (e5, 11, 90))
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
15
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Charakterisierung
4.4.3 Bestimmung einer knickminimalen
orthogonalen Repräsentation
Beweis: geometrische Überlegungen (o. Bw.)
Theorem: Eine Menge von geordneten Listen H ist genau dann
die orthogonale Repräsentation einer planaren orthogonalen
Zeichnung, wenn folgende Eigenschaften erfüllt sind:
– (P1): H ohne die s- und r-Felder ist planare Einbettung
eines 4-planaren Graphen.
– (P2): Seien r,q∈H, r ≠ q mit er=eq. Dann erhält man sq aus sr
durch Umdrehen der Reihenfolge und Flippen der Bits.
– (P3): Def. für jedes r:
Dann gilt:
•
•
•
(bedeutet: jede Region ist ein rektilineares Polygon)
– (P4): Für jeden Knoten v in H gilt: Summe der a-Felder, die
zu Kanten gehören, deren Endknoten v ist, beträgt 360°,
also
16
Gegeben: planarer Graph G=(V,E) mit planarer
Einbettung h{P(f) | f ∈ F}, f0}i (flächenbasiert)
Gesucht: orthogonale Repräsentation {H(f): f∈F} mit
der minimalen Anzahl von Knicken.
Idee: Transformation nach Tamassia 1987:
Wir konstruieren ein Netzwerk NP = (U, A, b, l, u, c) mit
Knotenmenge U, Kantenmenge A, Knotenüberschüsse b,
untere Schranken l, obere Schranken u und Kantenkosten
c.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
18
3
Beispiel
Transformation: Knotenmenge
+4
+4
v2
• Knotenmenge U = UV ∪ UF
– mit UV = {iv | v∈V}. Knoten iv∈UV haben Überschuss
b(iv)= +4
– und UF = {if | f ∈F}. Knoten if ∈UF haben Bedarf
v3
-8
+4
v1
f2
-2
f1
+4 v
6
Beobachtung: Das gesamte Potenzial beträgt demnach
-14
+4
f0
v5
v4
+4
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Interpretation
20
Transformation: Kantenmenge
• Kantenmenge A = AV ∪ AF (A ist Multimenge)
– AV enthält einen Bogen (iv, if) wenn v∈V einen Winkel in
f∈F bildet. Genauer, wir definieren E(v, f) := {e ∈ P(f) | e =
(u,v)} und AV = {(iv, if) | e ∈ E(v,f)},
– Schranken: l(iv, if) = 1 und u(iv, if) = 4
– Kosten: c(iv, if) = 0
– AV ist Multimenge, da manche Knoten auf Brücken
mehrere Winkel in einer Region bestimmen (s. Bsp).
• Ein Fluss im Netzwerk entspricht den Winkeln der
späteren Zeichnung. Winkel sind eine “Ware”, die an den
Knoten produziert und in den Regionen konsumiert wird.
• Flusseinheit entspricht 90°-Grad-Winkel
• Flusserhaltung an iv ∈ UV garantiert, dass die
Winkelsumme um v 360° beträgt.
• Flusserhaltung um if ∈ UF garantiert, dass f als
rektilineares Polygon gezeichnet wird.
• Interpretation: Die Knoten verteilen ihre Winkel an die
Regionen. Jeder Winkel muss mindestens 90°, darf aber
höchstens 360° betragen. Da dabei keine Knicke
entstehen, sind die Kosten Null.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
21
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Beispiel
Transformation: Kantenmenge ff
+4
• Kantenmenge A = AV ∪ AF
– AF enthält für jede Kante e∈E zwei Bögen (if,ig) und (ig,if),
wobei f und g die Regionen sind, die von e getrennt
werden.
– Schranken: l(if, ig) = 0 und u(if, ig) = ∞
– Kosten: c(if, ig) = 1
• Interpretation: Da i.A. nicht alle Flusseinheiten direkt von
den Knoten zu den Regionen abfließen können – das
würde einer Zeichnung ohne Knicke entsprechen – müssen
wir Knicke ins Flussmodell aufnehmen. Kann der Bedarf
nicht direkt gedeckt werden, können benachbarte Regionen
Fluss austauschen. Jede solche Flusseinheit entspricht
einem Knick.
– Kosten eines Flusses: Anzahl der Knicke
22
+4
v2
v3
vk
f2
-2
v1
f1
+4
+4
-14
-8
v6
f0
+4
v5
+4
v4
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
24
4
Beweis ff
Transformation. Korrektheit
Beweis: Wir konstruieren x folgendermaßen:
• Für die Menge von gerichteten Kanten {(iv,if)∈AV}
assoziieren wir jede mit einem Element r∈R(v,f), wobei
R(v,f)={r∈H(f)| er=(u,v)}. Dann setzen wir x(iv,if)=ar/90 (r ist
das zu (iv,if) gehörige Element).
• Für den Fluss zwischen benachbarten Regionen f und g
betrachten wir die Menge der gemeinsamen Elemente
R(f,g)={r ∈H(f)| er∈P(g)} und assoziieren je eine gerichtete
Kante (if,ig) mit einem r∈R(f,g). Wir setzen x(if,ig)=|sr|0 (r ist
das zu (if,ig) gehörige Element).
Theorem: Für jede orthogonale Repräsentation H mit
unterliegender planarer Einbettung P existiert ein
ganzzahliger Fluss x in NP, dessen Kosten gleich der
Anzahl der Knicke b(H) ist.
Beweis: Wir konstruieren x folgendermaßen:
• Für die Menge von gerichteten Kanten {(iv,if)∈AV}
assoziieren wir jede mit einem Element r∈R(v,f), wobei
R(v,f)={r∈H(f)| er=(u,v)}. Dann setzen wir x(iv,if)=ar/90 (r ist
das zu (iv,if) gehörige Element).
• Für den Fluss zwischen benachbarten Regionen f und g
betrachten wir die Menge der gemeinsamen Elemente
R(f,g)={r ∈H(f)| er∈P(g)} und assoziieren je eine gerichtete
Kante (if,ig) mit einem r∈R(f,g). Wir setzen x(if,ig)=|sr|0 (r ist
das zu (if,ig) gehörige Element).
• z.z: 1) Vektor x ist ein Fluss. Dazu:
– (a) Kapazitätsgrenzen
– (b) Flusserhaltung erfüllt
• 2) Die Kosten von x sind gleich der Anzahl der Knicke.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Beweis fff
26
Beweis ffff
• Bilanz an Innenknoten if∈UF:
• zu 1(a): Der Fluss x einer Kante a∈AV wird durch einen
Winkel α∈{90,180,270,360} bestimmt. Nach Konstruktion
folgt xa∈{1,2,3,4}. Der Fluss einer Kante a∈AF wird durch die
Länge des Bitstrings bestimmt. → xa∈{0,1,…}
Kapazitätsgrenzen sind somit erfüllt.
|H(f)|=|P(f)|
• zu 1(b): zu zeigen ist, dass für jeden Knoten i∈U die
Differenz von abfließendem Fluss und einfließendem Fluss
gleich dem Potenzial von i ist.
• Bilanz an iv∈UV:
(P3)
• Bilanz an Außenknoten if∈UF: genauso, am Ende -4 statt +4
• zu 2) Knickanzahl:
Def
(P4)
Transformation: Korrektheit
Beweis
Beweis:
• zu (P1): (wir starten mit P) ✔
• zu (P2): Nach Konstruktion erfüllt (sr und sq gegengleich für
r≠q, er=eq)
• zu (P4):
Theorem: Für jeden ganzzahligen Fluss x in NP existiert
eine orthogonale Repräsentation H mit unterliegender
Einbettung P. Die Kosten von x sind b(H).
Beweis: Wir konstruieren H durch folgende Berechnung der aund s-Felder unter Benutzung der Flusswerte in A. Wieder
assoziieren wir Elemente aus R(v,f) mit den Kanten (iv,if)
aus AV und setzen ar=x(iv,if)·90 für alle r∈R(v,f).
• Ähnlich für die s-Felder: Wir ordnen jedem Element r∈R(f,g)
eine gerichtete Kante (if,ig) aus AF zu. Dann bestimmen wir
das Element q∈H(g) mit q≠r und eq=er.
• Wir setzen sr=0x(if,ig)1x(ig,if) und sq=0x(ig,if)1x(if,ig)
• Zu zeigen: (P1)-(P4) sind erfüllt.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
biv
• zu (P3):
Flusserhaltung
Knickanzahl:
29
5
Transformation: Korrektheit
Transformation: Eigenschaften
Theorem: Die minimale Knickanzahl einer orthogonalen
Repräsentation H mit unterliegender planarer
Einbettung P ist gleich den Kosten eines
kostenminimalen Flusses x in NP.
Ferner kann H aus x berechnet werden.
Theorem: Es existiert ein minimaler Kostenfluss in
NP = (U, A, b, l, u, c) mit ganzzahligen Werten.
Beweis: Netzwerktheorie: da nur ganzzahlige
Kapazitäten ✔
Beweis: Folgt aus den 3 letzten Theoremen. ✔
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
31
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
4.4.5 Längenberechnung
4.4.4 Algorithmus zur Knickminimierung
•
1. Konstruiere Netzwerk NP
2. Berechne kostenminimalen Fluss in NP
3. Konstruiere orthogonale Repräsentation aus dem
Fluss
4. Bestimme Kantenlängen mittels Kompaktierung
(s. 4.4.5)
•
•
Laufzeit: Die Laufzeit der Schritte 1-3 wird durch
Schritt 2 dominiert. Diese ist i.A. für Netzwerk mit
n Knoten O(n2 log n). Für dieses spezielle
Netzwerk haben Garg und Tamassia eine bessere
Laufzeit von O(n7/4 log n) gezeigt.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
33
Konstruiere normalisierte orthogonale
Repräsentation H´, in der jede Fläche Rechteckform
hat, durch Hinzufügen künstlicher Kanten und Knoten.
Gegeben: orthogonale Repräsentation H (Form
einer orthogonalen Zeichnung)
Gesucht: eine dazugehörige Metrik, d.h. für alle
Kanten ihre Längen, so dass die Zeichnung
kompatibel mit H ist.
•
Idee: Konstruiere normalisierte orthogonale
Repräsentation
•
Laufzeit: Dies geht in linearer Zeit.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Längenberechnung
•
32
34
Kompaktierung
•
Bemerkung: Dies liefert relativ große Zeichnungen
wegen der Normalisierung. Deswegen wird in Praxis
eine Kompaktierungsphase nachgeschaltet.
• Gegeben: Form eine orthogonalen Zeichnung
• Gesucht: Zeichnung mit kleinster Gesamtkantenlänge
(bei gleicher Form)
•
•
Bestimme Längen der Kanten in H´→ orthogonale
Zeichnung für H´
Entferne künstliche Kanten und Knoten → orthogonale
Zeichnung für H.
• In Praxis: Hintereinanderschaltung 1-dimensionaler
Kompaktierung (zuerst x-, dann in y-Richtung), z.B.
mittels longest-path oder flussbasiert.
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
36
6
Kompaktierung
Kompaktierung
Klau, Mutzel ´99
später auch:
Di Battista, Tamassia et al. ´99
• Gegeben: Form eine orthogonalen Zeichnung
• Gesucht: Zeichnung mit kleinster Gesamtkantenlänge
(bei gleicher Form)
Drei `ähnliche´ Beispiele:
Eindimensional
k
Layout graph
Shape
graph
k Kanten
Gx G y
Gx G y
Idee: Benutze Shape Graphen statt Layout Graph
Problem: Dies führt i.A. zu unzulässigen Lösungen
Zweidimensional
Klau, Mutzel ´99
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Charakterisiere Menge der Erweiterungen, die zu zulässigen Zeichnungen führt
Paar von Segmenten ist separiert g.d.w. mindestens 1 von 4 Pfaden existiert.
vollständig
eindeutige vollständige
Erweiterung
37
viele vollständige
Erweiterungen
Charakterisierung von eindeutig vollständigen Erweiterungen
Experimentelle Resultate
2d optimal
improvement in %
70
60
Longest path
50
Maximum
Average
Minimum
40
s
30
flow compaction
20
10
0
10
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
39
Experimentelle Resultate zu
2D-Kompaktierung
35
60
85
110 135 160
185 210 235 261 307
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
40
Nachkompaktierung mit Fluss ist wichtig!
• Laufzeit t für Benchmark Graphen:
• 95,5%:
t<1s
• 3,4%: 1 s < t < 5 s
• 1,1%: 5 s < t
• Biconnected Graphen:
• up to 5000 vertices
• Quasi-Bäume:
• up to 100 vertices
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
41
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
42
7
Erweiterung auf hohe Knotengrade
4.4.6 Erweiterungen
große Knoten
Tamassia, Di Battista, Batini 1988
• Es gibt verschiedene Ansätze für Erweiterungen des
Modells auf Graphen mit höheren Knotengraden
• Allerdings ist hier noch hoher Forschungsbedarf,
denn alle Ansätze besitzen Nachteile
Ersetze Knoten mit hohem Grad durch vordefinierte „Käfige“
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
43
Erweiterung auf hohe Knotengrade
kurze diagonale Linien
Nachteile: muss vorher bestimmen, wo die Kanten ihre Knoten erlassen
Erweiterung auf hohe Knotengrade
Grobes und feines Gitter
Klau, Mutzel 1998
KandinskyModell
Nachteile:
kleine Winkel,
große Bounding
Boxen
Nachteil:
bis heute
kein
polynomieller
Algorithmus
bekannt
Diplomarbeit ☺
Lasse es zu, dass Knoten groß werden und ersetze die
Bounding Boxen durch kleine Knoten und diagonale Kanten
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Beispiel: Zustandsdiagramm
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
Fößmeier, Kaufmann 1996
46
Automatisches Layout
47
Petra Mutzel: Automatisches Zeichnen von Graphen, WS07/08
48
8
Herunterladen