Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Graph-Drawing-Algorithmen

Ähnliche Präsentationen


Präsentation zum Thema: "Graph-Drawing-Algorithmen"—  Präsentation transkript:

1 Graph-Drawing-Algorithmen
Visualisierungstechniken für Graphen Leipzig,

2 3. Interaktionsmöglichkeiten 4. Fazit
Inhaltsangabe 1. Einführung 1.1. Motivation 1.2. Anwendungsbeispiele 2. Layout-Algorithmen 2.1. knotenbasierte Layouts Spring Algorithmus Topologiebasierte Layouts planare Graphen 2.2. Tree-Layout (Baumdiagramme) knotenbasierte Tree-Layouts raumfüllende Techniken 2.3. Matrix Visualisation 2.4. Knoten- und Kanten-Clustering 2.5. 3D Layout 3. Interaktionsmöglichkeiten 4. Fazit

3 1.Einführung 1.1. Motivation
Problem: (abstrakte) Informationen in eine leicht verständliche und übersichtliche Form bringen Lösung: Informationen in Graphen-Form wiedergeben Definition Graph (formal): Ein Graph G=(V,E) ist eine mathematische Struktur, bestehend aus Knoten V und Kanten E, die eine Menge von Objekten zusammen mit den zwischen diesen Objekten bestehenden Verbindungen repräsentiert. => Visualisierung des Graphen

4 1.2. Anwendungsbeispiele Soziale Netzwerke/ Stammbäume
1. Einführung 1.2. Anwendungsbeispiele Soziale Netzwerke/ Stammbäume Menschen als Knoten Beziehungen als Kanten Biologie/ Chemie Graph als molekulare/genetische Struktur Software Engineering Strukturen komplexer Software Systeme UML-Diagramme Datei-Struktur (Sonderfall: Baumdiagramm) etc.

5 Graph Layout-Algorithmen
Überblick: Graph Layout-Algorithmen Knotenbasiert Tree-Layout Kantenbasiert Spring TopoLayout topologiebasiert Sugiyama FPP-Alg. Schnyder Planar H-Tree Ballon radial klassisch

6 Kriterien für gute Lesbarkeit:
2. Layout-Algorithmen Kriterien für gute Lesbarkeit: Knoten und Kanten möglichst gleichmäßig verteilt Minimale Anzahl von Kantenkreuzungen Symmetrische Teilgraphen gleich dargestellt Minimale Anzahl von Kantenbiegungen Minimale Kantenlänge Verwendung von verschiedenen Schichten für Knoten unterschiedlicher Hierarchie Probleme: - Kriterien widersprechen sich teilweise - einige nur schwer effizient zu verwirklichen Lösung: Abstriche machen und einige Kriterien bevorzugen

7 2.1. knotenbasierte Layouts
2. Layout-Algorithmen 2.1. knotenbasierte Layouts Berechnung der Knotenkoordinaten und Repräsentation der Verbindungen Spring Algorithmus (Spring = physik. Feder) Ursprünglich von Eades 1984 veröffentlich, inzwischen schon oft überarbeitet Kräftebasiertes Verfahren, auch bekannt als force-directed Layout Oft genutztes Verfahren bei ungerichteten Graphen moderater Größe -> Graph als physikalisches System - (benachbarte) Knoten als sich abstoßende Partikel - Kanten als physikalische Federn, welche Partikel aneinander binden -> An jedem Knoten wirken 2 Kräfte: - Anziehungskraft (attraction force) - Abstoßungskraft (repulsive force)

8 2. Layout-Algorithmen Vorteil: - Einfachheit des Algorithmus - Produziert einfache, symmetrische Layouts Nachteil: - Instabiles Layout (erneuter Aufruf erzeugt ggf. anderes Ergebnis) - lange Laufzeit O(n³)

9 2.1.2. Topologiebasiertes Layout
2. Layout-Algorithmen Topologiebasiertes Layout TopoLayout (von Archambault) Verfahren (4 Phasen): 1. Aufspaltungsphase (decomposition) Graph in Teilgraphen zerlegen 2. Feature Layout Phase Verteilen/Auslegen der Teilgraphen 3. Crossing reduction Phase Eliminierung sich kreuzender Bereiche 4. Overlap elimination Phase Größe der Knoten anpassen, um Überlappung zu verhindern Resultat: Baumdiagramm, welches die Hierarchie repräsentiert Vorteil: - auch große Graphen übersichtlich darstellbar Nachteil: - nur für ungerichtete Graphen .

10 2. Layout-Algorithmen Frage: Was ist mit gerichteten Graphen? Antwort: Es gibt noch nicht viele Algorithmen für gerichtete Graphen. Einer der ersten war der Sugiyama-Algorithmus: -> Anordnung in verschiedenen Schichten (Layers): - Nachfolger in einer unteren Schicht - Vorgänger in einer oberen Schicht

11 2.1.3. planare Graphen d.h. Graph ohne sich kreuzende Kanten
2. Layout-Algorithmen planare Graphen d.h. Graph ohne sich kreuzende Kanten Voraussetzungen: Test ob planares Zeichnen überhaupt möglich ist Finden eines für Anwendung geeigneten Layout-Algorithmus Bsp. für Algorithmen: I. FPP-Algorithmus (Fraysseix, Pach, Pollack) Graph auf Gitter der Größe (2n-4)*(n-2) II. Schnyder-Algorithmus Gitter mit n² und Finden einer geraden Linie im Gitter Laufzeit: O(n)

12 2.2. Tree-Layout (Baumdiagramme)
2. Layout-Algorithmen 2.2. Tree-Layout (Baumdiagramme) - Eltern-Kind-Beziehungen zwischen den Knoten - Graphen Kreisfrei - Laufzeit: O(n log(n)) bis O(n) knotenbasierte Tree-Layouts I. Klassisch : in horizontaler oder vertikaler Ausdehnung Vorteil: übersichtlich, hierarchische Baumstruktur und Wurzel gut erkennbar Nachteil: nicht Platzeffizient II. Radial : Wurzel in der Mitte und Anordnung der Kinder im Kreis Knoten gleicher Hierarchie-Ebene teilen sich einen Umkreis Vorteil: platzsparender als klassisches Layout Nachteil: unübersichtlich – Mittelpunkt (Wurzel) kann bei komplexen Graphen nur schwer bestimmt werden

13 2. Layout-Algorithmen III. Ballon : Wurzel in der Mitte, Kinder umkreisen nur ihre direkten Eltern Vorteil: Struktur gut erkennbar, platzeffizienter als klassisches Layout Nachteil: bei großen Graphen unübersichtlich IV. H-Baum: geeignet für balancierte Bäume Vorteil: platzeffizienter als klassisches Layout Nachteil: Wurzel schwer identifizierbar

14 2.2.2 raumfüllende Techniken
2. Layout-Algorithmen 2.2.2 raumfüllende Techniken 2 Typen: I. Space-Division: Kinder werden direkt an Elternelemente angehängt z.B. Sunburst Algorithmus Anordnung der Elemente im Kreis um die Wurzel, Knoten sind Flächen und Ihre Beziehungen zueinander ergeben sich aus den gemeinsamen Grenzen (siehe radiales Tree-Layout) Vorteil: - effiziente Platznutzung - keine Verbindungslinien nötig, da Flächen direkt angrenzen Nachteil: - kann sehr unübersichtlich werden (Zugehörigkeit der Kinder zu den Eltern teilweise schwer zu erkennen) - Knotenpunkte können stark in Größe variieren, abhängig von Anzahl der Geschwisterelemente (einige Knoten-Flächen sogar zu klein für Beschriftung)

15 2. Layout-Algorithmen II. Space-Nested: Kinder werden in der Knoten-Fläche der Eltern platziert z.B. Tree-Map Aufteilung der rechteckigen Eltern-Flächen (-Knoten) unter den jeweiligen Kindern Vor- und Nachteil analog zu Space-Division

16 2.3. Matrix Visualisierung
2. Layout-Algorithmen 2.3. Matrix Visualisierung Knoten werden durch Zeilen und Spalten einer Matrix definiert und Kanten durch Einträge in der Matrix, dabei geben Zeilen und Spaltenindex die verbundenen Knoten an. Vorteil: - Übersichtliches Layout für Graphen moderater Größe - Kantenattribute können durch Farben in der Matrix visualisiert werden Nachteil: - Skalierbarkeit stark begrenzt -Wege schwer erkennbar

17 2.4. Knoten- und Kanten-Clustering
2. Layout-Algorithmen 2.4. Knoten- und Kanten-Clustering Stark vereinfachte Darstellung des Input-Graphens Vorteil: - weniger darzustellende Elemente => Verringerung des Rendering Aufwands (dadurch besonders für große Graphen geeignet) - Erhöht Suchgeschwindigkeit (da „vorsortiert“) Nachteil: - Details verborgen (siehe Kap. 3) 2 Typen: I. Kontextbasierendes Clustering (content-based) Gruppierung der Knoten nach semantischer Bedeutung -> Selten angewendet II. Natürliches Clustering Erhält die ursprüngliche Graphen-Struktur im weitesten Sinn 3 Verfahren (auch kombinierbar) : Strukturbasierend: Aufteilung mittels Abstand der Knoten zueinander Edge Clustering: Gruppierung von Kanten mit selben Endpunkten Flow-Map: Vereinigung aller Kanten eines Anfangspunktes zu einer dicken Kante

18 2.5. 3D Layout (Erweiterung der 2D-Verfahren)
2. Layout-Algorithmen 2.5. 3D Layout (Erweiterung der 2D-Verfahren) I. Treecube -> basiert auf TreeMap Layout II. Hyperbolic Tree-Layout -> basiert auf Balloon Tree-Layout

19 2. Layout-Algorithmen III. Conetree (Cone = Kegel) ->Basiert auf klassischem Tree-Layout Problem: Objekte (Knoten und Kanten) verdecken sich oft gegenseitig Lösung: siehe Kapitel 3

20 3. Interaktionsmöglichkeiten
Ziel der Visualisierungstechniken: Vereinfachung eines Sachverhalts zur Steigerung des Verständnisses Problem: besonders bei komplexen Graphen fehlt es oft an Übersichtlichkeit Lösung: Einführung von Interaktionsmöglichkeiten mit dem Graphen Zoomen und Schwenken (Basiswerkzeuge) Schwenken: den Blickwinkel auf den Graphen ändern Zoomen: wechseln zwischen der abstrakten und der detailierten Ansicht

21 Fazit 4. Fazit Veranschaulichung von Informationen in Graphen hilft dem Verständnis, wichtig dabei ist besonders ein geeignetes Layout zu wählen. Für jedes Problem gibt es eine Lösung und wenn es noch keinen Algorithmus gibt, kann er noch entwickelt werden ;) Probieren und Spielen (Fledermaus): Nützliche Literatur und Quellen: A General Introduction To Graph Visualization Techniques Raga’ad M. Tarawneh, Patric Keller and Achim Ebert - University of Kaiserslautern Diplomarbeit: Layout- und Filterverfahren zur Graphdarstellung in GroIMP Birka Fonkeng - Brandenburgische Technische Universität Cottbus Force-Directed Drawing Algorithms Stephen G. Kobourov - University of Arizona Layout-Algorithmen für Graphen - Seminar im Sommersemester 2013 Prof. Dr. Reinhard von Hanxleden - Christian-Albrechts-Universität zu Kiel


Herunterladen ppt "Graph-Drawing-Algorithmen"

Ähnliche Präsentationen


Google-Anzeigen