das ski problem - thi.informatik.uni-frankfurt.de · das ski problem wir fahren in den skiurlaub...

38
Das Ski Problem Wir fahren in den Skiurlaub und sind vor die Entscheidung gestellt, ? jeden Tag Skier für 1 Euro pro Tag zu leihen oder ? für K Euro Skier zu kaufen. Leider wissen wir nicht, wie lange die Skisaison dauert: ! Wenn wir am ersten Tag Skier kaufen, kann die Saison bereits am nächsten Tag beendet sein. ! Wenn wir jeden Tag mieten, hätten wir bei einer Saison von mindestens K + 1 Tagen besser am ersten Tag Skier gekauft. Eine optimale Entscheidung ist unmöglich, da wir das Wetter während des Rests des Urlaubs nicht kennen. Gibt es aber gute Strategien, deren Kosten nicht zuweit von den optimalen Kosten entfernt sind? Das Ski Problem 1 / 38

Upload: votu

Post on 26-Aug-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Das Ski Problem

Wir fahren in den Skiurlaub und sind vor die Entscheidung gestellt,? jeden Tag Skier für 1 Euro pro Tag zu leihen oder? für K Euro Skier zu kaufen.

Leider wissen wir nicht, wie lange die Skisaison dauert:! Wenn wir am ersten Tag Skier kaufen, kann die Saison bereits am

nächsten Tag beendet sein.! Wenn wir jeden Tag mieten, hätten wir bei einer Saison von

mindestens K + 1 Tagen besser am ersten Tag Skier gekauft.

Eine optimale Entscheidung ist unmöglich, da wir das Wetterwährend des Rests des Urlaubs nicht kennen.Gibt es aber gute Strategien, deren Kosten nicht zuweit von denoptimalen Kosten entfernt sind?

Das Ski Problem 1 / 38

Eine optimale deterministische Strategie

Unser Ziel:Der Quotient (oder Wettbewerbsfaktor)

unsere Kostenoptimale Kosten

sollte im Worst-Case so klein wie möglich sein.

Unsere Strategie: Miete Skier während der ersten K − 1 Tage undkaufe am K ten Tag.

I Wenn die Saison höchstens K − 1 Tage dauert, dann sind wiroptimal, erhalten also den Wettbewerbsfaktor 1.

I Wenn die Saison K Tage oder länger dauert, dann ist K−1+KK < 2

unser Wettbewerbsfaktor.Wenn eine Strategie am Tag k < K kauft, dann ist k−1+K

k ≥ 2 derWettbwerbsfaktor.Wir sind offensichtlich besser als jede Strategie, die später kauft.

Das Ski Problem 2 / 38

Die allgemeine Fragestellung

Ein on-line Algorithmus A erhält eine Folge σ = (σ1, . . . , σn) undmuss eine Ausgabefolge A(σ) = (τ1, . . . , τn) berechnen.

Wenn zusätzlich die Eingabe σn+1 erscheint, dann muss A dieAusgabe τn+1 bestimmen.

Die Ausgabe wird durch eine Funktion f ausgewertet:Für jede Folge σ bestimme den Quotienten

f (σ,A(σ))

minτ f (σ, τ).

Der größte Wert des Quotienten, also

maxσ

f (σ,A(σ))

minτ f (σ, τ)

definiert den Wettbewerbsfaktor von A.

Das Ski Problem 3 / 38

Die allgemeine Fragestellung II

Eine on-line Agorithmus, der ständig Entscheidungen zu treffen hatohne die Zukunft zu kennen, muss sich mit dem Optimum vergleichen.

Und nicht nur das: Der Wettbewerbsfaktor misst die Leistung deson-line Algorithmus auf der schlechtesten Eingabefolge.

Und für randomisierte on-line Algorithmen A?I Bestimme diesmal den Erwartungswert E [f (σ,A(σ))].I Der Wettbewerbsfaktor ist jetzt

maxσ

E [f (σ,A(σ))]

minτ f (σ, τ).

Das Ski Problem 4 / 38

Randomisierung für das Ski Problem

Kaufe Skier zu Beginn des i + 1ten Tages mit Wahrscheinlichkeit πiund miete mit Wahrscheinlichkeit 1− πi .

Wann hat π einen möglichst kleinem Wettbewerbsfaktor?Man stelle sich vor, dass ein Gegner, der die Verteilung kennt, aufmöglichst gemeine Art und Weise die Skisaison beendet.

Es wäre unklug, Skier an einem Tag t > K zu kaufen,da ein Kauf am Tag K geringere Kosten verursacht.

Wir können deshalb o.B.d.A. annehmen, dass πt = 0 für t > K gilt.

Die erwarteten Kosten, wenn die Saison am Tag T endet, sind

E(T ) =T−1∑t=0

(t + K ) · πt + T ·K∑

t=T

πt .

I Die Kosten betragen t + K , wenn am Tag t + 1 gekauft wird.I Mit Wahrscheinlichkeit

∑Kt=T πt wird an den Tagen T + 1, . . . ,K + 1

gekauft.

Das Ski Problem 5 / 38

Was passiert für πt = 1/K ?

Die erwarteten Kosten, wenn die Saison am Tag T endet, sind

E(T ) =T−1∑t=0

(t + K ) · πt + T ·K∑

t=T

πt .

Wir kaufen zu Beginn des Tages t mit Wahrscheinlichkeit 1/K .Unsere erwarteten Kosten, wenn die Saison am Tag T endet, sind

E(T ) =T−1∑t=0

t + KK

+ T ·K∑

t=T

1K

=T · (T − 1)/2 + T · K + T · (K − T + 1)

K

=4T · K − T 2 + T

2K.

Und E(1) = 4K2K = 2: Der Wettbewerbsfaktor ist mindestens 2.

Das Ski Problem 6 / 38

Die Analyse

Die erwarteten Kosten, wenn die Saison am Tag T endet, sind

E(T ) =T−1∑t=0

(t + K ) · πt + T ·K∑

t=T

πt .

Wir führen eine heuristische Rechnung durch:Wir nehmen an, dass die Variable T reellwertig ist und dass πeine auf [1,K ] definierte Verteilung beschreibt.Wenn der Wettbwerbsfaktor höchstens α ist, dann

F (T ) :=

∫ T

t=0(t + K ) · π(t) · dt + T ·

∫ K

t=Tπ(t) · dt

!≤ α · T .

Nimm Gleichheit an und differenziere nach T :

F ′(T ) = (T + K ) · π(T ) +

[∫ K

t=Tπ(t) · dt − T · π(T )

]!

= α

Das Ski Problem 7 / 38

Zwischenstand

F ′(T ) = (T + K ) · π(T ) +

[∫ K

t=Tπ(t) · dt − T · π(T )

]!

= α

Differenziere nochmals, um das verbleibende Integralloszuwerden:

F ′′(T ) =[π(T ) + (T + K ) · π′(T )

]+[−π(T )− π(T )− T · π′(T )

]= K · π′(T )− π(T )

!= 0

Die Differentialgleichung π(T ) = K · π′(T ) hat aber genau dieLösungen

π(T ) = c · eT/K

für eine beliebige Konstante c.

Das Ski Problem 8 / 38

Eine optimale Verteilung π

Es ist π(T ) = c · eT/K . Wie ist c zu wählen?

π beschreibt eine Verteilung, d.h. es muss 1 =∫ K

0 π(t) · dt gelten.

c · K · eT/K ist die Stammfunktion von π(T ), dennI (c · K · eT/K )′ = c · eT/K = π(T ).I Wir müssen 1 = c · K · e − c · K fordern, und damit ist c = 1

K ·(e−1) .I Unsere Lösung ist

π(T ) =1

K · (e − 1)· eT/K .

Wie groß ist der Wettbewerbsfaktor α?I Setze π in die Bedingung F ′(T )

!= α ein

I und werte für T = 0 aus.

Das Ski Problem 9 / 38

Der Wettbewerbsfaktor

Wir haben gefordert

F ′(T ) = (T + K ) · π(T ) +

[∫ K

t=Tπ(t) · dt − T · π(T )

]!

= α

Für T = 0 ist

α = K · π(0) +

∫ K

t=0π(t)dt =

1e − 1

+ 1 =e

e − 1.

Wenn Skier zu Beginn des Tages T mit Wahrscheinlichkeit

πT =1

K · (e − 1)· eT/K

gekauft werden, dann wird der Wettbewerbsfaktor ee−1 ≈ 1,58 erreicht.

Das Ski Problem 10 / 38

Das Minimum Makespan Problem

Es sind n Aufgaben A1, . . . ,An mit den Laufzeiten t1, . . . , tn gegeben.Die Aufgaben sind so auf m Maschinen auszuführen, dass der„Makespan“, also die für die Abarbeitung aller Aufgabenanfallende Bearbeitungszeit, minimal ist.

Wenn Ij = {i | Ai wird auf Maschine j ausgeführt} die Menge derauf Maschine j auszuführenden Aufgaben ist, dann ist

max1≤j≤m

{∑i∈Ij

ti

}der Makespan.

Wir arbeiten mit einem Greedy Algorithmus:I Weise die Aufgaben der Reihe nach zu.I Führe die aktuelle Aufgabe auf der Maschine mit der bisher

geringsten Last aus.

Scheduling 11 / 38

Wie gut ist Greedy Scheduling?

Maschine i trage die größte Last.

Falls i nur eine Aufgabe ausführt, ist der on-line Algorithmusoffensichtlich optimal.Sonst führt Maschine i mindestens zwei Aufgaben aus.

I T sei die Gesamtlaufzeit von i und Aj sei die letzte von iausgeführte Aufgabe.

I Zum Zeitpunkt T − tj sind alle anderen Maschinen beschäftigt:

n∑k=1

tk ≥ (m − 1) · (T − tj ) + T = mT − (m − 1) · tj ≥ mT −m · tj

I Und als Konsequenz

T ≤ 1m·

n∑k=1

tk + tj ≤ 2 ·max

{1m·

n∑k=1

tk , tj

}.

Scheduling 12 / 38

Greedy Scheduling hat den Wettbewerbsfaktor 2

Hat Greedy Scheduling einen kleineren Wettbewerbsfaktor?

Eine worst-case Instanz.I m · (m − 1) „kurze“ Aufgaben der Länge 1 sowie eine „lange“

Aufgabe der Länge m sind gegeben.I Wenn die kurzen vor der langen Aufgabe erscheinen, dann verteilt

Greedy Scheduling die kurzen gleichmäßig über die m Maschinen:Makespan = m − 1 + m = 2m − 1.

I Aber der optimal Makespan ist m.

Der Wettbewerbsfaktor liegt beliebig nahe bei zwei.

Scheduling 13 / 38

Paging

Angenommen, wir können nur wenige Seiten eines langsamenexternen Speichers in einem schnellen internen Speicher halten.

Wenn eine neue Seite angefordert wird, müssen wir eine andereSeite auslagern. Wie bestimmen wir die auszulagernde Seite?

Die Kapazität des schnellen Speichers, also dasFassungsvermögen des Speichers, sei k .Ein on-line Algorithmus für das Paging-Problem erhält für jedeangeforderte, aber nicht vorhandene Seite einen Strafpunkt.

Welche Wettbewerbsfaktoren können erreicht werden?

Das Paging Problem 14 / 38

On-line Paging Strategien

- LFU (Least-Frequently-Used): Lagere die am wenigsten ange-forderte Seite aus. (Wir zählen die Anzahl der Anforderungen vomZeitpunkt der letzten Einlagerung der Seite an.)

I Lese die Seiten p1,p2, . . . ,pk nacheinander ein, gefolgt von derAnforderungsfolge p2, . . . ,pk .

I Danach starte die Anforderungen p0,p1,p0,p1, . . .F Für jede Seite gibt es einen Strafpunkt. Der Wettbewerbsfaktor ist

durch keine Konstante beschränkt.F Eine optimale Strategie erreicht aber nur einen Strafpunkt.

- LRU (Least-Recently-Used): Lagere die Seite aus, deren letzteAnforderung am weitesten zurückliegt.

- FIFO (First-In-First-Out): Lagere die Seite aus, die am längstengespeichert wurde.

- RANDOM: Verdränge eine zufällig und uniform gewählte Seiteaus dem Speicher.

Das Paging Problem 15 / 38

Eine untere Schranke

Sei A ein on-line Algorithmus und σ eine Folge, die zu einemersten Strafpunkt führt.Zu diesem Zeitpunkt habe A die Seiten p1, . . . ,pk gespeichert unddie Seite p0 ausgelagert.Jetzt konstruiere eine Eingabefolge σ′ mit Anforderungen an diek + 1 Seiten p0, . . . ,pk , so dass A einen Fehler auf jeder neuangeforderten Seite macht.Eine optimale off-line Strategie erhält andererseits auf σσ′ (mitAnforderungen an nur k + 1 Seiten) höchstens |σσ

′|k Strafpunkte.

Jede deterministische on-line Paging Strategie hat höchstens denWettbewerbsfaktor k .

Das Paging Problem Eine untere Schranke 16 / 38

Der Wettbewerbsfaktor von LRU

Sei σ = (σ1, σ2, . . .) eine Eingabefolge, auf der LRU am schlechtestenabschneidet. Zerlege σ in Teilfolgen σ = (σ1, σ2, . . .), so dass

- σ1 mit dem ersten Strafpunkt von LRU endet und- σj für j ≥ 2 nach Strafpunkt (j − 1) · k + 1 endet.

Es genügt zu zeigen, dass jede off-line Strategie während jederTeilfolge mindestens einen Strafpunkt erhält.Dies ist richtig für σ1, denn

LRU erhält ja,bei anfänglich leerem Speicher,

nur dann einen Strafpunkt, wenn k + 1 verschiedene Seitennachgefragt wurden.

Analysiere das Verhalten von LRU auf den Teilfolgen σj für j ≥ 2.

Das Paging Problem LRU 17 / 38

Der Wettbewerbsfaktor von LRU II

σj endet nach Strafpunkt (j − 1) · k + 1.

Fall 1: LRU erhält in σj zwei Strafpunkte für dieselbe Seite p.I Nach dem ersten Strafpunkt für p wird p in den Speicher geholt.I Da ein zweiter Strafpunkt vergeben wird, wurde p zwischenzeitlich

ausgelagert.I Dies passiert für LRU nur, wenn k neue Seiten zwischen dem

ersten und zweiten Strafpunkt für p angefordert werden.I Also fordert σj mindestens k + 1 verschiedene Seiten an:

Jede off-line Strategie erhält auch mindestens einen Strafpunkt.

Fall 2: LRU erhält Strafpunkte für k verschiedene Seiten.Sei q die Seite, auf der LRU den letzten Strafpunkt in σj−1 erhält.Fall 2.1: LRU erhält einen Strafpunkt für q in σj .

I Dieser Fall verläuft wie Fall 1.

Das Paging Problem LRU 18 / 38

Der Wettbewerbsfaktor von LRU III

Fall 2.2:

- q war die letzte Seite in σj−1 mit einem Strafpunkt für LRU.- LRU erhält aber keinen Strafpunkt für q in σj .

Eine optimale off-line Strategie muss zu Beginn von σj die Seite qspeichern, da gerade eine Anforderung für q erfolgte.Nach Annahme werden k verschiedene Seiten in σj angefordert,die alle von q verschieden sind.Damit muss jede off-line Strategie irgendwann einen Strafpunkt inσj erhalten.

LRU hat den optimalen Wettbewerbsfaktor k .Auch FIFO hat, mit analogem Argument, den Wettbewerbsfaktor k

Das Paging Problem LRU 19 / 38

Randomisiertes Paging

Die Marking Strategie(1) Die Seite p werde angefordert.(2) Wenn p nicht gespeichert ist, wähle zufällig eine nicht-markierte

Seite und lagere sie aus.Sind alle Seiten markiert, dann lösche alle Markierungen und wählezufällig eine der jetzt unmarkierten Seiten zur Auslagerung.

(3) Markiere p.

Marking schützt häufig nachgefragte Seiten durch die Markierungund arbeitet in dieser Hinsicht wie LRU.Mit der zufälligen Wahl einer auszulagernden Seite erhalten wirviele LRU-Varianten, von denen hoffentlich die meisten nurgeringe Kosten verursachen.Aber Marking hat auch Ähnlichkeiten mit LFU.

Das Paging Problem Marking 20 / 38

Zerlegung der Eingabefolge σ

Zerlege die Eingabefolge σ in Teilfolgen σ = (σ0, σ1, . . .), so dass- σ1 mit dem ersten vergebenen Strafpunkt beginnt.- σi für i ≥ 1 ein längstes auf σi−1 folgendes Eingabeintervall, in

dem genau k verschiedene Seiten angefordert werden.

Das Paging Problem Marking 21 / 38

Die zu Anfang von σi gespeicherten Seiten

Genau die während σi−1 angefordert Seiten sind zu Anfang von σi (füri ≥ 1) gespeichert und markiert.

Der Beweis für i = 1 ist charakteristisch.Zu Begin von σ1 erhält Marking einen Strafpunkt.

Marking löscht die Markierung der k verschiedenen, während σ0

angeforderten Seiten.

Alle während σ1 angeforderten Seiten werden sofort markiert unddiese Markierung wird während σ1 nicht gelöscht:

Es gibt ja noch unmarkierte Seiten.

Am Ende von σ1 sind genau die während σ1 angeforderten Seitengespeichert und markiert.

Das Paging Problem Marking 22 / 38

Was hängt von der Randomisierung ab?

Si sei die Menge der vor Beginn von σi gespeicherten Seiten.Die Zerlegung von σ wie auch die Mengen Si sind unabhängig vonden Münzwürfen von Marking.

σ1 beginnt mit dem ersten Strafpunkt.I Marking hat in σ0 genau k verschiedene Seiten eingelagert.I σ1 beginnt mit der Anforderung nach der k + 1ten Seite.

σi ist für i ≥ 1 ein längstes auf σi−1 folgendes Eingabeintervall, indem genau k verschiedene Seiten angefordert werden.

I Die Funktionsweise von Marking ist also in der Definition von σi

ohne Belang.

Die Menge Si stimmt überein mit der Menge der während σi−1

gespeicherten Seiten.

Das Paging Problem Marking 23 / 38

Alte und neue Seiten von σi .

Die während σi (i ≥ 1) angeforderten k verschiedenen Seiten sind- neue Anforderungen, wenn die angeforderte Seite nicht in Si liegt,- bzw. alte Anforderungen, wenn die angeforderte Seite in Si liegt.

Für ni neue Anforderungen während σi zeigen wir:

Die erwartete Strafpunktzahl für Marking während σi ist höchstens

ni ·k∑

j=1

1j.

Jeder off-line Algorithmus erhält nach (σ0, . . . , σm) mindestens

12·

m∑i=1

ni Strafpunkte.

Der Wettbewerbsfaktor von Marking ist ≤ 2 ·∑k

j=11j .

Das Paging Problem Marking 24 / 38

Der Wettbewerbsfaktor ist logarithmisch!

∑ki=1

1i ≤ 1 +

∫ k1

1x dx = ln(k) + 1.

Wende das Integralkriterium an:

6

- xk1 2 3

1x

Wir haben den Wettbwerbsfaktor von k auf 2 · (ln k + 1) reduziert.

Das Paging Problem Marking 25 / 38

Die Strafpunktzahl von Marking während σi

strafeialt = Erwartete Strafpunktzahl für die k − ni alten Anforderungen.

Wann wird strafeialt maximal?

I Zuerst Anforderungen nach neuen Seiten und dann Anforderungennach alten Seiten oder umgekehrt?

I Natürlich wenn neue Anforderungen zuerst kommen:Die Wahrscheinlichkeit wächst, dass alte Seiten zwischenzeitlichausgelagert wurden!

Sei alt1 die als erste angeforderte alte Seite.I p = Wahrscheinlichkeit, dass alt1 nicht ausgelagert wurde.I p =

(k−1ni

)/(k

ni

)= (k − ni )/k = 1− ni/k .

I Marking erhält einen Strafpunkt für alt1 mit Wahrscheinlichkeit ni/k .

Sei alt2 die als zweite angeforderte alte Seite. Mit welcherWahrscheinlichkeit erhält Marking einen Strafpunkt für alt2?

Das Paging Problem Marking 26 / 38

Die zweite Anforderung nach einer alten Seite I

Annahme: Die Anforderung nach alt1 war strafpunkt-frei.

Die Seite alt1 wurde nicht ausgelagert und ist, nach ihrerAnforderung, sicher.Jetzt kommen nur noch k − 1 alte Seiten für die ni Auslagerungenin Frage:

p =(k−2

ni

)/(k−1

ni

)= (k − 1− ni )/(k − 1) = 1− ni/(k − 1) ist die

Wahrscheinlichkeit, dass alt2 nicht ausgelagert wurde.

Die Wahrscheinlichkeit eines Strafpunkts steigt auf ni/(k − 1).

Das Paging Problem Marking 27 / 38

Die zweite Anforderung nach einer alten Seite II

Annahme: Die Anforderung nach alt1 hat auf einen Strafpunkt geführt.

alt1 wurde ausgelagert.I Also gibt es k − 1 Kandidaten für die restlichen ni − 1

Anforderungen nach neuen Seiten.Aber alt1 muss wieder in den Cache geholt werden:

I Es gibt k − 1 Kandidaten für die ersten ni Anforderungen, die nichtzu einer Auslagerung von alt1 führen.

I p =(k−2

ni

)/(k−1

ni

)= 1− ni/(k − 1) ist die Wahrscheinlichkeit, dass

alt2 während der ersten ni Anforderungen nicht ausgelagert wurde.

Die Wahrscheinlichkeit eines Strafpunkts ist ni/(k − 1) und damitunverändert.

Das Paging Problem Marking 28 / 38

Strafpunkte für alte Seiten

Wir wiederholen das Argument für die anderen alten Seiten:

strafeialt ≤

ni

k+

ni

k − 1+ · · ·+ ni

k − (k − ni − 1).

Die erwartete Anzahl strafeineu aller während σi ausgeführten

neuen Anforderungen ist ni .Die erwartete Strafpunktzahl während σi ist höchstens

strafeialt + strafei

neu ≤ ni + ni ·(

1k

+1

k − 1+ · · ·+ 1

ni + 1

)≤ ni ·

k∑j=1

1j.

Und das war zu zeigen.

Das Paging Problem Marking 29 / 38

Wieviele Strafpunkt erhält jede Paging Strategie?

Sei A ein off-line Algorithmus für (σ0, σ1, . . . , σm).

Wir arbeiten mit einer Potenzialfunktion Φ:Φ(i) = Anzahl der Seiten, die von A, aber nicht von Markingzu Beginn von σi gespeichert sind.

strafei(A) = Die von A für σi erhaltene Strafpunktzahl.I Höchstens Φ(i) angeforderte neue Seiten werden von A ohne

Strafpunkt abgearbeitet.I Also folgt strafei (A) ≥ ni − Φ(i).

strafei(A) ≥ Φ(i + 1): Warum?I Nach Abarbeiten von σi besitzt A genau Φ(i + 1) Seiten, die

Marking nicht besitzt und umgekehrt.I Marking speichert diese Φ(i + 1) Seiten nur, wenn sie während σi

angefordert werden.I A besitzt diese Seiten nicht: Also hat A die Seiten während σi

ausgelagert und jeweils einen Strafpunkt erhalten.

Das Paging Problem Marking 30 / 38

Wieviele Strafpunkt erhält jede Paging Strategie? II

Wir wissen:strafei(A) ≥ ni − Φ(i) wie auch strafei(A) ≥ Φ(i + 1).

max{a,b} ≥ 12(a + b) und deshalb ist

strafei(A) ≥ 12(ni − Φ(i) + Φ(i + 1)

).

Und wir sind fertig, weilm∑

i=1

strafei(A) ≥ 12·

m∑i=1

(ni − Φ(i) + Φ(i + 1)

)=

(12·

m∑i=1

ni

)+

12(Φ(m + 1)− Φ(1)

)≥ 1

m∑i=1

ni .

Das Paging Problem Marking 31 / 38

Wie gut können randomisierte Paging Strategien sein?

Ist ein sogar konstanter Wettbewerbsfaktor für randomisierteStrategien erreichbar?

Der Nachweis, dass deterministische Strategien einenWettbewerbsfaktor ≥ k besitzen, war einfach.Wir versuchen eine Reduktion der Analyse randomisierterStrategien auf die Analyse deterministischer Strategien.Was ist eine randomisierte Strategie R?

I Eine Sammlung deterministischer Strategien (Dr | r),I jeweils eine deterministische Strategie Dr für jede Folge r von

Münzwürfen der randomisierten Strategie R.

Das Paging Problem Eine untere Schranke 32 / 38

Die Strategie

Wir versuchen zu zeigen, dass Marking (fast) optimal ist.

1. Bestimme eine möglichst schwierige Verteilung π auf denEingabefolgen σ.

2. Bestimme eine möglichst gute untere Schranke für die erwarteteteStrafpunktzahl

Eπ[D] =∑σ

probπ[σ] · Strafe(D(σ))

einer beliebigen deterministischen on-line Strategie D.3. Vergleiche Eπ[D] mit der erwarteten Strafpunktzahl

Eπ[Opt] =∑σ

probπ[σ] · Strafe(Opt(σ))

einer optimalen Strategie.

Das Paging Problem Eine untere Schranke 33 / 38

Wenn Eπ[D] ≥ α · Eπ[Opt] für jede deterministische Strategie D, dannhat jede randomisierte Strategie einen Wettbewerbsfaktor ≥ α.

Die erwartete Strafpunktzahl Eπ[R] der randomisierten StrategieR = (Dr | r) für die schwierige Verteilung π ist

Eπ[R] :=∑σ

probπ[σ] · (∑

r

p[r ] · Strafe(Dr (σ))).

p[r ] ist die Wahrscheinlichkeit der deterministischen Strategie Dr .

Nach Summenvertauschung

Eπ[R] =∑

r

p[r ] ·∑σ

probπ[σ] · Strafe(Dr (σ)) =∑

r

p[r ] · Eπ[Dr ].

Wenn Eπ[D] ≥ α · Eπ[Opt], dann

Eπ[R] =∑

r

p[r ] · Eπ[Dr ] ≥ α · Eπ[Opt].

Das Paging Problem Eine untere Schranke 34 / 38

Welche Verteilung π sollen wir wählen?

- Nur solche Folgen σ erhalten eine positive Wahrscheinlichkeit, diegenau k · (k + 1) Anfragen für Seiten aus {0,1, . . . , k} stellen.

- Alle diese Folgen sind gleichwahrscheinlich.

Annahme: Zu Anfang sind k dieser k + 1 Seiten gespeichert.Zu jedem Zeitpunkt ist die Wahrscheinlichkeit eines Strafpunktsgenau 1

k+1 . Für die erwartete Strafpunktzahl Eπ[D] einerdeterministischer Strategie D gilt deshalb

Eπ[D] ≥ k · (k + 1)

k + 1= k .

Zeige: Die erwartete Strafpunktzahl einer besten off-line Strategie ist

≤ k/k+1∑i=1

1i.

Das Paging Problem Eine untere Schranke 35 / 38

Wie groß ist die optimale Strafpunktzahl?

Eine Anfragefolge σ der Länge k · (k + 1)nach Seiten in {0,1, . . . , k} liegt vor.

Unterteile σ = (σ0, σ1, . . .) in Teilfolgen σi :Jede Teilfolge σi ist längstmöglich, so dass nur Anforderungen an kverschiedene Seiten gestellt werden.

Eine optimale Strategie erhält in jeder Teilfolge σi höchstens einenStrafpunkt

und zwar für die zu Beginn von σi nicht gespeicherte Seite.

Die erwartete Strafpunktzahl für σ ist durch die erwartete Anzahlder Teilfolgen von σ beschränkt.

Wieviele Teilfolgen sind zu erwarten?

Das Paging Problem Eine untere Schranke 36 / 38

Coupon Collector

Wieviele Teilfolgen hat eine zufällige Folge σ, wenn jede Teilfolgemaximal lang ist mit Anforderungen an ≤ k verschiedene Seiten?

Die erwartete Anzahl der Teilfolgen stimmt überein mit

Folgenlängeerwartete Länge einer Teilfolge

.

Die erwartete Länge einer Teilfolge ist die durchschnittlicheWartezeit, bis alle k + 1 verschiedenen Seiten „gezogen“ wurden.

Die durchschnittliche Wartezeit beträgt (k + 1) ·∑k+1

i=11i .

Die erwartete Strafpunktzahl einer optimalen Strategie für σ ist

k · (k + 1)

(k + 1) ·∑k+1

i=11i

=k∑k+1

i=11i

.

Das Paging Problem Eine untere Schranke 37 / 38

Zusammenfassung

Deterministische Paging Strategien:I Der Wettbewerbsfaktor ist mindestens k .I LRU und FIFO haben Wettbewerbsfaktor k .

Randomisierte Paging Strategien:I Der Wettbewerbsfaktor ist mindestens

∑k+1i=1

1i ≈ ln(k).

I Marking hat den Wettbewerbsfaktor 2 ·∑k

i=11i ≈ 2 · ln(k).

Das Paging Problem Zusammenfassung 38 / 38