Seminar „Online-Algorithmen“ Thema: Distributionales Paging Rainer Penninger Inhalt: 1. Einleitung ............................................................................................................................ 2 2. Modelle für distributionales Paging: Das Markov-Ketten-Modell ..................................... 3 2.1 Negative Ergebnisse ...................................................................................................... 5 2.1.1 Untere Schranke für Markierungsaglorithmen .................................................. 5 2.1.2 Analyse von MHT auf Markov-Ketten ............................................................. 7 2.1.3 Analyse von LAST auf Markov-Ketten ............................................................ 8 3. Das Markov-Prozess-Paging ............................................................................................. 10 3.1 Dominierende Verteilung und zugehöriger 4-kompetitiver Algorithmus ................... 10 3.2 4-kompetitiver Algorithmus DOM ..............................................................................13 4. Zusammenfassung ............................................................................................................. 14 1 1. Einleitung: Die kompetitive Analyse von Online-Algorithmen ist eine bedeutende Art der „worst-case"Analyse, ohne eine Wahrscheinlichkeitsverteilung der Eingaben anzunehmen. Dies hat uns zu neuen Erkenntnissen für das Design von Online-Algorithmen geführt genauso wie bei der Entscheidungsfindung mit unvollständigen Informationen. Das schon vorgestellte Thema Paging ist sehr anwendungsorientiert und es wurden schon viele der besprochenen Algorithmen implementiert und oft genutzt; manche schon lange bevor die kompetitive Analyse existierte. Das Modell der kompetitiven Analyse ist jedoch sehr „unrealistisch“ pessimistisch. Da viele Algorithmen in diesem Modell gleich schlecht bewertet werden, het ein Algorithmus wie z.B. LRU, der in der Praxis viel besser abschneidet als FIFO oder FWF, denselben kompetitiven Faktor wie die anderen beiden. Die Diskrepanz zwischen Theorie und Praxis ist in diesem Fall besonders störend und man wünscht sich daher eine ander Modellierung. Ein Grund für diese Diskrepanz ist einerseits der, dass ein Online-Algorithmus, der nichts von der Zukunft weiß, an einem bezüglich Rechenkapazität und Informationen unbeschränkten Algorithmus gemessen wird. Andererseits werden die Lokalitäten der Referenzen nicht berücksichtigt. Wenn man jedoch zum Beispiel weiß, dass eine Datenstruktur wie ein Baum aufgebaut ist, dann sollte man hier die LRU-Strategie anwenden. Man könnte, um die Theorie der Praxis näherzubringen, den Gegenspieler einschränken oder den Online-Algorithmus mit mehr Informationen ausstatten. Kritiker betonen immer wieder, dass FIFO und LRU gleich kompetitiv sind, obwohl LRU in der Praxis viel besser ist, und dass überhaupt der beobachtete kompetitive Faktor von LRU viel besser ist als der theoretische. Eine Alternative ist es, „average-case“-Analyse zu betreiben. Eine feste Wahrscheinlichkeitsverteilung für die Anforderungssequenz ist nicht sehr realistisch, jedoch wurden früher viele Analysen von Algorithmen unter der Annahme einer festen Verteilung gemacht. Man beachte, dass der Online-Algorithmus (in der Analyse) nur durch fehlende Informationen beschränkt wird. Wie sich der kompetitive Faktor ändert, wenn man rechentechnische Einschränkungen macht, ist ein interessantes und weitgehend unerforschtes Gebiet. Ein Aspekt werden Algorithmen sein, wo die Anfragesequenz von einer Markov-Kette generiert wird. Wahrscheinlichkeiten entsprechen Gewichten der Kanten eines Graphen. Die Seiten entsprechen den Knoten des Graphen. Das Ziel ist das Minimieren der erwarteten Seitenfehlerrate bzw. der erwarteten Anzahl von Seitenfehlern. Auch wenn man einen optimalen Algorithmus theoretisch berechnen kann, so ist dies in der Praxis nicht üblich, da es ineffizient ist. Deshalb suchen wir einen natürlichen und effizienten Weg einen solchen kompetitiven Algorithmus zu konstruieren (approximieren). Markov-Ketten sind Spezialfälle der Markov Prozesse. Im Zusammenhang mit Markov Prozessen wird der Algorithmus „Dominierende Verteilung“ vorgestellt. 2 2. Das Markov-Ketten-Modell Wir wollen eine Annäherung an zufällige Eingabesequenzen durch Wahrscheinlichkeitsverteilungen erreichen und den Vergleichsaspekt der kompetitven Analyse beibehalten. Eine Markov-Kette ist eine Menge von Zuständen (si ∈ S), für die gilt: Ein Wechsel von einem Zustand si nach sj tritt mit einer Wahrscheinlichkeit pij auf, die nur vom aktuellen Zustand (si) abhängig ist. Wir nehmen das Access-Graph-Modell als Basis für einen einfachen distributiven Ansatz. Man kann die Kante < u, v > in einem Access-Graphen mit der Wahrscheinlichkeit gewichten, dass v die nächste Anfrage nach u ist. So ein gewichteter Graph repräsentiert offensichtlich eine Markov-Kette. Ein Markov-Ketten-Modell liefert möglicher Weise das einfachste auf Wahrscheinlichkeiten basierende Modell, um Lokalitäten von Referenzen auszudrücken. Sobald wir einen distributiven Blickpunkt annehmen, ist ein sinnvolles Maß der Performance die erwartete Seitenfehlerrate. Diese ersetzt die Seitenfehlerrate von deterministischen Algorithmen durch einen vom Access-Graphen und vom Algorithmus abhängigen Erwartungswert. Einen Aspekt der kompetitiven Analyse behalten wir bei und vergleichen die erwartete Seitenfehlerrate mit der des optimalen Online-Algorithmus. In diesem Abschnitt nehmen wir an, dass die Anfragesequenz von einer Markov-Kette generiert wird, die der Online-Spieler kennt. Sollte die Markov-Kette nicht bekannt sein, könnte sie natürlich (annähernd) gelernt werden, z.B. indem man die Häufigkeiten der Seitenanfragen in einem ausreichend großen Präfix der Anfragesequenz zählt. Eine Matrix M = (pij) mit 0 ≤ pij ≤ 1 für 1 ≤ i, j ≤ n und ∑j=1..n pij = 1 für alle i = 1..n beschreibt ein Markov-Ketten-Modell. pij repräsentiert die Wahrscheinlichkeit, dass j direkt nach der Seite i angefragt wird und n ist die Anzahl der Zustände. Sei ALG ein Paging-Algorithmus. Definition: ALG( M ) = lim sup n → ∞ E [ ALG ( σ) ] / n, wobei σ eine Sequenz der Länge n ist, die von der Markov-Kette M generiert wurde. Daher misst ALG( M ) eine obere Schranke für die erwarteten Kosten pro Anfrage (z.B.: die Seitenfehlerrate). Wie wir es in der Entwicklung des Access-Graphen-Modells tun, so können wir auch hier das Konzept eines optimalen Online-Algorithmus definieren. Genauer gesagt wollen wir einen Online-Algorithmus, welcher die erwarteten Kosten pro Anfrage minimiert. Diese Optimierung kann im Rahmen der Markov-Entscheidungstheorie formuliert werden. Man kann das folgende Ergebnis aus einem fundamentalen Ergebnis der Markov-Entscheidungstheorie ableiten. Theorem 1 (berechenbarer deterministischer optimaler Algorithmus): Betrachte ein Paging-Problem, wobei N und k die Anzahl von langsamen und schnellen Speicherseiten darstellen. Sei M eine Markov-Kette auf N Knoten. Es existiert ein berechenbarer deterministischer Online-Algorithmus ON-OPT s.d. ON-OPT( M ) ≤ ALG( M ) für alle deterministischen oder randomisierten Online-Algorithmen ALG für dieses PagingProblem. Des Weiteren kann jede Paging-Entscheidung durch Lösung eines linearen Gleichungssystems mit N Variablen bestimmt werden. N· k ( ) 3 Theorem 1 zeigt, dass der Algorithmus ON-OPT aus der Matrix M berechnet werden kann. Die Lösung der Gleichungssysteme ist jedoch sehr kostspielig. Gewünscht wäre ein natürlicher und effizienter Online-Algorithmus, welcher für alle Matrizen M innerhalb eines konstanten Faktors von ON-OPT ist. Wir wollen also ein Ergebnis, welches vergleichbar ist mit der Existenz des einheitlich kompetitiven Algorithmus FAR (im Zusammenhang des Access-Graphen-Models). Wichtige Begriffe: Für den Beweis der unteren Schranke für Markierungsalgorithmen und die Analyse von LAST und MHT auf Markov-Ketten werden noch ein paar Begriffe benötigt. Random Walk: Eine stochastische Matrix M = pij definiert eine Wahrscheinlichkeitsverteilung an den ausgehenden Kanten jedes Knotens. Für jeden Knoten muss gelten: Σ j ∈ N(i) pij = 1, wobei N(i) die Nachbarschaft der zu i benachbarten Knoten ist. Eine solche Matrix definiert einen random walk auf dem Graphen G. Man könnte sich einen Zeiger vorstellen, der an Hand der Wahrscheinlichkeiten von P auf dem Graphen entlangläuft. Weighted Hitting Time Der Erwartungswert des Weges, der zurückgelegt wird, wenn man bei Knoten i startet, bis man bei Knoten j angekommen ist. Dieser Erwartungswert, hij, weicht meist von der minimalen Distanz ab, da man den optimalen Weg zu einer gewissen Wahrscheinlichkeit verlassen kann. Cover Time: Von einem Knoten i0 aus ist eine andere Größe die erwartete Distanz, die zurückgelegt wird, bis jeder andere Knoten besucht wurde. Bemerkung: Wollen wir „hitting time“ oder „cover time“ klein halten, so empfiehlt sich ein Graph, welcher kleine Wahrscheinlichkeiten zu den Kanten zugeordnet hat, welche großes Gewicht haben. Sind die Wahrscheinlichkeiten invers proportional zu den Gewichten der Kanten, so handelt es sich um einen „harmonic random walk“: (gewichtete Kanten) (1 / dij ) pij = Pr[i → j | bei i] = Σ w ∈ N(i) ( 1 / diw ) wobei dij das Gewicht der Kante < i, j > von i nach j ist. Ist G ungerichtet, dann nehmen wir an, dass d symmetrisch ist d.h. dij = dji. „uniform random walk“: (ungewichtete Kanten) Für einen ungewichteten Graphen G ist der „uniform random walk“ definiert durch: pij = 1 / Grad( i ). Betrachtet man die hitting times für einen random walk auf einem ungerichteten Graphen G, so stellt man fest, dass hij ≠ hji sein kann. Manchmal ist es einfacher, die symmetrische „commute time“: cij = cji = hij + hji zu betrachten. Per Konvention sei falls i = j: cii = hii = die erwartete Zeit, bis man zu i zurückgekehrt ist, wenn man bei i gestartet ist. 4 Um cij zu analysieren, benutzen wir eine Analogie zwischen gewichteten ungerichteten Graphen und elektrischen Systemen. Wir betrachten die Gewichte der Kanten von G als elektrischen Widerstand zwischen den beiden Knoten. D.h. der elektrische Widerstand (in Ohm) zwischen zwei benachbarten Knoten i und j ist dij. Wir definieren den effektiven Widerstand zwischen zwei beliebigen Knoten i und j als den Potentialunterschied, welcher entstehen würde, wenn man 1 Ampere Strom an i anlegen würde und an j abnehmen würde. Dies bezeichnen wir als Rij Beachte: Rij = Rji ≤ dij = dji, wobei hier dij die minimale Distanz zwischen den beiden Knoten ist. Man stelle sich die Kanten auf einem Pfad minimaler Länge von i nach j als Serienschaltung vor. Dann ist Rij = Rji = dij = dji. Pfade, die von diesem Pfad ausgehen und nicht wieder zurückkehren, haben keinen Einfluss auf den Widerstand, da der Strom auf direktem Weg fließt. Pfade, die mit dem minimalen Pfad einen Kreis bilden, sind als Parallelschaltung zu verstehen und eine solche verringert den Widerstand nur, da sich hier die Kehrwerte (= die Leitfähigkeit) der Widerstände addieren. Theorem C.1: Das Theorem wird im Anhang C von [1] bewiesen. Sei G = (V, E, d) ein ungerichteter gewichteter Graph G und betrachte einen „harmonic walk“ auf G. Dann ist cij = 2 · |E| · Rij 2.1 Negative Ergebnisse 2.1.1 Eine untere Schranke für Markierungsalgorithmen Es überrascht uns, dass viele vernünftige Online-Algorithmen im Markov-Ketten-Modell nicht gut abschneiden. Z.B. kann kein Markierungsalgorithmus (im allgemeinen) besser als MARK (welcher eine zufällige unmarkierte Seite verdrängt) abschneiden und viele natürliche (online) Approximationen an LFD sind eher schlecht. Um ein paar Beispiele von MarkovKetten zu geben, welche Probleme für bestimmte Algorithmen bedeuten, betrachten wir die Markov-Kette zu einem „uniform random walk“ auf einem Graph. Wir definieren zwei problematische Graphen, den Lollipop L(m, n) und den geteilten Lollipop FL(m, n): Der Lollipop-Graph L(m, n) ist ein Graph mit (m + n) Knoten bestehend aus einer n-Clique inklusive Verbindungsknoten w und einem einfachen Pfad der Länge m (Griff genannt) zwischen Knoten w und dem Ende y des Griffes. Der geteilte Lollipop-Graph FL(m, n) ist 5 dem Lollipop-Graph ähnlich, hat jedoch zwei Knoten x und y, benachbart zum Ende eines Griffes mit (m – 1) Knoten. Das folgende technische Lemma benutzen wir für den Beweis der unteren Schranke. Es sei hier ohne Beweis angeführt: Lemma 1: Man betrachte einen random walk auf dem Lollipop-Graph G = L(m, n), welcher bei w beginnt. Sei fc(m, n) die Wahrscheinlichkeit, dass y vor allen Knoten im Cliqueteil angefragt wird. Man kann zeigen, dass fc (m, n) = Θ ( log n / ( m · n ) ). Hiermit kann man folgende untere Schranke für beliebige Markierungsalgorithmen beweisen: Theorem 2: Sei k gerade. Dann gibt es eine Markov-Kette M mit (k + 1) Zuständen, s.d. für jeden beliebigen (deterministischen oder randomisierten ) Online-Markierungsalgorithmus ALG gilt: ALG( M ) ≥ dk · Hk/2 · ON-OPT ( M ), wobei lim k → ∞ d k = 1 und Hm die m-te harmonische Zahl ist. Beweis: Sei M die Markov-Kette, die zu einem uniform random walk auf dem Lollipop-Graph G = L(k/2 + 1, k/2) korrespondiert, und y sei der Knoten am Ende des Lollipop-Griffs. Betrachte die k-Phasen-Einteilung einer Eingabesequenz σ, welche durch M generiert wurde. Sei ALG (φM) die erwarteten Kosten von ALG um eine zufällige Phase φM von σ abzuarbeiten. Da die k-Phasen-Einteilung unabhängig vom Algorithmus ist, ist ALG ( M ) ALG (φM ) = ON-OPT ( M ) ON-OPT (φM ) Angenommen y sei der Knoten, der eine neue k-Phase beginnt. Dann wird sicher die nächste Phase an einem Knoten z im Cliqueteil von G gestartet. Wie schon (aus der Vorlesung) bekannt ist, ist die erwartete Anzahl von Seitenfehlern, die durch ALG im Cliqueteil verursacht werden, mindestens Hk/2 . Betrachte eine Phase, die an einem Knoten im Cliqueteil von G startet, und sei fy = 1 - fc ( k/2 + 1, k/2 ) eine untere Schranke für die Wahrscheinlichkeit, dass alle Knoten im Cliqueteil vor y angefragt werden. D.h. mit Wahrscheinlichkeit von mindestens fy wird y der Knoten sein, der die nächste Phase beginnt. Wir haben also: ALG (φM) = erwartete Kosten pro Phase ≥ (Wahrscheinlichkeit das die Phase an Knoten y startet) · Hk/2 = ( fy / 1+fy ) · Hk/2. Wir vergleichen dieses Ergebnis mit dem Online-Algorithmus ALTR, welcher statt dessen y und einen zufälligen ( festen ) Knoten z im Cliqueteil von G verdrängt: Wir definieren die Anzahl von Fehlern in einer Phase wie folgt: Wir zählen den Fehler, der die nächste Phase beginnt, mit, aber nicht den Fehler, der die aktuelle Phase begonnen hat. Wenn eine Phase bei y beginnt, macht ALTR einen Fehler in dieser Phase und startet die nächste Phase mit dem Loch bei y. Eine Phase beginnend bei einem Knoten v in der Clique ist eine schlechte Phase, wenn die nächste Phase auch bei einem Knoten in der Clique beginnt. 6 Bei einer schlechten Phase macht ALTR zwei Fehler. Die Wahrscheinlichkeit für eine schlechte Phase ist ( 1- fy ) · ( 1 / ( 1+ fy ) ). Daher ist ALTR (φM ) ≤ fy / (1 + fy) · 1 + (1 – fy) / (1 + fy) · 2 Setzen wir dk = fy / (2 - fy), dann gilt ALG (φM ) ≥ dk · Hk/2 · ALTR (φM) ≥ dk · Hk/2 · ON-OPT (M). Da lim k → ∞ fk = 1 ist, haben wir lim k → ∞ dk = 1, wie gewünscht. q.e.d. 2.1.2 Analyse von MHT auf Markov-Ketten Wir betrachten nun zwei natürliche Approximationen an LFD, den optimalen offline Algorithmus, welche ziemlich schlecht bei gewissen Markov-Ketten sind. Im nächsten Abschnitt stellen wir eine einheitlich kompetitive Strategie in einem allgemeineren Umfeld vor. Algorithmus MHT (Maximum Hitting Time) Bei einem Seitenfehler an Seite r verdrängt MHT die Seite, deren erwartete Erreichzeit von r aus am größten ist. Algorithmus LAST (Highest probability to be last) verdrängt bei einem Seitenfehler die Seite, die die höchste Chance hat, die letzte der k Seiten im Cache zu sein, die angefragt wird. Theorem 3.1: Es gibt eine Konstante c, s.d. für alle k gilt: Es gibt eine Markov-Kette M mit (k + 1) Zuständen, s.d. MHT( M ) ≥ c · k · ON-OPT( M ) Beweis: Sei M die Markov-Kette, welche durch einen random walk auf einem geteilten LollipopGraph G = FL(k/3, 2k/3) mit k+1 Knoten induziert wird. Wenn man die Charakterisierung der „commute time“ von elektronischen Netzwerken benutzt, ergibt sich, dass huv + hvu = 2 · | E | · R uv wobei huv die „hitting time“ von u nach v ist und Ruv der effektive Widerstand zwischen u und v ist. 7 Für die Knoten x und y am Ende des Griffes des geteilten Lollipop gilt: Rxy = Rxz + Rzy = 2. Es ist klar dass |E| = 4k2 + O( k ). Da hxy = hyx (folgend aus der Symmetrie des Graphen ), haben wir hxy = hyx = ( 8k2 ) / 9 + O ( k ). Wir betrachten nun die Erreichzeit von entweder x oder y zu irgendeinem anderen Knoten u in G. Die Erreichzeit zum Knoten w ist in etwa die Erreichzeit für einen random walk auf einer Linie der Länge k / 3. D.h.: hxw = hyw = k2 / 9 + O ( k ). Es ist klar, dass irgendein anderer Knoten auf dem Griff eine kürzere Erreichzeit hat. Außerdem, wenn w erreicht ist, ist für einen beliebigen Knoten u die Wahrscheinlichkeit, dass der random walk u vor dem Vorgänger von w auf dem Griff erreicht = ½. Es folgt daraus, dass die Erreichzeit von entweder x oder y zu u 2 · k2 / 9 + O ( k ) ist. Daher wird MHT immer sein Loch zwischen x und y alternieren lassen mit einer Fehlerrate von 1 / ( hxy + hyx ) = Ω ( 1 / k2 ). Andererseits betrachten wir noch mal Algorithmus ALTR, welcher das Loch zwischen z.B. x und einem zufälligen (festen) Knoten u im Cliqueteil alternieren lässt. ALTR wird eine Fehlerrate von 1 / (hxu + hux) = O (1 / k3) haben, wenn man dieselbe Analyse benutzt um die „commute time“ hxu + hux zu berechnen und berücksichtigt, dass R xu in etwa k/3 ist. 2.1.3 Analyse von LAST auf Markov-Ketten Theorem 3.2: Es gibt eine Konstante c, s.d. für alle k gilt: Es gibt eine Markov-Kette M mit (k + 1) Zuständen, s.d. LAST( M ) ≥ c · k · ON-OPT( M ) Beweis: Betrachte die Markov-Kette welche durch einen random walk auf einem ungerichteten Kreis mit (k + 1) Knoten induziert wird. Es ist vielleicht überraschend, aber es kann gezeigt werden, dass wenn man bei irgendeinem Knoten des Kreises startet, jeder andere Knoten die gleiche Wahrscheinlichkeit besitzt, als letztes erreicht zu werden. Wenn die Wahrscheinlichkeiten leicht abgeändert werden (z.B.: durch eine ε-Abschrägung mit ε > 0 im Uhrzeigersinn), dann ist der Nachbar im Gegenuhrzeigersinn der am meisten wahrscheinliche als letztes erreicht zu werden. 8 Für den „uniform random walk“ zeigt die commute-time-Charakterisierung, dass die Erreichzeit zu einem Nachbar O ( k ) ist. Dies ändert sich mit der ε – Abschrägung nicht, daher ist die erwartete Seitenfehlerrate von LAST Θ (1 / k). Andererseits, indem man Löcher an zwei fixen antipolaren Knoten alternieren lässt, ist die Erreichzeit O ( k2 ) und die erwartete Seitenfehlerrate Θ ( 1/ k2 ). q.e.d. 9 3. Markov-Prozess-Paging Das Markov-Ketten-Paging-Modell ist ein Spezialfall des Markov-Prozess-Paging-Modells. Das Markov-Prozess-Paging-Modell nimmt eine Menge von Zuständen an (endlich oder unendlich viele). Für jedes Paar von Zuständen (si, sj) und Seite r ist die Wahrscheinlichkeit p( si, sj, r ), dass wenn der Prozess im Zustand si ist und die nächste Seitenanfrage r ist, der Prozess in Zustand sj wechseln wird. Typischerweise würden wir die Aufmerksamkeit auf ein endliches n-stufiges Markov-Prozess-Paging-Modell einschränken, wobei die Menge von Zuständen S = { s | s korrespondiert zum Vektor der letzten n Seitenanfragen } und die nächste Seitenanfrage (und daher der nächste Zustand ) eine Wahrscheinlichkeitsfunktion des aktuellen Zustandes ist. Es ist klar, dass Markov-Ketten-Paging ein 1-stufiges MarkovProzess-Paging-Modell ist. Ein Markov-Modell mit endlich vielen Zuständen liefert ( für kleine n ) ein besseres Wahrscheinlichkeitsmodell, da aus den n vorherigen Anfragen die Lokalitäten von Referenzen bestimmt werden können. Aber wir hoch sind die Rechenkosten ? Können wir einen rechentechnisch effizienten einheitlich kompetitiven Algorithmus herleiten? Es überrascht vielleicht, dass die Antwort ja ist, und in der Tat kann dieser universelle Algorithmus auf eine breitere Klasse (als n-stufige Markov-Prozesse, n < ∞) von Eingabeverteilungen angewandt werden. 3.1 Dominierende Verteilung und zugehöriger 4-kompetitiver Algorithmus Im Folgenden werde die Anforderungssequenz wird auf Grund einer (Wahrscheinlichkeits-)Verteilung D ∈ Dpp generiert, wobei Dpp die Klasse der paarweise voraussehbaren Verteilungen ist. Eine Verteilung D heißt paarweise voraussehbar, wenn für alle Paare von Seiten q und r die Wahrscheinlichkeit p(q, r), dass Seite r vor Seite q angefragt wird, effizient berechnet werden kann. Genauer gesagt nehmen wir an, dass für alle Seitenpaare q und r p(q,r) in polynominaler Zeit berechnet werden kann. Sei Ďpp die Klasse aller paarweise voraussehbaren Verteilungen. Man kann zeigen, dass wenn M ein n-stufiges Markov-Paging-Modell ist, M ∈ Ď pp ist. Man kann für ein festes n p(q, r) in polynominaler Zeit bzgl. N berechnen. Eine paarweise voraussehbare Verteilung D und ein Online-Paging-Algorithmus ALG induzieren in natürlicher Weise ein gewichtetes Turnier auf der Menge S seiner Zustände. Ein Turnier T ist ein vollständiger Graph, in dem jede Kante eine Richtung hat. Es ist eine natürliche Repräsentation eines Sportwettkampfes. Die Knoten sind die Spieler, die Richtung der Kante deutet immer auf den jeweiligen Gewinner des individuellen Matchs. Wir verallgemeinern die Notation in der Weise, dass die Kanten richtige Gewichte statt Richtungen haben. 10 Definition: gewichtetes Turnier Ein gewichtetes Turnier T(V, w) ist eine Menge Knoten V und eine Abbildung w: V x V → [0, 1] mit w(u, u) = 0 und w(u, v) + w(v, u) = 1 für alle u, v ∈ V. Dies repräsentiert das Ergebnis eines „Matchs“. Wenn u = Becker und v = Graf und w(u, v) = 7/10, dann gewinnt Becker zu 7/10 und Graf zu 3/10. Ein ungewichtetes Turnier erhält man, indem man nur Gewichte von 0 und 1 zulässt. Hat man einen Paging-Algorithmus ALG und eine paarweise voraussehbare Verteilung D, dann ist die Gewichtsfunktion durch D festgelegt. Später wird V die Menge der Seiten im Cache von ALG gerade vor jeder neuen Anfrage sein. Definition: Dominierende Verteilung auf einem Turnier Eine Dominierende Verteilung auf einem Turnier T = (V, w) ist eine Wahrscheinlichkeitsfunktion p: V → [0, 1], so dass E[ w(v, u) ] = ∑ u ∈ V w(v, u) · p(u) ≤ ½ für alle v ∈ V. Das heißt, dass die Summe der Gewichte der ausgehenden Kanten multipliziert mit den jeweiligen Wahrscheinlichkeiten der Zielknoten ≤ ½ sein muss, für jeden Knoten v aus V. (Man beachte, dass V ein vollständiger Graph sein muss) Bemerkung: Die Knoten, die die meisten Turniere verlieren, bzw. die kleinen Gewichte an den ausgehenden Kanten haben, scheinen die größte Chance zu haben, ausgewählt zu werden. In Worten der paarweise voraussehbaren Verteilungen und Paging-Algorithmen neu formuliert: Für jedes v im Cache, wenn u mit Wahrscheinlichkeit p( u ) ausgewählt wird, dann wird jedes v ≠ u mit Wahrscheinlichkeit ≥ ½ nicht später als u angefragt. 11 Theorem 4: Jedes gewichtete Turnier T ( V, w ) hat eine dominierende Verteilung . Beweis: Wir betrachten die Berechnung von p als Lösung des folgenden linearen Programmes. Minimiere c, s.d.: ∑ u ∈ V w(v, u) · p(u) ≤ c (∀ v ∈ V) ∑ u ∈ V p(u) = 1, p(u) ≥ 0 (∀ u ∈ V) Uns genügt zu zeigen, dass c maximal ½ ist. Man muss dafür das duale lineare Programm betrachten: Maximiere d unter den Bedingungen, dass ∑ v ∈ V w(v, u) · q(v) ≥ d (∀ u ∈ V) ∑ v ∈ V p(v) = 1, q(v) ≥ 0 (∀ v ∈ V) Es genügt zu zeigen, dass für eine beliebige W'-Verteilung q ein Knoten u existiert, für den ∑ v ∈ V w(v, u) · q(v) ≤ ½ ist. Betrachte hierzu die folgenden Ableitungen: ∑ u ∈ V q(u) · ∑ v ∈ V w(v, u) · q(v) = ∑ u, v ∈ V w(v, w) · q(u) · q(v) = ∑ u, v ∈ V: v<u q(u) · q(v) · (w(v, u) + w(u, v)) = ∑ u, v ∈ V: v<u q(u) · q(v) Benutzt man die Identität 1 = ( ∑ u ∈ V q(u) )² = ∑ u ∈ V q(u)² + 2 ( ∑ u, v ∈ V: v<u q(u) · q(v) ) ergibt sich ∑ u ∈ V q(u) · ∑ v ∈ V w(v, u) · q(v) = ½ (1 - ∑ u ∈ V q(u)²) ≤ ½. Also gibt es einen Knoten u für den ∑ v ∈ V w(v, u) · q(v) ≤ ½ ist und der Beweis ist feritg. Corollar 5: Die dominierende Verteilung für ein beliebiges Turnier kann durch Lösung eines linearen Programmierungsproblems mit |V| Variablen gefunden werden. Wir benutzen diese dominierenden Verteilungen für die Konstruktion eines einheitlich kompetitiven Algorithmus für Ďpp. 12 3.2 Algorithmus ( DOM ): Sei D ∈ Ďpp die Eingabeverteilung und sei σ = r1, r2, ....... eine Anfragesequenz. Bei der t–ten Anfrage rt verdränge t DOM keine Seite, wenn rt im Cache ist (d.h. DOM ist ein Demand-Paging-Algorithmus); eventuell muss jedoch der Zustand der gegebenen Verteilung D geändert werden. Wenn rt ein Seitenfehler ist, dann konstruiert DOM ein gewichtetes Turnier Tt (V, w) ( durch D festgelegt ) auf den k Seiten, welche aktuell im Cache sind. DOM verdrängt Seite q mit Wahrscheinlichkeit pt( q ), wobei pt die dominierende Verteilung für das Turnier Tt (V, w) ist. Theorem 6: Für alle Anfragesequenzen σ ist E [ DOM( σ ) ] ≤ 4 ON-OPT( σ ). Bemerkung: Der Rechenaufwand pro Seitenfehler ist polynominal in k beschränkt, falls für alle Seitenpaare q, r die p( q, r ) vorberechnet sind. Beweis: Wir definieren ein Charging Schema für jeden DOM Fehler. Wenn DOM eine Seite p verdrängt, stellen wir den Fehler einer Seite q =: ch(p), welche vor dem Seitenfehler im Cache von DOM ist und nach dem Seitenfehler nicht im Cache von ON-OPT ist, in Rechnung. Des weiteren hat keine Seite zu einem Zeitpunkt mehr als zwei Seitenfehler in Rechnung. Sei SON-OPT die Menge von Seiten im Cache von ON-OPT, nachdem rt bedient wurde, und sei SDOM die Menge von Seiten im Cache von DOM, bevor die Anfrage rt bedient wurde. Das Charging Schema: 1. Wenn u von DOM verdrängt wird, wenn u ∉ SON-OPT dann setze ch( u ) = u. 2. Andererseits nehmen wir an, dass es eine Seite q ∈ (SDOM - SON-OPT) gibt, s.d. ch( v ) ≠ q für alle v ∈ (SON-OPT - SDOM) . Für ein solches q setzte ch( u ) = q. 3. Wenn ch( u ) = q ≠ u und u später von ON-OPT verdrängt wird, dann setze ch( u ) = u zurück. 4. Wann immer u angefragt wird, bezahlt das die Rechnungen von u, d.h. ch( u ) = `nil` 13 Beachte, dass die angefragte Seite rt, welche die Verdrängung von u verursacht, in (SON-OPT - SDOM) ist und nach Regel 4 ist ch( rt ) = `nil`. Da | SON-OPT - SDOM | = | SDOM - SON-OPT | , muss es ein q ∈ (SDOM - SON-OPT) geben, welches Regel 2 genügt. Als nächstes bemerken wir, dass für ein beliebiges q zu jeder Zeit |{u | ch( u ) = q }| ≤ 2, da q maximal einmal von einem u ≠ q beladen werden kann und maximal einmal von sich selbst. Des weiteren behaupten wir, dass ch( u ) mit Wahrscheinlichkeit ≥ ½ nicht später als u angefragt wird: Wenn wir ch( u ) ≠ u setzen, muss ch( u ) ∈ SDOM . Die Konstruktion von p garantiert, dass ch( u ) mit Wahrscheinlichkeit ≥ ½ vor u angefragt wird. Wann immer ch( u ) auf u gesetzt oder zurückgesetzt wird, ist immer gewährleistet, dass ch( u ) nicht später als u angefragt wird. Wir schließen den Beweis wie folgt ab. Wir stellen maximal zwei Verdrängungen (z.B.: u1 und u2 ) von DOM zu einer gegebenen Seite q in Rechnung, welche nicht im Cache von ONOPT ist. Mit einer Wahrscheinlichkeit ≥ ½ wird diese Seite nicht später als u1 oder u2 angefragt. Daher wird ON-OPT für jede zwei Verdrängungen von DOM mit Wahrscheinlichkeit ≥ ½ mit einem Seitenfehler beladen. D.h. die Anzahl der erwarteten Seitenfehler wird mindestens 1/4 der Anzahl von Verdrängungen von DOM sein. 4. Zusammenfassung: Der Ansatz nimmt eine zufällige Wahrscheinlichksverteilung für die Seitenanfragen statt „worst-case"-Verhalten an. Zur mathematischen Modellierung der Wahrscheinlichkeiten wurde als einfaches Modell das Markov-Ketten-Modell vorgestellt und als fortgeschrittenes Modell die Markov-Prozesse. Statt einer erhofften Verbesserung schon vorhandener Algorithmen stellte man fest, dass viele vielversprechende Algorithmen hier nicht gut abschneiden. Im Zusammenhang mit IP-Networking wurde jedoch der hier vorgestellte einheitlich 4kompetitive Algorithmus DOM entwickelt, welcher auf allen paarweise voraussehbaren Wahrscheinlichkeitsverteilungen funktioniert. D.h. er kann auf eine breitere Klasse von Verteilungen als die von Markov-Prozessen angewendet werden. Referenzen: [1] A. Borodin, R. El Yaniv. Online Computation and Competitive Analysis Cambridge University Press 1998 [2] A. R. Karlin, S. J. Phillips, P. Raghavan. Markov Paging In Proceedings of the 33rd IEEE Symposium on Foundations of Computer Science, 1997 [3] C. Lund, S. Phillips, N. Reingold. Paging Against a Distribution and IP Networking In Proceedings of the 34th Annual Symposium on the Foundations of Computer Science, 1994 http://www.ics.uci.edu/~irani/Online/lpr.ps [4] S. Irani, A. R. Karlin. On Online Computation http://www.ics.uci.edu/~irani/Online/survey.ps Aus Approximation Algorithms for NP-hard Problems, ed., Dorit Hochbaum 14