Graph-Drawing-Algorithmen

Slides:



Advertisements
Ähnliche Präsentationen
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Advertisements

Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Schnelle Matrizenoperationen von Christian Büttner
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. 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
Geometrisches Divide and Conquer
Layout Algorithmen.
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.
Parallele Gleichungslöser für die linearen TRACE-Module
PG 478 – Open Graph Drawing Framework Thema: Compounds & Force-Directed Francois Bertault & Mirka Miller – An Algorithm for Drawing Compound Graphs [1999]
Graph Drawing by Force-directed Placement
Algorithmen zur Unterstützung von Immersive Gaming
Zeichnen von Bäumen Seminar Graphenzeichnen SS03 von Lina Wolf.
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Paper: Aesthetics of Class Diagrams Vorgetragen von Tilmann Bartels Paper von Holger Eichelberger Universität Würzburg Bis jetzt gibt es keine allgemeingültige.
BSP Binary Space Partitioning
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Diskrete Mathematik II
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 Hartmut Klauck Universität Frankfurt SS
Christian Scheideler Institut für Informatik Universität Paderborn
Prof. Dr. Petra Mutzel Animation Planarisierungsverfahren Lehrstuhl für Algorithm Engineering LS11 Universität Dortmund Automatisches Zeichnen von Graphen.
Institut für Theoretische Informatik
Algorithmen und Datenstrukturen Übungsmodul 8
Peer-to-Peer-Netzwerke
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Eine kurze Geschichte der Graphentheorie
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Routenplanung querfeldein - Geometric Route Planning
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Planare Graphen Zeichnen von Graphen
Färben der Knoten von Graphen
Gliederung der Vorlesung
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Seminar Graph Drawing - Ein Algorithmus für die Visualisierung gerichteter GraphenGunter Ohrner VGG 1 Ein Algorithmus für die Visualisierung gerichteter.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
Vorlesung April 2000 Polygon Overlay
Philip Schill Erik Kurrat Simon Walther
Aktuelle Ergebnisse der AG Basismodellierung Integration thematischer Daten und mehrerer Level-of-Detail Gerhard Gröger.
Seminar im Fach Geoinformation IV
Generierung von Flächenrepräsentationen aus Punktdaten
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Darstellung kontinuierlicher Phänomene
Struktur-Funktions-Modelle von Pflanzen
Punkt-in-Landkarte II
Layout- und Filterverfahren zur Graphdarstellung in GroIMP
Struktur-Funktions-Modelle von Pflanzen
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Treewidth and its characterizations
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

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

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

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

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.

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

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

2.1. knotenbasierte Layouts 2. Layout-Algorithmen 2.1. knotenbasierte Layouts Berechnung der Knotenkoordinaten und Repräsentation der Verbindungen 2.1.1. 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)

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

2.1.2. Topologiebasiertes Layout 2. Layout-Algorithmen 2.1.2. 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 .

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

2.1.3. planare Graphen d.h. Graph ohne sich kreuzende Kanten 2. Layout-Algorithmen 2.1.3. 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)

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) 2.2.1. 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

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

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)

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

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

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

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

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

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

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): http://g.ivank.net/#17:14-2,3-2,4-1,5-4,6-2,7-2,8-2,9-4,10-4,11-4,11-10,10-9,9-5,5-1,6-7,7-8,3-6,3-14,13-15,14-12,1-13,15-14,15-1,14-17,15-12,16-1,16-14,15-17,16-17,1-17 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