Computing orthogonal drawings with the minimum number of bends Shape optimization Computing orthogonal drawings with the minimum number of bends
Überblick Berechnung einer orth. Repräsentation für eine gegebene Einbettung (4-planare Graphen) Orth. Repräsentationen von Graphen mit höherem Knotengrad Simple-podevsnef Effiziente Datenstruktur zur Repräsentation aller Einbettungen eines Graphen (SPQR-Bäume) Branch-and-bound Algorithmus zur Berechnung der optimalen orth. Repräsentation Aufzählungsschema der Einbettungen benutzt den berechneten SPQR-Baum des Graphen 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
2 unterschiedliche Ansätze Algorithmen für dieses Problem lassen sich grob in folgende zwei Ansätze einteilen: draw-and-adjust topology-shape-metrics besteht aus folgenden drei Schritten: planarization orthogonalization compaction 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Zwei unterschiedliche orthogonale Zeichnungen derselben orthogonalen Repräsentation 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Algorithmus von Tamassia[1987] Transformation in ein Min-Cost-Flow-Problem Planare Einbettung ) Fluss-Netzwerk Wert eines gültigen Flusses , orth. Repräsentation mit der selben Anzahl von Knicken Berechneter Fluss ) orth. Repräsentation 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Konstruktion des Fluss-Netzwerks 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Eine Fluss-Einheit entspricht Winkel von 90° Knoten produzieren 4 Fluss-Einheiten Innere faces konsumieren 2*deg(f) – 4 Flusseinheiten Externes face konsumiert 2*deg(f) + 4 Flusseinheiten 1 1 1 1 1 2 2 1 1 1 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Knoten-face Kanten: Face-face Kanten: Min. Fluss 1, Kapazität 4, Kosten 0 Face-face Kanten: Min. Fluss 0, Kapazität 1, Kosten 1 1 3 1 90° 270° 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Graphen mit höherem Knotengrad 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Orth. Zeichnung von Graphen mit Kontengraden > 4 Expandierte Knoten 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Orth. Zeichnung von Graphen mit Kontengraden > 4 Nicht-expandierte Knoten podevsnef Konvention (planar orthogonal drawing with equal vertex size and nonempty faces) 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Simple-podevsnef 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Konstruktion des Fluss-Netzwerks Knoten-face Kanten: Kapazität 4-deg(u), Kosten 0 Face-face Kanten: Kapazität 1, Kosten 1 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Konstruktion des Fluss-Netzwerks Face-Knoten Kanten: Kapazität 1, Kosten 1 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Konstruktion des Fluss-Netzwerks 0° 0,0 1,1 0,0 0,0 0,0 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Minimale Anzahl von Kantenknicken in zwei unterschiedlichen Einbettung desselben Graphen Anzahl der Knicke: 8 Anzahl der Knicke: 5 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
SPQR-Bäume 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Split pair und split components 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Rekursiver Aufbau des SPQR-Baums t e Pertinent Graph zum Paar (t,s) s 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Trivial Case: Q Parallel Case: P Serial Case: S Rigid Case: R s t s t
Beispiel Serial Case e 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Beispiel Serial Case S Skeleton von S R Q P 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Repräsentation aller möglichen Einbettungen des Graphen durch den SPQR-Baum v t Q u w u S v s R P Q e v … P S Q Q Q w w S Q Q Q Q Q s 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Der branch-and-bound Algorithmus 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Repräsentation aller möglichen Einbettungen des Graphen durch den SPQR-Baum … P S Q Q Q S Q Q Q Q Q 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Beispiel für einen Such-Baum - - - 0 - - 1 - - 0 0 - 0 1 - 1 0 - 1 1 - 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends
Vermeidung von mehrfacher Betrachtung derselben Einbettung Partieller Graph zum Knoten (0, -, -) des Suchbaums: - - - 0 - - 0 0 - 0 1 - e 0 0 0 0 0 1 0 1 0 0 1 1 liegt außen 30.11.2018 Orthogonal DrawingComputing orthogonal drawings with the minimum number of bends