41
Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 — Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt 4 -

Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Embed Size (px)

Citation preview

Page 1: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Übungen zu Automatisches Zeichnen

von Graphen

Ausgabe: 28.11.2007 — Besprechung: 11.12.2007

Gruppe 2

- Übungsblatt 4 -

Page 2: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Aufgabe 3: Knotenpositionierung

Entwerfen Sie ein Verfahren Ihrer Wahl für die dritte Phase (Knotenpositionierung) des Sugiyama Algorithmus.

Implementieren Sie Ihr Verfahren in OGDF, so dass es in der Lage ist, die bisherigen Module für die dritte Phase zu ersetzen.

Evaluieren Sie Ihr Verfahren (anhand selbst gewählter qualitativer Kriterien) im Vergleich zu einem in OGDF enthaltenen Verfahren.Wählen Sie als Benchmark Graphen die AT&T Graphen sowie selbst erzeugte zufällige Graphen.

Page 3: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Gliederung

Vorstellung des Layoutverfahrens

Bewertung:

Bewertungskriterien

Vergleich der Verfahren an AT&T Graphen.

Vergleich der Verfahren an Zufallsgraphen

Page 4: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

“Normale” Ansätze:

Knoten haben Wunschposition (gemäß irgendeiner Heuristik) und bekommen

diese zugeteilt.

Die wichtigen Knoten zuerst!

Page 5: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

Idee: Relaxiation

Problem: Abstände zu klein

Schritt: 0

Page 6: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

Idee: Relaxiation

Problem: Abstände zu klein (aber besser)

Schritt: 1

Page 7: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

Idee: Relaxiation

Problem: Abstand zu groß

Schritt: 2

Page 8: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

Idee: Relaxiation

kein Problem: “eingependelt“

Schritt: 3

Page 9: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

=> RelaxHierarchyLayout

Zur Vereinfachzung: Y-Koordinaten Fest

Initial werden alle Konten gleichmäßig zentriert positioniert (x-Position)

Anhand irgendwelcher Gewichtungen schieben sich die Knoten hin und her, um

festgelegte Constraints zu erfüllen

Page 10: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

GewichteVerfahren: Knoten kümmern sich um sich und ihren

Nachbarn, dann um Ihre Kinder

Knotenwichtigkeit:

Dummyknoten?

Nachbarknoten?

Normaler Knoten?

Child-Knoten

einzelnes Kind?

Dummy child?

Layoutverfahren

Constraint-Wichtigkeit:

Dummy untereinander?

Child-Nähe? (höhere Gewichtung bei nur

einem Child)

Nachbar Nähe (zu nah? Zu weit weg?)

Page 11: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

Das Herzstück des Verfahrens:

void howToMove(weight1, weight2, pos1, pos2, wantedDiff, importance,

&resultDiff1, &resultDiff2)

Page 12: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

RandomSimpleGraph(G,10,11);Schritt: 0

Info: Veränderung pro Step gering (zum Gucken)

Gewichtungen (bei Weitem) noch nicht optimal

„Ausbruch nach rechts unten“

Page 13: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

RandomSimpleGraph(G,10,11);Schritt: 1

Page 14: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

RandomSimpleGraph(G,10,11);Schritt: 5

Page 15: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

RandomSimpleGraph(G,10,11);Schritt: 10

Page 16: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

RandomSimpleGraph(G,10,11);Letzer Schritt: „Ganzzahlige“ Positionen

Was konnte man sehen? Nach kurzer Zeit hat sich nicht mehr viel verändert

Es hätten also auch weniger Iterationen zu einem

ähnlichen Ergebnis geführt

Page 17: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

RandomSimpleGraph(G,10,11);Zum Vergleich: FastHierarchyLayout

Page 18: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

Noch ein Vergleich (diesmal schneller), diesmal an Julian

<--FHR

Relax-->

Page 19: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

Page 20: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

Page 21: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

Page 22: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

Page 23: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

Vergleich: Iterationen vs. Zeit vs. Ergebnis(Nein, das ist nicht das Gleiche wie bei den vorherigen Beispielen)

Gemessen wird nur die Laufzeit des Layoutverfahrens (Sugi-Overhead egal)

Page 24: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

FastHierarchyLayout RelaxHierarchyLayoutIterationen: 1

30 15

Page 25: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

FastHierarchyLayout RelaxHierarchyLayoutIterationen: 5

30 30

Page 26: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren zum Angucken

FastHierarchyLayout RelaxHierarchyLayoutIterationen: 20

30

125

Page 27: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Layoutverfahren

Was haben wir gesehen und was machen wir damit? Die Gewichtungen sind noch nicht gut gewählt (kann man aber ändern)

Spätestens wenn wir mehr als 3 bis 4 Iterationen haben, sind wir langsamer

als FastHierarchieLayout (denn das ist sehr schnell)

Laufzeit bei dichten Graphen besonders schlecht

IterationenAnzahl * KnotenAnzahl * AnzahlJeweiligerKinder

Spagetti! (Siehe Punkt 1)

Aber auch Gutes:

Layout wird nach wenigen Iterationen “stabil“

Es ist anschaulich, was passiert

Page 28: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Bewertungskriterien

Zeit

Größe des Gitters

Anzahl der Knicke in Kanten

Winkel von Kanten

Länge von Kanten

Page 29: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Bewertungskriterien - Winkel

90° 90°

α

α

Page 30: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

AT&T Graphen - Allgemein

Anzahl Graphen: 1277

MaxKnoten: 100

MaxKanten: 241

Anzahl Planarer Graphen: 854

Page 31: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

AT&T – Planare Graphen zu Graphen pro Knotenmenge

Page 32: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Gittergröße - AT&T

Page 33: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Anzahl Knicke - AT&T

Page 34: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Winkel von Kanten - AT&T

Page 35: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Kantenlänge - AT&T

Page 36: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Zufallsgraphen – Planare Graphen zu Graphen pro Knotenmenge

Page 37: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Gittergröße - Zufallsgraphen

Page 38: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Anzahl Knicke - Zufallsgraphen

Page 39: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Winkel von KantenZufallsgraphen

Page 40: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Vergleich: Kantenlänge - Zufallsgraphen

Page 41: Martin Böhmer/Dennis Treder/Marina Schwacke Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 Besprechung: 11.12.2007 Gruppe 2 - Übungsblatt

Martin Böhmer/Dennis Treder/Marina Schwacke

Ende

Vielen Dank für's Zuhören