Upload
balthild-lehnert
View
125
Download
0
Embed Size (px)
Citation preview
Graph Drawing by Force-directed Placement
Jana Ludolph
Graph Drawing by Force-Directed Placement2
Übersicht
Problemstellung Eades Kamada und Kawai Davidson und Harel Fruchtermann und Reingold
Graph Drawing by Force-Directed Placement3
Problemstellung
Gegeben: Graph G=(V,E)– Ungerichtet– Gerade Kanten
Gesucht: ästhetisch ansprechende Darstellung des Graphen
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
Graph Drawing by Force-Directed Placement5
Die Federanalogie [Eades '84]
Knoten entsprechen Stahlringen Kanten entsprechen Zugfedern Ziel: Energielevel im System minimieren
Graph Drawing by Force-Directed Placement6
Die Federanalogie
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)
Graph Drawing by Force-Directed Placement8
Kamada und Kawai '89
x1
x2
x3
x4
x5
x6
l13 = 1
l15 = 3
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
Graph Drawing by Force-Directed Placement10
Simulated Annealing
Randomisierte Startpositionen Hohe Anfangstemperatur Cooling- Funktion Evtl. Übergang zu einer minderwertigen
Anordung Hill climbing
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
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
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
)(
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
Graph Drawing by Force-Directed Placement15
Rahmenproblem
Sticky vertex
Weiterrutschen
Elastische Kollision
Graph Drawing by Force-Directed Placement16
Die Rastervariante
x1 x2
x3
x4
Graph Drawing by Force-Directed Placement17
Die Rastervariante
k x1 x2
x3
x4
Graph Drawing by Force-Directed Placement18
Die Rastervariante
k x1 x2
x3
x4
Graph Drawing by Force-Directed Placement19
Die Rastervariante
kk x1 x2
x3
x4
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|)
Graph Drawing by Force-Directed Placement21
Planare Graphen
Graph Drawing by Force-Directed Placement22
3D Graphen
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
Graph Drawing by Force-Directed Placement24
Danke fürs Zuhören