Effiziente Algorithmen (SoSe 2014)

Veranstalter Carsten Gutwenger
Modul INF-BSc-221 (Bachelor Informatik / Angewandte Informatik)
Veranstaltungsnummer 040221
EWS Arbeitsraum
SWS 4 VO + 2 UE

Die Veranstaltung entspricht auch der auslaufenden Vorlesung “Effiziente Algorithmen und Komplexitätstheorie” im Diplomstudiengang Informatik / Angewandte Informatik als Wahlpflichtveranstaltung sowie dem Modul MD V “Effiziente Algorithmen” im Master Datenwissenschaften. Die begleitende Übung ist für das Verständnis des Stoffes sehr wichtig.

Ort und Zeit

Prüfungen

Zusammenfassung

Weitere Informationen: s. Modulbeschreibung.

Gliederung

Die Vorlesung ist wie folgt in Kapitel und Abschnitte gegliedert (die Gliederung wird synchron zur Vorlesung ergänzt):

  1. Einführung (VO 1)
  2. Tiefensuche und 2-Zusammenhang (VO 2)
    1. Tiefensuche (Wdh. aus DAP 2)
    2. Zweizusammenhang
  3. Starke Zusammenhangskomponenten (VO 3)
    1. Tiefensuche in gerichteten Graphen
    2. Starker Zusammenhang
  4. Maximale Matchings in Graphen (VO 4-5)
    1. Matchings in bipartiten Graphen
    2. Matchings in allgemeinen Graphen
  5. Flüsse in Graphen (VO 6-10)
    1. Das Flussproblem
    2. Der Algorithmus von Ford und Fulkerson
    3. Das Max-Flow / Min-Cut Theorem
    4. Der Algorithmus von Dinic
    5. Der Algorithmus von Malhotra et al.
    6. Der Goldberg-Tarjan Algorithmus
  6. Amortisierte Analyse (VO 11-12)
    1. Potenzialmethode
    2. Kostenverteilung
    3. Kontenmethode
    4. Union/Find mit Pfadkompression
  7. String Matching (VO 12-16)
    1. Einleitung und naiver Algorithmus
    2. String Matching mit DEAs
    3. Algorithmus von Knuth, Morris, Pratt
  8. Approximationsalgorithmen (VO 17)
    1. Grundbegriffe
    2. FPTAS für das Rucksackproblem
  9. Das Traveling Salesman Problem (VO 18)
    1. Motivation & Grundlagen
    2. Approximationen für das metrische TSP
  10. Analyse randomisierter Algorithmen für Erfüllbarkeitsprobleme (VO 19-20)
    1. Randomisierte Algorithmen
    2. Approximation für MAX-k-SAT
    3. Randomisiertes Runden
  11. Schnittprobleme (VO 21-22)
    1. Max Cut
    2. Ein randomisierter Min-Cut Algorithmus
    3. Fast Min-Cut
  12. Hashing (VO 23-24)
    1. Universelles Hashing
    2. Statisches perfektes Hashing
    3. Cuckoo Hashing
  13. Skiplisten (VO 25)
    1. Perfekte Skiplisten
    2. Randomisierte Skiplisten