Algorithm Engineering (SoSe 2010)

Veranstalter Carsten Gutwenger
Modul INF-Msc-601 (Master Informatik / Angewandte Informatik)
Veranstaltungsnummer: 042601
EWS Algorithm Engineering Arbeitsraum
Forschungsbereich Algorithmen und Komplexität
Schwerpunktgebiete Algorithmen, Komplexität und formale Modelle
Computational Intelligence and Natural Computing
Intelligente Systeme
SWS 2

Siehe auch: Webseite zur Übung zu Algorithm Engineering

Zeit und Ort

  • Vorlesung: Dienstag, 14:15-15:45 Uhr, OH14, Raum 104
  • Übung: Mittwoch, 10:15-11:45 Uhr, OH14, Raum 304

Inhalt der Vorlesung

Algorithmen und Datenstrukturen sind das Herz jeder Computeranwendung. Traditionell hat sich die Algorithmik der Methodik der Algorithmentheorie bedient: Algorithmen werden für einfache und abstrakte Problem- und Maschinenmodelle entworfen und Leistungsgarantien werden für alle möglichen Eingaben bewiesen (z.B. Worst-Case Analyse).

Bei wachsenden Anforderungen an innovative Algorithmen ergeben sich daraus wachsende Lücken zwischen Theorie und Praxis: Reale Hardware entwickelt sich durch Parallelismus, Speicherhierarchien Pipelining, etc. immer weiter weg von einfachen Maschinenmodellen und reale Anwendungen werden immer komplexer. Gleichzeitig entwickelt die Algorithmentheorie auch für einfache Anwendungen immer komplexere Algorithmen, die zwar in der Theorie wichtige Ideen und Resultate liefern, aber oft auch kaum implementierbar sind. Außerdem haben reale Eingaben oft wenig mit den Worst-Case Szenarien der theoretischen Analyse zu tun. Im schlimmsten Fall werden viel versprechende algorithmische Ansätze vernachlässigt, weil eine vollständige Analyse mathematisch zu schwierig wäre.

Seit Beginn der 1990er Jahre wird deshalb eine breitere Sichtweise der Algorithmik immer wichtiger, die als Algorithm Engineering bezeichnet wird. Dabei stehen der Entwurf, die Analyse, die Implementierung und die experimentelle Bewertung von Algorithmen gleichberechtigt nebeneinander. Der gegenüber der Algorithmentheorie größere Methodenapparat, die Einbeziehung realer Hard- und Software und der engere Bezug zu realen Anwendungen verspricht realistischere Algorithmen. Dadurch soll die Lücke zwischen Theorie und Praxis überbrückt und ein schnellerer Transfer von algorithmischem Wissen in Anwendungen gewährleistet werden.

In dieser Vorlesung wird eine Einführung in die Thematik des Algorithm Engineering gegeben und die dabei verwendeten Techniken vorgestellt. An besonders gelungenen Beispielen wird der typische Kreislauf des Algorithm Engineering dargestellt. Diese beinhalten u.a. Cache-effiziente Externspeicheralgorithmen, sowie Algorithmen für Mehrkernprozessoren und NP-schwierige kombinatorische Optimierungsprobleme.

Themen

  • Einführung in die Grundlagen des Algorithm Engineering
  • Externspeicheralgorithmen
  • Cache-effiziente Algorithmen
  • Multicore-Algorithmen
  • Algorithm Engineering für NP-schwere kombinatorische Optimierungsprobleme
  • Anwendungsfall: Kürzeste Wege Suche in Straßennetzwerken
  • Anwendungsfall: Graph Drawing für große Graphen

Zugangsvoraussetzungen

Prüfungsmodalitäten, Leistungsnachweise

Diplomstudiengang

  • Mündliche Fachprüfung
    • über 2VO + 2 UE, 6LP
    • mündliche Prüfung über den Stoff der Vorlesung und Übung
  • Leistungsnachweis
  • über 2VO + 2UE, 6LP
  • regelmäßige, aktive Teilnahme an den Übungen

Masterstudiengang

  • Modulprüfung
    • über 2VO + 2UE, 6LP
    • regelmäßige, aktive Teilnahme an den Übungen
    • mündliche Prüfung über den Stoff der Vorlesung und Übung

Materialien zur Vorlesung

  • Die Vorlesungsfolien und weitere Materialien zur Vorlesung werden im EWS-Arbeitsraum der Vorlesung zur Verfügung gestellt. Um diesen zu nutzen, müsst ihr euch über EWS anmelden. Bei Fragen bzw. Problemen bitte bei mir melden!
  • Überblick über die einzelnen Vorlesungen mit Links auf relevante Literatur und Webseiten

Allgemeine Literatur zu Algorithm Engineering

Konferenzen

Links und weiterführende Informationen zu Algorithm Engineering Konferenzen findet man hier.

 
Last modified: 2015-09-11 11:02 (external edit)
DokuWikiRSS-Feed