Online-Algorithmen

Termine

Art Wann Wo Beginn Dozent
V4 Dienstag 12:30 - 14:00
Donnerstag 12:30 - 14:00
AVZ III / HS 1
AVZ III / HS 1
7. April 2015 Röglin
Ü2 Mittwoch 10:15 - 12:00
Donnerstag 10:15 - 12:00
Freitag 10:15 - 12:00
AVZ III / A7b
AVZ III / A6b
AVZ III / A7b
15. April 2015 Großwendt
Janke
Thorand

Inhalt

Bei der Lösung von Optimierungsproblemen sind wir in den einführenden Vorlesungen stets davon ausgegangen, dass die konkrete Eingabe dem Algorithmus von Anfang an komplett bekannt ist. In manchen Anwendungen ist das aber nicht der Fall und die Eingabe wird erst Schritt für Schritt aufgedeckt. Probleme mit dieser Eigenschaft nennt man Online-Probleme. Die Speicherverwaltung eines Rechners muss beispielsweise bei dem Ausführen eines Programms, ohne dessen zukünftiges Verhalten zu kennen, entscheiden, welche Seiten im CPU-Cache gehalten und welche in den Hauptspeicher ausgelagert werden. Auch im Wirtschaftsleben sind Online-Probleme keine Seltenheit. Autofahrer stehen beispielsweise oft vor der Entscheidung, wann sie eine Tankstelle anfahren, ohne die Entwicklung der Spritpreise in den nächsten Tagen zu kennen.

Man könnte meinen, dass man bei solchen Online-Problemen algorithmisch wenig ausrichten kann. Weiß man nicht, auf welche Seiten ein Programm als nächstes zugreifen wird, so kann man scheinbar keine sinnvolle Entscheidung treffen, welche Seiten in den Hauptspeicher ausgelagert werden sollten. Tatsächlich ist dies aber nicht der Fall und man kann durch geschicktes Verhalten bei Online-Problemen besser abschneiden als bei beliebigem Verhalten. Wir werden uns in der Vorlesung mit dem Entwurf und der Analyse von solchen Online-Algorithmen beschäftigen.

Datum Inhalt
7. April 1 Einleitung
2 Paging
2.1 Deterministische Algorithmen
2.1.1 Markierungsalgorithmen
9. April 2.1.1 Markierungsalgorithmen (Fortsetzung)
2.1.2 Untere Schranken
2.1.3 Optimaler Offline-Algorithmus
14. April 2.1.4 Zusammenfassung der Ergebnisse
2.2 Randomisierte Algorithmen
2.2.1 Potentialfunktionen
2.2.2 Analyse von RANDOM
16. April 2.2.2 Analyse von RANDOM (Fortsetzung)
2.2.3 Analyse von MARK
21. April 2.2.4 Untere Schranke für randomisierte Online-Algorithmen
3 Das k-Server-Problem
3.1 Einführende Bemerkungen
3.1.1 Der Greedy-Algorithmus
3.1.2 Die k-Server-Vermutung
23. April 3.1.3 Optimale Offline-Algorithmen
3.2 Untere Schranke für deterministische Algorithmen
28. April 3.3 Das k-Server-Problem auf Linien und Bäumen
3.3.1 Analyse des DC-Algorithmus auf der Linie
30. April 3.3.2 Analyse des DC-Algorithmus auf Bäumen
3.3.3 Anwendungen des DC-Algorithmus
5. Mai 3.4 Das 2-Server-Problem im euklidischen Raum
4 Approximation von Metriken
4.1 Approximation durch Baummetriken
7. Mai 4.1.1 Hierarchische Partitionen und Baummetriken
4.1.2 Erzeugung von hierarchischen Partitionen
4.1.3 Analyse des Streckungsfaktors
12. Mai 4.2 Anwendung auf das k-Server-Problem
5 Online-Probleme beim Handel
5.1 Online-Suche und One-Way-Trading
5.1.1 Zusammenhang der beiden Problemvarianten
19. Mai 5.1.2 Algorithmen für Online-Suche
21. Mai 5.1.3 Optimaler Online-Algorithmus für One-Way-Trading
2. Juni 5.2 Economical Caching
5.2.1 Ein Reservationspreisalgorithmus
5.2.2 Untere Schranken
9. Juni 5.2.2 Untere Schranken (Fortsetzung)
5.2.3 Algorithmen mit fester Lagerfunktion
5.2.4 Ein optimaler Online-Algorithmus
11. Juni 6 Scheduling
6.1 Identische Maschinen
6.2 Maschinen mit Geschwindigkeiten
16. Juni 6.2 Maschinen mit Geschwindigkeiten (Fortsetzung)
7 Das Online-Matching-Problem
7.1 Deterministische Algorithmen
7.2 Randomisierte Algorithmen
18. Juni 7.2 Randomisierte Algorithmen (Fortsetzung)
23. Juni 7.2 Randomisierte Algorithmen (Fortsetzung)
7.3 Random-Order-Modell
7.3.1 Das klassische Sekretärinnenproblem
25. Juni 7.3.2 Das Online-Matching-Problem in gewichteten Graphen
30. Juni 7.3.3 Eine untere Schranke
8 Das Minimax-Prinzip
8.1 Spielbaumauswertung
2. Juli 8.2 Das Minimax-Prinzip
8.2.1 2-Personen-Nullsummenspiele
8.2.2 Anwendung auf randomisierte Algorithmen
7. Juli 8.3 Untere Schranke für Spielbaumauswertung
8.4 Anwendungen auf Online-Probleme
8.4.1 Paging
9. Juli 8.4.2 Matching

Übungen

Für den Erhalt des Übungsscheins müssen insgesamt mindestens 50% der zu erreichenden Punkte bei den Übungsaufgaben erreicht werden und Lösungen von zwei Aufgaben müssen im Laufe des Semesters erfolgreich in den Tutorien präsentiert werden. Eine Abgabe der Übungsaufgaben in Gruppen bis zu drei Studierenden ist möglich.

Bitte melden Sie sich bis zum 12. April 2015 im Tutorienvergabesystem für die Übungen an.

Prüfungen

Es wird am Ende der Vorlesungszeit mündliche Prüfungen geben. Die möglichen Termine für die erste Prüfung sind 16.07., 05.08. und 06.08. Bitte melden Sie sich spätestens bis zum 30.06. bei Antje Bertram, um einen Termin auszumachen. Die Nachprüfungen werden am 30. September stattfinden.

Literatur

Die Inhalte der Vorlesung finden sich in diesem Skript.

Weitere empfohlene Literatur: