Effiziente Algorithmen (SS2014)
Kapitel 9 Online-Algorithmen
Walter Unger
Lehrstuhl für Informatik 1
24.06.2014 18:50
Einleitung File-Allocation-Problem Paging-Problem
(9:2.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Inhalt I
1 Einleitung Motivation Beispiele Definitionen
2 File-Allocation-Problem Einleitung Obere Schranke Untere Schranke
3 Paging-Problem Einleitung Marking-Algorithmus Nicht-competitive Algorithmen Untere Schranke
Competitive Analyse für Zufallsalgorithmen Randomisierter Marking-Algorithmus Online-Algorithmus mit Vorteil
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.5) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.6) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.7) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.8) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.9) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.10) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.11) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Motivation (9:1.12) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Einleitung
Bisher bekam ein Algorithmus die komplette Eingabe.
Muss aber in der Praxis oft aber nicht möglich sein:
Neuer Kunde für den Handlungsreisenden.
Neuer Prozess auf Rechner.
Neue Frage in einer Prüfung.
Daher unterscheiden wir:
Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.
Online:
Der Algorithmus bekommt die Eingabe in Stücken.
Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.
Getroffene Entscheidungen können nicht geändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.5) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.6) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.7) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.8) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.9) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4
a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.10) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:3.11) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online-Graphfärbung
a1 a2 a3
a4
b1 b2 b3
b4
c1 c2 c3
c4 a5
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1
a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1
a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2
a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2
a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.5) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3
a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.6) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3
a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.7) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4
a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.8) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4
a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.9) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4 a5
a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.10) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4 a5
a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.11) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.12) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.13) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Beispiele (9:5.14) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beispiel: Online Stabile Menge
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:7.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
Seiρ=ρ1, ρ2, ρ3, . . . , ρmeine Eingabesequenz für ein Problem Π.
Ein AlgorithmusAist ein Online-Algorithmus, wenn:
Imi-ten Schritt die Eingabe vonρi erfolgt.
Amuss aufρ1...i=ρ1, ρ2, ρ3, . . . , ρi eine Lösung für Π angeben.
Dabei darf die Entscheidung vonAaufρ1...i−1=ρ1, ρ2, ρ3, . . . , ρi−1
nicht verändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:7.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
Seiρ=ρ1, ρ2, ρ3, . . . , ρmeine Eingabesequenz für ein Problem Π.
Ein AlgorithmusAist ein Online-Algorithmus, wenn:
Imi-ten Schritt die Eingabe vonρi erfolgt.
Amuss aufρ1...i=ρ1, ρ2, ρ3, . . . , ρi eine Lösung für Π angeben.
Dabei darf die Entscheidung vonAaufρ1...i−1=ρ1, ρ2, ρ3, . . . , ρi−1
nicht verändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:7.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
Seiρ=ρ1, ρ2, ρ3, . . . , ρmeine Eingabesequenz für ein Problem Π.
Ein AlgorithmusAist ein Online-Algorithmus, wenn:
Imi-ten Schritt die Eingabe vonρi erfolgt.
Amuss aufρ1...i=ρ1, ρ2, ρ3, . . . , ρi eine Lösung für Π angeben.
Dabei darf die Entscheidung vonAaufρ1...i−1=ρ1, ρ2, ρ3, . . . , ρi−1
nicht verändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:7.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
Seiρ=ρ1, ρ2, ρ3, . . . , ρmeine Eingabesequenz für ein Problem Π.
Ein AlgorithmusAist ein Online-Algorithmus, wenn:
Imi-ten Schritt die Eingabe vonρi erfolgt.
Amuss aufρ1...i=ρ1, ρ2, ρ3, . . . , ρi eine Lösung für Π angeben.
Dabei darf die Entscheidung vonAaufρ1...i−1=ρ1, ρ2, ρ3, . . . , ρi−1
nicht verändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:7.5) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
Seiρ=ρ1, ρ2, ρ3, . . . , ρmeine Eingabesequenz für ein Problem Π.
Ein AlgorithmusAist ein Online-Algorithmus, wenn:
Imi-ten Schritt die Eingabe vonρi erfolgt.
Amuss aufρ1...i=ρ1, ρ2, ρ3, . . . , ρi eine Lösung für Π angeben.
Dabei darf die Entscheidung vonAaufρ1...i−1=ρ1, ρ2, ρ3, . . . , ρi−1
nicht verändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:7.6) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
Seiρ=ρ1, ρ2, ρ3, . . . , ρmeine Eingabesequenz für ein Problem Π.
Ein AlgorithmusAist ein Online-Algorithmus, wenn:
Imi-ten Schritt die Eingabe vonρi erfolgt.
Amuss aufρ1...i=ρ1, ρ2, ρ3, . . . , ρi eine Lösung für Π angeben.
Dabei darf die Entscheidung vonAaufρ1...i−1=ρ1, ρ2, ρ3, . . . , ρi−1
nicht verändert werden.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:8.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
SeiAein Online-Algorithmus undCA(ρ) die Kosten der vonA berechneten Strategie auf Eingabesequenzρ.
SeienC∗(ρ) die Kosten für eine optimale Strategie.
Dann istAc-competitive, falls es eine Konstanteagibt, so dass für jede Eingabesequenzρgilt:
CA6c·C∗(ρ) +a.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:8.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
SeiAein Online-Algorithmus undCA(ρ) die Kosten der vonA berechneten Strategie auf Eingabesequenzρ.
SeienC∗(ρ) die Kosten für eine optimale Strategie.
Dann istAc-competitive, falls es eine Konstanteagibt, so dass für jede Eingabesequenzρgilt:
CA6c·C∗(ρ) +a.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:8.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
SeiAein Online-Algorithmus undCA(ρ) die Kosten der vonA berechneten Strategie auf Eingabesequenzρ.
SeienC∗(ρ) die Kosten für eine optimale Strategie.
Dann istAc-competitive, falls es eine Konstanteagibt, so dass für jede Eingabesequenzρgilt:
CA6c·C∗(ρ) +a.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:8.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Definition
Definition
SeiAein Online-Algorithmus undCA(ρ) die Kosten der vonA berechneten Strategie auf Eingabesequenzρ.
SeienC∗(ρ) die Kosten für eine optimale Strategie.
Dann istAc-competitive, falls es eine Konstanteagibt, so dass für jede Eingabesequenzρgilt:
CA6c·C∗(ρ) +a.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.5) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.6) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.7) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.8) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.9) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.10) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.11) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.12) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Definitionen (9:9.13) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Sehr einfaches Beispiel
Wir wollen grillen.
Mietgrill kostest 5 Euro pro Abend.
Kosten beim Kauf eines Grills sind 50 Euro.
Wir gillen nur bei guten Wetter.
Vielleicht erlischt auch die Lust am Grillen.
Sollen wir Grill kaufen oder mieten?
Es lohnt sich den Grill zu kaufen, wenn wir mindestens zehn mal grillen.
Aber vieleicht regnet es den ganzen Sommer.
Strategiex-mal mieten, dann kaufen.
Im schlimmsten Fall (bösartiger Gegenspieler) wird es nach dem Kauf nur noch regnen.
Beste Strategie: 10 mal mieten, dann kaufen.
Das ist 2-competitive.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.5) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.6) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.7) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:10.8) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Problembeschreibung
Betrachte Datei in einem Netzwerk.
Viele Nutzer wollen diese lesen.
Viele Nutzer können diese lesen.
Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.
Die Migration der Datei erzeugt Kosten.
Damit haben wir das File-Allocation-Problem (FAP).
Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:11.1) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beschreibung der Situation
Wir betrachten System aus zwei Rechnerna,b (Knoten).
a b
Damit sind die folgenden Konfigurationen möglich:
[a]: die Datei ist nur auf Knotena.
a b
[b]: die Datei ist nur auf Knotenb.
a b
[a,b]: die Datei ist auf beiden Knoten.
a b
Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:
ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:11.2) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beschreibung der Situation
Wir betrachten System aus zwei Rechnerna,b (Knoten).
a b
Damit sind die folgenden Konfigurationen möglich:
[a]: die Datei ist nur auf Knotena.
a b
[b]: die Datei ist nur auf Knotenb.
a b
[a,b]: die Datei ist auf beiden Knoten.
a b
Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:
ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:11.3) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beschreibung der Situation
Wir betrachten System aus zwei Rechnerna,b (Knoten).
a b
Damit sind die folgenden Konfigurationen möglich:
[a]: die Datei ist nur auf Knotena.
a b
[b]: die Datei ist nur auf Knotenb.
a b
[a,b]: die Datei ist auf beiden Knoten.
a b
Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:
ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:11.4) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beschreibung der Situation
Wir betrachten System aus zwei Rechnerna,b (Knoten).
a b
Damit sind die folgenden Konfigurationen möglich:
[a]: die Datei ist nur auf Knotena.
a b
[b]: die Datei ist nur auf Knotenb.
a b
[a,b]: die Datei ist auf beiden Knoten.
a b
Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:
ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:11.5) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beschreibung der Situation
Wir betrachten System aus zwei Rechnerna,b (Knoten).
a b
Damit sind die folgenden Konfigurationen möglich:
[a]: die Datei ist nur auf Knotena.
a b
[b]: die Datei ist nur auf Knotenb.
a b
[a,b]: die Datei ist auf beiden Knoten.
a b
Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:
ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:11.6) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beschreibung der Situation
Wir betrachten System aus zwei Rechnerna,b (Knoten).
a b
Damit sind die folgenden Konfigurationen möglich:
[a]: die Datei ist nur auf Knotena.
a b
[b]: die Datei ist nur auf Knotenb.
a b
[a,b]: die Datei ist auf beiden Knoten.
a b
Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:
ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.
Einleitung File-Allocation-Problem Paging-Problem
Einleitung (9:11.7) <> Walter Unger 17.1.2015 17:53 SS2014 Z
Beschreibung der Situation
Wir betrachten System aus zwei Rechnerna,b (Knoten).
a b
Damit sind die folgenden Konfigurationen möglich:
[a]: die Datei ist nur auf Knotena.
a b
[b]: die Datei ist nur auf Knotenb.
a b
[a,b]: die Datei ist auf beiden Knoten.
a b
Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:
ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.