Constraints in Graph Drawing 1

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Advertisements

Christian Scheideler SS 2009
Christian Scheideler SS 2009
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Christian Scheideler SS 2009
Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations-schemata
Routing – Routing Protokolle
Inhalt Saarbrücken,.
Steigung m berechnen Man kann die Steigung auch berechnen,
Docking von starren und flexiblen Proteinen
Lineare Funktionen mit der Gleichung y = mx
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Kombinatorische Topologie in der 3d Geomodellierung
Anwendung und Visual Basic
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Geometrisches Divide and Conquer
Indoor Navigation Performance Analysis
Klausur „Diskrete Mathematik II“
Übung zum R-Baum, Gegeben ist die dargestellte Menge von Rechtecken, die in der Reihenfolge 1, 7, 9, 13, 3, 5, 11, 6, 8, 10, 4, 14, 12, 2 eingegeben.
Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.
Constraints in orthogonal Graph Drawing
PG 478 – Open Graph Drawing Framework Thema: Compounds & Force-Directed Francois Bertault & Mirka Miller – An Algorithm for Drawing Compound Graphs [1999]
Graph Drawing by Force-directed Placement
Minimum Spanning Tree: MST
Konzeption und Realisierung von DSS
Paper: Aesthetics of Class Diagrams Vorgetragen von Tilmann Bartels Paper von Holger Eichelberger Universität Würzburg Bis jetzt gibt es keine allgemeingültige.
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Integration virtueller und realer Objekte Proseminar: Anwendungen für Augmented Reality.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
Geoinformation II (6. Semester)
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Ausgewählte Kapitel der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Sommersemester.
Überlagerungsgesetz - Uq – Uq –– uq ~m Uq –+ uq ~m V-105.
… oder wie finde ich den Weg

ProSeminar WS 2007/08 Leo Hackstein
Jan Hinzmann – – GIS Praxis II – Slide 1/10 Der Algorithmus von Dijkstra (Berechnung kürzester Wege in bewerteten Graphen) GIS Praxis II, Jan Hinzmann,
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Gegenseitige Lage von Geraden Schnittpunktberechnung
Steigung und lineare Funktionen
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Steigung und lineare Funktionen
Das Traveling Salesman Problem (TSP)
Folie Einzelauswertung der Gemeindedaten
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Gliederung der Vorlesung
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Der Dijkstra-Algorithmus
 Präsentation transkript:

Constraints in Graph Drawing 1 Jasmin Smula Kathy Ryall, Joe Marks, Stuart Shieber: Using constraints to achieve stability in automatic graph layout algorithms Karl-Friedrich Böhringer, Frances Newbery Paulisch: An interactive constraint-based system for drawing graphs

Inhalt Constraints Nutzung von Constraints, um stabile Graphen zu erhalten Editor zum automatischen Zeichnen von Graphen Constraints in GD 1

Constraints vom Benutzer formulierte oder vom Algorithmus automatisch generierte Nebenbedingungen Aufgaben: Korrektheit garantieren Aussagekraft erhöhen Constraints in GD 1

Problemstellung Zwei Nachteile bei Berechnung automatischer Layouts von Graphen: Ohne Eingreifen des Benutzers kann der Algorithmus nur syntaktisch korrekte Graphen erstellen Nach einer Änderung des Graphen berechnet der Algorithmus ein komplett neues Layout, ohne das alte zu berücksichtigen  Benutzer verliert schnell die Orientierung Constraints in GD 1

Problemstellung Constraints in GD 1

Problemstellung Constraints in GD 1

Problemstellung Ansatz: Probleme durch Einsatz von Constraints lösen Methode, wie Benutzer-spezifizierte Constraints zu automatischen Graphen-Layout-Algorithmen hinzugefügt werden können Constraints, die durch das aktuelle Layout gegeben sind, bei der Berechnung des neuen Layouts berücksichtigen Constraints in GD 1

Stabilität: Definitionen stabiler Graph: Graph, dessen Layout sich nicht stark ändert, wenn es neu berechnet wird strukturelle Stabilität: Layout erfüllt die vom Benutzer angegebenen Constraints dynamische Stabilität: Unterschied zwischen aufeinander folgenden Layouts des Graphen minimal Constraints in GD 1

Aufgabe Gewünscht: kleine Strukturänderung  kleine Layout-Änderungen (Orientierung bewahren) Voraussetzung: Algorithmus zur Berechnung automatischer Graphenlayouts vorhanden Mechanismus, um Algorithmus so zu ergänzen, dass er Constraints berücksichtigt Constraints in GD 1

Systemarchitektur Anwendung Graphenlayout-Algorithmus 3D-Constraint-Manager Constraint Manager Eindimensionale Constraints x-Koordinate y-Koordinate z-Koordinate Constraints in GD 1

Systemarchitektur 1. Constraints für einzelne Dimensionen Absolute oder relative Positionierung, Clusters Formulierung von Constraints: Verwendung ihrer Positionen im 2- oder 3-dimensionalen Koordinatensystem 2. Constraint-Manager für einzelne Dimensionen Liste aller Constraints verwalten Bewertung der Menge der Constraints und diese widerspruchsfrei halten Constraints in GD 1

Systemarchitektur 3. 3D-Constraint-Manager Schnittstellenmodul kombiniert die Constraints verschiedener Dimensionen Übersetzung von drei- in eindimensionale Constraints Interface zum Graphenlayout-Algorithmus 4. Graphenlayout-Algorithmus 5. Anwendung Constraints in GD 1

Sugiyamas Algorithmus 1. Topologische Sortierung: Knoten in Ebenen einteilen 2. Unterteilung von langen Kanten: Kanten, die mehr als eine Ebene überbrücken, werden durch mehrere kurze Kanten ersetzt 3. Barizentrische Anordnung: Kantenkreuzungen zwischen benachbarten Ebenen minimieren 4. Feineinstellung: Bestimmen der absoluten Positionen v. Knoten Constraints in GD 1

Sugiyamas Algorithmus Ausgangsgraph Ebeneneinteilung Kanten kürzen Kreuzungen minimieren Feineinstellung Constraints in GD 1

Integrieren der Constraints für strukturelle Stabilität Phase 1: für jede Kante: Startknoten über Zielknoten für Kanten innerhalb einer Ebene: Start- und Endknoten solcher Kanten direkte Nachbarn Phase 2: zwei Knoten auf derselben vertikalen Linie: alle Zwischenknoten dieselbe x-Koordinate Constraints in GD 1

Integrieren der Constraints für strukturelle Stabilität Phase 3: aus barizentrischer Anordnung resultierende Constraints Phase 4: relative Ordnung festgelegt  x-Koordinaten der Knoten bestimmen Knotenpositionen in vorigen Ebenen berücksichtigen Constraints in GD 1

Integrieren der Constraints für dynamische Stabilität nach jedem automatischen Layout: Einfügen zusätzlicher Constraints Nutzeränderung  Constraints in näherer Umgebung der Änderungen abschwächen Graph wird in veränderten Bereichen flexibel nähere Umgebung: Knoten, die von der Änderung direkt betroffen sind, und Knoten, die eine bestimmte maximale Distanz zu diesen Knoten haben Constraints in GD 1

Integrieren der Constraints für dynamische Stabilität Zusätzliche Constraints: Ebene jedes Knotens = Ebene im aktuellen Layout Reihenfolge der Knoten innerhalb einer Ebene = aktuelle Reihenfolge Nach Nutzeränderung werden flexible Knoten von diesen Constraints befreit Benötigte Zeit = Zeit zur Berechnung eines komplett neuen Layouts Constraints in GD 1

GLIDE „Graph Layout Interactive Diagram Editor“ Benutzer: ungefähres Layout der Knoten Computer: setzt Anforderungen in eine Menge von Constraints um Constraints: Terme in einem physikalischen Modell Berechnung der Positionen der graphischen Objekte durch physikalische Simulation Constraints in GD 1

GLIDE-Interface die muss woanders hin Constraints in GD 1

Funktionsweise von GLIDE Für jeden Constraint mehrere virtuelle Federn zwischen Knoten bzw. Kanten virtuelle Kräfte, die auf die Knoten wirken, beeinflussen deren Position im Graphen Energieminimierung durch physikalische Simulation Simulation wird animiert Constraints in GD 1

Hooksches Gesetz Federn folgen dem Hookschen Gesetz Hooksches Gesetz: Kraft einer Feder ist proportional zu ihrer Auslenkung: F = D · s F = auf die Feder wirkende Kraft D = Federkonstante s = Weg, um den die Feder gedehnt wird Brauch ich eventuell nicht!! Constraints in GD 1

Eigenschaften von Federn Federkonstante: korreliert die Auslenkung einer linearen Feder mit der daraus resultierenden Zug- oder Druckkraft Restlänge: Länge, ab der sich die Feder nicht mehr zusammenzieht, wenn sie gedehnt wird, bzw. nicht mehr auseinanderdrückt, wenn sie gestaucht wird Constraints in GD 1

Constraints Syntaktische Constraints: garantieren Wohlgeformtheit des Graphen zusätzliche Kräfte werden von GLIDE automatisch eingefügt Semantische Constraints (VOFs): dienen der Überschaubarkeit und Aussagekraft des Graphen Constraints in GD 1

Constraints Syntaktische: Node-node-overlap Node-edge-overlap Constraints in GD 1

Constraints Semantische: Alignment Even Spacing Sequence Cluster Constraints in GD 1

Constraints Semantische: T-Shape Symmetry Zone Hub-Shape Constraints in GD 1

Realisierung syntaktischer Constraints Node-node overlap: Knoten sollen sich nicht überschneiden: Zwischen jedem Knotenpaar Feder einfügen Restlänge = minimale Distanz zwischen den Knoten Federkonstante = 0, wenn die Feder gedehnt wird Feder übt nur dann Kraft aus, wenn sich die beiden Knoten überlappen Constraints in GD 1

Realisierung semantischer Constraints Alignment: Knotenmenge soll auf einer Parallelen zur x- oder y-Achse liegen es wird eine Gerade berechnet, die parallel zur gewählten Achse verläuft und durch den Schwerpunkt der Knoten führt dann wird eine Feder mit Restlänge 0 zwischen jedem Knoten und dieser Geraden angebracht. Constraints in GD 1

Realisierung semantischer Constraints Sequence: Knoten sollen in einer bestimmten Reihenfolge entlang einer Achse angeordnet werden Federn mit variabler Federkonstante (!) werden zwischen benachbarten Knoten angebracht Federkonstante gleich Null, wenn Knoten in richtiger Reihenfolge, sonst positiv Constraints in GD 1

Sonstiges andere VOFs: Anchor: Um einen Knoten an einer Stelle festzuhalten Frame (kein wirklicher Constraint): Menge von Knoten wird umrahmt Phantomknoten geknickte Kanten Constraints in GD 1

Algorithmus zur Berechnung der Position und des Impulses aller Knoten solange kinetische Energie über Kmin: Setze t = t + Δt für alle Knoten ni berechne Fi Dämpfungskonstante γ berechnen für alle ni: pi(t) aus pi(t - Δt), Fi und γ berechnen falls ni verankert: xi(t) = xi(t - Δt), sonst xi(t) aus xi(t - Δt) und pi(t) berechnen wenn nötig, Bildschirm updaten Constraints in GD 1

Ergebnis Die physikalische Simulation ist intuitiv und vorhersehbar GLIDE ist nicht dafür gedacht, global optimale Lösungen zu finden Computer ist verantwortlich für lokale Optimierung, der Benutzer für globale Kontrolle Constraints in GD 1

Zusammenfassung vom Benutzer eingegebene Constraints wichtig für Aussagekraft von Graphen Mechanismus zum Einbetten von Constraints in einen Algorithmus zur Berechnung von Layouts zum Erreichen von Stabilität altes Layout bei Berechnung des neuen Layouts einbeziehen GLIDE, Editor zum automatischen Zeichnen von Graphen: virtuelle Federn für Realisierung von Constraints Constraints in GD 1

…noch Fragen? Constraints in GD 1