390 likes | 467 Views
PG – 478: O pen G raph D rawing F ramework. 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.
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