Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Compound Graphen und hierarchisches Layout

Ähnliche Präsentationen


Präsentation zum Thema: "Compound Graphen und hierarchisches Layout"—  Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

11 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(+)) PG OGDF: An Open Graph Drawing Framework - Uni Dortmund

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Herunterladen ppt "Compound Graphen und hierarchisches Layout"

Ähnliche Präsentationen


Google-Anzeigen