Randomisierte Algorithmen Randomisierte Algorithmen 4. Routing in Hyperwürfeln Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 71 Routing in Hyperwürfeln Überblick Überblick Das Problem und ein deterministischer Algorithmus Markov- und Chebyshev-Ungleichung Chernoff-Schranken Erster randomisierter Algorithmus Die probabilistische Methode Zweiter „randomisierter Algorithmus“ 2 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus Überblick Das Problem und ein deterministischer Algorithmus Markov- und Chebyshev-Ungleichung Chernoff-Schranken Erster randomisierter Algorithmus Die probabilistische Methode Zweiter „randomisierter Algorithmus“ 3 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.1 Definition Hyperwürfel I I I d ≥ 1: d-dimensionaler Hyperwürfel Hd = (Vd , Ed ) mit Knotenmenge Vd = {0, 1}d und Kantenmenge Ed : Knoten x und y verbunden, wenn Hamming-Distanz 1 4 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.2 Beobachtungen I I I |Vd | = N = 2d |Ed | = d · 2d−1 ∈ Θ(N log N ) Hd hat Durchmesser 5 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.2 Beobachtungen I I I |Vd | = N = 2d |Ed | = d · 2d−1 ∈ Θ(N log N ) Hd hat Durchmesser d = log N , denn für x = (x 1x 2 · · · xd ) und y = (y1y2 · · · yd ) 5 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.2 Beobachtungen I I I |Vd | = N = 2d |Ed | = d · 2d−1 ∈ Θ(N log N ) Hd hat Durchmesser d = log N , denn für x = (x 1x 2 · · · xd ) und y = (y1y2 · · · yd ) ist (x 1x 2x 3 · · · xd−1xd ) (y1x 2x 3 · · · xd−1xd ) (y1y2x 3 · · · xd−1xd ) .. . (y1y2y3 · · · yd−1xd ) (y1y2y3 · · · yd−1yd ) ein Weg von x nach y (nach Entfernung aller Doppelten). 5 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.3 Problemstellung I I I Knoten von Hd seien Prozessoren. Routing: Jeder Knoten x habe „Nachricht“ (oder „Paket“) vorliegen, die auf einem Pfad in Hd zu Zielknoten f (x) transportiert werden muss. Permutationsrouting: f : V → V ist eine Bijektion, beschreibt also eine Permutation der Knoten. 6 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.3 Problemstellung I I I I I I Knoten von Hd seien Prozessoren. Routing: Jeder Knoten x habe „Nachricht“ (oder „Paket“) vorliegen, die auf einem Pfad in Hd zu Zielknoten f (x) transportiert werden muss. Permutationsrouting: f : V → V ist eine Bijektion, beschreibt also eine Permutation der Knoten. Einschränkung: in jedem Schritt kann über jede Kante maximal ein Paket transportiert werden. für Staus: FIFO-Warteschlangen gesucht: für jedes Paar (x, f (x)) ein „Reiseplan“ (Kanten, Zeitpunkte) von x nach f (x), so dass möglichst schnell alle Pakete am Ziel 6 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.4 Einschränkung Zur Vermeidung einer zentralen Instanz, die die Transporte organisieren muss: I I I hier nur Algorithmen, die oblivious bzw. datenunabhängig sind Das heißt: die Route für Paket x hängt nicht von den Routen anderer Pakete ab. Algorithmus also vollständig charakterisiert durch die N 2 denkbaren Pfade Px,y 7 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.5 Bit-Fixing-Algorithmus Von x = (x 1x 2 · · · xd ) nach y = (y1y2 · · · yd ) benutze I Pfad, der sich aus (x 1x 2x 3 · · · xd−1xd ) (y1x 2x 3 · · · xd−1xd ) (y1y2x 3 · · · xd−1xd ) .. . I (y1y2y3 · · · yd−1xd ) (y1y2y3 · · · yd−1yd ) durch Streichen aller Doppelten ergibt. datenunabhängig 8 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.6 „Matrix-Transposition“ mit dem Bit-Fixing-Algorithmus I I I I I f (x 1 · · · xd/2xd/2+1 · · · xd ) = (xd/2+1 · · · xd x 1 · · · xd/2 ) Problem: fixiere beliebiges Bitmuster zd/2+1 · · · zd . √ Transport der 2d/2 = N Pakete von allen Knoten x 1 · · · xd/2zd/2+1 · · · zd über gleichen Knoten zd/2+1 · · · zd zd/2+1 · · · zd pro Schritt maximal d = log N Pakete transportierbar √ also untere Schranke von N /log N Schritten I viel größer als der Durchmesser log N 9 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.7 Satz Zu jedem deterministischen datenunabhängigen Algorithmus für Permutationsrouting in einem Graphen mit N Knoten, die alle Ausgangsgrad d√haben, gibt es eine Permutation, für die der Algorithmus Ω( N /d) Schritte benötigt. 10 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.8 Beweis I I I A: deterministischer datenunabhängiger Algorithmus für Permutationsrouting Pu,v : von A für ein Paket von u nach v gewählter Pfad Beweisidee: I I I I I finde eine Kante e für die „große“ Mengen von Quellknoten U 0 = {u1, . . . , uk } und zugehörigen Zielknoten V 0 = {v1, . . . , vk } existieren so dass alle Pfade Pui ,vi über e führen. Da in jedem Schritt über e nur je ein Paket in jede Richtung transportiert kann, folgt untere Schranke von k/2. √ Wir werden sehen, dass man k = N /d solche Pfade finden kann. 11 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.8 Beweis (2) I I I I Betrachte beliebigen Knoten v und alle N − 1 Pfade Pu,v von anderen u zu ihm. Für k ≥ 1 sei Sk (v) die Menge aller Kanten, durch die mindestens k dieser Pfade führen. Sk∗ (v) sei die Menge aller Endknoten der Kanten in Sk (v). Offensichtlich ist |Sk∗ (v)| ≤ 2|Sk (v)|. 12 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.8 Beweis (2) I I I I I I I Betrachte beliebigen Knoten v und alle N − 1 Pfade Pu,v von anderen u zu ihm. Für k ≥ 1 sei Sk (v) die Menge aller Kanten, durch die mindestens k dieser Pfade führen. Sk∗ (v) sei die Menge aller Endknoten der Kanten in Sk (v). Offensichtlich ist |Sk∗ (v)| ≤ 2|Sk (v)|. Da N − 1 Pfade zu v hinführen, aber nur d Kanten, müssen über mindestens eine dieser Kanten mindestens Nd−1 Pfade führen. Also ist für k ≤ Nd−1 auch v ∈ Sk∗ (v). Von nun an stets k ≤ N −1 d und daher v ∈ Sk∗ (v). 12 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.8 Beweis (3) I Zeige: |V \ Sk∗ (v)| ≤ (d − 1)(k − 1)|Sk∗ (v)| I I Wegen der eben gemachten Annahme führt jeder Pfad Pu,v von einem Knoten u ∈ V \ Sk∗ (v) „nach Sk∗ (v) hinein“. Für jeweils erstes „Hineinführen“ über eine Kante (w, w 0) ∈ V \ Sk∗ (v) × Sk∗ (v) gilt: I I I I (1) Es gibt |Sk∗ (v)| mögliche w 0. zu jedem w 0 maximal d − 1 Kanten „von außerhalb“ über solche Kante (w, w 0) führen höchstens k − 1 Pfade folglich „außerhalb“ von Sk∗ (v), in V \ Sk∗ (v), nur in (1) behauptete Anzahl von Knoten 13 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.8 Beweis (4) I Folglich gilt für jedes k ≤ (N − 1)/d: und daher I N = |V \ Sk∗ (v)| + |Sk∗ (v)| ≤ (d − 1)(k − 1)|Sk∗ (v)| + |Sk∗ (v)| ≤ ((d − 1)(k − 1) + 1) · 2|Sk (v)| ≤ 2kd |Sk (v)| N |Sk (v)| ≥ 2kd Summation über alle Knoten ergibt Õ v∈V |Sk (v)| ≥ N2 . 2kd 14 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.8 Beweis (5) I Da es aber maximal Nd/2 Kanten im Graphen gibt, muss mindestens eine Kante in mindestens N 2 /2kd N = 2 Nd/2 kd I I I Mengen Sk (v) vorkommen. Wir wählen √ nun k so, dass diese Anzahl gerade wieder k ist, also k = N /d. Dieses k ist kleiner gleich (N − 1)/d. √ Es sei nun e eine Kante, die in k = N /d Mengen Sk (v1 ), . . . , Sk (vk ) liegt. 15 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.8 Beweis (6) I I I I I √ Es sei nun e eine Kante, die in k = N /d Mengen Sk (v1 ), . . . , Sk (vk ) liegt. Es sei u1 einer der k Knoten, für die Pu1,v1 über e führt. Nach Wahl von k gibt es zu jedem vi mindestens k Knoten, für die Pui ,vi über e führt. Daher können wir induktiv ui festlegen, indem wir verlangen, dass ui einer der mindestens k − (i − 1) Knoten ungleich u1, . . . , ui−1 sei, für die Pui ,vi über e führt. √ Also gibt es mindestens k = N /d Pfade Pu1,v1 , . . . , Puk ,vk , die alle über die gleiche Kante e führen. 16 / 71 Routing in Hyperwürfeln Das Problem und ein deterministischer Algorithmus 4.9 Bemerkung I I Frage: Gibt es zumindest einen deterministischen datenunabhängigen Algorithmus, für den nur sehr wenige Permutationen tatsächlich „sehr schlimm“ sind? Antwort: Für jeden deterministischen datenunabhängigen √ Algorithmus√gibt es sogar ( N /d)! Permutationen, die mindestens N /2d Routingschritte nötig machen. 17 / 71 Routing in Hyperwürfeln Markov- und Chebyshev-Ungleichung Überblick Das Problem und ein deterministischer Algorithmus Markov- und Chebyshev-Ungleichung Chernoff-Schranken Erster randomisierter Algorithmus Die probabilistische Methode Zweiter „randomisierter Algorithmus“ 18 / 71 Routing in Hyperwürfeln Markov- und Chebyshev-Ungleichung 4.10 Satz (Markov-Ungleichung) Es sei Y eine Zufallsvariable mit Erwartungswert E[Y ], die nur nichtnegative Werte annehme. Dann gilt für alle t, k ∈ R+ : P(Y ≥ t) ≤ E[Y ] t bzw. P(Y ≥ kE[Y ]) ≤ 1 . k 19 / 71 Routing in Hyperwürfeln Markov- und Chebyshev-Ungleichung 4.11 Beweis I betrachte Zufallsvariable ( X = I I 0 t falls Y < t falls Y ≥ t dann X ≤ Y und E[X ] ≤ E[Y ] also t · P(Y ≥ t) ≤ E[Y ] 20 / 71 Routing in Hyperwürfeln Markov- und Chebyshev-Ungleichung 4.12 Satz (Chebyshev-Ungleichung) Es sei X eine Zufallsvariable mit Erwartungswert µX und Standardabweichung σX . Dann gilt für alle t ∈ R+ : P(|X − µX | ≥ tσX ) ≤ bzw. 1 t2 σX2 P(|X − µX | ≥ t) ≤ 2 . t 21 / 71 Routing in Hyperwürfeln Markov- und Chebyshev-Ungleichung 4.13 Beweis I I Zufallsvariable Y = (X − µX )2 hat Erwartungswert µY = σX2 . Nach der Markov-Ungleichung: 1 P Y ≥ t 2 µY ≤ 2 . t I Die linke Seite ist aber P Y ≥ t 2 µY = P (X − µX )2 ≥ t 2σX2 = P(|X − µX | ≥ tσX ) . 22 / 71 Routing in Hyperwürfeln Chernoff-Schranken Überblick Das Problem und ein deterministischer Algorithmus Markov- und Chebyshev-Ungleichung Chernoff-Schranken Erster randomisierter Algorithmus Die probabilistische Methode Zweiter „randomisierter Algorithmus“ 23 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.14 Problemstellung I I I I I Im folgenden stets: X 1, . . . , Xn unabhängige 0-1-Zufallsvariablen mit P(Xi = 1) = pi für 1 ≤ i ≤ n. Solche Zufallsvariablen heißen auch Poisson-Versuche. Í Außerdem sei X = X 1 + · · · + Xn und µ = E[X ] = ni=1 pi . Falls alle pi = p sind, spricht man auch von Bernoulli-Versuchen, X ist dann binomialverteilt. Gesucht: Abschätzungen für Abweichungen von X vom Erwartungswert. 24 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.15 Satz Mit den Bezeichnungen wie in Punkt 4.14 gilt: I für 0 ≤ δ : µ eδ P(X ≥ (1 + δ )µ) ≤ (1 + δ )(1+δ ) I für 1 > δ ≥ 0 also 0 < 1 − δ ≤ 1 : P(X ≤ (1 − δ )µ) ≤ e −δ (1 − δ )(1−δ ) µ 25 / 71 Routing in Hyperwürfeln Chernoff-Schranken 1 exp(x)/((1+x)**(1+x)) exp(-x)/((1-x)**(1-x)) 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 26 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.16 Beobachtung I Für x ≥ 0 ist 1 + x ≤ e x . 27 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.17 Beweis (von Satz 4.15) I I I I I sei t positiv; Markov-Ungleichung liefert: E e tX P(X ≥ (1 + δ )µ) = P e tX ≥ e t(1+δ )µ ≤ t(1+δ )µ e tX mit den Xi sind auch die e i unabhängig: Í Î tX Î tX E e tX = E e t X i = E e i = Ee i tX t E e i = pi · e t + (1 − pi ) · 1 = 1 + pi (e t − 1) ≤ e pi (e −1) Í Î pi (e t −1) t e pi (e −1) e P(X ≥ (1 + δ )µ) ≤ t(1+δ )µ = t(1+δ )µ e e ! µ t t e µ(e −1) e (e −1) = t(1+δ )µ = t(1+δ ) e e wähle t = ln(1 + δ ) (positiv!) 28 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.17 Beweis (2) Fall P(X ≤ (1 − δ )µ) ≤ · · · für 1 > δ ≥ 0 I I analoge Rechnung wähle t = − ln(1 − δ ) (positiv!) 29 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.18 Bemerkung I I In Satz 4.15 von Interesse: µ eδ F (µ, δ ) = (1 + δ )(1+δ ) für δ > −1 Betrachte statt dessen: ln(F (µ, δ )1/µ ) = δ − (1 + δ ) ln(1 + δ ) = f (δ ) 30 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.19 Lemma 1. 2. 3. 4. 5. 6. Für −1 < x ≤ 0 gilt: f (x) ≤ −x 2 /2. Für 0 < x gilt: −x 2 /2 ≤ f (x). Die Funktion д(x) = f (x)/x 2 ist monoton wachsend. Für 0 < δ < x gilt: f (δ ) ≤ д(x)δ 2. Für 0 < δ < 2e − 1 gilt: f (δ ) ≤ −δ 2 /5. Für 0 < δ < 1 gilt: f (δ ) ≤ −δ 2 /3. Beweis: rechnen 31 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.21 Korollar I Für 0 ≤ δ ≤ 2e − 1 gilt: eδ P(X ≥ (1 + δ )µ) ≤ (1 + δ )(1+δ ) I ≤ e −δ 2 µ/5 ≤ e −δ 2 µ/3 ≤ e −δ 2 µ/2 Für 0 ≤ δ ≤ 1 gilt: eδ P(X ≥ (1 + δ )µ) ≤ (1 + δ )(1+δ ) I µ µ Für 1 > δ ≥ 0 gilt: e −δ P(X ≤ (1 − δ )µ) ≤ (1 − δ )(1−δ ) µ 32 / 71 Routing in Hyperwürfeln Chernoff-Schranken 4.23 Korollar I Für 0 ≤ δ gilt: e (1+δ )µ P(X ≥ (1 + δ )µ) ≤ 1+δ I Für 2e − 1 ≤ δ gilt: P(X ≥ (1 + δ )µ) ≤ 2−(1+δ )µ Beweis: rechnen 33 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus Überblick Das Problem und ein deterministischer Algorithmus Markov- und Chebyshev-Ungleichung Chernoff-Schranken Erster randomisierter Algorithmus Die probabilistische Methode Zweiter „randomisierter Algorithmus“ 34 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.25 Algorithmus 1. Für jedes Paket bx in Startknoten x wird unabhängig und gleichverteilt zufällig ein Zwischenknoten zx gewählt. 2. Unter Verwendung des Bit-Fixing-Algorithmus wird jedes bx von x nach zx transportiert. 3. Unter Verwendung des Bit-Fixing-Algorithmus wird jedes bx von zx zu Zielknoten f (x) transportiert. 35 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.26 Satz 1. Die Wahrscheinlichkeit, dass jedes Paket seinen Zwischenknoten nach spätestens 7d Schritten erreicht hat, ist mindestens 1 − 2−5d . 2. Die Wahrscheinlichkeit, dass jedes Paket sein Ziel nach spätestens 14d Schritten erreicht hat, ist mindestens 1 − 2/N 5. 3. Für d ≥ 3 ist der Erwartungswert für die Laufzeit von Alg. 4.25 kleiner oder gleich 14d + 1. 36 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.27 Lemma I I I I I I x Startknoten, beliebig aber fest, zx zufällig gewählt ρx = (e1, e2, . . . , ek ): „Bit-Fixing-Pfad“ von x nach zx „ρy ∩ ρx “ : Menge der gemeinsamen Kanten zweier Pfaden Sx = {by | y , x ∧ ρy ∩ ρx , ∅} t: tatsächlicher Ankuftszeitpunkt von bx in zx , also aufgelaufene „Verspätung“ `x = t − k Behauptung: `x ≤ |Sx |. 37 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.28 Beweis I I I I I Zwei Pfade ρx und ρy mögen Kante gemeinsam haben. Behauptung 1: Sobald sich Pfade getrennt haben, führen sie nicht wieder zusammen. betrachte Knoten u und v auf Bit-Fixing-Pfad von x ; zx der Weg von u nach v ist eindeutig festgelegt (bit fixing!) unabhängig davon I I von wo man zu u gekommen ist und wohin es von v aus weiter geht 38 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.28 Beweis (2) Sprechweisen: I Paket by ∈ Sx „verlässt“ ρ x , wenn es zum letzten Mal eine Kante von ρx benutzt. I Behauptung 1: dieser Zeitpunkt für jedes by eindeutig I Ein Paket habe beim Transport über ei von ρ x „Verspätung“ `, falls Transport erst in Schritt t = i + ` I Für bx ist das wirklich die Zeitdifferenz zwischen frühest möglicher Ankunft t = i und tatsächlicher Ankunft t = i + ` am Endpunkt von ei I Für andere by ∈ Sx ist das nur „irgendeine“ Zahl. 39 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.28 Beweis (3) I I I Behauptung 2: Jedes Mal, wenn sich die Verspätung von bx von ` auf ` + 1 erhöht, verlässt ein Paket by ∈ Sx den Pfad ρx mit Verspätung `. Wegen Behauptung 1 kann dies für jedes Paket in Sx nur ein einziges Mal passieren. Aus Behauptung 2 folgt also: `x ≤ |Sx |. 40 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.28 Beweis (4) I I I I I I Betrachte ei , die von Paket bx zu Zeitpunkt t benutzt werden möchte aber nicht kann, wegen anderem by Verspätung von bx erhöht sich von ` = t − i auf ` + 1, und das kann auch nur so passieren. „Verspätung“ von by bei Benutzung von ei ist t − i = ` Sei t 0 letzter Zeitpunkt, zu dem ein Paket b aus Sx Verspätung ` hat. sei e j 0 die Kante, die b benutzen „will“; also ist t 0 − j 0 = `. Dann verlässt auch ein Paket in Sx zu t 0 Pfad ρx : I I I Da b Kante e j 0 benutzen „will“, wird ein Paket b 0 sicher Kante e j 0 benutzen. Es hat offensichtlich Verzögerung t 0 − j 0 = `. 41 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.28 Beweis (5) I I I I I I Würde b 0 Pfad ρx nicht verlassen, dann gäbe es b 00, das Kante e j 0+1 zum Zeitpunkt t 0 + 1 mit Verzögerung t 0 + 1 − (j 0 + 1) = ` benutzen würde. Widerspruch zur Wahl von t 0: letzter Zeitpunkt, zu dem ein Paket Verspätung ` hat. Also verlässt b 0 Pfad ρx zum Zeitpunkt t 0. Wir schreiben daher nun b 0 zu, bei Paket bx die Erhöhung der Verspätung von ` auf ` + 1 verursacht zu haben. Da b 0 den Pfad ρx verlässt und nie wieder betritt, wird so keinem Paket doppelt Verspätungserhöhung angerechnet. Also ist `x ≤ |Sx |. 42 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.29 Lemma ( I Betrachte Zufallsvariable Hxy = I Dann gilt: 1 falls ρx ∩ ρy , ∅ . 0 sonst 1. Die Gesamtverspätung von bx beim Eintreffen in z x ist Í `x ≤ y,x H xy . Í 2. E y,x H xy ≤ d/2. 3. P(`x ≥ 6d) ≤ 2−6d . 43 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.30 Beweis Í 1. Lemma von eben: `x ≤ |Sx | = y,x Hxy . 2. Betrachte irgendein ρx = (e1, . . . , ek ) mit k ≤ d. I I Die Zufallsvariable T (e) gebe die Anzahl Pfade ρy mit y , x an, die über eine Kante e führen. Dann ist k Õ Õ T (ei ) H xy ≤ y,x und # " E Õ y,x I i=1 H xy ≤ k Õ E[T (ei )] i=1 Zeige: E[T (ei )] ≤ 1/2 (wegen k ≤ d folgt die Behauptung) 44 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.30 Beweis (2) I I O. B. d. A. führe ei von (x 1 · · · xr 0xr +2 · · · xd ) zu (x 1 · · · xr 1xr +2 · · · xd ). Bit-Fixing-Algorithmus: Ein Pfad von y nach zy führt genau dann über ei , wenn gilt: I I I I I y = u1 · · · ur 0x r +2 · · · xd und zy beginnt mit x 1 · · · x r 1 Solche y , x gibt es 2r − 1. Die Zwischenknoten werden zufällig gleichverteilt und unabhängig gewählt, also ist für jedes y die Wahrscheinlichkeit für das Präfix x 1 · · · xr 1 in zy stets 2−(r +1) . 45 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.30 Beweis (3) Also ist E[T (ei )] = Õ P ρy benutzt ei y,x = Õ P ρu0xr +2 ···xd benutzt ei u1 ···ur ,x 1 ···x r r −(r +1) = (2 − 1) · 2 ≤ 1/2 46 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.30 Beweis (4) I I wegen der ersten beiden Punkte: E[`x ] ≤ d/2 man vergesse die T (ei ) und denke wieder an die Hxy I I also Chernoff-Schranken anwendbar da 2e − 1 < 11, liefert Korollar 4.23 Õ P(`x ≥ 6d) ≤ P Hxy ≥ 6d Õ =P Hxy ≥ 12 · d/2 Õ hÕ i Hxy ≤P Hxy ≥ (1 + 11)E ≤ 2−12d/2 = 2−6d 47 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.26 Satz (zur Erinnerung) 1. Die Wahrscheinlichkeit, dass jedes Paket seinen Zwischenknoten nach spätestens 7d Schritten erreicht hat, ist mindestens 1 − 2−5d . 2. Die Wahrscheinlichkeit, dass jedes Paket sein Ziel nach spätestens 14d Schritten erreicht hat, ist mindestens 1 − 2/N 5. 3. Für d ≥ 3 ist der Erwartungswert für die Laufzeit von Alg. 4.25 kleiner oder gleich 14d + 1. 48 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.31 Beweis von Satz 4.26 1. Mit Wahrscheinlichkeit 1 − 2−5d alle Pakete nach ≤ 7d Schritten am Zwischenknoten: I I I I Wahrscheinlichkeit, dass Paket um ≥ 6d Schritte verzögert wird, ist ≤ 2−6d . N = 2d Pakete unabhängig voneinander transportiert: Wahrscheinlichkeit, dass wenigstens eines um ≥ 6d Schritte verzögert wird, ist ≤ 2d · 2−6d = 2−5d . Zusätzlich jedes Paket über maximal d Kanten transportiert: Wahrscheinlichkeit, dass wenigstens ein Paket erst nach ≥ 7d Schritten am Ziel ist, ≤ 2−5d . Also: mit Wahrscheinlichkeit ≥ 1 − 2−5d alle Pakete nach ≤ 7d Schritten am Zwischenknoten. 49 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.31 Beweis von Satz 4.26 (2) 2. Mit Wahrscheinlichkeit mindestens 1 − 2/N 5 alle Pakete nach ≤ 14d Schritten am Ziel: I I I I I Zweite Phase: Umkehrung der ersten Phase. Deshalb gilt getrennt hierfür die gleiche Analyse. Damit bei Nacheinanderausführung beider Phasen durch ihre Überlappung keine zusätzlichen nachteiligen Effekte auftreten, Erweiterung der erste Phase: Jedes Paket verharrt im Zwischenknoten, bis insgesamt seit Beginn des Routing 7d Schritte vergangen sind. Wahrscheinlichkeit, dass alles nach ≤ 14d Schritten erledigt, mindestens (1 − 2−5d )(1 − 2−5d ) = 1 − 2/N 5 + 1/N 10 ≥ 1 − 2/N 5 50 / 71 Routing in Hyperwürfeln Erster randomisierter Algorithmus 4.31 Beweis von Satz 4.26 (3) 3. Für d ≥ 3 ist die erwartete Laufzeit ≤ 14d + 1. I I I Die größte Laufzeit beschränkt durch Zeit für „sequentielles Routing“. Zeitbedarf dafür ≤ 2dN . Für d ≥ 3 ist N ≥ 8, also 14d ≤ 2dN , also ist dann der Erwartungswert für die Laufzeit ≤ (1 − 2/N 5 )14d + (2/N 5 ) · 2dN = 14d − 28d/N 5 + 4d/N 4 ≤ 14d − 0 + 1/N 2 ≤ 14d + 1 51 / 71 Routing in Hyperwürfeln Die probabilistische Methode Überblick Das Problem und ein deterministischer Algorithmus Markov- und Chebyshev-Ungleichung Chernoff-Schranken Erster randomisierter Algorithmus Die probabilistische Methode Zweiter „randomisierter Algorithmus“ 52 / 71 Routing in Hyperwürfeln Die probabilistische Methode Die probabilistische Methode (1) I Tragweite zuerst von Erdős erkannt Nachweis der Existenz gewisser Objekte I Variante 1: Zufallsvariable X I I I hat reelle numerische Werte E[X ] existiert 53 / 71 Routing in Hyperwürfeln Die probabilistische Methode Die probabilistische Methode (1) I Tragweite zuerst von Erdős erkannt Nachweis der Existenz gewisser Objekte I Variante 1: Zufallsvariable X I I I hat reelle numerische Werte E[X ] existiert dann nimmt X I mindestens einen Wert an, der nicht kleiner als E[X ] ist, und ebenso einen Wert, der nicht größer als E[X ] ist. 53 / 71 Routing in Hyperwürfeln Die probabilistische Methode Die probabilistische Methode (1) I Tragweite zuerst von Erdős erkannt Nachweis der Existenz gewisser Objekte I Variante 1: Zufallsvariable X I I I hat reelle numerische Werte E[X ] existiert dann nimmt X I I mindestens einen Wert an, der nicht kleiner als E[X ] ist, und ebenso einen Wert, der nicht größer als E[X ] ist. Also existieren Ereignisse, für die X diese Werte annimmt. 53 / 71 Routing in Hyperwürfeln Die probabilistische Methode Die probabilistische Methode (2) I Variante 2: endliches nichtleeres Universum U I I mit Objekten O Eigenschaft P, die Objekte haben können 54 / 71 Routing in Hyperwürfeln Die probabilistische Methode Die probabilistische Methode (2) I Variante 2: endliches nichtleeres Universum U I I I mit Objekten O Eigenschaft P, die Objekte haben können Wähle zufällig ein Objekt O aus U aus. Wahrscheinlichkeit p, dass O Eigenschaft P hat? 54 / 71 Routing in Hyperwürfeln Die probabilistische Methode Die probabilistische Methode (2) I Variante 2: endliches nichtleeres Universum U I I I mit Objekten O Eigenschaft P, die Objekte haben können Wähle zufällig ein Objekt O aus U aus. Wahrscheinlichkeit p, dass O Eigenschaft P hat? I Wenn p > 0 ist, 54 / 71 Routing in Hyperwürfeln Die probabilistische Methode Die probabilistische Methode (2) I Variante 2: endliches nichtleeres Universum U I I I mit Objekten O Eigenschaft P, die Objekte haben können Wähle zufällig ein Objekt O aus U aus. Wahrscheinlichkeit p, dass O Eigenschaft P hat? I I Wenn p > 0 ist, dann muss in U ein O mit P(O) existieren. 54 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ Überblick Das Problem und ein deterministischer Algorithmus Markov- und Chebyshev-Ungleichung Chernoff-Schranken Erster randomisierter Algorithmus Die probabilistische Methode Zweiter „randomisierter Algorithmus“ 55 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ Plan I Sprechweisen: I I I Bisher: I I I RPH-Algorithmus: datenunabhängiger randomisierter Algorithmus für Permutationsrouting in Hyperwürfeln RPH-Algorithmus schnell: erwartete Laufzeit in O(d). Algorithmus 4.25 nutzt Θ(Nd) Zufallsbits und ist schnell Datenunabhängige deterministische Algorithmen nutzen 0 Zufallsbits und sind nie schnell. (Satz 4.7) Frage: Gibt es RPH-Algorithmen gibt, die weniger als Θ(Nd) Zufallsbits benutzen und trotzdem schnell sind? 56 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ Plan I Sprechweisen: I I I Bisher: I I I I RPH-Algorithmus: datenunabhängiger randomisierter Algorithmus für Permutationsrouting in Hyperwürfeln RPH-Algorithmus schnell: erwartete Laufzeit in O(d). Algorithmus 4.25 nutzt Θ(Nd) Zufallsbits und ist schnell Datenunabhängige deterministische Algorithmen nutzen 0 Zufallsbits und sind nie schnell. (Satz 4.7) Frage: Gibt es RPH-Algorithmen gibt, die weniger als Θ(Nd) Zufallsbits benutzen und trotzdem schnell sind? Ziel: Θ(d) Zufallsbits I I notwendig und in gewissem Sinne „hinreichend“, um sein schnell zu können 56 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.32 Satz Wenn ein RPH-Algorithmus in Würfeln mit N = 2d Knoten nur k Zufallsbits √ benutzt, dann ist seine erwartete Laufzeit in −k Ω(2 N /d). 57 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.33 Beweis I I I I Fasse RPH-Algorithmus R auf als Wahrscheinlichkeitsverteilung über 2k deterministischen Algorithmen. Dann wird mindestens ein det. Alg A mit Wahrscheinlichkeit ≥ 2−k ausgewählt. √ Es sei x eine Eingabe, für die A Laufzeit Ω( N /d) hat. Betrachte die Bearbeitung von x durch R: I I Mit Wahrscheinlichkeit ≥ 2−k wird R wie A arbeiten. Also ist der Erwartungswert für die Laufzeit von R √ −k mindestens Ω(2 N /d). 58 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.34 Korollar Jeder schnelle RPH-Algorithmus muss Ω(d) Zufallsbits verwenden. 59 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.35 Beweis I I Es sei c irgendeine positive Konstante. √ Damit 2−k N /d ≤ cd ist, muss gelten: I I I √ 2k ≥ N√/(cd 2 ), also k ≥ log N − O(log d), also k ∈ Ω(d). 60 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.36 Satz Für jedes d gibt es einen schnellen RPH-Algorithmus, der 3d Zufallsbits benötigt und erwartete Laufzeit 22d hat. 61 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.36 Satz Für jedes d gibt es einen schnellen RPH-Algorithmus, der 3d Zufallsbits benötigt und erwartete Laufzeit 22d hat. Achtung! Hier wird nicht die Existenz eines RPH-Algorithmus für Hyperwürfel aller Größen zugesichert wird. 61 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweis I I I A = (A1, . . . , At ): Liste det. PH-Algorithmen A ; rand. R A (zufällig gleichverteilt ein Ai ∈ A) A effizientes N -Schema, falls für jede N -Permutation E[Laufzeit] ≤ 22d 62 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweis I I I I I I A = (A1, . . . , At ): Liste det. PH-Algorithmen A ; rand. R A (zufällig gleichverteilt ein Ai ∈ A) A effizientes N -Schema, falls für jede N -Permutation E[Laufzeit] ≤ 22d Zeige: es ex. effizientes N -Schema mit t = N 3 Algs. R A braucht nur log t ∈ O(log N ) = O(d) Zufallsbits Nachweis der Existenz eines so kleinen effizienten N -Schemas mittels der probabilistischen Methode 62 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweis (2) I I I I Fasse Algorithmus 4.25 als Menge B = {B1, . . . , B N N } von N N deterministischen PH-Algorithmen auf. Betrachte das folgende Zufallsexperiment: Aus B wird zufällig (mit Zurücklegen) eine Liste A = (A1, . . . , AN 3 ) von N 3 Algorithmen Ai = B ji ausgewählt. Zeige: A ist effizientes N -Schema mit Wahrscheinlichkeit echt größer Null. Also existiert ein effizientes N -Schema. 63 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweis (3) I I I I I I I πi : die N ! Permutationen Det. PH-Algorithmus A heiße gut für πi , wenn er πi in höchstens 14d Schritten routet, sonst schlecht. Satz 4.26.2. sagt: Für jedes πi ist ein Bruchteil von ≤ 1/N aller B j schlecht für πi . zunächst ein beliebiges πi fixiert. Erwartungswert für die Anzahl der für πi schlechten Algorithmen in A ist ≤ N 3 /N = N 2 X j sei die 0-1-Zufallsvariable mit X j = 1, gdw. Aj schlecht für πi . hÍ 3 i Also: µ = E Nj=1 X j ≤ N 2. 64 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweish (4) I I I I µ=E i 2 X j=1 j ≤ N ÍN 3 sei c = N 2 /µ ≥ 1 X j unabhängige Zufallsvariablen Í 3 Obere Schranke für P Nj=1 X j > 4N 2 mittels Chernoff-Schranke (Kor. 4.23): N2 N3 2 1 ©Õ 2ª = e −N . P ­ X j > (1 + 3)N ® < e « j=1 ¬ I I (siehe nächste Folie) Ereignis Ei : > 4N 2 Algorithmen in A schlecht für πi . 2 Also P(Ei ) < e −N . 65 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweis (5) N3 N3 Õ ©Õ © ª ª P ­ X j > (1 + 3)N 2 ® = P ­ X j > (1 + δ )cµ ® « j=1 « j=1 ¬ ¬ 3 N ©Õ ª ≤ P ­ X j > (1 + cδ )µ ® « j=1 ¬ µ µ e cδ e cδ ≤ ≤ (1 + cδ )1+cδ (1 + cδ )cδ e cδ µ e cδ µ = ≤ 1 + cδ 1+3 2 N 2 e 3N 1 = ≤ 4 e 66 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweis (6) I Wahrscheinlichkeit, dass A für mindestens ein πi schlecht: ! N! N! Õ Ø 2 P(Ei ) ≤ N ! · e −N < 1 . P Ei ≤ i=1 I i=1 Also: Wahrscheinlichkeit, dass von den Algorithmen in A für jede Permutation höchstens 4N 2 schlecht sind, ist echt größer 0. Also existiert ein solches A. 67 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.37 Beweis (7) I I I I Zeige: dieses A sogar ein effizientes N -Schema. Es sei πi beliebig. Mit Wahrscheinlichkeit ≥ 1 − (4N 2 /N 3 ) = 1 − 4/N wird R A diese Permutation in ≤ 14d Schritten durchführen. Andernfalls werden höchstens 2dN Schritte benötigt. Also Erwartungswert für die Laufzeit höchstens (1 − 4 4 )14d + 2dN ≤ 22d . N N 68 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.38 Bemerkung I I 2 Zeige: Für hinreichend große N gilt: N ! · e −N < 1. Stirlingsche Formel: √ NN 2π N N (1 + h(N )) mit N! = e 1 1 139 1 h(N ) = + − ± · · · ∈ O( ) 2 3 12N 288N 5140N N I Also: √ √ N! 2π N · N N 2π N · e N log N lim N 2 = lim = lim =0 2 2 N →∞ e N →∞ e N · e N N →∞ eN · eN I Genaueres Nachrechnen ergibt, dass schon für N ≥ 4 gilt: 2 N ! · e −N < 1. 69 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ 4.39 Bemerkung I I I I Satz 4.36 behauptet nur die Existenz eines – noch dazu nichtuniformen – schnellen RPH-Algorithmus, der nur O(d) Zufallsbits braucht. Schwieriger: man gebe explizit RPH-Algorithmen an, die möglichst wenige Zufallsbits benötigen. Bislang beste Lösung: uniform Θ(d 2 ) Zufallsbits. Aufgabe: Man senke diesen Wert. 70 / 71 Routing in Hyperwürfeln Zweiter „randomisierter Algorithmus“ Zusammenfassung I I I Chernoff-Schranken die probabilistische Methode Routing in Hyperwürfeln: I I deterministisch ist der schlimmste Fall immer schlimm randomisiert im Erwartungswert immer harmlos I aber eben nur der Erwartungswert 71 / 71