Top Banner
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
30

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

Aug 06, 2019

Download

Documents

phungthuan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FADE: Graph Drawning, Clustering and visual Abstraction · Force Directed Drawing 3 FADE: Graph Drawning, Clustering and visual Abstraction Force-Directed-Drawing Fade-Algorithmus

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

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

Inhalt

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

KIT

1. Force-Directed-Drawing

2. FADE Algorithmus

3. Auswertung

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

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

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

Force Directed Drawing - Beispiel

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

KIT

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

Force Directed Drawing - Beispiel

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

KIT

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

Force Directed Drawing - Beispiel

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

KIT

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

Force Directed Drawing - Beispiel

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

KIT

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

Force Directed Drawing - Beispiel

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

KIT

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

Force Directed Drawing - Beispiel

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

KIT

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

Force Directed Drawing - Beispiel

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

KIT

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

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

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

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

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

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

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

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

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

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

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

Quad-Trees - Beispiel

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

KIT

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

Quad-Trees - Beispiel

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

KIT

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

Quad-Trees - Beispiel

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

KIT

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

Quad-Trees - Beispiel

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

KIT

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

Quad-Trees - Beispiel

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

KIT

2

2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.