30
1 FADE: Graph Drawning, Clustering and visual Abstraction Force-Directed-Drawing Fade-Algorithmus Auswertung Institut f ¨ ur Theoretische Informatik FADE: Graph Drawning, Clustering and visual Abstraction Seminar-Vortrag von Michael Vollmer KIT – Universit¨ at des Landes Baden-W ¨ urttemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

FADE: Graph Drawning, Clustering and visual Abstraction · Force Directed Drawing 3 FADE: Graph Drawning, Clustering and visual Abstraction Force-Directed-Drawing Fade-Algorithmus

Embed Size (px)

Citation preview

1 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Institut fur Theoretische Informatik

FADE: Graph Drawning, Clustering and visual Abstraction

Seminar-Vortrag von Michael Vollmer

KIT – Universitat des Landes Baden-Wurttemberg undnationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Inhalt

2 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

1. Force-Directed-Drawing

2. FADE Algorithmus

3. Auswertung

Force Directed Drawing

3 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Algorithmen zum zeichnen theoretischer Graphen (punktformigeKnoten)Physikalisches Modell

Edge Forces Knoten die verbunden sind ziehen sich an, als seien siedurch eine mechanische Feder verbundenNon-Edge Forces Knoten stoßen sich gegenseitig ab, als waren sie gleichgeladene Teilchen

Ablauf:1. Beginne mit beliebiger Einbettung2. Repeat

2.1 Berechne Krafte2.2 Wende Krafte an

3. Until: Konvergenz

Force Directed Drawing - Beispiel

4 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Force Directed Drawing - Beispiel

4 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Force Directed Drawing - Beispiel

4 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Force Directed Drawing - Beispiel

4 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Force Directed Drawing - Beispiel

4 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Force Directed Drawing - Beispiel

4 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Force Directed Drawing - Beispiel

4 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Force Directed Drawing

5 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

VorteileErzielt meist gutes Clustering, d.h. stark vernetze Knoten sind nah beieinander und bilden entsprechende ”Gruppchen“Geringe Komplexitat

NachteileHohe Laufzeit, da Non-Edge-Forces zwischen allen Knoten (O(n2))berechnet werden mussen.Das erste gefundene Krafte-Gleichgewicht kann wesentlich schlechter seinals das beste Ergebnis

Force Directed Drawing

5 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

VorteileErzielt meist gutes Clustering, d.h. stark vernetze Knoten sind nah beieinander und bilden entsprechende ”Gruppchen“Geringe Komplexitat

NachteileHohe Laufzeit, da Non-Edge-Forces zwischen allen Knoten (O(n2))berechnet werden mussen.Das erste gefundene Krafte-Gleichgewicht kann wesentlich schlechter seinals das beste Ergebnis

Force Directed Drawing

5 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

VorteileErzielt meist gutes Clustering, d.h. stark vernetze Knoten sind nah beieinander und bilden entsprechende ”Gruppchen“Geringe Komplexitat

NachteileHohe Laufzeit, da Non-Edge-Forces zwischen allen Knoten (O(n2))berechnet werden mussen.Das erste gefundene Krafte-Gleichgewicht kann wesentlich schlechter seinals das beste Ergebnis

FADE

6 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

FADE beschleunigt diese Algorithmen, indem es Knoten zurBerechnung der Non-Edge-Forces bei weit entfernten Knotengruppiert

n · log(n) statt n2 Berechnungen

Hierfur werden sogenannte Quad-Trees erstellt

Quad-Trees

7 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Teilt den Raum des Graph in 4 Teile, falls ein Teil mehr als einenKnoten enthalt wird dieser wieder in 4 Teile aufgeteilt usw.Hieraus ergibt sich ein Baum bei dem jeder Nicht-Blatt-Knoten genau4 Kinder besitzt und jedes Blatt entweder einen oder keinen KnotenenthaltZusatzlich speichert man sich in jedem Knoten wieviele Knoten erreprasentiert und die mittleren Position dieser Punkte

Quad-Trees - Beispiel

8 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Quad-Trees - Beispiel

8 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Quad-Trees - Beispiel

8 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Quad-Trees - Beispiel

8 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Quad-Trees - Beispiel

8 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

2

2

Quad-Trees - Beispiel

8 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

2

4 3 3 2

2

4

3

3

2

Quad-Trees - Beispiel

8 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

2

4 3 3 2

2

4

3

3

2

12

12

FADE Ablauf

9 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

1. Beginne mit initialer Einbettung2. Repeat

2.1 Berechne Edge-Forces2.2 Erzeuge Quad-Tree des Graphen2.3 Berechne Non-Edge-Forces fur alle Knoten

Berechne zunachst zwischen dem Knoten und den Baumknoten, falls (einer)dieser Baumknoten nahe ist, teile diesen Knoten in seine 4 Kinder auf undwiederhole entsprechend fur alle 4 Kinder

2.4 Wende Krafte an

3. Until: Konvergenz

FADE Non-Edge-Forces

10 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Nahe bedeutet sd > θ

s = Zellenbreite des Knotens ( Graphbreite4Baumlevel )

d = Distanz zwischen Knoten und Baumknotenθ = Toleranzparameter (bspw. 1)

sd > 1⇔ s > d

FADE Non-Edge-Forces

10 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Nahe bedeutet sd > θ

s = Zellenbreite des Knotens ( Graphbreite4Baumlevel )

d = Distanz zwischen Knoten und Baumknotenθ = Toleranzparameter (bspw. 1)

sd > 1⇔ s > d

2

4 3 3 2

2

4

3

3

2

12

12

d

s

FADE Non-Edge-Forces

10 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Nahe bedeutet sd > θ

s = Zellenbreite des Knotens ( Graphbreite4Baumlevel )

d = Distanz zwischen Knoten und Baumknotenθ = Toleranzparameter (bspw. 1)

sd > 1⇔ s > d

2

4 3 3 2

2

4

3

3

2

s0

s1

s2

s3

d0

d1d2

d3

FADE Non-Edge-Forces

10 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Nahe bedeutet sd > θ

s = Zellenbreite des Knotens ( Graphbreite4Baumlevel )

d = Distanz zwischen Knoten und Baumknotenθ = Toleranzparameter (bspw. 1)

sd > 1⇔ s > d

2

2

4

3

s0

s1

d0

d1

Auswertung

11 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Beschleunigt die Berechnung der Non-Edge-Forces inForce-Directed-Drawing Algorithmen wesentlich

Erzeugt Quadtrees, die man zur Abstraktion des Graphen verwendenkann

Bedingungen fur Kanten zwischen Pseudoknoten bei FADE nichtspezifiziert

Verwendung fur Argumentkarten

12 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Der Algorithmus geht von punktformigen Knoten ausMan kann auch einheitliche, großere Knoten zeichnen, indem man dieabstoßenden Krafte anpasst um einen Mindestabstand zu erzwingen

Algorithmus erzeugt automatisches Clustering, das uber Quad-Treeabstrahiert werden kann

Allerdings ohne manuelle KategorisierungBedingungen fur Kanten zwischen Pseudoknoten nicht spezifiziert

Kleine Anderungen werden i.d.R. die bisherige Struktur nicht starkverandern

Lizenzen

13 FADE: Graph Drawning, Clustering and visual AbstractionForce-Directed-Drawing Fade-Algorithmus Auswertung

KIT

Dieses Werk ist unter einem “Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland“-Lizenzvertrag lizenziert. Umeine Kopie der Lizenz zu erhalten, gehen Sie bitte zu http://creativecommons.org/licenses/by-sa/3.0/de/ oder schreiben Sie an Creative Commons, 171

Second Street, Suite 300, San Francisco, California 94105, USA.

Davon ausgenommen sind das Titelbild, welches Teil des Papers ”FADE: Graph Drawing, clustering and visual abstraction“, von A. Quigley und P. Eades, istund ohne Erlaubnis verwendet wird, sowie das KIT Beamer Theme. Hierfur gelten die Bestimmungen der jeweiligen Urheber.