Termine
Art | Wann | Wo | Beginn | LP | Dozent |
---|---|---|---|---|---|
V4 | Dienstag 8:30 - 10:00
Donnerstag 8:30 - 10:00 |
AVZ III / HS 1
AVZ III / HS 1 |
5. April 2012 | 5 | Röglin |
Ü2 | Dienstag 10:15 - 11:45
Donnerstag 10:15 - 11:45 |
AVZ III / A6c
AVZ III / A6c
|
10. April 2012 | 3 | Brunsch, Liss, Röglin |
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 | Literatur |
---|---|---|
5. April | 1 Einleitung
2 Paging
2.1 Deterministische Algorithmen
2.1.1 Markierungsalgorithmen |
Skript |
10. April | 2.1.1 Markierungsalgorithmen (Fortsetzung)
2.1.2 Untere Schranken
2.1.3 Optimaler Offline-Algorithmus |
Skript |
12. April | 2.1.3 Optimaler Offline-Algorithmus (Fortsetzung)
2.1.4 Zusammenfassung der Ergebnisse
2.2 Randomisierte Algorithmen
2.2.1 Verschiedene Gegenspieler |
Skript |
17. April | 2.2.2 Potentialfunktionen
2.2.3 Analyse von RANDOM |
Skript |
19. April | 2.2.3 Analyse von RANDOM (Fortsetzung)
2.2.4 Analyse von MARK |
Skript |
24. April | 2.2.4 Analyse von MARK (Fortsetzung)
2.2.5 Untere Schranke für randomisierte Online-Algorithmen |
Skript |
26. April | 3 Das k-Server-Problem
3.1 Einführende Bemerkungen
3.1.1 Der Greedy-Algorithmus
3.1.2 Die k-Server-Vermutung
3.1.3 Optimale Offline-Algorithmen |
Skript |
3. Mai | 3.2 Untere Schranke für deterministische Algorithmen
3.3 Das k-Server-Problem auf Linien und Bäumen
3.3.1 Analyse des DC-Algorithmus auf der Linie |
Skript |
8. Mai | 3.3.1 Analyse des DC-Algorithmus auf der Linie (Fortsetzung)
3.3.2 Analyse des DC-Algorithmus auf Bäumen |
Skript |
10. Mai | 3.3.2 Analyse des DC-Algorithmus auf Bäumen (Fortsetzung)
3.3.3 Anwendungen des DC-Algorithmus |
Skript |
15. Mai | 3.4 Das 2-Server-Problem im euklidischen Raum |
Skript |
24. Mai | 4 Approximation von Metriken
4.1 Approximation durch Baummetriken
4.1.1 Von hierarchischen Partitionen zu Baummetriken
4.1.2 Randomisierte Einbettung |
Skript |
5. Juni | 4.1.2 Randomisierte Einbettung (Fortsetzung)
4.1.3 Der FRT-Algorithmus |
Skript |
12. Juni | 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 |
Skript |
14. Juni | 5.1.2 Algorithmen für Online-Suche
5.1.3 Optimaler Online-Algorithmus für One-Way-Trading |
Skript |
19. Juni | 5.1.3 Optimaler Online-Algorithmus für One-Way-Trading (Fortsetzung)
5.2 Economical Caching |
Skript |
21. Juni | 5.2.1 Ein Reservationspreisalgorithmus |
Skript |
26. Juni | 5.2.2 Untere Schranken |
Skript |
28. Juni | 5.2.3 Algorithmen mit fester Lagerfunktion
5.2.4 Ein optimaler Online-Algorithmus |
Skript |
3. Juli | 6 Scheduling
6.1 Identische Maschinen |
Skript |
5. Juli | 6.2 Maschinen mit Geschwindigkeiten |
Skript |
10. Juli | Wiederholung |
Skript |
Übungen
Die Kriterien für den Übungsschein sind regelmäßige aktive Teilnahme an den Übungen und das Erreichen von insgesamt mindestens 50% der zu erreichenden Punkte bei den Übungsaufgaben. Eine Abgabe der Übungsaufgaben in Gruppen bis zu drei Studierenden ist möglich.- Präsenzblatt (Besprechung in KW 15, keine Abgabe)
- Übungsblatt 1 (Besprechung in KW 16, Abgabe am 12.04. in der Vorlesung)
- Übungsblatt 2 (Besprechung in KW 17, Abgabe am 19.04. in der Vorlesung)
- Übungsblatt 3 (Besprechung in KW 18/19, Abgabe am 26.04. in der Vorlesung)
- Übungsblatt 4 (Besprechung in KW 19/20, Abgabe am 03.05. in der Vorlesung)
- Übungsblatt 5 (Besprechung in KW 21, Abgabe am 10.05. in der Vorlesung)
- Übungsblatt 6 (Besprechung in KW 23/24, Abgabe am 24.05. in der Vorlesung)
- Übungsblatt 7 (Besprechung in KW 24, Abgabe am 05.06. in der Vorlesung)
- Übungsblatt 8 (Besprechung in KW 25, Abgabe am 14.06. in der Vorlesung)
- Übungsblatt 9 (Besprechung in KW 26, Abgabe am 21.06. in der Vorlesung)
- Übungsblatt 10 (Besprechung in KW 27, Abgabe am 28.06. in der Vorlesung)
- Übungsblatt 11 (Besprechung in KW 28, Abgabe am 05.07. in der Vorlesung)
Prüfungen
Es wird nach der Vorlesungszeit mündliche Prüfungen geben. Die möglichen Termine sind der 16. Juli und der 23. Juli. Bitte wenden Sie sich per E-Mail an das Sekretariat der Abteilung I, um einen Termin auszumachen.Literatur
Die Inhalte der Vorlesung finden sich in diesem Skript, das während des Semesters kontinuierlich erweitert wird.
Weitere empfohlene Literatur:- [BE05] Allan Borodin und Ran El-Yaniv. Online Computation and Competitive Analysis.ISBN: 978-0521619462, Cambridge University Press, 2005.
- [Bl09] Norbert Blum. Skript zur Vorlesung Online-Algorithmen.Universität Bonn, Sommersemester 2009.