Effiziente Algorithmen und Komplexitätstheorie

Diese Vorlesung hat im Wintersemester den Schwerpunkt Komplexitätstheorie und im Sommersemester den Schwerpunkt Effiziente Algorithmen. Ein Besuch beider Vorlesungen ist sinnvoll und für eine Spezialisierung in diesen Bereichen sehr nützlich.

Vorlesungsinhalt

Effiziente Algorithmen werden in vielen Bereichen der Informatik und in anderen Wissenschaften benötigt. So besteht z. B. der wichtigste Beitrag der Informatik zur Genomforschung in der Bereitstellung guter Algorithmen. Der Entwurf effizienter Algorithmen ist eine Disziplin, bei der Kenntnisse in dem Gebiet, aus dem das betrachtete Problem stammt, Intuition, Fingerspitzengefühl und Entwurfsmethoden für effiziente Algorithmen zusammenspielen. Letztere werden an praktisch relevanten Beispielen in der Vorlesung gelehrt. Hinzu kommen Methoden zur Analyse der untersuchten Algorithmen. In der Vorlesung werden die wichtigsten Algorithmentypen behandelt: Dabei kommen allgemeine Entwurfsmethoden wie dynamische Programmierung oder Branch-and-Bound ebenso zur Sprache wie verallgemeinerbare Tricks zum Entwurf effizienter Algorithmen. Der Schwerpunkt der Vorlesung besteht darin, die Hörerinnen und Hörer in die Lage zu versetzen, in vergleichbaren Situationen selbst effiziente Algorithmen entwerfen und analysieren zu können. Nebenbei werden die besten bekannten Algorithmen für zentrale Probleme vorgestellt.