Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Ähnliche Präsentationen


Präsentation zum Thema: "10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009."—  Präsentation transkript:

1 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009

2 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele 10.11.2013Kapitel 22

3 Notation 2.1 Definition: Sei ein Optimierungs- problem und A ein Online Algorithmus für. Für eine beliebige Eingabesequenz =( (1), (2),…, (t)) seien E[A( )] die erwarteten Kosten von A für. A heißt c-kompetitiv, wenn es einen von t unabhängigen Parameter a gibt, so dass für alle Eingabesequenzen gilt: E[A( )] c OPT( ) + a 10.11.2013Kapitel 23

4 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele 10.11.2013Kapitel 24

5 Paging Problem: Eine online eintreffende Folge von Seitenanfragen =(x 1,…,x n ) muss durch ein zweistufiges Speichersystem (Cache und Hauptspeicher) bearbeitet werden. Ist eine Seite nicht im Cache vorhanden (Cache-Miss), muss sie vom Hauptspeicher dorthin geladen werden (und verdrängt bei vollem Cache eine dort vorhandene Seite). Ziel: minimiere die Anzahl der Cache-Misses Algorithmus RANDOM: Entferne bei jedem Seitenfehler eine zufällig gemäß der Gleichverteilung gewählte Seite aus dem Cache. 10.11.2013Kapitel 25

6 Paging 2.2 Satz: RANDOM ist nicht besser als k-kompetitiv im Erwartungswert. Beweis: Wähle für N>>k die folgende Eingabesequenz: =b 0 a 1 …a k-1 (b 1 a 1 …a k-1 ) N (b 2 a 1 …a k-1 ) N … In jeder Phase P i,i 1, ist die Wkeit für das Aus- lagern der Seite b i-1 bei jedem Cache-Miss 1/k. Also macht RANDOM in jeder Phase im Erwar- tungswert k Fehler, bis er sich von b i-1 trennt. 10.11.2013Kapitel 26 P0P0 P1P1 P2P2

7 Paging Algorithmus MARKING: Die Anfragesequenz wird in Phasen bedient. Zu Beginn einer Phase sind alle Seiten unmarkiert. Wird eine Seite angefragt, so wird sie markiert. Bei einem Seitenfehler wird eine zufällig gleichverteilt ausgewählte unmarkierte Seite entfernt. Eine Phase endet unmittelbar vor einem Seitenfehler, wenn alle Seiten im schnellen Speicher markiert sind. 2.3 Satz: MARKING ist 2H k -kompetitiv, wobei H k = i=1 k 1/i die k-te harmonische Zahl ist. Bemerkung: Es gilt ln(k+1) H k ln(k) + 1. 10.11.2013Kapitel 27

8 Paging Algorithmus MARKING: : 10.11.2013Kapitel 28 7 1 Cache Hauptspeicher 23456 78 4816423

9 Paging Algorithmus MARKING: : 10.11.2013Kapitel 29 7 1 Cache Hauptspeicher 2 3 4567 8 4816423

10 Paging Algorithmus MARKING: : 10.11.2013Kapitel 210 7 1 Cache Hauptspeicher 2 3 4567 8 8416423

11 Paging Algorithmus MARKING: : 10.11.2013Kapitel 211 7 1 Cache Hauptspeicher 2 3 45 6 78 3481642

12 Paging Algorithmus MARKING: : 10.11.2013Kapitel 212 7 1 Cache Hauptspeicher 2 345 6 78 1438642

13 Paging Algorithmus MARKING: : 10.11.2013Kapitel 213 7 1 Cache Hauptspeicher 2 345 6 78 4386142

14 Paging Algorithmus MARKING: : 10.11.2013Kapitel 214 7 1 Cache Hauptspeicher 2 34 5 678 4384162

15 Paging Algorithmus MARKING: : 10.11.2013Kapitel 215 7 1 Cache Hauptspeicher 2 34 5 678 4382164

16 Paging Algorithmus MARKING: : 10.11.2013Kapitel 216 7 1 Cache Hauptspeicher 2 34 5 678 4382164 neue Phase

17 Paging Beweis: Sei eine beliebige Anfragesequenz. MARKING zerlegt in Phasen P 1,P 2,…,P m. Jede Phase P i enthält genau k verschiedene Seiten- anfragen, und die erste Anfrage von P i ist verschieden von allen Seitenanfragen in P i-1. n i : Anzahl der neuen Seitenanfragen in P i (d.h. Seiten, die nicht in P i-1 angefragt wurden) Wir zeigen, dass OPT amortisierte Kosten von mindestens n i /2 in P i erzeugt und MARKING mit erwarteten Kosten von n i H k auskommt. Dann ergibt sich als Kompetitivitätsfaktor c n i H k /(n i /2) = 2H k 10.11.2013Kapitel 217

18 Paging Beweis (Fortsetzung): Wir zeigen zunächst, dass OPT amortisierte Kosten von mindestens n i /2 pro Phase P i erzeugt. Wir betrachten zwei aufeinanderfolgende Phasen P i und P i+1. P i und P i+1 enthalten zusammen genau k+n i paarweise verschiedene Seiten. OPT macht also in diesem Phasenpaar mindestens n i Fehler. Es gilt also: OPT n 2 +n 4 +n 6 +… = i gerade n i sowie OPT n 1 +n 3 +n 4 +… = i ungerade n i Insgesamt erhalten wir als amortisierte Kosten 2OPT i gerade n i + i ungerade n i OPT (1/2) i n i 10.11.2013Kapitel 218

19 Paging Beweis (Fortsetzung): MARKING erzeugt in Phase P i genau n i Seitenfehler für die Anfragen auf neue Seiten. Es kann aber auch Seitenfehler für Seiten geben, die nicht neu in Pi sind! Die Anzahl der in P i angefragten alten Seiten sei o i. Es gilt o i +n i =k. Wir betrachten die erste Anfrage auf die j-te alte Seite, j o i. Unmittelbar vorher enthält der Cache n i j neue Seiten, die bisher angefragt worden sind, n i j n i. Es gibt k-(j-1) alte Seiten, die vor der Anfrage auf die j-te alte Seite noch nicht angefragt wurden. Von diesen alten Seiten sind n i j nicht mehr im Cache. Die Wahrscheinlichkeit für einen Seitenfehler ist also n i j /(k-(j-1)) n i /(k-(j-1)) Da n i 1 ist, gilt o i k-1 und damit 1/(k-o i +1) ½. Als erwartete Kosten für die alten Seiten ergibt sich also j=1 o i n i /(k-(j-1)) n i (1/k+…+1/2) = n i (H k -1) Die Gesamtkosten in Phase P i sind also cost(P i ) n i +n i (H k -1) = n i H k. 10.11.2013Kapitel 219

20 Paging 2.4 Satz: Sei A ein randomisierter Online-Paging-Algorithmus, der c-kompetitiv ist. Dann ist c H k. Beweis: Sei A ein Online-Paging-Algorithmus. Die Menge der angefragten Seiten sei {p 1,…,p k+1 }. Der Gegner verwaltet einen Vektor von Wahrscheinlichkeitswerten Q=(q 1,…,q k+1 ). q i ist die Wahrscheinlichkeit, dass die Seite p i nicht im Cache von A ist. Es gilt i=1 k+1 q i = 1. Die Einträge im Vektor Q werden vom Gegner in jedem Schritt aktualisiert. Wir unterteilen die Anfragesequenz in Phasen, die jeweils aus k Subphasen bestehen. Der Gegner markiert die angefragten Seiten wie bei MARKING und unterteilt in entsprechende Phasen. Mit jeder neu markierten Seite beginnt eine neue Subphase. In jeder Subphase j wollen wir für A erwartete Kosten von 1/(k+1-j) erzeugen, so dass sich die Kosten pro Phase für A berechnen zu j=1 k 1/(k+1-j) = 1/k + 1/(k-1) + … + 1 = H k Der Gegner soll pro Phase Kosten von 1 erzeugen. Dann folgt Satz 2.4. 10.11.2013Kapitel 220

21 Paging Beweis (Fortsetzung): Zu Beginn einer Subphase j gibt es j markierte Seiten. Sei M die Menge der markierten Seiten. Wir setzen = p i M q i und unterscheiden zwei Fälle. Ist =0, dann gibt es k+1-j unmarkierte Seiten, von denen wir eine unmarkierte Seite p i mit q i 1/(k+1-j) auswählen. Diese Seite wird vom Gegner angefragt und markiert. Damit endet Subphase j. Ist >0, dann gibt es ein p i M mit q i = >0. Der Gegner fragt p i an und erzeugt somit bei A erwartete Kosten. Solange die erwarteten Kosten für Subphase j kleiner als 1/(k+1-j) sind und > ist, fragt der Gegner die markierte Seite p i M mit dem größten q i an. Nach dem Ende dieser Schleife fragen wir die unmarkierte Seite p i mit größtem q i an und markieren sie, womit Subphase j beendet wird. 10.11.2013Kapitel 221

22 Paging Beweis (Fortsetzung): Wird die Schleife verlassen, dann sind die erwarteten Kosten entweder mindestens 1/(k+1-j) oder es gilt Die erwarteten Kosten am Ende der Schleife sind also mindestens 1- p i M q i 1- 1- 1 k+1-j k+1-j k+1-j k+1-j Am Phasenende bleibt die zuletzt markierte Seite für die neue Phase markiert. Am Anfang einer Phase entfernt der Gegner gerade die Seite aus dem Cache, die zu Beginn der folgenden Phase angefragt wird. So erreicht er Kosten 1 pro Phase. 10.11.2013Kapitel 222

23 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele 10.11.2013Kapitel 223

24 10.11.2013Kapitel 224 Erinnerung: Suchstruktur S: Menge von Elementen Jedes Element e identifiziert über key(e). Operationen: S.insert(e: Element): S:=S {e} S.delete(k: Key): S:=S\{e}, wobei e das Element ist mit key(e)=k S.lookup(k: Key): gibt e S aus mit key(e)=k, falls es ein solches e gibt, und sonst

25 10.11.2013Kapitel 225 Erinnerung: Suchstruktur Effektive Regel für Listen: Move-to-Front Frage: geht es besser mit randomisierter Regel? 3 1 … 19

26 Selbstorganisierende Liste Sei eine beliebige lookup-Anfragefolge gegeben. Bei einem Zugriff auf ein Listenelement entstehen Kosten, die von der Position des Elements abhängen. Das angefragte Element kann nach seiner Anfrage an eine beliebige Position weiter vorne in der Liste bewegt werden (mit keinen Zusatzkosten). Außerdem ist es möglich, zwei benachbarte Elemente mit Kosten 1 zu vertauschen. 10.11.2013Kapitel 226 Kosten 7 xx

27 Selbstorganisierende Liste Algorithmus BIT: Halte für jedes Listenelement x ein Bit b(x). Anfangs werden diese Bits zufällig und unabhängig voneinander mit 0 oder 1 initialisiert. Bei jeder Anfrage x wird b(x) komplementiert. Wechselt b(x) dabei auf 1, so wird x an den Kopf der Liste bewegt, andernfalls wird die Position von x nicht geändert. 2.5 Satz: BIT ist 1,75-kompetitiv. 10.11.2013Kapitel 227

28 Selbstorganisierende Liste Beweis: Sei beliebig. Zu jedem Zeitpunkt von gilt: b(x) = (Startwert+#(Anfragen auf x)) mod 2. Wir führen eine amortisierte Analyse durch, wobei wir die Anzahl der Inversionen betrachten (siehe die MTF-Analyse im vorigen Kapitel). Bei einer Inversion (x,y) ist x vor y in OPTs Liste, aber y vor x in BITs Liste. Wir unterscheiden Inversionen, bei denen b(x)=0 ist (Typ 1) und bei denen b(x)=1 ist (Typ 2). Als Potentialfunktion verwenden wir = #(Inversionen vom Typ 1) + 2 #(Inversionen vom Typ 2) Wir wollen zeigen: BIT( (t)) + E[ (t)- (t-1)] 1,75 OPT( (t)) 10.11.2013Kapitel 228

29 Selbstorganisierende Liste Beweis (Fortsetzung): OPT bearbeite die Anfragen vor BIT. Wir betrachten nun die Fälle, in denen eine Inversion aufgehoben bzw. neu erzeugt werden kann. Sei k die Position in OPTs Liste direkt vor dem aktuell angefragten Listenelement x und i die Position direkt vor der neuen Position von x. Für die Aktionen von OPT gilt OPT( (t))=k+1 und E[ OPT ] (k-i)((1/2)(1+2)) = 1,5(k-i) 10.11.2013Kapitel 229 ikx OPT:

30 Selbstorganisierende Liste Beweis (Fortsetzung): In BITs Liste sei x an Position l+1. Für die Potentialänderung durch BITs Bedienen der Anfrage unterscheiden wir zwei Fälle. 10.11.2013Kapitel 230 ilx BIT: b(x):1 0 b(x):0 1

31 Selbstorganisierende Liste Erster Fall: l i. (a)Ist b(x)=1 vor dem Zugriff, dann wechelt b(x) auf 0. Die Position von x wird nicht verändert, es können also keine neuen Inversionen entstehen. Damit ist BITa =0. (b)Ist b(x)=0, dann können höchstens l neue Inversionen entstehen, die jeweils entsprechend des Bitwerts des übersprungenen Listenelements bewertet werden. Damit ergibt sich E[ BITb ] l ((1/2)(1+2)) = 1,5 l Da (a) und (b) mit Wkeit 0,5 auftreten, gilt: BIT( (t)) + E[ ] = = BIT( (t)) + E[ OPT ] + 0,5(E[ BITa ] + E[ BITb ]) l+1+1,5(k-i) + 0,5 0 + 0,5 1,5 l = l+1 + 0,75l + 1,5(k-i) = 1,75l + 1,5(k-i) + 1 1,75i + 1,5(k-i) + 1 1,75(k+1) = 1,75 OPT( (t)) 10.11.2013Kapitel 231

32 Selbstorganisierende Liste Zweiter Fall: i { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/1/206948/slides/slide_32.jpg", "name": "Selbstorganisierende Liste Zweiter Fall: i

33 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele 10.11.2013Kapitel 233

34 Finanzielle Spiele Sei = p 1, p 2, p 3,… eine Sequenz von Preisen für ein Gut. Problem: wähle das Maximum (Minimum) in. Akzeptieren wir den i-ten Preis, dann ist unser Ertrag p i. Andernfalls spielen wir weiter und das Angebot p i ist verfallen. Beispiele: Hausverkauf, Gehaltsverhandlung, Aktienkauf Einschränkung: Wir beschränken uns auf Suchprobleme mit einer beschränkten Preisspanne [m,M] mit 0 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/1/206948/slides/slide_34.jpg", "name": "Finanzielle Spiele Sei = p 1, p 2, p 3,… eine Sequenz von Preisen für ein Gut.", "description": "Problem: wähle das Maximum (Minimum) in. Akzeptieren wir den i-ten Preis, dann ist unser Ertrag p i. Andernfalls spielen wir weiter und das Angebot p i ist verfallen. Beispiele: Hausverkauf, Gehaltsverhandlung, Aktienkauf Einschränkung: Wir beschränken uns auf Suchprobleme mit einer beschränkten Preisspanne [m,M] mit 0

35 Finanzielle Spiele Algorithmus RPP (Reservation-Price-Policy): Wir setzen einen Reservation Price p*= m M und akzeptieren den ersten Preis p mit p p*. Falls wir am Ende noch kein Angebot angenommen haben, geben wir uns mit dem letzten Angebot zufrieden. 2.6 Satz: RPP ist -kompetitiv, wobei =M/m ist. Beweis: Sei beliebig und p max der maximale Preis der Sequenz. Ist p* p max, dann ist OPT( )/RPP( ) p max /m p*/m = Mm/m = Ist p*

{ "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.org/1/206948/slides/slide_35.jpg", "name": "Finanzielle Spiele Algorithmus RPP (Reservation-Price-Policy): Wir setzen einen Reservation Price p*= m M und akzeptieren den ersten Preis p mit p p*.", "description": "Falls wir am Ende noch kein Angebot angenommen haben, geben wir uns mit dem letzten Angebot zufrieden. 2.6 Satz: RPP ist -kompetitiv, wobei =M/m ist. Beweis: Sei beliebig und p max der maximale Preis der Sequenz. Ist p* p max, dann ist OPT( )/RPP( ) p max /m p*/m = Mm/m = Ist p*


36 Finanzielle Spiele 2.7 Satz: Kein deterministischer Online- Algorithmus A ist besser als -kompetitiv. Beweis: Der Gegner bietet als ersten Preis mM. Akzeptiert A das Angebot, dann bieten wir als nächstes M und erhalten als Verhältnis. Akzeptiert A das Angebot nicht, dann bieten wir als nächstes m und erhalten ebenfalls als Verhältnis. 10.11.2013Kapitel 236

37 Finanzielle Spiele Wie wir sehen werden, können randomisierte online Algorithmen deutlich besser sein. Algorithmus EXPO: Sei M=m 2 k mit k IN, also =2 k. Sei RPP i der RPP Algorithmus mit p*=m 2 i. Wähle mit Wahrscheinlichkeit 1/k die Strategie RPP i für i {1,…,k}. 2.8 Satz: EXPO ist c( )log –kompetitiv mit c( ) 1 für. 10.11.2013Kapitel 237

38 Finanzielle Spiele Beweis: Sei eine beliebige Preisfolge gegeben und j IN so, dass m2 j p max < m2 j+1. Hat EXPO die Strategie RPP i gewählt, dann ist für i j der Ertrag mindestens m2 i. Für i>j und damit p*>p max ist der Ertrag von EXPO mindestens m. Als erwarteter Ertrag von EXPO ergibt sich daraus E[EXPO( )] = (1/k)( i=1 j m2 i + (k-j)m) = (m/k)(2 j+1 -2+k-j) Also ist OPT( )/E[EXPO( )] m2 j+1 /[(m/k)(2 j+1 -2+k-j)] k/(1+(k-j-2)/2 j+1 ) = log /(1+(k-j-2)/2 j+1 ) Der Term 1/(1+(k-j-2)/2 j+1 ) wird maximiert für j*=k-2+1/log 2, wodurch dieser für k gegen 1 konvergiert. 10.11.2013Kapitel 238

39 10.11.2013Kapitel 239 Fragen?


Herunterladen ppt "10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009."

Ähnliche Präsentationen


Google-Anzeigen