Lehrstuhl für Algorithm Engineering LS11 Karsten Klein Lehrgebietsvorstellung 29. Juni 2007
Die Professoren… Dezember 2004: Lehrstuhl für Algorithm Engineering Petra Mutzel Günter Rudolph Jan Vahrenhold Dezember 2004: Lehrstuhl für Algorithm Engineering (Nachfolge des Lehrstuhls für Systemanalyse, Prof. Schwefel)
Kurz-Vorstellung Studium an Univ. Augsburg (WiMa/Math) 1983--1990 Wiss. Mitarb. an Rice University, Houston (TX) Wiss. Mitarb. an FU Berlin Promotion an Univ. zu Köln (Inf) 1994 Habilitation am Max-Planck-Institut für Informatik, Saarbrücken 1999 Vertr.-Professur (C3) an Univ. Heidelberg (Inf) 1999 Lehrstuhl für Algorithmen und Datenstrukturen, TU Wien 1999 - 2004 seit Dezember 2004: Lehrstuhl für Algorithm Engineering, LS11
Forschungsinteressen Algorithmen und Datenstrukturen Graphenalgorithmen Kombinatorische Optimierung Algorithm Engineering Design, theoretische Analyse, Implementierung, und experimentelle Evaluation von Algorithmen und Datenstrukturen anwendungs- orientiert
Traditionelle Algorithmik Entwurf für einfache Problem- und Maschinenmodelle Hauptergebnis: beweisbare Leistungsgarantien für alle möglichen Eingaben → Elegante, zeitlose, an viele konkreten Anwendungen anpassbare Lösungen → Zuverlässig hohe Effizienz auch für zur Implementie-rungszeit unbekannte Typen von Eingaben Instanzen in Praxis bestimmte Charakteristik? Vorstellung: Anwender greifen Ergebnisse auf, Implementierung, Einbau in Anwendungen Klappt meist nicht! Große Lücke zwischen Theorie und Praxis!
Traditionelle Algorithmik Abstrakte Modelle Entwurf Algorithmentheorie Analyse Leistungsgarantien Implementierung Anwendungen
Traditionelle Algorithmik Beweisbare Leistungsgarantie? Asympt. Worst-Case Teilweise SEHR hohe versteckte Konstanten Systemcharakteristika beeinflussen Performance Eingabecharakteristika beeinflussen Performance Praktisches Verhalten so schwer beschreibbar Simplex-Algorithmus: Theoretisch exponentiell, praktisch „gutmütig“ Auch „Crossover Point“ für Algorithmen 70er/80er Jahre: Häufig gar keine Implementierung, Gefahr der Veröffentlichung inkorrekter Algorithmen
Durchwandern eines Arrays for i=1,…,N: D[i]:=i C:=Permute(D) Lineares Durchlaufen: for i=1,…,N: A[D[i]]:=A[D[i]]+1 Zufälliges Durchlaufen: for i=1,…,N: A[C[i]]:=A[C[i]]+1
Durchwandern eines Arrays sec Durchwandern eines Arrays k 223=8.388.608 Größe 2k
Hierarchisches Speichermodell moderner Computer Extern- speicher Interner Speicher (Main Memory) Cache CPU Faktor 100 schneller als Faktor 1000-106 schneller als Secondary Memory
Problem ist aktueller denn je, denn Geschwindigkeit der Prozessoren verbessert sich zwischen 30%-50% im Jahr; Geschwindigkeit des Speichers nur um 7%-10% pro Jahr „One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed.“
Algorithm Engineering Einfluss von System- und Eingabecharakteristika evaluieren und in Entwurf berücksichtigen Praktisch schnelle Algorithmen entwerfen Algorithmen und Datenstrukturen für Praxis vereinfachen
Algorithm Engineering Realistische Modelle Reale Eingaben 1 Entwurf Experimente 2 5 Anwendungen 3 4 Analyse Implementierung Leistungsgarantien Alg.-Bibliotheken
Algorithm Engineering Realistische Modelle Reale Eingaben 1 Entwurf Experimente 2 5 Anwendungen 3 4 Benchmarkinstanzbibliitheken und Algorithmenbibliotheken Analyse Implementierung Leistungsgarantien Alg.-Bibliotheken
Anwendungsorientierung?
Anwendungsbereiche Automatisches Zeichnen von Graphen: Übersichtliche Darstellung von Informationen Netzwerkdesign: Aufwandsoptimierung und Versorgungssicherheit in Kommunikation oder Energieversorgung Routenplanung: Speditionen Bioinformatik: Schnelle/optimale Algorithmen und Visualisierung visualisieren von Daten Fernwaerme
Anwendungsbereiche Automatisches Zeichnen von Graphen Kreuzungsminimierung Planare Zeichenverfahren Viele Probleme sind NP-schwer
Teilweise sehr unterschiedliche Anforderungen, Algorithmen und Lösungsansätze
Ein Layoutverfahren für biologische Netzwerke Diplomarbeit (MPII) Ein Layoutverfahren für biologische Netzwerke
Der chemische Strukturraum: PG 504
Anwendungsbereiche Automatisches Zeichnen von Graphen Kreuzungsminimierung Planare Zeichenverfahren Molekulare Bioinformatik Sequenzanalyse (Sequenzenalignierung) Proteinanalyse (Suffix Arrays, Graphprobleme)
Anwendungsbereiche Automatisches Zeichnen von Graphen Kreuzungsminimierung Planare Zeichenverfahren Molekulare Bioinformatik Sequenzanalyse (Sequenzenalignierung) Proteinanalyse (Suffix Arrays, Graphprobleme) Netzwerkdesign
Ausbau eines Fernwärmesystems )
Diplomarbeitsthemen Anwendungsbereiche Automatisches Zeichnen von Graphen Kreuzungsminimierung Planare Zeichenverfahren Molekulare Bioinformatik Sequenzanalyse (Sequenzenalignierung) Proteinanalyse (Suffix Arrays, Graphprobleme) Netzwerkdesign Routenplanung
Laufende Diplomarbeiten Ein Branch-and-Cut Ansatz für das Maximum c-planare Subgraphen Problem Ein Layoutverfahren für biologische Netzwerke Ein progressiver Algorithmus für Multiple Sequence Alignment auf Basis von A*-Suche ... In Deutsch oder Englisch
Weitere Themen Externspeicheralgorithmen: PG 503 Xaver: Algorithm Engineering XXL (Auch: Vahrenhold) Algorithmische Geometrie (Vahrenhold)
Algorithmische Geometrie & Externspeicher Simulation von Flussnetzwerken auf hochauflösenden dig. Geländemodellen zur Überschwemmungsvorhersage
LVAs im WS 07/08 Vorlesung Automatisches Zeichnen von Graphen VO Mo, Di 12-14, 4VO+2Ü Seminar Algorithm Engineering: Vorbesprechung Mittwoch 11.07, 14Uhr PG 512 Smart Cell: Clevere Algorithmen für den Cell-Prozessor
Weitere Vorlesungen… Algorithmische Geometrie Algorithm Engineering Graphenalgorithmen … Schwerpunktgebiete: Algorithmen und Komplexität (4) Computational Intelligence (6) Intelligente Systeme (7)
Vielen Dank! Bis Bald!