PG 478 – Open Graph Drawing Framework Thema: Compounds & Force-Directed Francois Bertault & Mirka Miller – An Algorithm for Drawing Compound Graphs [1999]

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Freie Universität Berlin Institut für Informatik
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Zerlegung von Graphen.
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Das LCA – Problem in Suffixbäumen
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Suche in Texten: Suffix-Bäume
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix –Tree –Konstruktion Ukkonen Algorithmus.
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.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Algorithmen und Datenstrukturen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Katja Losemann Chris Schwiegelshohn
Planarisierung von Cluster Graphen
Compound Graphen und hierarchisches Layout
Graph Drawing by Force-directed Placement
Algorithmen und Komplexität
Christian Schindelhauer
Minimum Spanning Tree: MST
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Vortrag über Graphen Von Jörg Hendricks.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Diskrete Mathematik II
Diskrete Mathematik II
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Analyse der Laufzeit von Algorithmen
Eine kurze Geschichte der Graphentheorie
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Gliederung der Vorlesung
Punkt-in-Landkarte II
Computing orthogonal drawings with the minimum number of bends
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

PG 478 – Open Graph Drawing Framework Thema: Compounds & Force-Directed Francois Bertault & Mirka Miller – An Algorithm for Drawing Compound Graphs [1999] Bernd Zey

Compounds & Force-Directed – Bernd Zey 3.Zeichen-Algorithmus für Compounds 1.Einleitung 2.Was sind Cluster-, Compound-, Nested- Graphen? Übersicht – Worum gehts?

Compounds & Force-Directed – Bernd Zey2 Darstellung von Relationen Graphen Grenzen des klassischen Graph-Modells werden schnell erreicht Cluster-, Compound-, Nested-, Hyper- Graphen 1.Einleitung

Compounds & Force-Directed – Bernd Zey3 Hyper-Graphen sind vielfältig und können Inklusionen, Schnitte und Relationen in einem Diagramm darstellen 1.Einleitung – Hyper-Graphen A B C D E F G H I J K L M

Compounds & Force-Directed – Bernd Zey4 1.Einleitung – Cluster-Graphen Einteilung von Knoten in Cluster

Compounds & Force-Directed – Bernd Zey Compound = Mittelweg zwischen Cluster und Hyper 1.Einleitung – Compound-Graphen Inklusionen bzw. Hierarchien als auch Relationen

Compounds & Force-Directed – Bernd Zey6 Wird definiert durch einen Baum und einen (un)gerichteten Graph Baum Hierarchie Knotenmengen sind identisch, die Kantenmengen unterscheiden sich 2.Was ist ein Compound-Graph? Graph Relationen

Compounds & Force-Directed – Bernd Zey Was ist ein Compound-Graph?

Compounds & Force-Directed – Bernd Zey8 2.Compound-Graph – alternative Darstellung

Compounds & Force-Directed – Bernd Zey9 2.Formale Definition eines Compound-Graphen Ein Compound-Graph wird definiert durch ein Paar C = (G,T) mit G ist ein Graph: G = (V,E G ) T ist ein Baum: T = (V,E T,r), wobei folgende Bedingung erfüllt ist: (a,b) E G a Vorfahren(b) und b Vorfahren(a)

Compounds & Force-Directed – Bernd Zey10 Compound-Graph, in dem nur Kanten zwischen Blättern existieren Formal: Ein Cluster-Graph Cl = (G,T) ist ein Compound- Graph mit (a,b) E G : a Blätter(T) & b Blätter(T) 2.Formale Definition eines Cluster-Graphen

Compounds & Force-Directed – Bernd Zey Cluster-Graph – Beispiel

Compounds & Force-Directed – Bernd Zey12 3.Zeichen-Algorithmus Vielzahl von Algorithmen für Cluster-Graphen Beispiel: Cluster Planarization SpanningTree, SimpleReinsertion, Reinsertion (Materialisierung der Cluster, Dualer Graph) Ziel: Algorithmus für Compound-Graphen

Compounds & Force-Directed – Bernd Zey Zeichen-Algorithmus – Idee

Compounds & Force-Directed – Bernd Zey14 3.Definition: Nested- Graph Formal: Ein Nested-Graph N = (G,T) ist ein Compound- Graph mit (a,b) E G : Elter(a) = Elter(b) Nested-Graph = Compound-Graph, in dem Kanten nur zwischen Geschwistern existieren

Compounds & Force-Directed – Bernd Zey Nested- Graph

Compounds & Force-Directed – Bernd Zey16 3.Algorithmus zum Compound-Zeichnen – NUAGE NUAGE ist ein Rahmenalgorithmus Idee: Konstruktion eines Nested-Graphen aus dem Compound-Graphen Zeichenalgorithmen als Unterprogramme

Compounds & Force-Directed – Bernd Zey17 3.Algorithmus – Beschreibung Schritt 1: Konstruktion des Nested-Graphen Schritt 2: Berechne Positionen und Größe der Knoten Schritt 3: Transformation in den Compound-Graphen Schritt 4: Zeichnung erstellen

Compounds & Force-Directed – Bernd Zey18 Für e = (a,b) E G : Wenn Elter(a) = Elter(b) (a,b) E H Ansonsten: suche Vorfahren a,b von a,b mit Elter(a) = Elter(b) (a,b) E H 3.Algorithmus – Schritt 1 Gegeben: Compound-Graph mit Kantenmenge E G Gesucht: Nested-Graph mit Kantenmenge E H Schritt 1: Konstruktion des Nested-Graphen

Compounds & Force-Directed – Bernd Zey19 3.Konstruktion des Nested-Graphen – Beispiel

Compounds & Force-Directed – Bernd Zey20 3.Algorithmus – Schritt 2 Schritt 2: Berechne Positionen und Größe der Knoten Basiert auf den klassischen Graph-Zeichen-Algorithmen Funktionsweise des Algorithmus: DFS-Durchlauf durch den Baum Jeder Teilgraph wird betrachtet

Compounds & Force-Directed – Bernd Zey21 Für jeden inneren Knoten v wird der Teilgraph G mit v als Wurzel betrachtet Unteralgorithmus Größe und Position für jeden Knoten Berechne die Größe des Rechtecks, welches G enthält Es wird für alle Knoten in G die relative Position gesetzt Nach einem vollständigen DFS wird jedem Knoten seine absolute Position zugewiesen 3.Algorithmus – Schritt 2

Compounds & Force-Directed – Bernd Zey22 3.Algorithmus – Schritt 2 Procedure FLEUR (N) Begin relative_position(r); absolute_position(r,0,0); End; Eingabe: Nested-Graph, Größe jedes Blatt-Knotens Ausgabe: Position und Größe aller Knoten in N

Compounds & Force-Directed – Bernd Zey23 Procedure relative_position(v:node) Begin If Kinder(v) then begin For all s Kinder(v) do relative_position(s); H := Teilgraph von G mit v als Wurzel; Berechne Positionen von Knoten in H mit Hilfe eines Unteralgorithmus; Berechne die bounded-box von H; Setze relative Position von Knoten in H; end; End; 3.Algorithmus – Schritt 2 – Pseudocode

Compounds & Force-Directed – Bernd Zey24 3.Algorithmus – Schritt 2 – Beispiel

Compounds & Force-Directed – Bernd Zey25 3.Zwischenresultat Schritt 1: Compound Nested Schritt 2: Berechne Positionen und Größe der Knoten Nun: Schritt 3: Nested-Graph Compound-Graph Vorgehensweise: Kanten zurück biegen

Compounds & Force-Directed – Bernd Zey Algorithmus – Schritt 3 PROBLEM!

Compounds & Force-Directed – Bernd Zey27 3.Algorithmus – Problem NUAGE ignoriert Kanten, welche im Schritt Compound Nested verändert wurden Kantenkreuzungen möglich Lösungen? Kantenlängen minimieren Knoten - die Kanten nach außen haben - an den Rand schieben

Compounds & Force-Directed – Bernd Zey28 3.Algorithmus – Problemlösung Vorgehensweise zur Verbesserung: Betrachte Kanten, welche zwischen Knoten mit unterschiedlichem Elter verlaufen force-directed-Algorithmus, welcher die Abstoßungskraft ignoriert Dadurch erhält man den gewünschten Effekt

Compounds & Force-Directed – Bernd Zey29 3.Algorithmus – Problemlösungs-Beispiel

Compounds & Force-Directed – Bernd Zey30 Literatur: Francois Bertault & Mirka Miller – An Algorithm for Drawing Compound Graphs Das wars