1 / 41

Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 — Besprechung: 11.12.2007

- Übungsblatt 4 -. Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 — Besprechung: 11.12.2007 Gruppe 2. Aufgabe 3: Knotenpositionierung. Entwerfen Sie ein Verfahren Ihrer Wahl für die dritte Phase (Knotenpositionierung) des Sugiyama Algorithmus.

kirkan
Download Presentation

Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 — Besprechung: 11.12.2007

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. - Übungsblatt 4 - Übungen zu Automatisches Zeichnen von Graphen Ausgabe: 28.11.2007 — Besprechung: 11.12.2007 Gruppe 2

  2. 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.

  3. Gliederung • Vorstellung des Layoutverfahrens • Bewertung: • Bewertungskriterien • Vergleich der Verfahren an AT&T Graphen. • Vergleich der Verfahren an Zufallsgraphen

  4. Layoutverfahren “Normale” Ansätze: Knoten haben Wunschposition (gemäß irgendeiner Heuristik) und bekommen diese zugeteilt. Die wichtigen Knoten zuerst!

  5. Layoutverfahren Idee: Relaxiation Problem: Abstände zu klein Schritt: 0

  6. Layoutverfahren Idee: Relaxiation Problem: Abstände zu klein (aber besser)‏ Schritt: 1

  7. Layoutverfahren Idee: Relaxiation Problem: Abstand zu groß Schritt: 2

  8. Layoutverfahren Idee: Relaxiation kein Problem: “eingependelt“ Schritt: 3

  9. 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

  10. Layoutverfahren • Gewichte • Verfahren: Knoten kümmern sich um sich und ihren Nachbarn, dann um Ihre Kinder • Knotenwichtigkeit: • Dummyknoten? • Nachbarknoten? • Normaler Knoten? • Child-Knoten • einzelnes Kind? • Dummy child? • Constraint-Wichtigkeit: • Dummy untereinander? • Child-Nähe? (höhere Gewichtung bei nur einem Child)‏ • Nachbar Nähe (zu nah? Zu weit weg?)‏

  11. Layoutverfahren Das Herzstück des Verfahrens: void howToMove(weight1, weight2, pos1, pos2, wantedDiff, importance, &resultDiff1, &resultDiff2)‏

  12. 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“

  13. Layoutverfahren zum Angucken RandomSimpleGraph(G,10,11); Schritt: 1

  14. Layoutverfahren zum Angucken RandomSimpleGraph(G,10,11); Schritt: 5

  15. Layoutverfahren zum Angucken RandomSimpleGraph(G,10,11); Schritt: 10

  16. 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

  17. Layoutverfahren zum Angucken RandomSimpleGraph(G,10,11); Zum Vergleich: FastHierarchyLayout

  18. Layoutverfahren zum Angucken Noch ein Vergleich (diesmal schneller), diesmal an Julian <--FHR Relax-->

  19. Layoutverfahren zum Angucken

  20. Layoutverfahren zum Angucken

  21. Layoutverfahren zum Angucken

  22. Layoutverfahren zum Angucken

  23. 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)‏

  24. Layoutverfahren zum Angucken FastHierarchyLayout RelaxHierarchyLayout Iterationen: 1 30 15

  25. Layoutverfahren zum Angucken FastHierarchyLayout RelaxHierarchyLayout Iterationen: 5 30 30

  26. Layoutverfahren zum Angucken FastHierarchyLayout RelaxHierarchyLayout Iterationen: 20 125 30

  27. 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

  28. Bewertungskriterien • Zeit • Größe des Gitters • Anzahl der Knicke in Kanten • Winkel von Kanten • Länge von Kanten

  29. Bewertungskriterien - Winkel 0° α 90° 90° α 0°

  30. AT&T Graphen - Allgemein Anzahl Graphen: 1277 MaxKnoten: 100 MaxKanten: 241 Anzahl Planarer Graphen: 854

  31. AT&T – Planare Graphen zu Graphen pro Knotenmenge

  32. Vergleich: Gittergröße - AT&T

  33. Vergleich: Anzahl Knicke - AT&T

  34. Vergleich: Winkel von Kanten - AT&T

  35. Vergleich: Kantenlänge - AT&T

  36. Zufallsgraphen – Planare Graphen zu Graphen pro Knotenmenge

  37. Vergleich: Gittergröße - Zufallsgraphen

  38. Vergleich: Anzahl Knicke - Zufallsgraphen

  39. Vergleich: Winkel von Kanten Zufallsgraphen

  40. Vergleich: Kantenlänge - Zufallsgraphen

  41. Ende Vielen Dank für's Zuhören

More Related