Algorithmen zur Visualisierung von Graphen Einführung 1. Vorlesung Sommersemester 2014 (basierend auf Folien von Martin Nöllenburg und Robert Görke, KIT)
Organisatorisches Dozent Philipp Kindermann Büro E12 (Mathebau) Übung Philipp Kindermann Marko Chlechowitz Termine Vorlesung: Do, 10:15 11:45 Uhr, SE III Übung: Mo, 12 14 Uhr, SE III
Organisatorisches Vorlesungshomepage https://wuecampus2.uni-wuerzburg.de/moodle/course/view. php?id=7190 aktuelle Informationen Übungsblätter Folien Zusatzmaterial Skript
Organisatorisches Spezialisierungen im Masterstudium Algorithmik & Theorie Internet-Technologie weitere Vorlesungen am Lehrstuhl Algorithmische Graphentheorie Vorlesung: Di, 10 12 Uhr, HS 2 Exakte Algorithmen Vorlesung: Di, 14 16 Uhr, SE III Alexander Wolff Joachim Spoerhase Algorithmen für geographische Informationssysteme Thomas v. Dijk Vorlesung: Mi, 10 12 Uhr, SE I
Nützliche Vorkenntnisse Basiswissen Graphentheorie Graph, Knoten, Kanten Knotengrad, Nachbarschaft, adjazent, inzident Zusammenhang, Baum, Kreis, Pfad BFS & DFS Flüsse und Matchings Basiswissen Algorithmen und Datenstrukturen Laufzeit, O-Kalkül Komplexität, NP-schwer Lineare Programmierung Ansonsten: Nachfragen!
Prüfungsmodalitäten Erfolgreiche Teilnahme mindestens 50% der Punkte in den Übungen mündliche Prüfung in den Semesterferien (15 Minuten) Lernziele Überblick über das Thema der Graphvisualisierung (das sich sehr gut für Abschlussarbeiten eignet :-) Kenntnisse über das Modellieren und Lösen von Problemen mithilfe von Graph(algorithm)en vertiefen
Vorlesungsaufbau Medien Tafel & Folien Übungsblätter zur Vertiefung des Stoffs Inhalte Reduzierung der Visualisierung auf algorithmischen Kern Modellierung, Algorithmen, Beweise kräftebasierte Verfahren kombinatorische Optimierung (Flüsse, ILPs) Algorithmen für spezielle Graphen (z.b. Bäume)
Literatur
Einführung Graphenvisualisierung
Graphen und ihre Darstellung V = {v 1, v 2, v 3, v 4, v 5, v 6, v 7, v 8, v 9, v 10 } E = {{v 1, v 2 }, {v 1, v 8 }, {v 2, v 3 }, {v 3, v 5 }, {v 3, v 9 }, {v 3, v 10 }, {v 4, v 5 }, {v 4, v 6 }, {v 4, v 9 }, {v 5, v 8 }, {v 6, v 8 }, {v 6, v 9 }, {v 7, v 8 }, {v 7, v 9 }, {v 8, v 10 }, {v 9, v 10 }} v 1 : v 2, v 8 v 2 : v 1, v 3 v 3 : v 2, v 5, v 9, v 10 v 4 : v 5, v 6, v 9 v 5 : v 3, v 4, v 8 v 6 : v 4, v 8, v 9 v 7 : v 8, v 9 v 8 : v 1, v 5, v 6, v 7, v 9, v 10 v 9 : v 3, v 4, v 6, v 7, v 8, v 10 v 10 : v 3, v 8, v 9 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 0 0 0 1 1 0
Wozu Graphen zeichnen? Graphen sind mathematische Repräsentationen von Netzwerken Netzwerke tauchen in der Realität an den verschiedensten Stellen auf ohne geeignete Visualisierung können wir (als Menschen) Netzwerke kaum verstehen Visualisierungen sind nötig zur Kommunikation von bekannten und zur Exploration von unbekannten Netzen Es geht also darum Algorithmen zu entwerfen um Graphen automatisch zu zeichnen. Und zwar möglichst lesbar!
Beispiele eine kleine Diaschau
Verkehrsnetze Highways USA
Verkehrsnetze Flugverbindungen Continental
Verkehrsnetze U-Bahnen London
Soziale Netze Barrapunto
Soziale Netze Terrorzelle
Soziale Netze Firmenbeteiligungen
Soziale Netze Staatsfonds
Patente: Geldfluss vom Anmelder zum Erfinder
Soziale Netze Exxon Fördergelder
Soziale Netze Organigramm UBS
Biomedizin Diseasome
Biomedizin molekulare Stoffwechselnetze
Biomedizin Proteine
Biomedizin phylogenetische Bäume
Technische Netze Internet USA
Technische Netze Webtrends
Technische Netze Kabelpläne
Technische Netze Schaltpläne
Technische Netze UML Diagramme
Allgemeine Graphen Mikro-Makro Layout
Allgemeine Graphen große Graphen
Alternative Darstellungen Inklusionsdiagramm
Alternative Darstellungen Berührgraph
Grundlegende Definitionen
Visuelle Variablen nach Bertin (1967) Größe Form Helligkeit Position Layoutproblem Orientierung Farbe Textur
Definition Layoutproblem Beschränkung auf sog. Punkt-Linien-Diagramme (Standardrepräsentation) Problem: Graphlayout geg: ges: Graph G = (V, E) schöne Zeichnung Γ : V E P(R 2 ) Knoten v Punkt Γ (v) Kante uv einfache, offene Kurve Γ (uv) mit Endpunkten Γ (u) und Γ (v) Aber was ist eine schöne Zeichnung?
Anforderungen an ein Graphlayout 1) Zeichenkonventionen, erforderliche Eigenschaften, z.b.
Anforderungen an ein Graphlayout 1) Zeichenkonventionen, erforderliche Eigenschaften 2) Ästhetikkriterien (zu optimieren), z.b.
Anforderungen an ein Graphlayout 1) Zeichenkonventionen, erforderliche Eigenschaften 2) Ästhetikkriterien (zu optimieren) 3) Lokale Nebenbedingungen, z.b.
Layoutproblem zweiter Versuch Problem: Graphlayout geg: ges: Graph G = (V, E) Zeichnung Γ : V E P(R 2 ), die die Zeichenkonventionen erfüllt die Ästhetikkriterien optimiert ggf. weitere Nebenbedingungen erfüllt führt zu algorithmisch interessanten Fragestellungen nachgelagertes Renderingproblem bleibt außen vor