graph drawing by force-directed placement

24
Graph Drawing by Force- directed Placement Jana Ludolph

Upload: hija

Post on 15-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

Graph Drawing by Force-directed Placement. Jana Ludolph. Übersicht. Problemstellung Eades Kamada und Kawai Davidson und Harel Fruchtermann und Reingold. Problemstellung. Gegeben: Graph G=(V,E) Ungerichtet Gerade Kanten Gesucht: ästhetisch ansprechende Darstellung des Graphen. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Graph Drawing by Force-directed Placement

Graph Drawing by Force-directed Placement

Jana Ludolph

Page 2: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement2

Übersicht

Problemstellung Eades Kamada und Kawai Davidson und Harel Fruchtermann und Reingold

Page 3: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement3

Problemstellung

Gegeben: Graph G=(V,E)– Ungerichtet– Gerade Kanten

Gesucht: ästhetisch ansprechende Darstellung des Graphen

Page 4: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement4

Problemstellung

1) Knoten gleichmäßig im Raum verteilen

2) Kantenkreuzungen vermeiden

3) Kanten gleich lang zeichnen

4) Symmetrien hervorheben

5) Nicht über den gegebenen Rahmen hinauszeichnen

Page 5: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement5

Die Federanalogie [Eades '84]

Knoten entsprechen Stahlringen Kanten entsprechen Zugfedern Ziel: Energielevel im System minimieren

Page 6: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement6

Die Federanalogie

Page 7: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement7

Eades '84

Hookes Gesetz

F = D(x – x0)

wird nicht genau berechnet Für die anziehenden Kräfte nur

Nachbarknoten betrachten: Θ(|E|) Für die abstoßenden Kräfte alle Knoten

betrachten: Θ(|V|2)

Page 8: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement8

Kamada und Kawai '89

x1

x2

x3

x4

x5

x6

l13 = 1

l15 = 3

Page 9: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement9

Kamada und Kawai '89

Anziehende Kräfte zwischen allen Knoten, die verbunden sind

Optimierungsfunktion:

Σ D(|xi - xj| - lij)2

Page 10: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement10

Simulated Annealing

Randomisierte Startpositionen Hohe Anfangstemperatur Cooling- Funktion Evtl. Übergang zu einer minderwertigen

Anordung Hill climbing

Page 11: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement11

Davidson und Harel '91

Simulated Annealing Optimierungsfunktion mit gewichteten

Termen:– Knotenverteilung– Nähe zu Grenzen– Kantenlängen– Kantenkreuzung

Sehr langsam

Page 12: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement12

Fruchtermann und Reingold '91

Zwei Bedingungen:1. Nachbarknoten sollen nah beieinander

gezeichnet werden

2. Nicht benachbarte Knoten sollen nicht zu nah beieinander gezeichnet werden

Betrachtung der anziehenden und abstoßenden Kräfte wie Eades

Hauptsache schnell

Page 13: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement13

Fruchtermann und Reingold

Berechnung der optimalen Distanz k:

Bestimmung der anziehenden (attractive)

und abstoßenden (repulsive) Kräfte durch:

||V

Flächek

k

ddfa

2

)( d

kdfr

2

)(

Page 14: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement14

Fruchtermann und Reingold

1) Berechne für jeden Knoten v aus V:Alle abstoßenden Kräfte zu allen anderen Knoten mittels fr. → Θ(|V|2)

2) Berechne zu jeder Kante e aus E:Für beide Knoten jeweils die anziehende Kraft mittels fa. → Θ(|E|)

3) Gesamtkraft auf Knoten berechnen; Geschwindigkeit abhängig von Temperatur

4) Knoten müssen im Rahmen bleiben

Page 15: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement15

Rahmenproblem

Sticky vertex

Weiterrutschen

Elastische Kollision

Page 16: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement16

Die Rastervariante

x1 x2

x3

x4

Page 17: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement17

Die Rastervariante

k x1 x2

x3

x4

Page 18: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement18

Die Rastervariante

k x1 x2

x3

x4

Page 19: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement19

Die Rastervariante

kk x1 x2

x3

x4

Page 20: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement20

Die Rastervariante

Abstoßende Kräfte nur zwischen Knoten „in der Nähe“

Keine großen Unterschiede, außer in der Zeit Gleichverteilung der Knoten → Θ(|V|)

Page 21: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement21

Planare Graphen

Page 22: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement22

3D Graphen

Page 23: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement23

Literatur

Thomas M. J. Fruchtermann and Edward M. Reingold„Graph Drawing by Force-directed Placement“Software-Practice and Experience, Vol. 21 (1 1), 1129-1164 (November 1991)

www.wikipedia.de– Hookes Gesetz

Page 24: Graph Drawing by Force-directed Placement

Graph Drawing by Force-Directed Placement24

Danke fürs Zuhören