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) PG 478 : OGDF Planarisierung Inhalt • Einführung • Planarisierungmethode • Experimentelle Ergebnisse • Schlussfolgerung Referent: Sebastian Sondern 2 PG 478 : OGDF Planarisierung Einführung f 1 2 • planarer Graph • Flächen / faces • kombinatorische Einbettung Knoten 1 : < 2 , 5 , 4 > ... Knoten 5 : < 1 , 2 , 3 , 4 > C a e 5 B d 4 Referent: Sebastian Sondern g D c A 3 5 a b d Fläche A : < f , e , d , c , g > ... 1 Fläche D : < b , g , c > b B e C c 4 A 3 D g 2 f 3 PG 478 : OGDF Planarisierung 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 4 PG 478 : OGDF Planarisierung Planarisierungsmethode ( Batini, Talamo, Tamassia `84) Aufteilung in einzelne Optimierungsprobleme 1. Maximum Planar Subgraph Problem (MPSP) 2. Edge Insertion Problem (EIP) 8 1 7 2 6 3 5 4 Referent: Sebastian Sondern 1 8 2 6 3 4 7 5 5 PG 478 : OGDF Planarisierung Planarisierungsmethode ( Batini, Talamo, Tamassia `84) Aufteilung in einzelne Optimierungsprobleme 1. Maximum Planar Subgraph Problem (MPSP) 2. Edge Insertion Problem (EIP) 1 8 2 9 6 3 4 7 5 Referent: Sebastian Sondern 1 8 2 6 3 4 7 5 6 PG 478 : OGDF Planarisierung Planarisierungsmethode Ergebnis: Graph mit max. |Vd| - vielen Überkreuzungen in jeder planaren Zeichnung 2 Möglichkeiten für jeden Dummy d : d Referent: Sebastian Sondern d 7 PG 478 : OGDF Planarisierung 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 8 PG 478 : OGDF Planarisierung Planarisierungsmethode Beispiel : u2 u1 Referent: Sebastian Sondern u1 v2 v1 u2 v1 v2 9 PG 478 : OGDF Planarisierung 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 10 PG 478 : OGDF Planarisierung 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 11 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem 1. Einzelne Kanten nacheinander einfügen a. fixe Einbettung b. variable Einbettung 2. Nachbearbeitung 3. Permutation Referent: Sebastian Sondern 12 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem 1. Einzelne Kanten nacheinander einfügen a. fixe Einbettung gegeben: FIX Kante e kreuzt andere Kante e benutzt Kante im geometrischen dualen Graphen Referent: Sebastian Sondern 13 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem extended dual graph: w Referent: Sebastian Sondern v 14 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem 1. Einzelne Kanten nacheinander einfügen a. 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 15 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem Beispiel: 2 1 8 2 3 6 1 8 3 6 7 7 5 9 Referent: Sebastian Sondern 4 5 4 9 16 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem 3-fach Zusammenhangskomponenten 8 Cut vertex z.B.: 9 7 1 4 3 2 6 5 2-fach Zusammenhangskomponenten (Blöcke) Referent: Sebastian Sondern 17 PG 478 : OGDF Planarisierung Qb SPQR-Bäume 1 e R 5 a f Qa Qh d Qc Qg g 4 2 h b 3 c Skelette: Q Kante im Graphen S serielle Anordnung Referent: Sebastian Sondern P Parallele Anordnung R 3-fach Zshgk (rigid) 18 PG 478 : OGDF Planarisierung Qb SPQR-Bäume 1 e R 5 a f P Qa Qh d Qc Qg g 4 Qf 2 h b 3 c Skelette: Q Kante im Graphen S serielle Anordnung Referent: Sebastian Sondern P Parallele Anordnung R 3-fach Zshgk (rigid) 19 PG 478 : OGDF Planarisierung Qb SPQR-Bäume 1 e R R 5 a f P Qa Qh Qc Qg d P g 4 S Qf 2 h b 3 c S Qe Qd Skelette: Q Kante im Graphen S serielle Anordnung Referent: Sebastian Sondern P Parallele Anordnung R 3-fach Zshgk (rigid) 20 PG 478 : OGDF Planarisierung 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 21 PG 478 : OGDF Planarisierung Berechnung eines optimalen Pfades R3 3 R4 R5 R1 P R2 SPQR-Baum 2 12 4 4 1 2 5 9 10 1 11 2 7 8 Referent: Sebastian Sondern 6 7 22 PG 478 : OGDF Planarisierung Berechnung eines optimalen Pfades R3 3 R4 R5 R1 P R2 SPQR-Baum 2 12 4 4 1 12 2 5 1 11 2 13 9 10 7 8 Referent: Sebastian Sondern 6 7 23 PG 478 : OGDF Planarisierung Berechnung eines optimalen Pfades R3 3 R4 R5 R1 P R2 SPQR-Baum 14 15 16 4 4 17 1 12 2 5 1 11 2 13 9 7 v 10 8 Referent: Sebastian Sondern 6 7 24 PG 478 : OGDF Planarisierung Berechnung eines optimalen Pfades 3 14 15 2 1 12 16 4 18 19 20 21 R3 R4 R5 R1 P SPQR-Baum 17 11 3 5 13 14 9 15 16 4 7 19 10 R2 8 6 17 18 2 11 1 12 21 5 20 13 9 10 Referent: Sebastian Sondern 7 8 6 25 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem 2. 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 26 PG 478 : OGDF Planarisierung Edge Re-Insertion Problem 3. 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 27 PG 478 : OGDF Planarisierung 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 PQ1 19 PQ10 16 PQ50 15 PQ100 15 Referent: Sebastian Sondern Laufzeit / sec 0.002 0.34 28 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse FIX vs. VAR Referent: Sebastian Sondern 29 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse Nachbearbeitung Referent: Sebastian Sondern 30 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse Permutation Referent: Sebastian Sondern 31 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse PQ1 vs. PQ100 Referent: Sebastian Sondern 32 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse Vergleich: FIX / VAR und NONE / ALL Referent: Sebastian Sondern 33 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse Laufzeit Referent: Sebastian Sondern 34 PG 478 : OGDF Planarisierung Platz Kreuzungen Laufzeit /sec MPSP Einbettung Nachbe. Perm 1 28,56 8,778 PQ100 VAR ALL PERM20 2 28,61 8,563 PQ100 VAR MOST100 PERM20 3 28,66 5,902 PQ100 VAR MOST25 PERM20 4 29,09 4,359 PQ100 VAR MOST100 PERM10 5 29,35 3,060 PQ100 VAR MOST25 PERM10 6 30,01 0,259 PQ100 FIX MOST100 PERM20 7 30,43 0,258 PQ100 FIX ALL PERM20 8 30,62 0,130 PQ100 FIX MOST100 PERM10 9 31,11 0,128 PQ100 FIX ALL PERM10 10 31,64 0,112 PQ100 FIX MOST25 PERM10 11 33,16 0,054 PQ100 FIX MOST100 PERM2 ... ... ... ... ... ... ... 18 46,98 0,036 PQ100 FIX NONE PERM1 19 60,32 0,002 PQ1 FIX NONE PERM1 Referent: Sebastian Sondern 35 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse Vergleich: Referent: Sebastian Sondern 36 PG 478 : OGDF Planarisierung Schlussfolgerung 1. 2. 3. 4. 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 37 PG 478 : OGDF Planarisierung Ende Referent: Sebastian Sondern 38 PG 478 : OGDF Planarisierung Experimentelle Ergebnisse Referent: Sebastian Sondern 39