Die Studierenden erwerben ein systematisches Verständnis von Visualisierungsstilen, algorithmischen Fragestellungen und algorithmischen Lösungsansätzen im Bereich des Graphenzeichnens, das auf dem bestehenden Wissen zu Algorithmen und Datenstrukturen aufbaut und an das Anwendungsgebiet der Informationsvisualisierung anknüpft. Nach erfolgreicher Teilnahme an der Lehrveranstaltung können die Studierenden
- Begriffe, Strukturen und grundlegende Problemdefinitionen aus der Vorlesung erklären;
- Algorithmen zum Graphenzeichnen formal und intuitiv beschreiben, mathematisch präzise analysieren und ihre Eigenschaften beweisen;
- Graphenvisualisierungswerkzeuge und -bibliotheken anwenden und damit eigene Zeichnungen erstellen;
- auswählen, welche Algorithmen zur Lösung eines gegebenen Graphenvisualisierungsproblems geeignet sind und diese ggf. einer konkreten Problemstellung anpassen;
- unbekannte Graphenvisualisierungsprobleme analysieren, auf den algorithmischen Kern reduzieren und daraus ein abstraktes Modell erstellen;
- auf Basis der in der Vorlesung erlernten Konzepte und Techniken eigene Lösungen in diesem Modell entwerfen, analysieren und die Eigenschaften beweisen.
Graph Drawing oder Graphenzeichnen beschäftigt sich mit der geometrischen Repräsentation von Graphen in der Ebene und bildet den algorithmischen Kern der Netzwerkvisualisierung. Graphenzeichnen ist motiviert durch Anwendungen, in denen relationale Daten als Graph modelliert und vom Menschen visuell analysiert und exploriert werden. Beispiele solcher Anwendungsfelder sind Data Science, Sozialwissenschaften, Web Computing, Informationssysteme, Biologie, Geowissenschaften, Business Intelligence, Informationssicherheit und Software Engineering. Das Gebiet Graph Drawing kombiniert Aspekte aus Algorithmik, Graphentheorie, algorithmischer Geometrie und Visualisierung.
In dieser Lehrveranstaltung definieren wir gängige ästhetische Qualitätskriterien und Layoutstile im Graphenzeichnen. Anschließend betrachten wir die zugehörigen Optimierungsprobleme aus einer formalen, algorithmischen Perspektive. Es werden einige der verbreitetsten Graph-Drawing-Algorithmen behandelt, die von der Visualisierung allgemeiner Graphen hin zu spezifischen Algorithmen für bestimmte Graphklassen (z.B. planare Graphen und Bäume) reichen. Die betrachteten Layout-Algorithmen nutzen bekannte Prinzipien des Algorithmenentwurfs wie Divide-and-Conquer, inkrementelle Algorithmen und Netzwerkflussmodelle. Es werden sowohl praktische als auch theoretische Aspekte des Graphenzeichnen behandelt (z.B. Komplexitätsanalysen von Layoutproblemen und Algorithmen).
Neben den wöchentlichen Vorlesungseinheiten wird es einen begleitenden Übungsteil geben, in dem die Studierenden die Wahl haben entweder ein praktisches Programmierprojekt in einer Gruppe von 2-3 Studierenden zu bearbeiten und am Ende zu präsentieren (inkl. Möglichkeit der Teilnahme am jährlichen Graph Drawing Contest) oder sich eine aktuelle theoretische Forschungsarbeit zu erarbeiten und in einem Vortrag am Ende des Semesters zu präsentieren.
ECTS-Breakdown
24 h Vorlesungsbesuch
20 h Vorlesungsnachbereitung und Prüfungsvorbereitung
30 h Programmierprojekt oder Vortragsvorbereitung
1 h Mündliche Prüfung
------
75 h gesamt
Erforderlich: gute Grundkenntnisse zu Algorithmen und Datenstrukturen, insbesondere Graphenalgorithmen (z.B. 186.813, 186.815, 186.866).
Hilfreich: vertiefende Kenntnisse in Algorithmik (z.B. 186.814, 186.122) und Kenntnisse in Visualisierung (z.B. 186.827, 186.833, 188.305)