Recycling von Zufallsbits Algorithmen

Werbung
Kap. 5 Probabilistische Methode
ւ
ր
ր
Kap. 4 Universelles Hashing und
Kap. 6 Online- Recycling von Zufallsbits
Algorithmen
- die probabilistische Methode
178
Kapitel 4 Universelles Hashing
– Einführung Hashing
→ DAP 2
– Universelles Hashing und Recycling von Zufallsbits
siehe auch VL Effiziente Algorithmen und
Komplexitätstheorie
– Universelles Hashing und die probabilistische Methode
179
Kapitel 4.1 Universelles Hashing und
Recycling von Zufallsbits
Ap polynomieller MC-Algorithmus für Problem P mit
Fehlerwahrscheinlichkeit höchstens
1
2
−
1
p(n)
probability amplification mit t(n) =⌈2 · (ln 2)p(n)2 q(n)⌉
Wiederholungen
MC-Algorithmus A∗p für P mit Fehlerwahrscheinlichkeit
höchstens 2−q(n)
Beobachtung: p(n) konstant → t(n)= O (q(n))
Ap verbraucht r (n) Zufallsbits
→ A∗p verbraucht O (q(n) · r (n)) Zufallsbits
180



Rechenzeit
Speicherplatz kostbare Ressourcen


# Zufallsbits
Jetzt: Reduktion # Zufallsbits, die notwendig, um unter gewisse
Fehlerwahrkeit zu gelangen, mittels Methode,
wie Zufallsbits, die in einem randomisierten Algorithmus
einmal verwendet werden, wieder zur erneuten
Verwendung aufbereitet werden können
Ziel: Aufbereitung benutzter Zufallsbits,
so dass keine / keine signifikante statistische Abhängigkeit
181
Recycling bereits benutzter Zufallsbits mittels
– universellem Hashing
– Leftover Hash Lemma
Analyse
Idee:
r
Zufallsbits
Hashfkt h
Pseudozufallszahl
s
frische
Zufallsbits
r − s
Zufallsbits
Bits
h
s
r − s
Zufallsbits
182
Vorher: O (rq) Zufallsbits
Jetzt:
r +O (r ) + (r − s)O (q)
ր
Auswahl der
Hashfunktion
(r − s) = O (q)
O r +q
2
Zufallsbits
Bemerkung: O (r + q) mittels anderer Methoden
möglich
Impagliazzo, Zuckermann (1989)
183
Definition:
Ein Klasse H von Hashfunktionen von {0, 1}r nach {0, 1}s ,
s < r , heißt universell, falls für alle x, y ∈ {0, 1}r mit x 6= y
gilt: Prh (h(x) = h(y )) ≤ 21s , wobei h zufällig gleichverteilt aus
H gewählt ist.
Bemerkung:
Wahrkeit für Kollision =
ˆ Wahrkeit für
Kollision, wenn h(x) und
h(y) unabhängig und
gleichverteilt aus {0, 1}s
gezogen werden
Definition:
. . . heißt fast universell,. . .: Prh (h(x ) = h(y)) ≤
1
2s
+
1
2r
184
Definition:
Seien D, D ′ Wahrscheinlichkeitsverteilungen auf endlicher
Menge S. D und D ′ sind ähnlich bis auf Schranke ε, falls für
jede Teilmenge X ⊆ S gilt:
|D(X ) − D ′ (X )| ≤ ε.
ր
Wahrscheinlichkeit für X
unter
P Verteilung D:
D(X ) =
PrD (x)
x∈X
Verteilung D heißt fast gleichverteilt bis auf Schranke ε, falls
sich D und die Gleichverteilung auf S bis auf Schranke ε
ähnlich sind.
Kollisionswahrscheinlichkeit einer Verteilung D ist
Wahrscheinlichkeit, dass 2 Elemente X , Y , die unabhängig
unter Verteilung D gezogen werden, gleich sind.
185
Lemma: Leftover Hash Lemma
X beliebige Teilmenge von {0, 1}r mit |X | ≥ 2l , H fast
universelle Klasse von Hashfunktion von {0, 1}r nach {0, 1}s
mit r ≥ l > s.
Sei d = l−s
, dann ist die Verteilung von (h, h(x)), x ∈ X , fast
2
gleichverteilt auf Menge H × {0, 1}s bis auf Schranke 21d .
Beweis:
1) Kollisionswahrscheinlichkeit der Verteilung von (h, h(x))
ist höchstens
2
2d
2
|H|·2s
1+
.
2) D Verteilung auf endlicher Menge S.
1+2δ2
Kollisionswahrscheinlichkeit von D höchstens |S|
D fast gleichverteilt auf S mit Schranke δ.
1) + 2) 186
Beweis (Fortsetzung):
Zu 1) Seien h1 , h2 ∈ H und x1 , x2 ∈ X jeweils zufällig
gleichverteilt und unabhängig gewählt.
Ziel:
Pr((h1 , h1 (x1 )) = (h2 , h2 (x2 )))
1
2
= Pr(h1 = h2 ∧ h1 (x1 ) = h2 (x2 ))≤ 1 + 22d · |H|·2
S
ր
1
·Pr(h(x1 ) = h(x2 )) für zufällig gewähltes h ∈ H
|H|
und zufällig gewählte
x1 , x2 ∈ X
• x1 6= x2 : Pr(h(x1 ) = h(x2 )) ≤ 21s + 21r
ր
H fast universell
• x1 = x2 : Wahrscheinlichkeit höchstens 21l , denn
|X | ≥ 2l
1
1
−
≤
r
1
1
2
2l
( 21s + 21r + 21l ) ≤ (1 + 222d ) · |H|·2
≤ |H|
s −l = 2d + s
187
Beweis (Fortsetzung):
Zu 2) Widerspruchsbeweis
Annahme: D nicht fast gleichverteilt mit Schranke δ
|
+δ
→ ∃Y :Y ⊆ S mit D(Y ) > |Y
|S|
|
+β
Sei β > δ mit D(Y ) = |Y
|S|
PrD (d1 , d2 ) Kollisionswahrscheinlichkeit von D bei
zufälliger und unabhängiger Wahl von
d1 , d2
• d1 , d2 ∈ Y : PrD (d1 , d2 ) ≥ |Y1 |
1
• d1 , d2 ∈
/ Y : PrD (d1 , d2 ) ≥ |S|−|Y
|
→ Kollisionswahrscheinlichkeit mindestens
(1−D(Y ))2
D(Y )2
β2
β2
1
+ |S|−|Y | = |S| + |Y | + |S|−|Y |
|Y |
Beobachtung: Minimal für |Y | =
|S|
2
≥
1+4β 2
|S|
β>δ
188
Hier: BPP:
0
1
4
1
3
2
3
x∈
/L
0
1
4
3
4
Akzeptanzwkeit
x∈L
2
3
x∈L
1
1
x∈
/L
Verwirfwkeit
A polynomieller MC-Algorithmus vom obigen Typ für L,
der für Eingaben der Länge n r (n) := r Zufallsbits
benötigt
q := c · q(n) #Wiederholungen, so dass mittels Mehrheitsentscheidung Fehlerwahrscheinlichkeit auf höchstens
2−q(n) gedrückt werden
kann
Ziel: Analyse Wahrscheinlichkeitsverhalten eines
Algorithmus A∗ , der anstelle q · r echter Zufallsbits
Pseudozufallszahlen gemäß Folie 182 verwendet
189
z1 , . . . , zq Pseudozufallszahlen (jeweils der Länge r )
Beobachtung: z1 , . . . , zq nicht gleichverteilt in {0, 1}rq
(Fast alle a ∈ {0, 1}rq können nicht auftreten,
haben also Wahrscheinlichkeit 0)
Wichtig:
Verteilung Bitfolge b(z1 ), . . . , b(zq ) mit
b(zi ) =
1, A akzeptiert mit Zufallszahl zi
0, sonst
(bezüglich beliebiger fester 1-Eingabe)
ähnelt Verteilung, wenn A q-mal mit frischen
Zufallszahlen simuliert und
Ergebnisse als Bitfolge
b1 , . . . , bq notiert werden
190
Annahme: echte“Folge b1 , . . . , bq und
”
simulierte“Folge b(z1 ), . . . , b(zq ) bis auf Schranke
”
ε ähnlich
Frage:
Wie klein muss ε sein, damit bei Verwendung von
Pseudozufallszahlen anstelle echter Zufallszahlen
Fehlerwahrscheinlichkeit auf höchstens 2−Ω(q(n))
gedrückt wird?
X Menge der 0-1-Folgen Länge q mit höchstens q2 vielen
Einsen
E korrekte“Verteilung der Länge q bezüglich (p, 1 − p)
”
D Verteilung, die E bis auf
Schranke ε ähnlich
q
2
i
P
q
q−i
PrD (X ) = PrE (X ) + ε =
(1
−
+ε
p
p)
i
i=0
≤ 2−Ω(q) +ε
տ
ε = 2−Ω(q)
191
H fast universelle Hashklasse von {0, 1}r nach {0, 1}s
Beispiel:
H p′ = {ha,b |a, b ∈ [0, p′ − 1] und
ր
ha,b (x) = ((ax + b) mod p′ ) mod 2s }
p′ ∈ [2r , 2r +1 − 1]
Primzahl
Behauptung:
Verteilung von b(z1 ) . . . b(zi )h zi+1 , i ≥ 0, ähnelt bis auf
−(r −s−2)
der folgenden Verteilung:
Schranke εi = i · 2 2
– die ersten i Bits jeweils (unabhängig voneinander) mit
Wahrscheinlichkeit p als 1, 1 − p als 0 gewählt
– h zufällig gleichverteilt aus H gewählt
– Zufallswort aus {0, 1}r zufällig gleichverteilt gewählt
192
Beweis: Induktion
i = 0 : Verteilung von h z1 echte Gleichverteilung
→ ε0 = 0 X
i = 1 : z1 zufällig gleichverteilt aus {0, 1}r
z.z.
b(z1 ) h z2 ähnlich einer korrekten“
”
−(r −s−2)
Verteilung bis auf Schranke ε1 = 2 2
reicht z.z. b(z1 ) h h(z1 ) ähnelt der Verteilung, wo das
erste Bit gemäß (p, 1 − p) Verteilung
gezogen wird, h zufällig gleichverteilt aus H
und die letzten s Bits zufällig gleichverteilt
aus {0, 1}s
− z1 zufällig gleichverteilt gewählt → b(z1 )
gemäß (p, 1 − p) verteilt

− b(z1 ) = 1 →
b(z1 ) = 0
p · 2r
(1 − p) · 2r
Möglichkeiten für z1


mindestens
1 · 2r
4
Möglichkeiten
für z1
193
Beweis (Fortsetzung):
z.z. unter Bedingung b(z1 ) = a, a ∈ {0, 1}
hh(z1 ) ähnlich zur Gleichverteilung auf H × {0, 1}s
−(l−s)
−d
Leftover Hash Lemma mit l = r − 2
ε1 = 2 = 2 2
−(r −s−2)
=2 2 X
Induktionsschritt:
i − 1 → i Wir wissen:
b(z1 ) . . . b(zi−1 ) h zi ähnelt korrekter Verteilung“
”
bis auf Schranke εi−1
Jetzt reicht z.z.:
b(z1 ). . . b(zi−1 ) b(zi ) h h(zi ) ähnelt Verteilung
b1 . . .
bi
hv
ր
ր տ
gemäß (p, 1 − p)
gleichverteilt aus H
gleichverteilt aus {0, 1}s
194
Idee:
Transformation
δ2
δ
z
}|
{z
}| ւ{
t(F ) . . . . . . H . . . . . . t(G)
F , G, H Verteilungen
F
. .. . . . . . . . . G}
| . . . . . . . . ..{z
F ähnelt G bis auf Schranke δ1
δ ≤ δ1 + δ2
Denn: X beliebige Teilmenge von 0-1-Wörtern
| Pr(t(F ) ∈ X ) − Pr(H ∈ X )
≤ | Pr(t(F ) ∈ X ) − Pr(t(G) ∈ X )
|
| + | Pr(t(G) ∈ X )
− Pr(H ∈ X )|
≤ | Pr(F ∈ t −1 (X )) − Pr(G ∈ t −1 (X ))| + δ2 ≤ δ1 + δ2
195
b1 . . . bi−1 bi h v
ւ
t(F ) . . . . . . H . . . . . . t(G)
Jetzt:
δ2 = ε1
analog i = 1
F ...... ... ......... G
ր
I.V. δ1 = εi−1
b(z1 ) . . . b(zi−1 ) h zi
տ
b1 . . . bi−1 h z
t(b1 . . . bi−1 h z) = b1 . . . bi−1 b(z) h h (z)
t(G) = b1 . . . bi−1 b(z) h h (z)
t(F ) = b(z1 ) . . . b(zi−1 )b(zi ) h h (zi )
H und t(F ) bis auf Schranke εi−1 + ε1 = i2
−(r −s−2)
2
ähnlich
196
Behauptung mit i = q
b(z1 ) . . . b(zq ) ähnelt Verteilung, die jedes Bit mit Wahrscheinlichkeit p auf 1 und
mit Wahrscheinlichkeit
1 − p auf 0 setzt,
bis auf Schranke q · 2
−(r −s−2)
2
Noch festzulegen: s
⇔
r −s−2
2
=q
s
= r − 2q − 2
Schranke q · 2−q = 2−Ω(q)
ausreichend
(
X
Folie 191)
197
Satz von der totalen Wahrscheinlichkeit:
Sei Bj , j ∈ J, eine Partition
des Ereignisraums Ω.
ր
Trägermenge
Dann gilt:P
Pr(A) =
Pr(A | Bj ) · Pr(Bj )
B2
B1
B3
A
j∈J
Beweis:
P
j∈J
Pr(A | Bj ) · Pr(Bj ) = Pr(A ∩ Bj )
P
Pr(A | Bj ) · Pr(Bj ) =
Pr(A ∩ Bj ) = Pr(∪j∈J (A ∩ Bj ))
j∈J
S
= Pr(A ∩ j∈J Bj ) = Pr(A)
198
Kapitel 4.2 Universelles Hashing und die
probabilistische Methode
Satz:
In jedem ungerichteten Graphen G = (V , E) gibt es eine
Partitionierung von V in V0 und V1 , so dass mindestens
|E|/2 viele Kanten aus E Knoten aus V0 und V1 miteinander
verbinden.
Beweis: kombinatorisch
• Starte mit beliebiger Partitionierung V0 , V1 von V .
• Solange es weniger als |E|/2 Kanten zwischen V0 und
V1 gibt, wähle Knoten v , für den mehr als die Hälfte
seiner Nachbarn in gleicher Knotenteilmenge wie v
liegen.
• O.B.d.A. v ∈ V0 . Dann: V0 := V0 \ {v } und
V1 := V1 ∪ {v }.
• ...
199
Beweis: probabilistische Methode
Zufallsexperiment:
für jeden Knoten v ∈ V per Münzwurf entscheiden, ob
v ∈ V0 oder v ∈ V1 .
Unabhängig von Zugehörigkeit der anderen Knoten zu V0
oder V1 gilt: Pr (v ∈ V0 ) = Pr (v ∈ V1 ) = 1/2.
Zufallsvariable X : # Kanten zwischen V0 und V1
Für alle Kanten
(u, v ) ∈ E definiere Indikatorvariable
1, wenn u ∈ V0 , v ∈ V1 oder umgekehrt
X(u,v ) :=
0, sonst
Also X =
P
(u,v )∈E
X(u,v ) .
200
Beweis (Fortsetzung):
P
E[X ] = E[ (u,v )∈E X(u,v ) ]
=
=
=
=
P
(u,v )∈E
P
(u,v )∈E
P
(u,v )∈E
P
(u,v )∈E
E[X(u,v ) ]
Pr (u ∈ V0 , v ∈ V1 oder u ∈ V1 , v ∈ V0 )
(Pr (u ∈ V0 , v ∈ V1 ) + Pr (u ∈ V1 , v ∈ V0 ))
1/4 + 1/4
= |E|/2
→ Es gibt Realisierung des Zufallsexperiments,
so dass V in zwei Mengen partitioniert wird,
zwischen denen mindestens |E|/2 Kanten verlaufen.
→ randomisierter Algorithmus mit n Zufallsbits
201
Derandomisierung → det. Algo mit exponentieller Laufzeit
Beobachtung: paarweise Unabhängigkeit der Zufallsvariablen
ausreichend (→ Folie 272)
→ universelles Hashing
Vorteil: weniger Zufallsbits (jedoch vollständig unabhängige)
Hier: Klasse H von Funktionen h : V → {0, 1} universell,
wenn für alle u, v ∈ V , u 6= v , gilt:
Pr (h(u) = h(v )) = 1/2
Dann: h ∈ H zufällig gleichverteilt wählen
Aufteilung von V in V0 , V1 gemäß h
Entscheidend: Pr (u ∈ V0 , v ∈ V1 oder u ∈ V1 , v ∈ V0 )
= Pr (h(u) 6= h(v )) = 1/2
Rechnung → es gibt h ∈ H mit gewünschten Eigenschaften
202
Derandomisierung: alle h ∈ H probieren
|H| linear in |V | beschränkt
→ det. Polynomialzeitalgo
Jetzt: H mit gewünschten Eigenschaften
Elemente aus V binär codieren, ℓ := ⌈log |V |⌉ Bits und
v = (v1 , . . . , vℓ )
Definition:
H = {ha1 ,...,aℓ | ai ∈ {0, 1}, 1 ≤ i ≤ ℓ} mit
ha1 ,...,aℓ (v ) =
ℓ
M
(vi ∧ ai )
i=1
|H| = 2⌈log |V |⌉ ≤ 2|V |
203
Seien u = (u1 , . . . , uℓ ), v = (v1 , . . . , vℓ ) mit u 6= v und
i1 , . . . , ik ∈ {1, . . . , ℓ} die Bitpositionen, die unterschiedlich
belegt sind.
Lℓ
Lℓ
Pr (h(u) = h(v )) = Pr ( i=1 (ui ∧ ai ) = i=1 (vi ∧ ai ))
Lℓ
Lℓ
= Pr ( i=1 (ui ∧ ai ) ⊕ i=1 (vi ∧ ai ) = 0)
Lℓ
= Pr (Li=1 ai ∧ (ui ⊕ vi ) = 0)
= Pr ( i∈{i1 ,...,ik } ai = 0)
= 1/2
Die Klasse H von Hashfunktionen hat die gewünschten
Eigenschaften.
204
Kapitel 5 Die probabilistische Methode
Wenn auf einer Menge von Objekten die Wahrscheinlichkeit, dass ein Objekt eine bestimmte Eigenschaft
nicht hat, kleiner als 1 ist, dann muss es ein Objekt mit
der Eigenschaft geben.
Jetzt: 2 Anwendungen
Definition:
Sei F eine Familie von Teilmengen A derselben Größe
d ≥ 2 einer endlichen Grundmenge X . F ist 2-färbbar, gdw
es eine Färbung von X mit 2 Farben gibt, so dass in jeder
Teilmenge A beide Farben auftreten.
205
Frage: Wie groß ist die minimale Anzahl von Teilmengen
m = m(d), für die es Familie von m Mengen mit
jeweils d Elementen gibt (d-Mengen), die nicht
2-färbbar ist?
Satz:
Jede Familie mit höchstens 2d−1 d-Mengen ist 2-färbbar.
Beweis:
Wähle zufällig gleichverteilt Färbung der Grundmenge X mit
2 Farben.
EA : Ereignis, dass A monochromatisch, wobei A ∈ F
d −1
)
=
(1/2)
→ Pr (ES
A
P
→ Pr (
EA ) <
Pr (EA ) = m · (1/2)d −1
A∈F
A∈F
→ für m ≤ 2d−1 existiert korrekte 2-Färbung
206
Notation: α(G): maximale Kardinalität einer unabh. Menge in G
χ(G): kleinste Anzahl Farben, so dass Knoten aus G
legal gefärbt werden können
(chromatische Zahl von G)
γ(G): Länge eines kürzesten Kreises in G
(Taillenweite von G)
Frage: Impliziert eine hohe chromatische Zahl immer die
Existenz kleiner Kreise?
Satz:
Für jedes k ≥ 2 gibt es Graphen G mit χ(G) > k und
γ(G) > k .
207
Beweis:
Im Folgenden sei k beliebig aber fest.
Idee: Betrachte Wkeitsraum für Graphen und zeige,
dass Wkeit für χ(G) ≤ k kleiner als 1/2 und,
dass Wkeit für γ(G) ≤ k kleiner als 1/2
G(n, p): Graphen mit Knotenmenge V = {v1 , . . . , vn }, wobei
jede mögliche Kante unabh. mit Wahrscheinlichkeit
p gewählt wird
Hier: p = n−k/(k +1)
Beobachtung: α(G) · χ(G) ≥ n
Vorüberlegung:Sei 2 ≤ r ≤ n.
Wkeit, dass für feste Knotenteilmenge der
Kardinalität r keine Kante in G(n, p) ist,
r
(
ist (1 − p) 2)
208
Beweis (Fortsetzung):
r
n
(
Pr (α(G) ≥ r ) ≤ r (1 − p) 2)
r
r
(
2
≤ n (1 − p) ) = (n(1 − p)(r −1)/2 )r
≤ (ne−p(r −1)/2 )r
Zwischenüberlegung:
n hinreichend groß → n1/(k +1) ≥ 6k log n
→ p ≥ (6k log n)/n
Sei r := n/(2k), dann p · r ≥ 3 log n.
Pr (α(G) ≥ n/(2k ))≤ (ne−p(r −1)/2 )r = (ne−(pr )/2 ep/2 )r
≤ (ne−3/2 log n e1/2 )r < (n−1/2 e1/2 )r
konvergiert gegen 0, wenn n → ∞.
Also existiert natürliche Zahl n1 , so dass
Pr (α(G) ≥ n/(2k )) < 1/2 für n > n1 .
209
Beweis (Fortsetzung):
Jetzt: nicht zu viele Kreise, deren Länge höchstens k
Sei 3 ≤ i ≤ k.
# i-Kreise: ni (i − 1)!/2
(Warum?)
XC : Indikatorvariable für Kreis C der Länge i
E[XC ] = pi
X : # Kreise der Länge höchstens k
E[X ] =
k
P
i=3
n (i−1)!
i
2
pi ≤ 1/2
≤ 1/2(k − 2)nk pk
k
P
ni p i
i=3
denn n · p = n1/(k +1) > 1
Pr (X ≥ n/2)≤ 2E[X ]/n ≤ (k − 2)(np)k /n = (k − 2)n−1/(k +1)
konvergiert gegen 0, wenn n → ∞.
Also existiert natürliche Zahl n2 , so dass
Pr (X ≥ n/2) < 1/2 für n > n2 .
210
Beweis (Fortsetzung):
Sei n ≥ max{n1 , n2 }.
→ Es existiert Graph H mit n Knoten,
α(H) < n/(2k ) und H enthält weniger als n/2
Kreise der Länge höchstens k.
Jetzt: modifiziere H indem aus jedem Kreis ein Knoten
entfernt wird → G′
Klar: γ(G′ ) > k
α(G′ ) ≤ α(H) < n/(2k )
χ(G′ ) ≥
n/2
α(G′ )
≥
n
2α(H)
>k
211
Kapitel 6 Online-Algorithmen
– Seitenwechselproblem (paging) und deterministische
Algorithmen
– randomisierte Online-Algorithmen und Widersacher
– Seitenwechsel gegen nicht-adaptive Widersacher
– Seitenwechsel gegen adaptive Widersacher
212
Online-Algorithmen
– Algorithmen, die nicht zu Beginn die vollständige
Eingabe kennen
– Eingabe ist Folge P = (p1 , p2 , . . . , pn ) von
Anforderungen
– Online-Algorithmus muss jede Anforderung sofort
bearbeiten (ohne Kenntnis zukünftiger Anforderungen)
– Entscheidungen können nicht rückgängig gemacht
werden
213
Seitenwechselproblem
– Rechner mit Cache der Größe k und Hauptspeicher der
Größe N > k
– Anforderung p: Adresse einer Hauptspeicherseite
– Problem: Cache zu klein
Konflikte
Cache-Elemente werden verdrängt
Cache Misses
Ziel: # Cache Misses so gering wie möglich
Qualität eines Algorithmus A:
# der Cache Misses fA (p1 , . . . , pn ) für Anforderungsfolge
(p1 , . . . , pn )
214
Offline-Algorithmen für das
Seitenwechselproblem
Offline:
Für Auswahl zu entfernender Seite bei Cache Miss für pi
auch alle noch folgende Seitenanforderungen pj mit j > i
bekannt.
Algorithmus: MIN
– Entferne die Seite, die am spätesten in der Zukunft
wieder benötigt wird.
Bemerkung: MIN ist optimal.
(Beweis nichttrivial)
215
fO (p1 , . . . , pn )=
ˆ # Cache Misses eines optimalen Offline# verschiedener
ւ Seiten
Algorithmus für Anforderungsfolge (p1 , . . . , pn )
N ′ =k +1: fO (p1 , . . . , pn ) = fMIN (p1 , . . . , pn ) ≤
n
k
Online-Algorithmen: kein Wissen über zukünftige Anforderungen
→ Verarbeitung von pi unabh. von pi+1 , . . .
bei vollem Cache Anforderungsfolge
konstruierbar, so dass jede Anforderung
Cache Miss erzwingt
N′ = k + 1
lange Anforderungsfolgen,
bei denen jeder Online-Algorithmus
k mal mehr Cache Misses
produzieren muss als MIN
216
Üblich:
Qualität eines Algorithmus wird beschrieben,
indem für jede Eingabelänge n Ressourcenverbrauch
für schwierigste“Eingabe dieser Länge angegeben
”
wird (worst case complexity)
Hier:
sinnlose Sichtweise für das Seitenwechselproblem,
im worst case tritt in jedem Schritt Cache Miss auf
Ausweg: vergleichende Analyse
Jede Probleminstanz (Anforderungsfolge) wird einzeln
betrachtet.
217
Definition:
Ein deterministischer Online-Algorithmus A heißt
c-kompetitiv, wenn eine Konstante b existiert, so dass für
alle (p1 , . . . , pn ) gilt:
fA (p1 , . . . , pn ) − cfO (p1 , . . . , pn ) ≤ b.
Kompetitivkoeffizient cA von A =
ˆ Infimum der c, so dass A
c-kompetitiv ist.
Bemerkung: keine worst case Analyse
Jede Eingabeinstanz wird separat betrachtet.
218
Beispiel:
deterministische Online-Algorithmen:
• LRU (least recently used)
Seite, die am längsten nicht angefordert worden ist, wird
aus Cache entfernt
• FIFO (first in first out)
Seite, die am längstem im Cache ist, wird entfernt
Bemerkung:
LRU und FIFO sind k -kompetitiv.
(
VL Online-Algorithmen)
219
Randomisierte Online-Algorithmen und
Widersacher
randomisierter Online-Algorithmus R:
# Cache Misses Zufallsvariable fR (p1 , . . . , pn )
Widersacher:
– erzeugen für R schwierige“Anforderungsfolgen,
”
– die sie jedoch auch selbst verarbeiten müssen.
* nicht-adaptive Widersacher:
kein Wissen über Zufallsbits,
zu R und n wird immer gleiches (p1 , . . . , pn ) erzeugt
* adaptive Widersacher:
sieht auch Zufallsentscheidungen,
arbeitet gegen konkrete Abarbeitung von R,
kennt die von R bei Abarbeitung von (p1 , . . . , pi )
erzeugten Zufallsbits,
kennt zu jedem Zeitpunkt Inhalt des Caches von R
220
Frage: Womit wird # Cache Misses von R verglichen?
• nicht-adaptiver Widersacher: fO (p1 , . . . , pn )
• adaptive Widersacher:
− adaptiver Online-Widersacher:
sofort nach Erzeugung eines pi entscheiden,
welche andere Seite gegebenenfalls verdrängt wird
− adaptiver Offline-Widersacher:
kann zunächst (p1 , . . . , pn ) vollständig erzeugen,
bekommt nur Kosten eines optimalen
Offline-Algorithmus in Rechnung gestellt
Bemerkung: fW (p1 , . . . , pn ) Zufallsvariable
(abhängig von R s Zufallsbits)
221
Definition:
R ist c-kompetitiv gegen nicht-adaptiven Widersacher
(oblivious adversary), wenn es von n unabhängiges b gibt,
so dass für jede Anforderungsfolge (p1 , . . . , pn ) gilt:
E[fR (p1 , . . . , pn )] − cfO (p1 . . . . , pn ) ≤ b
Infimum: cRobl
R ist c-kompetitiv gegen adaptiven Online- resp.
Offline-Widersacher, wenn es von n unabhängiges b gibt, so
dass für zufällige Anforderungsfolge (p1 , . . . , pn ) gilt:
E[fR (p1 , . . . , pn )] − cE[fW (p1 . . . . , pn )] ≤ b
E[fR (p1 , . . . , pn )] − cE[fO (p1 . . . . , pn )] ≤ b
Infimum: cRaon resp. cRaof
222
Beobachtung:
• Algorithmus A ist c-kompetitiv gegen adaptiven
Offline-Widersacher
Algorithmus A ist c-kompetitiv gegen adaptiven
Online-Widersacher
• Algorithmus A ist c-kompetitiv gegen adaptiven
Online-Widersacher
Algorithmus A ist c-kompetitiv gegen nicht-adaptiven
Widersacher
223
Seitenwechsel gegen nicht-adaptive Widersacher
Algorithmus: MARKER
– MARKER benutzt pro Seite ein Markierungsbit aus
{0, 1}
– Zu Beginn alle Markierungsbits auf 0 gesetzt
(Seiten außerhalb des Caches immer mit 0 markiert)
– Bit einer angefragten Seite wird auf 1 gesetzt
– Falls k + 1 Seiten mit 1 markiert,
alle k Seiten im Cache auf 0 setzen
– Falls Seite auszulagern, unter allen mit 0 markierten
Seiten im Cache eine zufällig gleichverteilt auswählen
und verdrängen
224
Algorithmus MARKER zerfällt in Phasen:
– jede Phase beginnt mit Zurücksetzen aller
Markierungsbits auf 0 und
– endet unmittelbar vor der nächsten
Betrachte optimalen Offline-Algorithmus und MARKER
für Anforderungsfolge p1 , p2 , . . .
Anfangs gleicher Inhalt des Caches und p1 führt zu Cache
Miss
Also: • jede Phase beginnt mit Cache Miss
umfasst maximale Teilfolge pi , . . . , pj mit k
verschiedenen Adressen
• Phase endet unmittelbar vor der (k + 1)-ten neuen
Adresse
225
Aufteilung der Anforderungsfolge in Phasen
in vorheriger Phase
nicht angefragte Seite
p1
pk
...
Cache Miss
pn
k verschiedene
Seiten
226
Satz:
Algorithmus MARKER ist 2Hk -kompetitiv gegen
nicht-adaptive Widersacher.
Betrachte einzelne Phase:
• Seite heißt alt, wenn sie zu Beginn der Phase im Cache ist.
• Seite heißt neu, wenn sie in der Phase angefragt wird und
nicht alt ist.
Beweisskizze:
l= # neuer Seiten:
• optimaler Offline-Algorithmus im Mittel 2l Cache Misses
pro Phase
• erwartete Anzahl von Cache Misses pro Phase bei
Marker l · Hk
227
Beobachtung:
Markierungsbit ist 0
ւ
• MARKER entfernt stets nicht markierte Seite aus Cache
• die den Cache Miss verursachende Seite ist ab dem
Zeitpunkt, wo sie geladen wird, markiert
տ
Markierungsbit ist 1
• erste Anforderung einer neuen Seite führt zu Cache
Miss
• Anforderung einer alten Seite kann zu Cache Miss
führen, wenn sie zwischenzeitlich aus Cache entfernt
worden ist.
Kann nur einmal (innerhalb einer Phase passieren), da
sie beim erneuten Laden markiert wird.
Verdrängt wiederum nicht markierte alte Seite.
228
Analyse für nicht-adaptiven Widersacher
Betrachtung einer Phase:
SO =
ˆ Menge der Seiten im Cache beim optimalen
Algorithmus
SM =
ˆ Menge der Seiten im Cache beim Algorithmus
MARKER
Zu Beginn einer Phase:
– die l später von MARKER angeforderten neuen Seiten
nicht in SM
– höchstens |SO \ SM | dieser Seiten in SO
| {z }
da
#
| Cache
{zMisses} ≥ l − da
mO
229
Analyse für nicht-adaptiven Widersacher II
Am Ende einer Phase:
– SM enthält genau die k markierten (=
ˆ während der
Phase angeforderten) Seiten
– SO enthält von diesen |SO \ SM | nicht mehr
| {z }
dl
→ nur durch Cache Miss einer anderen Seite möglich
→#
| Cache
{zMisses} ≥ dl
mO
mO ≥ max{l − da , dl } ≥
l−da +dl
2
230
Analyse für nicht-adaptiven Widersacher III
Beobachtung:
dl am Ende einer Phase ist da zu Beginn der nächsten
Betrachte alle Phasen:
Summanden für da und dl heben sich auf, außer zu Beginn
der ersten Phase (da = 0) und
am Ende der letzten Phase dl
im Durchschnitt pro Phase mO ≥
hier: l durchschnittliche
Anzahl neuer
Elemente pro Phase
l
2
231
Analyse für MARKER
Betrachtung einer Phase:
• l = # neuer Seiten in dieser Phase
→ l Cache Misses
• alle übrigen Anforderungen betreffen alte Seiten
Frage: Wann verursacht alte Seite Cache Miss?
→ Folie 228
• am Ende der Phase k − l alte Seiten im Cache
• erwartete Anzahl von Cache Misses maximieren (worst
case): zunächst alle neuen Seiten anfordern
→ es fehlen bis zum Ende der Phase jeweils l alte Seiten
232
Analyse für MARKER II
Seien s1 , . . . , sk −l die am Ende der Phase sich im Cache
befindenden alten Seiten.
Sei Anforderungsreihenfolge also:
s1′ . . . sl′
neue Seiten
s1 s2 . . . sk −l
alte Seiten
Wkeit, dass bei erster Anforderung von si ,
1 ≤ i ≤ k − l, Cache Miss auftritt, ist
Wkeit, eine alte sich nicht mehr im Cache aufhaltende Seite auszuwählen aus der Menge
der alten Seiten, die in dieser Phase
noch nicht angefordert worden sind
233
Analyse für MARKER III
Beobachtung:
MARKER wählt bei Cache Miss zufällig gleichverteilt alte in
dieser Phase noch nicht angeforderte Seite aus, die
verdrängt wird.
→ jede unmarkierte alte Seite mit gleicher
Wkeit im Cache
Wahrscheinlichkeit, eine alte sich im Cache aufhaltende Seite
aus Menge alter Seiten, die noch nicht angefordert worden sind, auszuwählen ist
# noch nicht verdrängter alter Seiten
ւ
k −l−(i−1)
k −(i−1)
տ
# noch nicht angeforderter alter Seiten
(in dieser Phase)
gesuchte Wkeit: 1 −
k −l−(i−1)
k −(i−1)
=
l
k −(i−1)
234
Analyse für MARKER IV
kP
−l
i=1
l
k −i+1
1
1
1
+
+···+
=l
k
k −1
l +1
|
{z
}
Hk −Hl
erwartete Anzahl Cache Miss in der Phase
l + l(Hk −Hl ) = l · Hk − (Hl − 1)l ≤ l · Hk
↑
տ
neue
Cache Miss
Seiten
für alte Seiten
235
Satz:
Sei R randomisierter Algorithmus für das
Seitenwechselproblem. Dann gilt:
cRobl ≥ Hk = Θ(log k ).
Gesucht:
Untere Schranken Methode für randomisierte Algorithmen
Yaos Minimax-Prinzip: Ergebnisse aus Spieltheorie nutzen
Zweipersonen-Nullsummenspiel
Voraussetzung:
# Eingaben fester Länge
# deterministischer
Algorithmen
endlich



Entwurf eines randomisierten
Algorithmus
als Spiel zwischen Algorithmendesigner und Widersacher
236
Algorithmenentwurf als Spiel
• Algorithmendesigner hat als verschiedene Strategien
deterministische Algorithmen A zur Auswahl
• Widersacher hat als verschiedene Strategien Eingaben
I zur Auswahl
• Gewinn des Widersachers: C(I, A)
z.B. C(I, A)=
ˆ Laufzeit von Algorithmus A für Eingabe I
• Auszahlungsmatrix M enthält Werte C(I, A)
• Ziel Widersacher: C(I, A) maximieren
Algorithmendesigner: C(I, A) minimieren
• gemischte Strategie
237
Algorithmenentwurf als Spiel II
• gemischte Strategie
– des Widersachers:
Wkeitsverteilung auf Menge der Eingaben
– des Algorithmendesigners:
Wkeitsverteilung auf der Menge der det. Algorithmen
|
{z
}
randomisierter Algorithmus
I1
..
.
Ij
A1 . . .
Ai . . .
C(Ij , Ai )
M
238
Yaos Minimax-Prinzip
Sei P ein Problem, das eine endliche Menge I von
Eingaben einer festen Länge sowie eine endliche Menge A
von deterministischen Algorithmen besitzt. Für jede
Verteilung R auf I und jede Verteilung Q auf A gilt:
min E[C(IR , A)] ≤ max E[C(I, AQ )]
A∈A
I∈I
erwartete Laufzeit (z.B.)
von A für gewisse
Eingabenverteilungen
Erwartungswert
für den besten“
”
deterministischen
Algorithmus
erwartete Laufzeit (z.B.)
von I für gewisse
Verteilungen auf den
deterministischen Algorithmen
Erwartungswert für
optimalen randomisierten Algorithmus
bezogen auf schwierigste Probleminstanz
239
Beweis:
R und Q beliebig aber fest
max E[C(I, AQ )] = max
I∈I
P
I∈I A∈A
≥
P
PrR (I)
I∈I
∗
=
PrQ (A) · C(I, A)
P
PrQ (A) · C(I, A)
A∈A
PrQ (A)
A∈A
≥ min
P
P
PrR (I) · C(I, A)
I∈I
P
A∈A I∈I
PrR (I) · C(I, A)
= min E[C(IR , A)]
A∈A
∗ Gleichung gilt aufgrund Endlichkeit von A und I
240
Fazit:
Um untere Schranken für randomisierte Algorithmen zu
erhalten, ausreichend, untere Schranken für
deterministische Algorithmen zu zeigen, wobei Verteilung
auf den Eingaben beliebig gewählt werden darf.
Wahl einer geeigneten Verteilung auf den Eingaben
erschwert Situation für deterministischen Algorithmus
Verbesserung der unteren Schranke
241
Hier: • P Wahrscheinlichkeitsverteilung für Anforderungsfolgen
• A deterministischer Online-Algorithmus
Kompetitivität CAP unter P ist
Infimum aller c, so dass ein von n unabhängiges b
existiert mit
E[fA (p1 ,. . . , pn )] − c·E[fO (p1 , . . . , pn )] ≤ b
ր
bezüglich P gewählt
P
• min C obl
≥
max
min
C
R
A
R
A
P
| {z }
ր
C obl
Kompetitivität eines besten
deterministischen Online-Algorithmus
für eine worst case Verteilung auf
den Eingaben
242
Idee: Konstruiere Wahrscheinlichkeitsverteilungen auf
Anforderungsfolgen, so dass jeder deterministische
Online-Algorithmus Hk mal mehr Cache Misses als
optimaler Offline-Algorithmus MIN
• k Größe Cache
• k + 1 verschiedene Seiten S = {s1 , . . . , sk +1 },
die angefordert werden können
• Verteilung P durch folgende Konstruktion gegeben
• p1 wird zufällig gleichverteilt aus S gewählt
• pi , i > 1, wird zufällig gleichverteilt aus S\{pi−1 }
gewählt
243
Anforderungsfolge wird in Runden aufgeteilt:
• erste Runde beginnt mit p1 ,
jede weitere Runde beginnt im Anschluss an die
vorangegangene,
• jede Runde endet unmittelbar bevor zum ersten Mal alle
k + 1 verschiedenen Seiten mindestens einmal
angefordert worden sind.
MIN entfernt aus seinem Cache immer dasjenige Element,
das am spätesten in der Zukunft wieder angefordert wird
pro Runde 1 Cache Miss
Frage: Erwartete Länge einer Runde ?
244
Exkurs Coupon-Sammler-Problem
Gegeben: n Couponarten,
von jeder Couponart unbegrenzte Anzahl Coupons
Aufgabe: In jeder Runde wird ein Coupon zufällig gleichverteilt
und unabhängig von allen bisherigen Auswahlen
gezogen.
Experiment endet, wenn von jeder Couponart zum
ersten Mal Coupons gezogen worden sind.
Frage:
Erwartungswert für Anzahl der benötigten
Runden?
245
• Sei X # Runden, die bis zum Abbruch nötig sind
• Für i ∈ {1, . . . , X } sei Ci ∈ {1, . . . , n} der Typ des in
Runde i gezogenen Coupons
• Versuch Ci erfolgreich, wenn Ci ∈
/
S
Cj
1≤j≤i−1
• Folge von Runden in Phasen unterteilen:
Phase j startet mit Versuch nach j-ten Erfolg und
endet mit (j + 1)-ten Erfolg
• Xj # Runden in Phase j
X =
n−1
P
Xj
j=0
246
Ziel: E[X ] bestimmen
Linearität des
Erwartungswertes
→ E[X ] =
n−1
P
E[Xj ]
j=0
Phase j: j von n verschiedenen“ Coupons bereits gesammelt
”
Wahrscheinlichkeit, dass in nächster Runde neuer“
”
n−j
Coupon pj = n
Pr(Xj = k ) = pj · (1 − pj )k −1
տ
Xj geometrisch verteilte
Zufallsvariable zum
Parameter pj
E[Xj ] =
1
pj
=
n
n−j
247
E[X ] =
n−1
P
E[Xj ] =
j=0
n−1
P
j=0
n
n−j
=n
n
P
1
j=1
j
= n Hn
Genauer:
n ln(n + 1)≤E[X ]
≤n ln n
+n
= θ(n log n)
Frage: Wie groß Wahrscheinlichkeit, dass Zufallsvariable X
deutlich“ von ihrem Erwartungswert abweicht?
”
1) einfaches, schwächeres Ergebnis
2) scharfes“ Ergebnis, dafür tiefer in die mathematische
”
Werkzeugkiste greifen
Zu 1) Eri =
ˆ Ereignis, dass Coupon vom Typ Ci nicht in den
ersten r Runden gesammelt
Pr(Eri )
= (1 −
1 r
)
n
≤e
− nr
248
Pr(X > r ) =
n
S
Pr( Eri )
i=1
= n·e
≤
− nr
n
P
i=1
Pr(Eri )
≤
n
P
e
− nr
i=1
Sei r = βn ln n:
Pr(X > βn ln n) ≤ ne−β ln n = n−(β−1)
Zu 2) Für alle c ∈ R und m = n ln n + c · n gilt:
lim Pr(X > m) = 1 − e
−e−c
n→∞
(ohne Beweis)
249
Hier:
Modifikation, da dieselbe Seite nicht zweimal
hintereinander angefordert werden kann
k
P
X=
Xj
j=0
Pr(X0 = 1) = 1
Pr(X1 = 1) = 1
j ≥ 2 : Pr(Xj = l) = pj (1 − pj )l−1 mit pj =
k +1−j
k
տ|S\{sj }|
E[X ]= 2 +
k
P
տ
E[Xj ]
zuletzt angeforderte Seite
j=2
=2+k
k
P
j=2
1
k +1−j
=2+k
kP
−1
j=1
1
j
= 2 + k · Hk −1
ւ
Runde endet bevor
zum ersten Mal alle
Seiten angefordert
worden sind
erwartete Länge einer Runde: 2 + k · Hk −1 − 1 = k · Hk
250
Frage: Wieviel Cache Misses erziehlt deterministischer
Online-Algorithmus?
• Zu jedem Zeitpunkt genau eine Seite nicht im Cache
• Wahrscheinlichkeit, dass diese Seite angefordert wird k1
ր
zuletzt angeforderte
Seite kann nicht
wieder angefordert
werden
Erwartungswert für # Cache Misses in einer Runde Hk
251
Exkurs
Grundlagen aus der
Wahrscheinlichkeitstheorie
↓
ր
Kap. 6 Online-Algorithmen
noch: Seitenwechsel gegen
adaptiven Widersacher:
Algorithmus RANDOM
- k-kompetitiv gegenüber
adaptivem Online-Widersacher
- untere Schranke für
Kompetivität
ր
Kap. 7 Sublineare Algorithmen
- Property Testing
- sublineare Approximationsalgorithmen
→ Kap. 8
Graphalgorithmen
252
Seitenwechsel gegen adaptiven Widersacher
Algorithmus: RANDOM
Bei einem Cache Miss lagere zufällig gleichverteilt eine
Seite aus dem Cache aus.
Vorteil:
keinen zusätzlichen Speicher für Markierungen
Nachteil: − gegenüber nicht-adaptiven Widersacher oder
adaptiven Online-Widersacher nur k -kompetitiv
− gegenüber adaptiven Offline-Widersacher nur
c-kompetitiv für c = Θ(k log k )
253
Satz:
RANDOM ist gegenüber einem adaptiven
Online-Widersacher k -kompetitiv.
Beweis:
R=
ˆ RANDOM
A=
ˆ Online-Algorithmus des adaptiven Online-Widersachers
Φi = k (k − ci )
↑
տ
Potenzialfkt soll
#Seiten, die sowohl A als auch R
Diskrepanz einer
nach iter Anforderung im Cache
Konfiguration von
(gemeinsame Seiten)
RANDOM zu A messen
Beobachtung: Φi ≥ 0 für alle i
Φ0 = 0 (sinnvolle Annahme: gleiche Initialisierung
des Caches)
254
Definition: Amortisierte Analyse
durchschnittliche Kosten einer worst case Eingabe“
”
Folge σ1 , . . . , σn von Anfragen mit Kosten c1 , . . . , cn
worst case Kosten =
ˆ maxci
i
n
P
Gesamtkosten =
ˆ
ci
i=1
amortisierte Kosten von σ =
ˆ
1
n
n
P
ci
i=1
amortisierte Kosten =
ˆ Maximum der amortisierten Kosten
von σ über alle σ
Hier:
amortisierte Kosten“ für ite Anfrage RANDOMi + Φi − Φi−1
”
ր
Kosten von RANDOM für i-te Anfrage
255
Beobachtung:
X
(RANDOMi + Φi − Φi−1 ) =
i
X
RANDOMi + Φn − Φ0
i
≥
X
RANDOMi
i
ai :=RANDOMi + Φi − Φi−1
Ziel: E[ai ] ≤ kE[Ai ] für alle i
տ
Kosten von A
für i-te Anfrage
Denn: a :=
P
i
P
ai , RANDOM:= RANDOMi
i
Zufallsvariable a dominiert Zufallsvariable RANDOM
stochastisch, d.h. für alle z ∈ R:
Pr(a > z) ≥ Pr(RANDOM> z)
→ E[a] ≥E[RANDOM]
256
z.z. E[Φi − Φi−1 ] ≤ k E[Ai ]−E[RANDOMi ]
(∗)
vor der i-ten Anfrage: ci−1 gemeinsame Seiten
s
Seite auf die gemäß Wahl des
Widersachers in i-ter Runde zugegriffen werden soll
Fall 1: s
im Cache von R
ˆ Cacheinhalt) nicht
R verändert seinen Cache (=
A muss eventuell s nachladen und Seite
aus seinem Cache verdrängen
→ ci ≥ci−1 → Φi −Φi−1
≤ 0
RANDOMi = 0
Fall 2: s
Ungleichung (∗)
erfüllt X
nicht im Cache von R
→ RANDOMi = 1
257
Fall 2.1: s ist im Cache von A
E[Φi − Φi−1 ] =(−k ) · (1 −
ր
ci−1
)
k
Potentialänderung nur,
wenn # gemeinsamer Seiten
sich verändert.
“
Mit Wahrscheinlichkeit 1 −
ci−1
k
”
lagert R
eine nicht gemeinsame Seite“ aus.
”
s keine gemeinsame Seite → ci−1 ≤ k − 1
c
→ E[Φi − Φi−1 ]= (−k ) · (1 − i−1
)
k
≤ (−k ) · k1 ≤ −1
Ai = 0 → Ungleichung (∗) erfüllt X
258
Fall 2.2: s nicht im Cache von A und
A lagert eine nicht gemeinsame Seite“ aus
”
# gemeinsamer Seiten vergrößert sich um 1 oder
# gemeinsamer Seiten unverändert.
→ keine Vergrößerung des Potentials
Ai = 1
Fall 2.3: s nicht im Cache von A und
Ungleichung (∗)
erfüllt X
A lagert eine gemeinsame Seite s ′ aus.
• Wahrscheinlichkeit, dass R auch s ′ löscht:
1
k
Dann # gemeinsamer Seiten unverändert
→ keine Vergrößerung des Potentials
• Wahrscheinlichkeit, dass R eine nicht gemeinsame
”
k −ci−1
Seite“ löscht: k
→ keine Vergrößerung des Potentials
259
• Wahrscheinlichkeit, dass R gemeinsame Seiten
ungleich s ′ löscht:
ci−1 −1
k
# gemeinsame Seiten verringert sich um 1
→ Potential vergrößert sich um k
ci−1 −1
→ E[Φi −Φi−1 ] = k · k =ci−1 −1 ≤k −1
Ai = 1
Ungleichung (∗)
erfüllt X
Frage: Wie gut ist obere Schranke k für den Kompetitivfaktor
von RANDOM ?
260
Satz:
Für jedes ε > 0 gilt, dass der Kompetitivfaktor von RANDOM
mindestens k − ε ist.
Beweis:
Klar:
Aussage gilt bezüglich non-adaptivem Widersacher
→ Aussage gilt bezüglich adaptivem Widersacher
Reicht: schwierige Anforderungsfolge anzugeben
Menge der Hauptspeicherseiten: a1 , . . . , ak ,b1 , b2 , . . .
Betrachte optimalen Offline-Algorithmus und
RANDOM für Anforderungsfolge
P = (b1 , a2 , . . . , ak )l , (b2 , a2 , . . . , ak )l · · ·
{z
} |
{z
}
|
1.Block
2.Block
bei gleichem Inhalt des Caches zu Beginn: a1 , . . . , ak
261
Beweis (Fortsetzung):
Analyse optimaler Offline-Algorithmus
Offensichtlich: 1 Cache Miss pro Block
Analyse RANDOM
• Zu Beginn eines Blocks höchstens k − 1 der in diesem
Block angefragten Seiten im Cache: im i-ten Block fehlt
mindestens bi
• Erfolg =
ˆ genau bi ,a2 , . . . , ak im Cache
→ danach in diesem Block kein Cache Miss
• Annahme: nur eine Seite ungleich bi ,a2 , . . . , ak im
Cache
→ erhöht Wahrscheinlichkeit für Erfolg
262
Beweis (Fortsetzung):
• bi , a2 , . . . , ak
|
{z
}
Segment des
i-ten Blocks
Erfolg im j-ten Segment
→ in Segment j ′ , j ′ ≤ j, mindestens 1 Cache Miss
• Erfolg in einem Segment =
ˆ letzter Cache Miss entfernt
Seite ungleich bi ,a2 , . . . , ak
aus Cache, anschließend
bi ,a2 , . . . , ak im Cache
→ Erfolgswahrscheinlichkeit höchstens k1
Erwartungswert für #Segmente bis Erfolg gesucht,
da untere Schranke für #Cache Miss in einem Block
263
Lemma:
Sei X eine geometrisch verteilte Zufallsvariable mit Paramter
p. Für jedes j ∈ N definieren wir die
abgeschnittene“ Zufallsvariable Xj mit
”
X , wenn X ≤ j
Xj =
j, sonst.
Es gilt E[Xj ] =
1
p
· (1 − (1 − p)j )
Beweis:
E[Xj ] = j · Pr(X > j) +
= j·(1 − p)j + p
= j·(1 − p)j + p
j
P
i=1
j−1
P
i · Pr(X = i)
(i + 1)(1 − p)i
i=0
j
j
1−jp(1−p) −(1−p)
p2
= p1 (1 − (1 − p)j )
264
Literaturtipp: Concrete Mathematics (2.26)
Graham, Knuth, Patashnik (1989)
Beweis (Fortsetzung):
Nebenrechnung:
j−1
P
(i + 1)(1 − p)i =
j−1
X
i=0
i · (1 − p)i
+
i=0
|
j−1
X
(1 − p)i
i=0
{z
}
|
(1−p)−j(1−p)j +(j−1)(1−p)j+1
(1−(1−p))2
{z
1−(1−p)j
1−(1−p)
}
=
=
(1−p)−j(1−j )j +(j−1)(1−p)j+1 +p−p(1−p)j
p2
=
1−(1−p)j (j−(j−1)(1−p)+p)
p2
=
1−(1−p)j (jp+1)
p2
1−(1−p)j
p
265
Beweis (Fortsetzung):
Hier: abgeschnittene“ Zufallsvariable Xl für #Segmente
”
mit Cache Miss bezüglich geometrisch verteilter Zufallsvariable X mit Parameter
1
k
E[Xl ] = k (1 − (1 − k1 )l )
lim (1 − k1 )l → 0
l→∞
erwartete Anzahl Cache Misses k (1 − o(1))
266
Anmerkungen:
• Betrachtung von Widersachern anstelle von worst case
Analyse
• Kompetitivfaktor gegen nicht-adaptive Widersacher
– deterministisch in O (k)
– randomisiert in O (log k)
• in Praxis bekannte Unterschiede von Algorithmen für
das Seitenwechselproblem spiegeln sich nicht in
berechneten Kompetitivfaktoren wieder
Anforderungsfolge geeignet einschränken
Zugriffsgraphenmodell (→ VL Online-Algorithmen)
267
Exkurs
Erwartungswert
Zufallsvariable
gewichteter Mittelwert
enthält nur Teil der Information
die in Zufallsvariable und ihrer
Wahrscheinlichkeitsverteilung
enthalten ist
Interessant: Zufallsvariable Y := |X −E(X )|
k-tes zentrales Moment von X : E(|X −E(X )|k )
Beobachtung: je größer k ,
desto stärker werden größere Abweichungen vom
Erwartungswert gewichtet
268
Beobachtung: 1ste zentrale Moment wichtig,
jedoch Fkt |X | nicht differenzierbar
→ schwer zu rechnen
→ Bedeutung des 2ten zentralen Moments
Definition:
Varianz V (X ) einer Zufallsvariablen X ist ihr 2tes zentrales
Moment, d.h. V (X ) :=E[(X −E(X ))2 ]
Satz:
a) Wenn X eine Zufallsvariable ist, so gilt
V (X ) =E(X 2 )−E(X )2 , falls |E(X )| < ∞.
b) Wenn X eine Indikatorvariable ist, dann gilt
V (X ) =E(X )(1−E(X )).
269
Beweis:
a) V (X ) = E((X − E(X ))2 ) = E(X 2 − 2X E(X ) + E(X )2 )
= E(X 2 ) −2 E(X )E(X ) + E(E (X )2 )
↑
ր
տ
Linearität des
E(aX ) = aE(X ),
E(a) = a,
Erwartungswertes
für a ∈ R
für a ∈ R
= E(X 2 ) − E(X )2
b) X Indikatorvariable → E(X 2 ) = E(X )
→ E(X 2 ) − E(X )2 = E(X ) − E(X )2
= E(X )(1 − E(X ))
270
Satz:
Es gilt V (a · X ) = a2 V (X ) für a ∈ R.
Beweis:
E((aX )2 ) = a2 E(X 2 ) und E(aX )2 = a2 E(X )2
V (aX ) = E((aX )2 ) − E(aX )2
= a2 E(X 2 ) − a2 E(X )2
= a2 V (X )
271
Unabhängigkeit
Definition:
Menge von Ereignissen {εi | i ∈ I} ist unabh
ängig,
T
Q
wenn für alle Teilmengen S ⊆ I gilt: Pr
εi =
Pr(εi ).
i∈S
...
i∈S
k-unabhängig, . . .
...
mit |S| ≤ k : . . .
paarweise unabhängig =
ˆ 2-unabhängig.
Menge von Zufallsvariablen {Xi | i ∈ I} ist unabhängig,
wenn für alle Teilmengen S ⊆ I und für alle {xi ∈ R | i ∈ I}
gilt:
Pr(∀i ∈ S : Xi = xi ) =
Q
Pr(Xi = xi )
i∈S
Analog: k-unabhängig
272
Satz:
Falls X und Y unabhängige Zufallsvariablen sind, gilt
E(X · Y ) = E(X ) · E(Y ).
Beweis:
E(X · Y ) =
P
t · u · Pr(X = t, Y = u)
t,u
=
P
t · u · Pr(X = t) · Pr(Y = u)
t,u
P
P
u · Pr(Y = u)
= t · Pr(X = t) ·
t
u
= E(X )E(Y )
273
Bemerkung:
E(X · Y ) 6= E(X ) · E(Y ), falls X und Y nicht unabhängig
voneinander
Beispiel:
X
Y
=
ˆ Würfelversuch mit 6-seitigem Würfel
= X
E(X ) · E(Y ) = (3, 5)2
E(X · Y ) ≈ 15, 17
274
Satz:
Für paarweise unabhängige Zufallsvariablen X1 , . . . , Xn gilt:
V (X1 + · · · + Xn ) = V (X1 ) + · · · + V (Xn )
Beweis:
V(
P
1≤i≤n
P
P
P
P
E(Xi ))2 )
Xi )) ) = E((
Xi −
1≤i≤n
1≤i≤n
1≤i ≤n
1≤i ≤n
P
P
P
Xi Xj − 2
Xi E(Xj ) +
= E(
E(Xi ) · E(Xj ))
1≤i,j≤n
1≤i,j≤n
1≤i,j≤n
P
=
(E(Xi Xj ) − 2E(Xi )E(Xj ) + E(Xi ) · E(Xj ))
Xi ) = E((
Xi − E(
2
1≤i,j≤n
ր
= E(Xi ) · E(Xj )
für i 6= j
=
P
1≤i≤n
(E(Xi2 )
2
− E(Xi ) ) =
P
1≤i≤n
V (Xi )
275
Satz: Tschebyscheff-Ungleichung
Sei X eine Zufallsvariable und V (X ) = E[(X − E(X ))2 ] die
Varianz von X . Wenn V (X ) > 0 ist, gilt für alle t > 0:
Pr(|X − E(X )| ≥ t) ≤
V (X )
.
t2
Beweis:
Folgt aus der Markoff-Ungleichung.
Denn Pr(|X − E(X )| ≥ t) = Pr((X − E(X ))2 ≥ t 2 )
≤
E((X −E(X ))2 )
t2
=
V (X )
t2
276
Satz: Chernoff-Ungleichung
(again)
Sei 0 < p < 1 und X = X1 + · · · + Xn für unabhängige
Zufallsvariablen X1 , . . . , Xn mit Pr(Xi = 1) = p und
Pr(Xi = 0) = 1 − p.
Dann gilt E(X ) = n · p und für alle δ ∈ (0, 1):
Pr(X ≤ (1 − δ) · E[X ]) ≤ e
Pr(X ≥ (1 + δ) · E[X ]) ≤ e
− E(X2)δ
2
E(X )δ 2
− 3
(obere Schranken für multiplikative Abweichung vom
Erwartungswert)
277
Satz: Hoeffding-Ungleichung
n
P
1
Sei 0 ≤ p ≤ 1 und Yn = n
Xi für unabhängige
i=1
Zufallsvariablen X1 , . . . , Xn mit Pr(Xi = 1) = p und
Pr(Xi = 0) = 1 − p, 1 ≤ i ≤ n.
Dann gilt E(Yn ) = p und für alle 0 < λ ≤ 1:
Pr(Yn ≥ p + λ) ≤ e
−2λ2 n
Pr(Yn ≤ p − λ) ≤ e
−2λ2 n
(obere Schranken für additive Abweichung vom
Erwartungswert)
278
Herunterladen