Referent: Sebastian Sondern PG – 478: Open Graph Drawing Framework PG - Vortrag Planarisierung Referent: Sebastian Sondern basierend auf: Crossings and Planarization (Mutzel, Jünger, Gutwenger, Buchheim, Ebner `04) An experimental Study of Crossing Minimization Heuristics (Gutwenger, Mutzel `03)
Inhalt Einführung Planarisierungmethode Experimentelle Ergebnisse Schlussfolgerung Referent: Sebastian Sondern
Einführung planarer Graph Flächen / faces kombinatorische Einbettung 1 5 4 3 2 a b c d f e g planarer Graph A B C D 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 c d f e g 4 5 1 2 3 C D B A a b 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
Planarisierungsmethode ( Batini, Talamo, Tamassia `84) Aufteilung in einzelne Optimierungsprobleme 1. Maximum Planar Subgraph Problem (MPSP) 2. Edge Insertion Problem (EIP) 6 5 7 4 3 2 1 8 1 2 3 4 6 8 5 7 Referent: Sebastian Sondern
Planarisierungsmethode ( Batini, Talamo, Tamassia `84) Aufteilung in einzelne Optimierungsprobleme 1. Maximum Planar Subgraph Problem (MPSP) 2. Edge Insertion Problem (EIP) 1 2 3 4 6 8 5 7 9 1 2 3 4 6 8 5 7 Referent: Sebastian Sondern
Planarisierungsmethode Ergebnis: Graph mit max. |Vd| - vielen Überkreuzungen in jeder planaren Zeichnung 2 Möglichkeiten für jeden Dummy d : d 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
Planarisierungsmethode Beispiel : u2 v1 v2 u1 u2 v2 u1 v1 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
Edge Re-Insertion Problem extended dual graph: w v 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
Edge Re-Insertion Problem Beispiel: 8 9 6 7 5 3 1 2 4 8 9 6 7 5 3 1 2 4 Referent: Sebastian Sondern
Edge Re-Insertion Problem 3-fach Zusammenhangs- komponenten z.B.: 2-fach Zusammenhangskomponenten (Blöcke) 2 1 3 9 4 7 8 5 6 Cut vertex Referent: Sebastian Sondern
SPQR-Bäume Qb R 1 2 3 4 5 Qa Qh Qc Qg Skelette: Q S P R f d e Qa Qh Qc Qg Skelette: Kante im Graphen Q serielle Anordnung S Parallele Anordnung P 3-fach Zshgk (rigid) R Referent: Sebastian Sondern
SPQR-Bäume Qb R 1 2 3 4 5 P Qa Qh Qc Qg Qf Skelette: Q S P R d e P Qa Qh Qc Qg Qf Skelette: Kante im Graphen Q serielle Anordnung S Parallele Anordnung P 3-fach Zshgk (rigid) R Referent: Sebastian Sondern
SPQR-Bäume R P S Qb R 1 2 3 4 5 P Qa Qh Qc Qg Qf S Qe Qd Skelette: Q S Kante im Graphen Q serielle Anordnung S Parallele Anordnung P 3-fach Zshgk (rigid) R 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
Berechnung eines optimalen Pfades 1 2 10 8 6 3 12 4 5 7 9 SPQR-Baum 2 4 7 11 2 1 Referent: Sebastian Sondern
Berechnung eines optimalen Pfades SPQR-Baum 1 8 6 3 12 4 5 7 9 2 11 10 13 Referent: Sebastian Sondern
Berechnung eines optimalen Pfades v R3 R4 R1 P R2 R5 SPQR-Baum 1 8 6 3 15 7 9 2 4 11 14 10 13 12 5 16 17 Referent: Sebastian Sondern
Berechnung eines optimalen Pfades 1 8 6 3 15 7 9 14 10 13 12 4 5 16 17 R4 R5 R3 R1 R2 R1 P R2 11 21 19 18 20 2 SPQR-Baum 11 21 19 18 20 2 1 8 6 3 15 7 9 14 10 13 12 4 5 16 17 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 Gelöschte Kanten Laufzeit / sec PQ1 19 0.002 PQ10 16 PQ50 15 PQ100 0.34 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
Platz Kreuzungen Laufzeit /sec MPSP Einbettung Nachbe. Perm 1 28,56 8,778 PQ100 VAR ALL PERM20 2 28,61 8,563 MOST100 3 28,66 5,902 MOST25 4 29,09 4,359 PERM10 5 29,35 3,060 6 30,01 0,259 FIX 7 30,43 0,258 8 30,62 0,130 9 31,11 0,128 10 31,64 0,112 11 33,16 0,054 PERM2 ... 18 46,98 0,036 NONE PERM1 19 60,32 0,002 PQ1 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