240 likes | 434 Views
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.
E N D
Graph Drawing by Force-directed Placement Jana Ludolph
Übersicht • Problemstellung • Eades • Kamada und Kawai • Davidson und Harel • Fruchtermann und Reingold Graph Drawing by Force-Directed Placement
Problemstellung • Gegeben: Graph G=(V,E) • Ungerichtet • Gerade Kanten • Gesucht: ästhetisch ansprechende Darstellung des Graphen Graph Drawing by Force-Directed Placement
Problemstellung • Knoten gleichmäßig im Raum verteilen • Kantenkreuzungen vermeiden • Kanten gleich lang zeichnen • Symmetrien hervorheben • Nicht über den gegebenen Rahmen hinauszeichnen Graph Drawing by Force-Directed Placement
Die Federanalogie [Eades '84] • Knoten entsprechen Stahlringen • Kanten entsprechen Zugfedern • Ziel: Energielevel im System minimieren Graph Drawing by Force-Directed Placement
Die Federanalogie Graph Drawing by Force-Directed Placement
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 Placement
Kamada und Kawai '89 l13 = 1 x5 x2 l15 = 3 x4 x3 x6 x1 Graph Drawing by Force-Directed Placement
Kamada und Kawai '89 • Anziehende Kräfte zwischen allen Knoten, die verbunden sind • Optimierungsfunktion: Σ D(|xi - xj| - lij)2 Graph Drawing by Force-Directed Placement
Simulated Annealing • Randomisierte Startpositionen • Hohe Anfangstemperatur • Cooling- Funktion • Evtl. Übergang zu einer minderwertigen Anordung • Hill climbing Graph Drawing by Force-Directed Placement
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 Placement
Fruchtermann und Reingold '91 • Zwei Bedingungen: • Nachbarknoten sollen nah beieinander gezeichnet werden • 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 Placement
Fruchtermann und Reingold • Berechnung der optimalen Distanz k: • Bestimmung der anziehenden (attractive) und abstoßenden (repulsive) Kräfte durch: Graph Drawing by Force-Directed Placement
Fruchtermann und Reingold • Berechne für jeden Knoten v ausV:Alle abstoßenden Kräfte zu allen anderen Knoten mittels fr. → Θ(|V|2) • Berechne zu jeder Kante e aus E:Für beide Knoten jeweils die anziehende Kraft mittels fa.→ Θ(|E|) • Gesamtkraft auf Knoten berechnen; Geschwindigkeit abhängig von Temperatur • Knoten müssen im Rahmen bleiben Graph Drawing by Force-Directed Placement
Rahmenproblem • Sticky vertex • Elastische Kollision • Weiterrutschen Graph Drawing by Force-Directed Placement
Die Rastervariante x1 x2 x3 x4 Graph Drawing by Force-Directed Placement
Die Rastervariante x1 x2 x3 x4 k Graph Drawing by Force-Directed Placement
Die Rastervariante x1 x2 x3 x4 k Graph Drawing by Force-Directed Placement
Die Rastervariante k x1 x2 x3 x4 k Graph Drawing by Force-Directed Placement
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 Placement
Planare Graphen Graph Drawing by Force-Directed Placement
3D Graphen Graph Drawing by Force-Directed Placement
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 Placement
Danke fürs Zuhören Graph Drawing by Force-Directed Placement