Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

27.10.2005PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund1 Compound Graphen und hierarchisches Layout Basierend auf Sander, G.: Layout Of.

Ähnliche Präsentationen


Präsentation zum Thema: "27.10.2005PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund1 Compound Graphen und hierarchisches Layout Basierend auf Sander, G.: Layout Of."—  Präsentation transkript:

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

2 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund2 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

3 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund3 Compound-Graph C=(G, T) Gerichteter Graph G = (B υ C, E G ) Kanten zwischen base nodes B und Compounds C

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

5 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund5 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

6 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund6 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)

7 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund7 Lokale vs. Globale Schichtzuweisung 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)

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

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

10 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund10 Schichtzuweisung Compound u hat obere Grenze mit Rang R min (u) und untere Grenze mit Rang R max (u) Ziel: legal rank assignment R min (a) < R max (a) R min (a) < R(v) < R max (a) R min (a) < R min (b) < R max (b) < R max (b)

11 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund11 Schichtzuweisung border nodes u (-) und u (+) für alle Compounds u R min (u) = R(u (-) ) und R max (u) = R(u (+) )

12 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund12 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

13 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund13 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

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

15 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund15 Schichtzuweisung Korrektur der Ränge oberer border nodes

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

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

18 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund18 Produktion von Dummy-Knoten Kanten e є E G, 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

19 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund19 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 (w 1,w 2 ) gehören, gibt es zwei Strategien Kreuzungen zw. Kanten und Rechtecken vermeiden

20 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund20 Produktion von Dummy-Knoten Strategie 1: Kanten (w 1,w 2 ) verlaufen bevorzugt außerhalb von Compounds

21 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund21 Produktion von Dummy-Knoten Strategie 2: Kanten (w 1,w 2 ) verlaufen bevorzugt innerhalb von Compounds

22 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund22 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

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

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

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

26 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund26 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 (u 1 ) < P* i (u 2 ), dann ist zu erwarten, dass viele zu u 1 gehörende Knoten links von zu u 2 gehörenden positioniert sind

27 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund27 Kreuzungsminimierung Markierung des nesting tree T Für alle inneren Knoten u wird P* i (u) und die Anzahl N i (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 N i (v)=1 Schichten werden unabhängig voneinander betrachtet reduced nesting tree T i

28 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund28 Kreuzungsminimierung reduced nesting tree T i Enthält nur Blätter v mit Rang i

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

30 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund30 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

31 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund31 Kreuzungsminimierung

32 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund32 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

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

34 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund34 Positionierung von Knoten & Kanten

35 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund35 Positionierung von Knoten & Kanten

36 PG OGDF: An Open Graph Drawing Framework - Uni Dortmund36 Fragen?


Herunterladen ppt "27.10.2005PG 478 - OGDF: An Open Graph Drawing Framework - Uni Dortmund1 Compound Graphen und hierarchisches Layout Basierend auf Sander, G.: Layout Of."

Ähnliche Präsentationen


Google-Anzeigen