Seminar über Algorithmen - Chernoff Bounds Jonas Hoffmann, 21.11.2006 1. Einführung Was sind Chernoff Schranken und wozu brauchen wir sie? Als Chernoff Schranken (Chernoff Bounds) bezeichnet man aus der Markov-Ungleichung abgeleitete exponentielle obere Schranken für die tail distribution einer Folge von unabhängigen Zufallsexperimenten. Da die Wahrscheinlichkeitsverteilungen, die wir analysieren (z.B. Binomialverteilung) mit dem Abstand vom Mittelwert exponentiell abfällt, erhält man mit den Chernoff-Ungleichungen eine stärkere Schranke als z.B. mit der Markov oder Chebyshev Ungleichung. Vor allem bei der Analyse von randomisierten Algorithmen kann man deshalb die Laufzeit mit den ChernoffSchranken gut abschätzen. 2. Herleitung Momenterzeugende Funktion Die momenterzeugende Funktion einer Zufallsvariablen X ist definiert als: Die n-ten Ableitungen von an der Stelle Null heissen n-te Momente der Zufallsvariablen X Es gilt: Beispiel: geometrische Verteilung mit Wahrscheinlichkeit p Erste Ableitung: Zweite Ableitung: Eigenschaften von M Seien X und Y zwei Zufallsvariablen, dann haben sie die gleiche Verteilung, falls gilt: Seien X und Y unabhängige Zufallsvariablen, dann gilt: Markov Ungleichung mit Exponentialfunktion Für t > 0 kann man die Markov Ungleichung so umformen: Also gilt: Für t < 0 gilt entsprechend: Also auch: Seminar über Algorithmen - Chernoff Bounds Jonas Hoffmann, 21.11.2006 Chernoff Schranken für Poisson-Zufallsexperimente Sei Sei eine Folge unabhängiger Poisson-ZE mit und: Die momenterzeugende Funktion der einzelnen Xi ist: Wie gezeigt ist die momenterzeugende Funktion von X gleich dem Produkt der einzelnen MX : i Für die Summe der Zufallsvariablen gelten die folgenden oberen Chernoff Schranken: Die folgenden beiden Ungleichungen ergeben sich für Abweichungen unter dem Mittelwert Eine letzte nützliche Ungleichung für Abweichung in bedien Richtungen ergibt sich aus (U2) und (U5): Damit haben wir erstmal genug Ungleichungen aufgestellt, von diesen bilden (U1) und (U4) die stärksten Schranken, (U2), (U3), (U5) und auch (U6) sind abgeschwächte Formen, die in der Praxis aber oft leichter anzuwenden sind und trotzdem ausreichend gute Schranken bilden. Seminar über Algorithmen - Chernoff Bounds Jonas Hoffmann, 21.11.2006 3. Anwendung Einfaches Beispiel: Münzwurf Man werfe eine faire Münze n Mal, dabei werde X mal Kopf geworfen. Der Erwartungswert E[X] ist bekanntlich n/2. Wie groß ist die Wahrscheinlichkeit, daß das Ergebnis um n/4 vom Mittelwert abweicht (mit Chebyshev): Die gleiche Wahrscheinlichkeit mit der Chernoff Ungleichung (U6) abgeschätzt: Die Chernoff Schranke ist also exponentiell kleiner als die, die man mit der Chebyshev Ungleichung bestimmen kann. Randomisiertes Routing in Hypercubes Im Beispiel wird ein Netzwerk, in dem Pakete von Punkt A zu Punkt B geroutet werden sollen, durch einen gerichteten Graphen modelliert. Jede Kante des Graphen ist ein Kommunikationskanal, der in jedem Zeitschritt ein Paket von einem zum anderen Knoten transportieren kann. Jeder Knoten des Graphen stellt einen Switch dar, der Switch hat einen Puffer, in dem ankommende Pakete gespeichert werden können. Ein Routing Algorithmus beschreibt für jedes beliebige Paar von Knoten einen Weg vom einen zum anderen Knoten, also eine Folge von Kanten. Ein Maß der Performanz eines Algorithmus ist die maximale Anzahl von Schritten, die man zum Routen einer beliebigen Permutation braucht. (Jeder Knoten ist Start eines einzigen Pakets und Ziel eines einzigen Paketes). Eigenschaften: N = 2n Knoten nN Kanten Sei x' = (x1,...,xn) die binäre Repräsentation der Zahl x (0<=x<=N-1) Zwei Knoten a und b haben genau dann eine direkte Verbindung, wenn a' und b' sich genau in einem Bit unterscheiden. Der Durchmesser des Netzwerkes ist n, das bedeutet: Ein Pfad mit Länge maximal n verbindet jedes Paar von Knoten und es gibt mindestens ein Paar von Knoten, das genau durch einen Pfad der Länge n verbunden ist. Ein einfacher Routing Algorithmus: Der Algorithmus vergleicht also bitweise Start- und Zielknoten und überschreitet bei einem Unterschied die entsprechende Kante Man kann zeigen, dass dieses Vorgehen allein bei bestimmten Permutationen zu Engpässen und somit zu schlechter Performanz führen kann. Es zeigt sich, dass der Algorithmus für zufällig gewählte Zielknoten im Allgemeinen gut funktioniert. Das führt zu folgendem Algorithmus: Seminar über Algorithmen - Chernoff Bounds Jonas Hoffmann, 21.11.2006 Wir haben ja aber auch schon bei der Analyse von Quicksort gesehen, dass randomisierte Eingaben zu besseren Laufzeiten führen kann. Wir werden zeigen, dass für eine beliebige Permutation der 2-Phasen Algorithmus Wahrscheinlichkeit 1-O(1/N): O(n) = O(log(N)) Schritte benötigt. mit der Um diesen Algorithmus zu analysieren, genügt es zunächst nur die erste Phase zu beschränken, da die zweite Phase ja der Umkehrung der ersten entspricht. Wenn ein Paket zu einem zufälligen Ziel x' geroutet wird bedeutet dies nichts anderes als, dass für jedes xi ein Bit im Zielknoten unabhängig mit der Wahrscheinlichkeit ½ auf 0 bzw. 1 gesetzt wird. Für ein Paket M sei T(M) die Anzahl der Schritte um Phase 1 abzuschließen. Für eine Kante e sei X(e) die Anzahl der Pakete, die diese Kante in Phase 1 überschreiten. In jedem Schritt der ersten Phase überschreitet ein Paket M entweder eine Kante oder wartet im Puffer, während ein anderes Paket eine Kante auf dem Pfad von M überschreitet. Daraus folgt: Sei P = (e1,...em) mit ei=(vi-1,vi) ein möglicher Pfad, gemäss des Bit-Fixing Algorithmus, dann definieren wir: Also ist die Wahrscheinlichkeit, dass Phase 1 mehr als t Schritte benötigt, beschränkt durch die Wahrscheinlichkeit, dass: T(P) >= t Es gibt höchstens 22n mögliche Paketpfade, da es 2n Start- und 2n Zielknoten gibt. Um die (asymptotische) Laufzeit des Algorithmus zu analysieren, müssen wir T(p) beschränken, dazu möchten wir eine Chernoff Schranke benutzen. Die Einzelereignisse sind aber nicht unabhängig: Wenn ein Paket eine Kante überschritten hat, wird es danach eine angrenzende Kante überschreiten. Wir gehen deshalb in 2 Schritten vor: 1. Wir benutzen eine Chernoff Schranke, um zu zeigen, dass mit hoher Wahrscheinlichkeit nicht mehr als 6n verschiedene Pakete einen möglichen Pfad P kreuzen. 2. Unter dieser Annahme beschränken wir die Gesamtzahl von Übergängen, die diese Pakete auf dem Pfad P durchführen. Wir nennen ein Paket aktiv im Knoten vi-1, wenn es vi-1 erreicht hat und im nächsten Schritt über die Kante ei von vi-1 nach vi wandern könnte. Für k=1,...,N sei Hk eine 0-1 Zufallsvariable, so dass Hk=1, falls das Paket mit Startknoten k aktiv ist und 0 sonst. Es sei: Die Hk sind unabhängig, da es nur von der zufälligen Wahl des Zielknotens für Phase 1 abhängt und diese Wahl unabhängig für jeden Startknoten ist. Es seien: Nur Pakete von den Startknoten (*,...,*,aj,...,an) können den Knoten vi-1 erreicht haben bevor das j-te Bit gefixt wird. Es gibt also höchstens 2j-1 aktive Pakete im Knoten vi-1, und die Wahrscheinlichkeit für jedes dieser Pakete, dass es sich in diesem Knoten befindet ist 2-(j-1) Seminar über Algorithmen - Chernoff Bounds Jonas Hoffmann, 21.11.2006 Da die erwartete Anzahl aktiver Pakete pro Knoten 1 ist und wir m Knoten betrachten, folgt wegen der Linearität des Erwartungswertes: Weil H die Summe unabhängiger 0-1 Zufallsvariablen ist, können wir die Chernoff Ungleichung (U3) anwenden: Wir benutzen diese obere Schranke für H, um eine Schranke für T(P) zu finden, dabei nutzen wir folgende Eigenschaft aus: Wir setzen A=(T(P)>=30n) und B=(H>=6n) und erhalten: Wenn wir jetzt zeigen können, dass: erhalten wir: Und damit können wir zeigen, dass die Laufzeit von Phase 1 insgesamt mit hoher Wahrscheinlichkeit O(n) ist. Wir müssen jetzt also noch zeigen, dass, unter der Bedingung, es gäbe höchstens 6n aktive Pakete, welche Kanten von P benutzen, die Gesamtzahl der Übergänge dieser Pakete auf dem Pfad P beschränkt ist. Man kann sich leicht klar machen, dass ein Paket nicht wieder auf den Pfad P zurückkehren kann, wenn es ihn einmal verlassen hat. Angenommen wir haben ein aktives Paket im Knoten vi, wie gross ist die Wahrscheinlichkeit, dass es die Kante ei überschreitet? Die Knoten an der Kante ei unterscheiden sich im j-ten Bit. Die Wahrscheinlichkeit ist höchstens ½, da der Zielknoten des Pakets an der j-ten Stelle mit gleicher Wahrscheinlichkeit eine 0 oder eine 1 haben kann. Wir betrachten nun diese Situation, dass ein Paket die Kante ei am Knoten vi vom Pfad P überschreitet, als Zufallsexperiment. Das ZE ist erfolgreich, wenn das Paket den Pfad verlässt und nicht erfolgreich, wenn das Paket die Kante ei überschreitet. Die Zufallsexperimente sind unabhängig und jedes ist mindestens mit der Wahrscheinlichkeit ½ erfolgreich. Wir stellen uns die einzelnen ZE als Münzwürfe vor, die mit (mindestens) der Wahrscheinlichkeit ½ Kopf ergeben. Kopf bei der Münze entspricht also dem Verlassen des Pfades und Zahl entspricht dem Überschreiten einer Kante des Pfades Behauptung: Die Wahrscheinlichkeit, dass die aktiven Pakete die Kanten von P mehr als 30n mal überschreiten ist kleiner als die Wahrscheinlichkeit, dass eine 36n mal geworfene Münze weniger als 6n Mal Kopf ergibt. Wenn nun also das ZE 6n Mal nicht erfolgreich war (Zahl), dann haben 6n Pakete eine Kante des Pfades P überschritten, es sind also keine aktiven Pakete mehr übrig (denn das war ja die Bedingung) Sei Z die Anzahl der Kopf-Ergebnisse bei 36n fairen Münzwürfen, so können wir jetzt die Chernoff Ungleichung (U5) anwenden: Daraus folgt: Da es höchstens 22n mögliche Pfade im Hypercube gibt, ist die Wahrscheinlichkeit, dass es einen Pfad gibt, für den T(P)>=30n, beschränkt durch: Also ist die Wahrscheinlichkeit,daß Phase 1 (Phase 2) in 30n Schritten (bzw. Phase 1+2 in 60n Schritten) beendet ist beschränkt durch: