390 likes | 467 Views
Explore the method of planarization in graph drawing frameworks to optimize graph readability by minimizing crossings. Join Sebastian Sondern in an in-depth study covering introduction, planarization methods, experimental results, and conclusions. Delve into the complexities of Maximum Planar Subgraph Problems (MPSP), Edge Insertion Problems (EIP), and practical heuristic solutions for graph optimization. Witness examples, algorithms, and heuristics aimed at achieving optimal graph layouts in real-world applications.
E N D
PG – 478:Open Graph Drawing Framework Planarisierung PG - Vortrag basierend auf: • Crossings and Planarization (Mutzel, Jünger, Gutwenger, Buchheim, Ebner `04) • An experimental Study of Crossing Minimization Heuristics (Gutwenger, Mutzel `03) Referent: Sebastian Sondern
Inhalt • Einführung • Planarisierungmethode • Experimentelle Ergebnisse • Schlussfolgerung Referent: Sebastian Sondern
f 1 2 a b e g 5 C c d B D 4 3 A 5 C a b d c B D A 4 3 g e 1 2 f Einführung • planarer Graph • kombinatorische Einbettung Knoten 1 : < 2 , 5 , 4 > ... Knoten 5 : < 1 , 2 , 3 , 4 > Fläche A : < f , e , d , c , g > ... Fläche D : < b , g , c> • Flächen / faces Referent: Sebastian Sondern
Einführung Warum Planarität ? Lesbarkeit steigt mit weniger Kreuzungen VLSI - Design Motivation: zeichne gegebenen Graphen in der Ebene und minimiere die Anzahl von Kantenkreuzungen NP-hard Referent: Sebastian Sondern
8 1 7 1 8 7 2 6 2 6 5 3 5 3 4 4 Planarisierungsmethode ( Batini, Talamo, Tamassia `84) Aufteilung in einzelne Optimierungsprobleme 1. Maximum Planar Subgraph Problem(MPSP) 2. Edge Insertion Problem(EIP) Referent: Sebastian Sondern
1 1 8 8 7 7 9 2 2 6 6 5 5 3 3 4 4 Planarisierungsmethode ( Batini, Talamo, Tamassia `84) Aufteilung in einzelne Optimierungsprobleme 1. Maximum Planar Subgraph Problem(MPSP) 2. Edge Insertion Problem(EIP) Referent: Sebastian Sondern
d d Planarisierungsmethode Ergebnis: Graph mit max. |Vd| - vielen Überkreuzungen in jeder planaren Zeichnung 2 Möglichkeiten für jeden Dummy d : Referent: Sebastian Sondern
Planarisierungsmethode • MPSP und EIP auch einzeln NP-hard • heuristische Lösung • optimale Lösungen für die jeweiligen Teilprobleme • ergeben zusammen nicht unbedingt die • optimale Lösung für den Graphen • Aber: in der Praxis gute Ergebnisse Referent: Sebastian Sondern
u1 v1 v2 u2 Planarisierungsmethode Beispiel : u2 v2 v1 u1 Referent: Sebastian Sondern
Maximum Planar Subgraph Problem Branch & Cut - Algorithmus (Jünger & Mutzel `96) • # zu entfernende Kanten < 10 : • optimale Lösung möglich • schnell zu berechnen • sonst: zu langsam für praktischen Einsatz Alternative: berechne maximal planar subgraph • beginne mit Graphen ohne Kanten • füge Kanten nacheinander hinzu, wenn möglich • (Planaritätstest) Referent: Sebastian Sondern
Maximal Planar Subgraph Problem besser: PQ-Baum basierter Algo(Jayakumar et al. `89) • worst-case Laufzeit quadratisch • garantiert keinen maximal planaren Teilgraphen • in der Praxis weit besser • randomisiert und wiederholt (wg.: Wahl der 1. Kante) • hier: PQ1, PQ10, PQ50, PQ100 Referent: Sebastian Sondern
Edge Re-Insertion Problem • Einzelne Kanten nacheinander einfügen • fixe Einbettung • variable Einbettung • Nachbearbeitung • Permutation Referent: Sebastian Sondern
Edge Re-Insertion Problem • Einzelne Kanten nacheinander einfügen • fixe Einbettung gegeben: FIX • Kante e kreuzt andere Kante • e benutzt Kante im geometrischen dualen Graphen Referent: Sebastian Sondern
w v Edge Re-Insertion Problem extended dual graph: Referent: Sebastian Sondern
Edge Re-Insertion Problem • Einzelne Kanten nacheinander einfügen • fixe Einbettung gegeben: FIX Kante e kreuzt andere Kante e benutzt Kante im geometrischen dualen Graphen • also: • kürzesten Weg berechnen • aber: • die Anzahl der Kantenüberkreuzungen • hängt stark von der fixen Einbettung ab Referent: Sebastian Sondern
2 2 1 3 1 3 8 6 8 6 7 7 5 4 5 4 9 9 Edge Re-Insertion Problem Beispiel: Referent: Sebastian Sondern
3-fach Zusammenhangs- komponenten Cut vertex z.B.: 8 9 1 7 4 3 2 5 6 2-fach Zusammenhangskomponenten (Blöcke) Edge Re-Insertion Problem Referent: Sebastian Sondern
1 e R 5 a h f d 2 Qa Qh Qc Qg g b 4 3 c Q S P R Kante im Graphen serielle Anordnung 3-fach Zshgk (rigid) Parallele Anordnung SPQR-Bäume Qb Skelette: Referent: Sebastian Sondern
1 e R 5 a h f d P 2 Qa Qh Qc Qg g b 4 3 c Qf Q S P R Kante im Graphen serielle Anordnung 3-fach Zshgk (rigid) Parallele Anordnung SPQR-Bäume Qb Skelette: Referent: Sebastian Sondern
1 e R 5 R a h f d P 2 Qa Qh Qc Qg P g b 4 3 S c Qf S Qd Qe Q S P R Kante im Graphen serielle Anordnung 3-fach Zshgk (rigid) Parallele Anordnung SPQR-Bäume Qb Skelette: Referent: Sebastian Sondern
Edge Re-Insertion Problem Einfügen einer Kante in eine variable Einbettung VAR (Gutwenger, Mutzel, Weiskircher `01) • Anzahl der verschiedenen Einbettungen exponentiell • Einfügen der Kante mit Hilfe des SPQR-Baumes min. Anzahl an Überkreuzungen über alle möglichen planaren Einbettungen • Kernstück des Verfahrens: • Berechnung eines optimalen Pfades zweier nicht-adjazenter Knoten in 2-fach Zshgk. Referent: Sebastian Sondern
R1 R2 3 2 12 4 4 1 5 11 2 9 7 7 10 8 6 Berechnung eines optimalen Pfades R4 R5 R3 R1 P R2 SPQR-Baum 2 1 Referent: Sebastian Sondern
R4 R5 R3 R1 R1 P R2 R2 3 SPQR-Baum 2 12 4 4 1 2 12 5 1 11 2 13 9 7 7 10 8 6 Berechnung eines optimalen Pfades Referent: Sebastian Sondern
R4 R5 R3 R1 R1 P R2 R2 3 SPQR-Baum 16 14 15 4 4 17 1 2 12 5 1 11 2 13 9 7 v 7 10 8 6 Berechnung eines optimalen Pfades Referent: Sebastian Sondern
3 3 16 16 R1 R2 14 14 15 15 4 4 17 17 18 18 19 19 2 2 11 11 1 1 12 12 5 5 20 20 21 21 13 13 9 9 7 7 10 10 8 8 6 6 Berechnung eines optimalen Pfades R4 R5 R3 R1 P R2 SPQR-Baum Referent: Sebastian Sondern
Edge Re-Insertion Problem • Nachbearbeitung Idee: Kann eine Kante später evtl.“besser“ eingefügt werden ? Strategien, welche Kanten erneut eingefügt werden: NONE: keine Nachbearbeitung INS: die Kanten aus der MPSP-Optimierung ALL: alle Kanten MOST x%: x% aller Kanten MOST x% : nach jeder Iteration werden die Kanten ausgewählt, die an den meisten Überkreuzungen beteiligt sind Referent: Sebastian Sondern
Edge Re-Insertion Problem • Permutation - erneutes Einfügen der aller gelöschten Kanten aus MPSP - Kantenreihenfolge permutieren - bestes Ergebnis behalten - hier: PERM1, Anzahl der Wiederholungen PERM2, PERM10, PERM20 Referent: Sebastian Sondern
Experimentelle Ergebnisse Vorraussetzungen: - Benchmark: Rome library 11.528 Graphen, 10 bis 100 Knoten Anzahl der gelöschten Kanten bei Graphen mit jeweils derselben Anzahl von Knoten Referent: Sebastian Sondern
Experimentelle Ergebnisse FIX vs. VAR Referent: Sebastian Sondern
Experimentelle Ergebnisse Nach- bearbeitung Referent: Sebastian Sondern
Experimentelle Ergebnisse Permutation Referent: Sebastian Sondern
Experimentelle Ergebnisse PQ1 vs. PQ100 Referent: Sebastian Sondern
Experimentelle Ergebnisse Vergleich: FIX / VAR und NONE / ALL Referent: Sebastian Sondern
Experimentelle Ergebnisse Laufzeit Referent: Sebastian Sondern
Experimentelle Ergebnisse Vergleich: Referent: Sebastian Sondern
Schlussfolgerung • Bei der Nachbearbeitung sollten alle Kanten mit einbezogen werden. Selbst 25% davon verbessern schon das Ergebnis. • Randomisierung und Permutation helfen auch, aber nicht so stark wie die Nachbearbeitung. • Ein guter planarer Teilgraph verkleinert nicht nur die Anzahl der Kreuzungen, sondern verbessert auch die Laufzeit. • Selbst mit Nachbearbeitung bringt eine variable Einbettung noch Verbesserungen. Referent: Sebastian Sondern
Ende Referent: Sebastian Sondern
Experimentelle Ergebnisse Referent: Sebastian Sondern