Datenmanagement in Netzwerken Matthias Westermann Sommersemester 2006 Der Kommunikationsoverhead für die Bereitstellung von Datenobjekten, die von mehreren Knoten in einem Netzwerk bearbeitet werden können, dominiert häufig die Laufzeit von Netzwerkanwendungen. Bei solchen Datenobjekten kann es sich zum Beispiel um Dateien in einem Local-Area-Network (LAN), globale Variablen auf einem Parallelrechner oder auch virtuelle Seiten in einem verteilten Speichersystem handeln. In der Standardimplementierung solcher Systeme haben Datenobjekte häufig ein so genanntes Home, also einen Rechner, welcher der Ansprechpartner für dieses Objekt ist. In einer naiven Realisierung dieses Konzeptes wird jeder Zugriff auf ein Objekt an sein Home geschickt, das dann bei einem Schreibzugriff das Objekt entsprechend modifiziert und bei einem Lesezugriff das gesamte Objekt beziehungsweise den angefragten Ausschnitt der Daten zurückliefert. Unter dem Konzept des Cachings versteht man eine raffiniertere Variante, die es erlaubt Kopien des Objektes zu erzeugen, die im Netzwerk verteilt werden. Falls ein Prozessor häufiger auf dasselbe Datenobjekt zugreifen möchte, ist es vielleicht sinnvoll, wenn dieser Prozessor eine lokale Kopie erhält, so dass Anfragen von diesem Prozessor nicht mehr zum Home gesendet werden müssen. Falls jedoch jetzt ein anderer Prozessor dieses Objekt verändern möchte, muss diese Kopie entweder invalidiert oder aktualisiert werden. Es stellt sich die Frage, wann wir Kopien erzeugen und wann wir sie wieder löschen sollen. Grundsätzlich scheint es sogar möglich und sinnvoll zu sein, das Home eines Prozessors zu verschieben, oder sogar das Home-Konzept ganz aufzugeben und verschiedene gleichrangige Kopien im Netzwerk wandern zu lassen. In einem derartig dynamischen System, stellt sich natürlich auch die Frage, wie die anfragenden Knoten die im Netzwerk verteilten Kopien lokalisieren können, ohne dazu das gesamte Netzwerk abzusuchen. Diese und andere Fragestellungen werden wir im Folgenden schrittweise beantworten. 1 1 Definition des File-Allocation-Problems (FAP) Das Netzwerk wird durch einen ungerichteten Graphen G = (V, E) mit nichtnegativen Kantenlängen aus R beschrieben. Wir betrachten nur ein Datenobjekt x auf das von allen Prozessoren im Netzwerk lesend und schreibend zugegriffen werden kann. Es dürfen beliebig viele Kopien von x erzeugt werden. Die Teilmenge der Knoten, die zu einem Zeitpunkt t ≥ 0 eine Kopie von x besitzen wird als Residenzmenge Rt ⊆ V, Rt 6= 0/ bezeichnet. Zum Zeitpunkt 0 gilt R0 = {v} für einen beliebigen Knoten v ∈ V . Wir vernachlässigen zunächst das Problem, wie die Kopien im Netzwerk lokalisiert werden können und setzen globales Wissen über die Residenzmenge voraus, d.h. zu jedem Zeitpunkt t kennt jeder Knoten die Menge Rt . Auf dem Netzwerk muss eine Sequenz von Lese- und Schreibanfragen σ = σ1 · · · σT , mit σt ∈ {r(v), w(v)|v ∈ V }, abgearbeitet werden. Dabei steht σt = r(v) für eine Leseanfrage von Prozessor v und σt = w(v) für eine Schreibanfrage von v. Dabei müssen die folgenden Regeln eingehalten werden. Nachdem σt präsentiert ist, führt der Algorithmus die Anfrage durch. Wir kümmern uns nicht um die Details der Durchführung, sondern definieren stattdessen abstrakte Servicekosten für die einzelnen Zugriffe. • Falls σt = r(v) ist, dann entsprechen die Servicekosten der Distanz von v zum nächsten Knoten in Rt−1 . • Falls σt = w(v) ist, dann entsprechen die Servicekosten den Kosten des minimalen Steinerbaumes, der v und Rt−1 aufspannt, also der minimalen Summe der Kantenlängen, die benötigt wird, um v durch einen Baum mit allen Knoten in Rt−1 zu verbinden. Nachdem die Anfrage σt bedient wurde, kann die Residenzmenge angepasst werden, also Rt−1 in Rt überführt werden. Dazu dürfen neue Kopien erzeugt oder auch vorhandene Kopien verschoben und gelöscht werden. Es muss jedoch immer mindestens eine Kopie im Netzwerk erhalten bleiben. Das Erzeugen neuer Kopien, sowie das Löschen von Kopien verursacht keine Kosten. Jedoch dürfen neue Kopien nur auf solchen Knoten erzeugt werden, die schon eine Kopie haben. Die neue Kopie kann dann entlang der Kanten verschoben werden. Das Verschieben einer Kopie entlang einer Kante der Länge ` verursacht dabei Migrationskosten in Höhe von `. 2 Online-Algorithmen Bei Online-Problemen handelt es sich um eine spezielle Art von Optimierungsproblemen. Im Allgemeinen besteht ein Optimierungsproblem (wir betrachten hier 2 o.b.d.A. nur Minimierungsprobleme) aus einer Menge von Eingaben I und einer Kostenfunktion C besteht. Für jede Eingabe i ∈ I gibt es eine Menge von zulässigen Lösungen S(i). Mit jeder zulässigen Lösung s ∈ S(i) sind Kosten C(i, s) assoziiert. Ein Algorithmus ALG berechnet bei Eingabe i ∈ I eine Lösung s ∈ S(i). Die Kosten von ALG sind dann ALG(i) = C(i, s). Ein optimaler Algorithmus OPT berechnet für jede Eingabe i ∈ I eine Lösung mit den geringsten Kosten OPT(i) = min C(i, s) . s∈S(i) Bei Online-Algorithmen kommt ein weiterer Aspekt hinzu: Die Eingabe ist vorab nicht bekannt, sondern sie trifft erst nach und nach als Sequenz ein. Dem Online-Algorithmus wird also immer nur das nächste Element der Eingabesequenz präsentiert ohne dass er die zukünftigen Elemente kennt. Die Güte eines Online-Algorithmus ALG wird wie folgt bewertet. ALG ist c-kompetitiv, wenn für jede Eingabesequenz σ gilt ALG(σ ) ≤ c · OPT(σ ) + α , wobei α eine Konstante ist, die unabhängig von σ ist. Ein randomisirter OnlineAlgorithmus ALG ist c-kompetitiv, wenn für jede Eingabesequenz σ gilt E [ALG(σ )] ≤ c · OPT(σ ) + α , wobei α eine Konstante ist, die nicht von σ abhängt. Die Kompetitiv-Ratio eines Online-Algorithmus ALG bezeichnet das Infimum über alle Werte c mit der Eigenschaft, dass ALG c-kompetitiv ist. 3 FAP auf Bäumen Sei der betrachtete Graph ein Baum T = (V, E). Wir präsentieren einen einfachen 3-kompetitiven Online-Algorithmus. Dieser Algorithmus hat die folgende Invariante. Zu jedem Zeitpunkt t ≥ 0 ist der durch die Residenzmenge induzierte Teilgraph zusammenhängend. Für v ∈ V und t ≥ 0 bezeichne Pt (v) die Knoten auf dem kürzesten Weg, der vom Knoten v zur Residenzmenge Rt führt, inklusive des Quell- und Zielknotens dieses Weges. Nach der Durchführung der Anfrage σt verändert der Algorithmus die Residenzmenge wie folgt. • Falls σt = r(v) ist, dann Rt := Rt−1 ∪ Pt−1 (v). • Falls σt = w(v) ist, dann Rt := Pt−1 (v). 3 Im Falle einer Leseanfrage durch v erzeugt der Online-Algorithmus also neue Kopien auf dem Weg Pt−1 (v), und im Falle einer Schreibanfrage von v löscht er die Kopien in Rt−1 und erzeugt neue Kopien auf Pt−1 (v). Beachte, falls v ∈ Rt−1 ist, so gibt es nach einer Schreibanfrage von v nur noch eine Kopie, nämlich die Kopie auf dem Knoten v. Theorem 3.1 Der Online-Algorithmus für FAP auf Bäumen ist 3-kompetitive. Beweis. Betrachte eine beliebige Kante e = (a, b). O.B.d.A. hat die Kante die Länge 1. Die Entfernung von e aus T würde den Graphen in zwei Teilbäume Ta und Tb zerlegen, die jeweils die Knoten a beziehungsweise b enthalten. Wir unterscheiden drei verschiedene Konfigurationen. [A] Nur Ta enthält Kopien von x. [B] Nur Tb enthält Kopien von x. [AB] Beide Teilbäume enthalten Kopien. Beachte, dass in der Konfiguration [AB] garantiert ist, dass beide Knoten a und b jeweils eine Kopie haben müssen, weil ansonsten die Residenzmenge nicht zusammenhängend wäre. Sei ct ∈ {[A], [B], [AB]} die Konfiguration zum Zeitpunkt t. Der Schritt von ct−1 nach ct wird als Konfigurationsübergang bezeichnet. Die folgende Behauptung kann beobachtet werden. Behauptung 3.2 Der Online-Algorithmus geht niemals in einem Schritt von der Konfiguration [A] direkt in die Konfiguration [B] über und umgekehrt. Es gibt nur die Übergänge [A] → [AB], [B] → [AB], [AB] → [A] und [AB] → [B]. Damit können wir die Konfigurationssequenz in disjunkte Phasen der Form und [B]+ [AB]+ einteilen. Wir betrachten nun eine derartige Phase und vergleichen die Kosten des Online-Algorithmus mit den Kosten eines beliebigen Offline-Algorithmus. [A]+ [AB]+ • Zunächst zeigen wir, dass der Online-Algorithmus auf Kante e pro Phase Kosten drei hat. O.B.d.A. betrachte eine Phase der Form [A]+ [AB]+ . Die Beschreibung der in solch einer Phase entstehenden Online-Kosten in der Tabelle 1 bestätigt unsere Behauptung. • Als nächstes zeigen wir, dass jeder Offline-Algorithmus mindestens Kosten eins pro Phase hat. Zum Zwecke des Widerspruchs nehmen wir an, es gibt eine Strategie mit Kosten null. Dann erfordert die Schreibanfrage (*) aus Ta , dass zu diesem Zeitpunkt keine Kopie in Tb enthalten ist, sonst wären die Kosten mindestens eins. Außerdem kann keine Kopie migriert werden. Also ist auch zum Zeitpunkt der Lese-/Schreibanfrage (**) aus Tb keine Kopie in Tb enthalten. Damit verursacht dieser Zugriff jedoch mindestens Kosten eins. 4 vorherige Konf. [AB] [A] [A] [AB] Konf. [A] [A] [AB] [AB] Art des Zugriffs Schreibanfrage aus Ta (*) Lese-/Schreibanfrage aus Ta Lese-/Schreibanfrage aus Tb (**) Leseanfrage aus Ta oder Tb Online-Kosten 1 0 2 0 Abbildung 1: Online-Kosten auf einer Kante in einer Phase der Form [A]+ [AB]+ . Also hat jeder Offline-Algorithmus mindestens Kosten eins pro Phase, während der Online-Algorithmus Kosten drei hat. Somit ist der Online-Algorithmus 3-kompetitive. Verteilte Ausführung. Bisher sind wir von globalem Wissen ausgegangen. Wir haben angenommen, dass alle Knoten die Konfiguration des Netzwerks kennen. Jetzt beziehen wir eine verteilte Ausführung in unser Modell mit ein. Wir gehen davon aus, dass die einzelnen Knoten im Netzwerk nur diejenigen Zugriffe sehen, in die sie involviert sind. Genauer gesagt, ein Knoten sieht einen Lesezugriff nur dann, wenn er auf dem gewählten Weg zur Zusammenhangskomponente liegt. Analog wird ein Schreibzugriff nur von denjenigen Knoten wahrgenommen, die im für die Aktualisierung oder Invalidierung der Kopien verwendeten Baum enthalten sind. Auch Migrationen werden nur von Knoten, die auf dem Migrationspfad liegen, beobachtet. Um Informationen über eine Veränderung der Residenzmenge auch an andere Knoten im Netzwerk zu geben, müssen Informationsnachrichten versendet werden. Im folgenden zeigen wir, dass Informationsnachrichten für die verteilte Ausführung nicht benötigt werden. Theorem 3.3 Es gibt einen verteilten 3-kompetitiven Online-Algorithmus für FAP auf Bäumen. Beweis. Wir verwenden eine verteilte Variante des Online-Algorithmuns für FAP auf Bäumen. Wir werden zeigen, wie das so genannte Data-Tracking, d.h. die Lokalisierung der Residenzmenge, auch ohne globales Wissen realisiert werden kann. Wir erklären einen beliebigen Knoten zur Wurzel des Baumes. Der Algorithmus hält die folgende Invariante aufrecht. Zu jedem diskreten Zeitpunkt gibt es eine Kette von Zeigern auf dem Weg von der Wurzel zur Residenzmenge, d.h. jeder Knoten auf dem Weg von der Wurzel zur Residenzmenge kennt seinen Nachfolger auf diesem Weg. Somit kann jede Lese-/Schreibanfrage auf dem kürzesten Weg zur Residenzmenge gelangen, indem die entsprechende Nachricht zunächst in Richtung Wurzel des Baumes läuft und dann den Zeigern zur Residenzmenge 5 folgt. Beachte, dass diese Zeiger im Falle einer Migration ohne weitere Kommunikation aktualisiert werden können, da die betroffenen Knoten auf dem Migrationspfad liegen und somit die Migration beobachten können. Für Schreibzugriffe muss nicht nur ein sondern alle Knoten der Residenzmenge lokalisiert werden. Dazu speichern die Knoten in der Residenzmenge jeweils ab, welche Nachbarn ebenfalls zur Residenzmenge gehören. 4 Deterministische untere Schranke für FAP Die folgende untere Schranke zeigt, dass der obige Online-Algorithmus für FAP auf Bäumen optimal ist, denn selbst auf einer einzelnen Kante kann man keinen besseren Faktor als drei erreichen. Theorem 4.1 Betrachte FAP auf einer Kante (a, b) der Länge eins. Jeder deterministische Online-Algorithmus ALG hat eine Kompetitive-Ratio von mindestens drei. Beweis. Die jeweils zuletzt erzeugte Kopie von ALG bezeichnen wir als neueste Kopie. Wir betrachten die folgenden drei Offline-Strategien. • Strategie A hält immer eine Kopie auf a. • Strategie B hält immer eine Kopie auf b. • Strategie C hält immer eine Kopie auf demjenigen Knoten, auf dem sich nicht die neueste Kopie von ALG befindet. Die Anfragesequenz σ sieht wie folgt aus. • Wenn ALG auf einem Knoten x ∈ {a, b} keine Kopie hat, dann folgt als nächstes eine Leseanfrage r(x). • Wenn ALG auf beiden Knoten a und b Kopien hat, dann folgt als nächstes eine Schreibanfrage w(x), wobei x derjenige Knoten ist, auf dem sich nicht die neuste Kopie von ALG befindet. Die Offline-Strategien A und B haben keine Migrationskosten. Die Migrationskosten der Offline-Strategie C entsprechen genau den Migrationskosten von ALG. Also haben die drei Offline-Strategien zusammen dieselben Migrationskosten wie ALG. Bei den Servicekosten ist die Situation ähnlich. ALG hat in jedem Schritt Servicekosten eins. Dasselbe gilt für die drei Offline-Strategien zusammen. Also gilt ALG(σ ) = A(σ ) + B(σ ) + C(σ ) ≥ 3 · OPT(σ ) . 6 5 FAP auf allgemeinen Graphen Auf allgemeinen Graphen ist dynamisches Datenmanagement wesentlich komplexer als auf Baumnetzwerken, da die Wege zwischen Knoten nicht mehr eindeutig sind, und somit auch die Wahl der Routingwege in das Problem einbezogen werden muss. Dieser Aspekt erschwert das Datenmanagement in fast jeder Hinsicht, angefangen bei der Platzierung der Kopien bis hin zum Data-Tracking. Wir lösen dieses Problem indem wir die zuvor beschriebenen Baumalgorithmen auf anderen Netzwerken simulieren. Dazu werden wir eine Methode vorstellen, allgemeine Metriken durch so genannte Baummetriken zu approximieren. Diese Methode kann nicht nur auf FAP sondern auch auf zahlreiche andere Optimierungsprobleme angewendet werden. Die Voraussetzung ist, dass sich die Gesamtkosten einer Lösung als Linearkombination der Kosten einzelner Kanten beschreiben lässt. 5.1 Deterministische Approximation von Metriken Wie auch bei vielen anderen Problemen, basiert das Kostenmodell für FAP auf den Distanzen zwischen Knoten in einem Graphen G = (V, E) mit nicht-negativen Kantenlängen. Die konkrete Graphtopologie ist dabei unwesentlich. Um die Kosten zu ermitteln, wird eigentlich nur die durch G erzeugte Metrik M benötigt. Für jedes Knotenpaar u, v ∈ V beschreibt M die Distanz dM (u, v) zwischen u und v. Allgemein erfüllt eine Metrik M über einer Knotenmenge V die folgenden Bedingungen. • Für alle u, v ∈ V gilt: dM (u, v) ≥ 0 (Nicht-Negativität) • Für alle u, v ∈ V gilt: dM (u, v) = dM (v, u) (Symmetrie) • Für alle u, v, w ∈ V gilt: dM (u, w) ≤ dM (u, v) + dM (v, w) (Dreiecksungleichung) Im Folgenden definieren wir, was es bedeutet, eine Metrik durch eine andere Metrik zu approximieren. Eine Metrik N über V dominiert eine Metrik M über V , falls für jedes u, v ∈ V gilt dN (u, v) ≥ dM (u, v). Eine Metrik N über V α approximiert eine Metrik M über V , falls sie M dominiert und für alle u, v ∈ V gilt dN (u, v) ≤ α dM (u, v). Eine Metrik N über V ist eine Baummetrik, falls es einen Baum T = (V, E) gibt, der die Metrik N erzeugt. Wir möchten allgemeine Metriken durch Baummetriken approximieren. Die folgende untere Schranke zeigt, dass dies deterministisch nicht sinnvoll funktionieren kann. Theorem 5.1 Für jedes n ∈ N gibt es eine Metrik M über n Knoten, so dass für jede Baummetrik N über n Knoten gilt, falls M durch N α -approximiert wird, gilt α = Ω(n). 7 5.2 Probabilistische Approximation von Metriken Eine probabilistische α -Approximation einer Metrik M über V durch Baummetriken ist definiert durch eine Menge von Baummetriken S über V mit einer assoziierten Wahrscheinlichkeitsverteilung P : S → [0, 1], die die folgenden Bedingungen erfüllt: • Jede Baummetrik N ∈ S , dominiert die Metrik M. • Für ein zufällig gemäß P gewähltes N ∈ S gilt: E [dN (u, v)] ≤ α · dM (u, v) für alle u, v ∈ V . Bartal hat gezeigt, dass es für jede Metrik M über eine Knotenmenge V eine probabilistische O(log |V | log log |V |)-Approximation durch Baummetriken gibt. Das folgende leicht verbesserte Ergebnis geht zurück auf Fakcharoenphol, Rao und Talwar. Theorem 5.2 Für jede Metrik M über eine Knotenmenge V gibt es eine probabilistische O(log |V |)-Approximation durch Baummetriken. Dieses Ergebnis ist optimal, denn es gibt eine Metrik M für die es nachweisbar keine probabilistische o(log |V |)-Approximation durch Baummetriken gibt. Wir werden diesen Satz nicht in seiner Allgemeinheit beweisen, sondern uns die grundlegende Beweisidee anhand eines relativ einfachen Beispiels klarmachen. Als Beispiel betrachten wir die Metrik M, die durch den zwei-dimensionalen (n × n)-Torus G = (V, E), mit V = {0, . . . n − 1}2 , E = {{(x, y), ((x + 1) mod n, y)}, {(x, y), (x, (y + 1) mod n)}|(x, y) ∈ V } und uniformen Kantenlängen, erzeugt wird. Theorem 5.3 Sei n = 2d . Für die (n × n)-Torusmetrik M über V = {0, . . . n − 1}2 gibt es eine probabilistische 8d-Approximation durch Baummetriken. Beweis. Durch eine hierarchische Partitionierung des Torus definieren wir zunächst einen Dekompositionsbaum. Dazu teilen wir den Torus in vier disjunkte ( n2 × n2 )-Teilgitter, die wiederum rekursiv in vier disjunkte, quadratische Teilgitter aufgeteilt werden, bis wir einzelne Knoten erreichen. Mit dieser Partitionierung ist ein 4-ärer Dekompositionsbaum der Tiefe d verbunden, in dem die Wurzel den gesamten Torus und jeder Knoten auf Ebene i ∈ {1, . . . d} dieses Baumes jeweils ein Teilgitter mit Seitenlänge n/2i repräsentiert. In jedem dieser Teilnetzwerke wählen wir jetzt iterativ einen Leiter. Wir beginnen mit den Teilgittern auf Ebene d des Dekompositionsbaumes. Als Leiter solch 8 eines Teilgitters, das nur aus einem Knoten besteht, wählen wir diesen einen Knoten. Nachdem wir die Leiter auf Ebene i ∈ {1, . . . d} bestimmt haben, widmen wir uns der Ebene i − 1. Als Leiter eines Teilgitters S auf Ebene i − 1 wählen wir einen beliebigen Knoten aus der Menge der Leiter der Teilgitter auf Ebene i, in die S partitioniert wird. Die Distanz dieses Leiters zu einem beliebigen Knoten in S ist durch 2n/2i−1 beschränkt. Wir beschriften nun die Knoten des Dekompositionsbaumes. Jeder Baumknoten erhält das Label des Leiters im jeweiligen Teilgitter. Beachte, dass einzelne Label im Baum mehrfach vorkommen können, während sie im Torus eindeutig sind. Als nächstes weisen wir den Baumkanten Distanzwerte zu. Eine Kante zwischen zwei Baumknoten mit Label u und v erhält die Distanz der gleichnamigen Knoten im Torusnetzwerk. Kanten, deren inzidente Knoten dasselbe Label tragen, erhalten dabei den Distanzwert 0. Wenn wir nun Baumknoten mit gleichem Label miteinander identifizieren, so erhalten wir eine Baummetrik N über V = {0, . . . n − 1}2 , die die Torusmetrik M dominiert, weil für jede Kante im Baum ein Weg gleicher Länge im Torus existiert, so dass gilt dM (u, v) ≤ dN (u, v) für alle u, v ∈ V . Beachte, dass diese Aussage gilt, weil wir die Leiter so gewählt haben, dass der Graph, der jeweils durch Baumknoten mit gleichem Label induziert wird, zusammenhängend ist. Die oben beschriebene Dekomposition ist nicht eindeutig, da wir die Koordinaten der Partionierung auf der obersten Rekursionsebene nicht festgelegt haben. Tatsächlich gibt es n2 Möglichkeiten für die Partitionierung auf der obersten Rekursionsebene. Sobald dieser erste Partionierungsschritt jedoch festgelegt ist, sind auch die nachrangigen Partionierungen eindeutig bestimmt. Tatsächlich erhalten wir also eine Familie von n2 Dekompositionsbäumen mit verschiedenen Beschriftungen von denen jeder eine unterschiedliche Baummetrik über V erzeugt, die die Torusmetrik M dominiert. Um eine probabilistische Approximation von M zu erhalten, definieren wir jetzt, dass die Menge S eben aus diesen n2 verschiedenen Baummetriken besteht. Als Wahrscheinlichkeitsverteilung über S wählen wir die uniforme Verteilung. Wir müssen nun die erwartete Distanz zwischen zwei beliebigen Knoten aus V bezüglich einer zufällig aus S gewählten Metrik N abschätzen und beweisen, dass die erwartete Distanz in N höchsten 8d mal so groß ist wie die Distanz in der Torusmetrik M. Seien u = (u1 , u2 ) und v = (v1 , v2 ) beliebig gewählte Knoten aus V . Bezeichne δ1 die Distanz zwischen diesen beiden Knoten bezüglich der ersten Koordinate (Zeilen) im Torus und δ2 die Distanz bezüglich der zweiten Koordinate (Spalten). Um eine obere Schranke für dN (u, v) zu erhalten, ist es jetzt sinnvoll sich den Dekompositionsbaum wieder als vollständigen 4-ären Baum der Tiefe d vorzustellen. Wir identifizieren u und v mit den Blättern, die das entsprechende Label tragen. 9 Die Wahrscheinlichkeit, dass u und v durch die horizontale Partitionierung des Torus auf der obersten Rekursionsebene getrennt werden, ist höchstens 2δ1 /n, da auf dieser Ebene zwei horizontale Schnitte vorgenommen werden, und jeder dieser Schnitte eine der δ1 Kantenschichten, die zwischen den Zeilen von u und v liegen, mit Wahrscheinlichkeit δ1 /n durchtrennt. Für die vertikale Partitionierung ist die entsprechende Wahrscheinlichkeit höchstens 2δ2 /n. Bezogen auf den Dekompositionsbaum schließen wir, dass der kürzeste Weg zwischen u und v die Wurzel mit Wahrscheinlichkeit höchstens 2(δ1 + δ2 )/n enthält. Allgemein gilt, die Wahrscheinlichkeit, dass der kürzeste Weg zwischen den beiden Knoten u und v einen Knoten von Ebene i des Dekompositionsbaumes enthält, ist höchstens 2i+1 · (δ1 + δ2 )/n, da 2i+1 horizontale und 2i+1 vertikale Schnitte vorgenommen werden, die zur Aufteilung von u und v in verschiedene Teilbäume unterhalb der Ebene i führen. Daraus berechnen wir jetzt welche Baumkanten mit welcher Wahrscheinlichkeit überschritten werden. Wir definieren, dass die Baumkanten auf Schicht i für i ∈ {0, . . . d − 1} zwischen den Knoten der Ebene i und den Knoten der Ebene i + 1 verlaufen. • Mit Wahrscheinlichkeit höchstens 2i+1 · (δ1 + δ2 )/n führt der kürzeste Weg von u nach v über Kantenschicht i. • Von jeder Kantenschicht werden maximal zwei Kanten benutzt. • Die Kanten aus Schicht i haben Länge höchsten 2n/2i . Daraus ergibt sich E [dN (u, v)] = d−1 i+1 2 · (δ ∑ i=0 1 + δ2 ) n ·2· 2n = 8d · (δ1 + δ2 ) = 8d · dM (u, v) . 2i 5.3 Randomisierter Online-Algorithmus Aus der obigen Approximation von allgemeinen Metriken durch Baummetriken konstruieren wir einen randomisierten Algorithmus für FAP auf allgemeinen Graphen. Der randomisierte Online-Algorithmus für FAP auf einem Graphen G = (V, E) arbeitet wie folgt. Sei M die durch G erzeugte Metrik. In einem Preprocessing wird die für eine α -Approximation von M benötigte Menge von Baummetriken S sowie die zugehörige Wahrscheinlichkeitsverteilung P berechnet. Eine zufällige Baummetrik N wird aus S gemäß P gewählt und ein Baum T = (V, ET ) wird konstruiert, der diese Metrik erzeugt. Dann wird der in Satz 3.3 beschriebenen 3-kompetitiven Baumalgorithmus A für T simuliert. Lemma 5.4 Der obige Algorithmus ist 3α -kompetitive. 10 Beweis. Fixiere eine Anfragesequenz σ . Für einen Algorithmus B und eine Metrik Q bezeichne CBQ die Kosten£ von¤ B auf σ unter Q. Wir werden beweisen, dass für jeden Algorithmus B gilt E CAM ≤ 3α ·CBM . Aus dieser Behauptung folgt unmittelbar, dass der Algorithmus 3α -kompetitive ist. Sei B ein beliebiger Algorithmus. Die Gesamtkosten beim FAP lassen sich als eine Linearkombination von Kosten einzelner Kanten interpretieren. Insbesondere können wir die Kosten von B auf die Knotenpaare umlegen, d.h. wir können jedem Knotenpaar u, v ∈ V einen absoluten Kostenwert CB (u, v) zuordnen, so dass für jede Metrik Q gilt CBQ = ∑ CB (u, v) · dQ (u, v) . u,v∈V Für Algorithmus B auf der zufällig ausgewählten Metrik N gilt somit " # £ N¤ E CB = E ∑ CB (u, v) · dN (u, v) u,v∈V = ∑ CB (u, v) · E [dN (u, v)] ∑ CB (u, v) · α · dM (u, v) u,v∈V ≤ u,v∈V = α ·CBM . £ M¤ £ N¤ Aufgrund der Dominanz von N über M, ist E C ≤ E CA . Weil A 3-kom£ ¤ £ ¤ £A ¤ petitive für N ist, gilt E CAN ≤ E 3 ·CBN = 3 · E CBN . Insgesamt erhalten wir somit £ ¤ £ ¤ £ ¤ E CAM ≤ E CAN ≤ 3 · E CBN ≤ 3α ·CBM . Das obige Lemma zusammen mit Satz 5.2 liefert das folgende Ergebnis. Korollar 5.5 Für jeden Graphen G = (V, E) gibt es einen verteilten, randomisierten Online-Algorithmus für FAP der O(log |V |)-kompetitive ist. 11