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