Compound Graphen und hierarchisches Layout

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

8. Termin Teil B: Wiederholung Begriffe Baum
Der R-Baum Richard Göbel.
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Single-Source Shortest Paths: SSSP
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Minimum Spanning Tree: MST
Zerlegung von Graphen.
Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: Besprechung: Gruppe 2 - Übungsblatt.
Automatisches Zeichnen Ausgabe: — Besprechung:
Das LCA – Problem in Suffixbäumen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Kapitel 7. Sortier-Algorithmen
Kapitel 6. Suchverfahren
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
5. Sortier-Algorithmen Vorbemerkungen:
Marco Barz Seminar über Algorithmen SoSe2007
Sortierverfahren Richard Göbel.
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Sortierverfahren Richard Göbel.
Baumstrukturen Richard Göbel.
M. Feindt, U.Kerzel, Th. Kuhr, M. Milnik, T. Müller, G. Quast Universität Karlsruhe Grid-computing bei CDF.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Algorithmen und Datenstrukturen
Layout Algorithmen.
Lösung der Aufgabe 1: Die Erweiterung des Diagramms auf „Winged Egde“ besteht in zwei Beziehungen, nr-Kante und vl-Kante, zwischen der Klasse Kante. Jede.
Klausur „Diskrete Mathematik II“
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.
Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: Besprechung: Gruppe 2 - Übungsblatt.
PG 478 – Open Graph Drawing Framework Thema: Compounds & Force-Directed Francois Bertault & Mirka Miller – An Algorithm for Drawing Compound Graphs [1999]
Constraints in Graph Drawing 1
Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: Besprechung: Gruppe 2 - Übungsblatt.
Minimum Spanning Tree: MST
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Analyse thematischer Strukturen: Annotation und Automation
Paper: Aesthetics of Class Diagrams Vorgetragen von Tilmann Bartels Paper von Holger Eichelberger Universität Würzburg Bis jetzt gibt es keine allgemeingültige.
Vortrag über Graphen Von Jörg Hendricks.
2. Die rekursive Datenstruktur Baum 2
Sortieralgorithmen Sortieren von Arrays.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Medizinische Visualisierung
Graphen und Bäume.
Algorithmen und Datenstrukturen Übungsmodul 8
Das Traveling Salesman Problem (TSP)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Landkarten Landkarten sind Tesselationen mit folgenden Eigenschaften:
1 Slawa Belousow, Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik.
Optimierungs- Algorithmen
Binärbäume.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Klausur „Diskrete Mathematik II“
Laufzeitverhalten beim Sortieren
Punkt-in-Landkarte II
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

Compound Graphen und hierarchisches Layout Basierend auf Sander, G.: Layout Of Compound Directed Graphs Technical Report A/03/96 Hendrik Stroh 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Compound-Graphen Zusammenfassung von Knoten Semantische Gruppierung Verallgemeinerter Cluster-Graph Compounds können Start- und/oder Endpunkte von Kanten sein Anwendungen UML-Diagramme Kontrollflussdiagramme Schaltpläne 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Compound-Graph C‘=(G, T) Gerichteter Graph G = (B υ C, EG) Kanten zwischen „base nodes“ B und Compounds C 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Compound-Graph C‘=(G, T) „nesting tree“ T = (B υ C, ET) Blätter: „base nodes“ B Innere Knoten: Compounds C Kanten: Inklusionsrelation ET v gehört zu u, gdw. ein Weg u + v existiert 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Layout von Compound Graphen Ziel: Compound-Graphen unter Einhaltung folgender Konventionen zeichnen Kreuzungen jeglicher Art sollten möglichst vermieden werden Kanten sollten möglichst wenige Knicke haben Kanten sollten möglichst einheitlich gerichtet sein Überlappungen jeglicher Art sind nicht erlaubt Ein Compound u darf nur die Elemente, die zu u gehören, enthalten Hier: Auf Schichten basierendes Layout-Verfahren 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Lokale vs. Globale Schichtzuweisung Lokale Schichtzuweisung Jedes Compound bekommt eigene Schichten Jedes Compound ist genau einer Schicht zugewiesen Wenige Knoten pro Schicht Algorithmus von Sugiyama/Misue (1991) 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Lokale vs. Globale Schichtzuweisung Eine Schichtmenge für alle Knoten Compounds können über mehrere Schichten gehen Kompakter, da weniger Schichten mit mehr Knoten Algorithmus von Sander (1996) 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Phasen des Verfahrens von Sander Schichtzuweisung Zuordnung der Knoten zu Schichten, y-Koordinaten Produktion von Dummy-Knoten Lange Kanten durch Folgen von Dummy-Knoten und kurzen Kanten ersetzen Kreuzungsminimierung Umordnung der Knoten innerhalb der Schichten, so dass möglichst wenige Kreuzungen bestehen Positionierung von Knoten und Kanten Berechnung absoluter Koordinaten 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Schichtzuweisung Ränge R(v) für alle Knoten berechnen Rang gibt die Schichtzugehörigkeit an Knoten einer Schicht haben gleiche y-Koordinate 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Schichtzuweisung Compound u hat obere Grenze mit Rang Rmin(u) und untere Grenze mit Rang Rmax(u) Ziel: „legal rank assignment“ Rmin(a) < Rmax(a) Rmin(a) < R(v) < Rmax(a) Rmin(a) < Rmin(b) < Rmax(b) < Rmax(b) 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Schichtzuweisung „border nodes“ u(-) und u(+) für alle Compounds u Rmin(u) = R(u(-)) und Rmax(u) = R(u(+)) 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Schichtzuweisung „nesting graph“ Zwei Kopien des „nesting tree“ T „border nodes“ u(-) in oberer Kopie, u(+) in unterer Kopie Kanten in unterer Kopie werden umgekehrt „nesting edges“ 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Schichtzuweisung Durchlauf in topologischer Reihenfolge mit Rangberechnung ergibt gültige Rangzuordnung R(v) = max{R(w) | w є pred(v)} + 1 Gilt auch, wenn Kanten hinzugefügt werden, die keine Kreise produzieren 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Schichtzuweisung „extended nesting graph“ Alle Kanten e є EG, die keine Kreise produzieren, zum „nesting graph“ hinzufügen Nun Top-Down-Durchlauf mit Rangberechnung Die Quelle r(-) hat den Rang 1 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Schichtzuweisung Korrektur der Ränge oberer „border nodes“ 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Produktion von Dummy-Knoten Ziel: „proper hierarchy“ Lange Kanten werden in Folgen von Kantensegmenten und Dummy-Knoten zerlegt Ausgangspunkt: „extended nesting graph“ 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Produktion von Dummy-Knoten „nesting edges“ entfernen Für alle Kanten ist ersichtlich, zwischen welchen Schichten sie verlaufen 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Produktion von Dummy-Knoten Kanten e є EG, die Kreise produziert hätten, zum Graphen hinzufügen Auswahl geeigneter Begrenzungslinien als Endpunkte von Kanten Kanten sollten möglichst einheitlich gerichtet sein Kanten, die gegen die einheitliche Richtung verlaufen, werden temporär umgedreht 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Produktion von Dummy-Knoten Nun lange Kanten zerlegen Spannweite jeder Kante (v,w) ist R(w) - R(v) = 1 Dummy-Knoten zum „nesting tree“ T hinzufügen „border nodes“ u(-) und u(+) sowie Kanten (u,u(-)) und (u,u(+)) zu T hinzufügen Für Dummy-Knoten, die zu einer Kante (w1,w2) gehören, gibt es zwei Strategien Kreuzungen zw. Kanten und Rechtecken vermeiden 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Produktion von Dummy-Knoten Strategie 1: Kanten (w1,w2) verlaufen bevorzugt außerhalb von Compounds 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Produktion von Dummy-Knoten Strategie 2: Kanten (w1,w2) verlaufen bevorzugt innerhalb von Compounds 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Ausgangspunkt: „proper hierarchy“ „base nodes“, „border nodes“, normale Dummies Jeder Knoten v hat relative Position P(v) in seiner Schicht und gehört zu einem Compound u Alle Kantensegmente zeigen abwärts mit Spannweite 1 Umordnung der Knoten mit Barycenter-Werten Arithmetisches Mittel der Position aller Vorgänger (Top Down) bzw. Nachfolger (Bottom Up) Ergibt bessere P(v)-Werte  weniger Kreuzungen Aber: Spezielle Regeln für Compound-Graphen werden missachtet 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Regel 1: Knoten eines Compound mit gleichem Rang müssen in ununterbrochener Folge innerhalb der Schicht angeordnet werden 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Regel 2: Compounds dürfen nicht verflochten werden 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Trotz Missachtung der Regeln ist die Barycenter-Methode ein guter Ausgangspunkt 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung In Folge werden die Knoten entsprechend der Regeln innerhalb der Schichten umgeordnet Richtwert für die Position eines Compounds u ist die mittlere Position seiner Knoten „complete average position“ P*(u) Mittlere Position aller Blätter des Compounds u „average position“ für Schicht i P*i(u) Mittlere Position aller Blätter von u mit Rang i Idee: Wenn P*i(u1) < P*i(u2), dann ist zu erwarten, dass viele zu u1 gehörende Knoten links von zu u2 gehörenden positioniert sind 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Markierung des „nesting tree“ T Für alle inneren Knoten u wird P*i(u) und die Anzahl Ni(u) von Blättern, die zu u gehören und Rang i haben, gespeichert Für Blätter v gilt: P*i(v) = P(v) und Ni(v)=1 Schichten werden unabhängig voneinander betrachtet „reduced nesting tree“ Ti 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung „reduced nesting tree“ Ti Enthält nur Blätter v mit Rang i 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Durchlauf, so dass die Kinder jedes inneren Knotens nach P*i(u) sortiert werden 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Ergebnis: Innerhalb der Schichten bestehen keine Verflechtungen mehr Aber: In Bezug auf alle Schichten können Compounds immer noch verflochten sein Deshalb: „subgraph ordering graph“ 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Topologische Sortierung ergibt Ordnung λO, die angibt, welches Compound links von anderen ist Bei Verflechtungen bestehen Kreise und der Graph kann nicht topologisch sortiert werden Kreise am Knoten mit kleinstem P*(w) auflösen 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Kreuzungsminimierung Nun alle Schichten durchlaufen und Knoten innerhalb der Schichten entsprechend λO sortieren Ergebnis: Compounds sind nicht mehr verflochten 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Positionierung von Knoten & Kanten 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

Positionierung von Knoten & Kanten 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund

PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund Fragen? 27.10.2005 PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund