Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung...

23
Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra

Transcript of Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung...

Page 1: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Präsentation zu Milestone 1:

Planaritätstest, Planarisierierung undOrthogonalisierung

Gruppenmitglieder:

cku, ocl, pdo, bra

Page 2: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Gliederung

1. Was ist Planarität ?

2. Momentaner Projektstatus• Offene / abgeschlossene Tickets• Grunddatenstruktur

3. Geplante Implementationen• Boyer-Myrvold-Algorithmus• Links-Rechts-Planaritätskriterium• Planarisation durch Knoteneinfügen• Orthogonalisierung von planaren Graphen

Page 3: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Was ist Planarität ?

Def.: Ein Graph ist dann planar, wenn er sich ohne Kantenüberkreuzung zeichnen lässt.

Beispiel:

Page 4: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Projektziele

• Zu gegebenen Graphen überprüfen, ob dieser planar ist (und ggf. planare Einbettung ermitteln)

• Falls der Graph nicht planar ist, diesen z.B. durch Einfügen von zusätzlichen Knoten zu einem planaren Graphen umwandeln

• Darstellung eines planaren Graphen mithilfe eines (quasi-)orthogonalen Ansatzes

Page 5: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Datenstruktur (erste Idee)

Page 6: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Datenstruktur für Boyer /Myrvold

Page 7: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Planare Einbettung über Kanteneinfügen

ocl

Page 8: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Planare Einbettung über Kanteneinfügen

• Basiert auf John M. Boyer, Wendy J. Myrvold: “On the Cutting Edge: Simplified O(n) Planarity by Edge Addition”

• Liefert relativ schnell (lineare Laufzeit) eine planare Einbettung für planare Graphen

• Seit 2004 state-of-the-art Algorithmus für Planaritätstests

Page 9: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Überblick

Tiefensuche erzeugt Baum und ordnet Knoten an Knoten werden in umgekehrter Reihenfolge durchlaufen Zu jedem Knoten wird versucht, die Rückwärtskanten

soweit wie möglich planar einzufügen Ergebnis ist planare Einbettung (wenn möglich) oder

planare Einbettung eines Subgraphen

Page 10: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Der Links-Rechts-Planaritätstest

pdo

Quelle: Brandes, U.: The Left-Right-Planary Test

Page 11: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Der Links-Rechts-Planaritätstest

• Entwickelt von H. de Fraysseix, P. Rosenstiehl, P.O.Mendes

• Algorithmus, der in linearer Zeit auf Planarität testet und ggf. planare Einbettung liefert.

• Aufgrund mangelnder Dokumentation und bislang nur weniger Implementierungen bisher kaum bekannt.

Page 12: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

GrundideeDer Graph wird mehrmals mittels DFS durchlaufen:

• 1. Phase: Baum- und Rückwärtskanten werden identifiziert und charakteristische Merkmale (Lowpoints, Verschachtelungsreihenfolge) werden ermittelt.

• 2. Phase: Rückwärtskanten werden unter Berücksichtigung von Konfliktkanten (solche, die nicht überschneidungsfrei in eine Partition passen) rechter oder linker Partition zugeordnet.

Gelingt dies nicht: Graph nicht planar

• 3. Phase: Einbettung (wenn planar) ergibt sich aus Phase 2

Page 13: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Beispiel einer LR-Partition:

Page 14: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Einfügen einer Kante in einen planaren Graphen

cku

Page 15: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Quelle

• C. Gutwenger, P. Mutzel, R. Weiskircher:

"Inserting an edge into a planar graph,"

In Proceedings of the Twelfth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA ’01), pp. 246-255, 2001.

Page 16: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Planarisierungsmethode

• Lösche Kanten aus Eingabegraphen bis dieser planar ist

• Füge diese nacheinander hinzu und ersetze die möglichst wenigen Kreuzungen mit Dummyknoten mit 4 inzidenten Kanten

• Es liegt jederzeit ein planarer Graph vor• Umwandeln der Dummyknoten in Kreuzungen

ergibt Zeichnung des ursprünglichen Graphen

Page 17: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Einbettungsbeispiele

Page 18: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Bisheriger Ansatz

• Beliebige Einbettung des planaren Graphen gewählt und darin den kürzesten Pfad im dualen Graphen errechnet.

• Problem: für die gewählte Einbettung sind die Kreuzungen minimal. Allerdings kann es für andere Einbettungen bessere Lösungen geben.

Page 19: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Neuer Ansatz

• Minimiert die Anzahl der Kreuzungen über alle Einbettungen

• Nutzung von SPQR-Bäumen

• Anwendung von dualen Graphen:

Page 20: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Grundideen

• Graph wird in Zusammenhangskomponenten (ZHK) zerlegt

• Falls zu verbindende Knoten in unterschiedlichen ZHK liegen so kann man sie verbinden ohne eine Kreuzung zu riskieren

• Falls sie in derselben ZHK liegen greift der Algorithmus

Page 21: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Orthogonales Zeichnen eines

planaren Graphen

bra

Quelle: Klau, G. W.; Mutzel, P.; Quasi-Orthogonal Drawing of Planar Graphs

Page 22: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

Orthogonalisierung

• Erster Ansatz entwickelt von R. Tamassia 1987

• Seitdem Entwicklung anderer Ansätze (Giotto, Kandinsky, Quod)

• Orthogonalität aus Gründen der Lesbarkeit und der Ästhetik sehr beliebt

Page 23: Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.

GrundideeAlgorithmus arbeitet mit gegebenem planaren Graphen:

• 1. Phase: Knick-Minimierung (nach Tamassia) durch Flussnetzwerkminimierung

• 2. Phase: Quasi-orthogonale Einbettung des Graphen in ein Gitter