Kommunikationsprobleme Walter Unger Lehrstuhl für Informatik 1 29. Januar 2008 Fehler Toleranz Einleitung Motivation Situation Grundlagen Kantenfehler Knotenfehler aktive Kantenfehler aktive Knotenfehler Fehlerwahrscheinlichkeit Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler Permanente Knoten Fehler Übertragungsfehler Fehlerwahrscheinlichkeit Übertragungfehler Permanente Fehler Byzantinische Fehler LuF Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Motivation 5:1 Motivation I Die Welt ist nicht perfekt. I Es gibt Fehler, Leitungen gehen kaputt oder sind nicht zuverlässig. Ziele: I I I Ziele widersprechen sich. I Je robuster der Algorithmus, desto langsamer ist er. Neues Ziel: I LuF Walter Unger Der Kommunikations-Algorithmus sollte robust sein. Der Kommunikations-Algorithmus sollte immer noch effizient sein. I I Z Fehlerwahrscheinlichkeit Ein effizienter Kommunikations-Algorithmus, der bei “gewissen” Fehlern noch arbeitet. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Situation 5:2 Mögliche Schranken an Fehler I Es sollte eine Schranke für die Anzahl der Fehler geben. I I I I Z Fehlerwahrscheinlichkeit höchsten k Kanten/Knoten gehen kaputt. Ziel: k-toleranten Algorithmus. Unabhängigkeit und Gleichverteilung der Fehler. Kanten/Knoten geht mit Wahrscheinlichkeit ε kaputt. I I I Ziel: fast sicherer Algorithmus, d.h. mit Wahrscheinlichkeit 1 − δ (1 − 1/n oder 1 − 1/nc ) arbeitet dieser noch. Der Zeitverlust ist höchstens ein Faktor von c. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Situation 5:3 Mögliche Klassen von Fehlern I Knoten können fehlerhaft sein. I Kanten können fehlerhaft sein. I Komponenten können dauerhaft kaputt sein. I Komponenten können zeitweise ausfallen. I Komponenten können “passiv” defekt sein (Crash). I Komponenten können “aktiv” defekt sein (Byzantinisch). LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Situation 5:4 Mögliche Formen von Algorithmen I LuF Walter Unger nicht adaptiv I I I I I Z Fehlerwahrscheinlichkeit Auch “oblivious” (vergesslich,selbstvergessen) genannt. Algorithmus reagiert nicht auf die Fehler. Die Aktivierung der fehlerfreien Kanten hängt nicht von den Fehlern ab. Algorithmus heißt hier: “Broadcasting Schema”. adaptiv I I I Knoten erkennen, ob einen Nachricht ankommt. Knoten nutzen diese Information im Weiteren aus. Der Aktivierung der fehlerfreien Kanten hängt von den Fehlern ab. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Kantenfehler Z Fehlerwahrscheinlichkeit 5:5 Definitionen k-kantentolerant Algorithmus heißt k-kantentolerant, falls er mit bis zu k passiv defekten Kanten noch arbeitet. k-facher Kantenzusammenhang G = (V , E ) heißt k-fach kantenzusammenhängend falls es zwischen jedem Knotenpaar k kantendisjunkte Wege gibt. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Kantenfehler 5:6 k-tolerant, nur Kantenfehler Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk mit fehlerfreien Knoten und die Kanten können nur passiv defekt sein, dann ist ein k-kantentolerantes Broadcast genau dann mögliche, falls G (k + 1)-fach kantenzusammenhängend ist. I Zeige ⇐= I I I I I G sei (k + 1)-fach kantenzusammenhängend. Zu jedem Knoten gibt es P1 , P2 , . . . , Pk+1 kantendisjunkten Pfad von der Quelle. Algorithmus sende auf allen diesen Pfaden. Bei k Fehlern bleibt immer ein Pfad aktiv. Zeige =⇒ I I I Seien a, b Knoten die nur mit höchstens k kantendisjunkten Pfaden verbunden sind. Damit können k Fehler a und b separieren. Broadcast ist dann nicht mehr möglich. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Knotenfehler Z Fehlerwahrscheinlichkeit 5:7 Definitionen (c&p) LuF Walter Unger k-tolerant Algorithmus heißt k-tolerant, falls er mit bis zu k passiv defekten Kanten und Knoten noch arbeitet. k-facher Knotenzusammenhang G = (V , E ) heißt k-fach knotenzusammenhängend falls es zwischen jedem Knotenpaar k knotendisjunkte Wege gibt. Einleitung Grundlagen Knotenfehler Maximal k Knoten/Kanten Fehler 5:8 k-tolerant (c&p) Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk mit passiv defekten Knoten und Knoten, dann ist ein k-tolerantes Broadcast genau dann mögliche, falls G (k + 1)-fach knotenzusammenhängend ist. I Zeige ⇐= I I I I I G sei (k + 1)-fach knotenzusammenhängend. Zu jedem Knoten v gibt es P1 , P2 , . . . , Pk+1 knotendisjunkten Pfade von der Quelle. Algorithmus sende auf allen diesen Pfaden. Bei k Fehlern bleibt immer ein Pfad aktiv. Zeige =⇒ I I I Seien a, b Knoten die nur mit höchstens k knotendisjunkten Pfaden verbunden sind. Damit können k Fehler a und b separieren. Broadcast ist dann nicht mehr möglich. Einleitung Grundlagen aktive Kantenfehler Definitionen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit 5:9 voll-k-kantentolerant Algorithmus heißt voll-k-kantentolerant, falls er mit bis zu k aktiven defekten Kanten noch arbeitet. voll-k-tolerant Algorithmus heißt voll-k-tolerant, falls er mit bis zu k aktiven defekten Kanten und Knoten noch arbeitet. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler aktive Kantenfehler 5:10 voll-k-tolerant, nur Kantenfehler Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk mit fehlerfreien Knoten und die Kanten können nur aktiv defekt sein, dann ist ein voll-k-kantentolerantes Broadcast genau dann mögliche, falls G (2 · k + 1)-fach kantenzusammenhängend ist. I Zeige ⇐= I I I I I I I G sei (2 · k + 1)-fach kantenzusammenhängend. Zu jedem Knotenpaar gibt es P1 , P2 , . . . , P2·k+1 kantendisjunkten Pfade. Algorithmus sende auf allen diesen Pfaden. Sei ni die Nachricht, die über Pi empfangen wird. Bei k Fehlern können bis zu k Nachrichten verändert sein. Es bleiben k + 1 unverfälschte Nachrichten. v kann die korrekte Nachricht durch Mehrheitsentscheid erkennen. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler aktive Knotenfehler 5:11 voll-k-tolerant, nur Kantenfehler Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk mit fehlerfreien Knoten und die Kanten können nur aktiv defekt sein, dann ist ein voll-k-kantentolerantes Broadcast genau dann mögliche, falls G (2 · k + 1)-fach kantenzusammenhängend ist. I I Gezeigt: ⇐= Zeige =⇒ I I I I I Seien a, b Knoten die nur mit höchstens 2 · k kantendisjunkten Pfade verbunden sind. Damit können die Nachrichten auf k Pfaden verändert werden. Damit empfängt b k Originalnachrichten und k falsche Nachrichten. b kann die Nachrichten nicht unterscheiden. Broadcast ist dann nicht mehr möglich. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler aktive Knotenfehler 5:12 voll-k-tolerant (c&p) Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk mit aktiv defekten Knoten und Kanten, dann ist ein voll-k-tolerantes Broadcast genau dann mögliche, falls G (2 · k + 1)-fach knotenzusammenhängend ist. I Zeige ⇐= I I I I I I I G sei (2 · k + 1)-fach knotenzusammenhängend. Zu jedem Knotenpaar gibt es P1 , P2 , . . . , P2·k+1 knotendisjunkten Pfade. Algorithmus sende auf allen diesen Pfaden. Sei ni die Nachricht, die über Pi empfangen wird. Bei k Fehlern können bis zu k Nachrichten verändert sein. Es bleiben k + 1 unverfälschte Nachrichten. v kann die korrekte Nachricht erkennen. I Zeige =⇒ I I Seien a, b Knoten die nur mit höchstens 2 · k knotendisjunkten Pfade verbunden sind. Damit können die Nachrichten auf k Pfaden verändert werden. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Fehlerwahrscheinlichkeit Idee (Fehlerwahrscheinlichkeit) 5:13 LuF Walter Unger I Sei P Pfad mit n Knoten. I Sei x Wahrscheinlichkeit, dass Knoten ausfällt I Sei y Wahrscheinlichkeit, dass Kante ausfällt I Dann ist die Wahrscheinlichkeit, dass Pfad der Länge n nicht ausfällt: (1 − x)n · (1 − y )n−1 I Die Wahrscheinlichkeit, dass disjunkte Pfade ausfallen ist unabhängig. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Fehlerwahrscheinlichkeit 5:14 Fehlerwahrscheinlichkeit LuF Walter Unger Lemma: Sei G = (V , E ) und es gebe nur passive Fehler. Knoten u und v sind k-fach knotenzusammenhängend. Jeder dieser Pfade ist fehlerfrei mit Wahrscheinlichkeit α. Damit ist die Sendewahrscheinlichkeit von u nach v 1 − (1 − α)k . I I I Seien P1 , P2 , . . . , Pk die knotendisjunkten Pfade. Sei Ei das Ereignis “Pfad Pi ist defekt”. Da die Ei sind unabhängig sind, gilt: Prob( k \ i=1 I Ei ) = k Y Prob(Ei ) 6 (1 − α)k i=1 Damit ist die Übertragungswahrscheinlichkeit: 1 − (1 − α)k Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Fehlerwahrscheinlichkeit 5:15 Erinnerung LuF Walter Unger Lemma (Chernoff): I Sei B Bernulli Folge der Länge m. I Sei q Wahrscheinlichkeit das ein Element in B erfolgreich ist. I Sei X Zufallsvariable, die die Anzahl der erfolgreichen Ereignisse in B beinhaltet. I Sei 0 < ε < 1, dann gilt: 2 ·m·q/2 Prob(X 6 (1 − ε) · m · q) 6 e −ε I Für alle 0 6 k 6 m gilt: Prob(X > k) 6 m · qk k Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Fehlerwahrscheinlichkeit 5:16 Aktive Fehler LuF Walter Unger Lemma: I Sei G = (V , E ) Netzwerk (n = |V |) mit aktiven Fehlern. I Sei d > 0 konstant. I Dann gibt es eine Konstante c > 0 mit: I falls die fehlerfreien Knoten u, v mit dc log ne knotendisjunkten Pfaden verbunden sind und I jeder dieser Pfade arbeitet fehlerfrei mit Wahrscheinlichkeit α > 1/2, dann I kann von u nach v mindestens mit Wahrscheinlichkeit 1 − n−d gesendet werden. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Fehlerwahrscheinlichkeit Aktive Fehler (Beweis) Z Fehlerwahrscheinlichkeit 5:17 LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk (n = |V |) mit aktiven Fehlern. Sei d > 0 konstant. Dann gibt es eine Konstante c > 0 mit: falls die fehlerfreien Knoten u, v mit dc log ne knotendisjunkte Pfaden verbunden sind und jeder dieser Pfade arbeitet fehlerfrei mit Wahrscheinlichkeit α > 1/2, dann kann von u nach v mindestens mit Wahrscheinlichkeit 1 − n−d gesendet werden. Beweis: I Setze: ε = 2·α−1 . 2·α I Wegen α > 1/2 gilt: 0 < ε < 1. I Damit gilt: (1 − ε) · α = 1/2. I Setze: c = 2 2·d . ε ·α log e I I Damit gilt: d = c · ε2 α · (log e)/2. 2 Damit gilt: e −ε ·(c log n)·α/2 = n−d . Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Fehlerwahrscheinlichkeit Aktive Fehler (Beweis) Z Fehlerwahrscheinlichkeit 5:18 LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk (n = |V |) mit aktiven Fehlern. Sei d > 0 konstant. Dann gibt es eine Konstante c > 0 mit: falls die fehlerfreien Knoten u, v mit dc log ne knotendisjunkte Pfaden verbunden sind und jeder dieser Pfade arbeitet fehlerfrei mit Wahrscheinlichkeit α > 1/2, dann kann von u nach v mindestens mit Wahrscheinlichkeit 1 − n−d gesendet werden. Beweis: I Setze m = dc · log ne und seinen P1 , P2 , . . . , Pm (1 − ε) · α = 1/2 c = 2 2·d ε ·α log e knotendisjunkte Pfade von u nach v . d = c · ε2 α · (log e)/2 2 I Sei Ei Ereignis, dass Pi ohne Fehler ist. e −ε ·(c log n)·α/2 = n−d 2 Prob(X 6 (1 − ε) · m · q) 6 e −ε ·m·q/2 I Die Ei sind unabhängig. I Sei E das Ereignis, dass höchstens die Hälfte der Pfade fehlerfrei ist. I Sei X Zufallsvariable, die die Anzahl der fehlerfreien Pfade angibt. I Damit gilt: P(E ) = Prob(X 6 m/2) Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Fehlerwahrscheinlichkeit 5:19 Aktive Fehler (Beweis) Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma: Sei G = (V , E ) Netzwerk (n = |V |) mit aktiven Fehlern. Sei d > 0 konstant. Dann gibt es eine Konstante c > 0 mit: falls die fehlerfreien Knoten u, v mit dc log ne knotendisjunkte Pfaden verbunden sind und jeder dieser Pfade arbeitet fehlerfrei mit Wahrscheinlichkeit α > 1/2, dann kann von u nach v mindestens mit Wahrscheinlichkeit 1 − n−d gesendet werden. Beweis: P(E ) = = 6 6 = Prob(X 6 m/2) (1 − ε) · α = 1/2 c = 2 2·d ε ·α log e Prob(X 6 (1 − ε) · m · α) d = c · ε2 α · (log e)/2 2 m·α/2 −ε 2 e e −ε ·(c log n)·α/2 = n−d 2 2 ·(c log n)·α/2 Prob(X 6 (1 − ε) · m · q) 6 e −ε ·m·q/2 −ε e n−d Damit kann v die Nachricht bestimmen, wenn dies Ereignis nicht eintritt. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Kanten Fehler 5:20 Untere Schranke LuF Walter Unger Lemma Die Laufzeit eines k-kantentoleranten Broadcastalgorithmus ist mindestens dlog ne + k für n − 2 6 k 6 0 Beweis: I Sei A ein k-kantentoleranten Broadcastalgorithmus. I Sei v die Quelle und e1 , e2 , . . . , ek Kanten die in den ersten k Runden aktiv sind. I Seien alle diese Kanten defekt. I Damit benötigt A dann noch dlog ne Runden. I Also insgesamt dlog ne + k Runden. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Kanten Fehler Obere Schranke (Idee) 5:21 I Notwendig ist optimales Broadcast Schema. I Notwendig sind viele parallele Sendeoperationen (grosse Matchings) I Mische beide Verfahren. Vorgehen: I 1. 2. 3. 4. 5. Bestimme grosse Matchings für Broadcast Teile Graph auf. Mische beide Verfahren Betrachte erstes Schema Betrachte zweites Schema LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Kanten Fehler Jeder gegen Jeden 5:22 Definition (Round-Robin) I Sei Cm = (V , E ) Clique aus m Knoten. I Seien E1 , E2 , . . . , Ek Matchings. I Diese bilden ein Round-Robin Turnier, falls ∀e ∈ E : |{Ei | e ∈ Ei ∧ 1 6 i 6 k}| = 1. I Schreibweise: R(i, t) = |{{vi , x} ∈ Et | x ∈ V }|. I Schreibweise: R(m) minimale Anzahl von Runden für ein Round-Robin auf m Knoten. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler Jeder gegen Jeden Lemma Es gilt: I R(m) = m − 1 falls m gerade. I R(m) = m falls m ungerade. Beweis: I Zeige R(m) > m − 1 I I I Knotengrad ist: m − 1 Die Ei sind Matchings. Damit sind es m − 1 Matchings. Z Fehlerwahrscheinlichkeit 5:23 LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler 5:24 Jeder gegen Jeden Lemma Es gilt: I R(m) = m − 1 falls m gerade. I R(m) = m falls m ungerade. Beweis: I I Gezeigt R(m) > m − 1. Zeige R(m) > m falls m ungerade. I I I I I Z Fehlerwahrscheinlichkeit Die Ei sind Matchings, der Knotengrad ist: m − 1 In jedem Ei ist ein Knoten nicht gematcht. Sei v1 der Knoten der in E1 nicht gematcht wird. Damit sind für v1 noch m − 1 Matchings notwendig. Damit sind es m Matchings. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler 5:25 Jeder gegen Jeden Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma Es gilt: I R(m) = m − 1 falls m gerade. I R(m) = m falls m ungerade. Beweis: I Gezeigt: R(m) > m − 1. I Gezeigt: R(m) > m falls m ungerade. Zeige: R(m) 6 m − 1 falls m gerade. I I I I Zeichne Knoten a1 , a2 , . . . , am−1 ,als reguläres (m − 1)-Eck. Zeichne am als Spitze einer Pyramide auf a1 , a2 , . . . , am−1 . Wähle perfektes Matching: I I I Eine Kante des (m − 1)-Ecks. Alle dazu parallelen Diagonalen durch das (m − 1)-Eck. Eine Kante vom einzig verbleibenden freien Knoten zur Spitze. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler Jeder gegen Jeden Z Fehlerwahrscheinlichkeit 5:26 Lemma Es gilt: I R(m) = m − 1 falls m gerade. I R(m) = m falls m ungerade. Beweis: I Gezeigt: R(m) = m − 1. I Gezeigt: R(m) > m falls m ungerade. Zeige: R(m) 6 m falls m ungerade. I I I Schränke Schema auf Cm+1 auf Cm ein. Bemerkung: Cm kann mit bm/2c Kreisen ungerader Länge überdeckt werden. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler 5:27 Grundlage der Algorithmen I Teile Knotenmenge disjunkt in C1 , C2 , . . . , Cm auf. I Bestimme Round-Robin auf {1, 2, . . . , m}. I Übertrage diese auf die Mengen C1 , C2 , . . . , Cm : I I I I I Walter Unger Wähle maximales Matching zwischen Ci und Cj . Jeder Knoten aus Ci verbindet sich mit genau einem Knoten aus Cj . Schreibweisen für I LuF Sei i 6 m und t 6 R(m). Falls RR(i, t) = 0 dann sind Knoten aus Ci inaktiv zum Zeitpunkt t. Falls RR(i, t) = j und o.E.d.A. |Ci | 6 |Cj | dann I I Z Fehlerwahrscheinlichkeit obiges Verfahren: RRM(C1 , C2 , . . . , Cm ). optimales Broadcast von v0 auf Cs : BCT (v0 , Cs ). Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Kanten Fehler Verfahren 1 (Einfaches Schema) 5:28 I Sei s = bn/(k + 1)c und r = n mod (k + 1). I Einschränkung hier: s > r . I Bestimme Cluster C1 , C2 , . . . , Ck+1 der Größe s. I Cluster Ck+2 bestehe aus verbleibenden Knoten. I Sei K Anzahl der Cluster, d.h. K = k + 1 falls r = 0 und K = k + 2 sonst. I Sei Cj = {v1,j , v2,j , v3,j , . . .} I Sei v1,1 Startknoten. Schema: I 1. Zeitpunkt t (1 6 t 6 k) v1,1 sendet an v1,1+t . 2. Jeder Cluster Cj mache: BST (v1,j , Cj ). 3. Führe aus: RRM(C1 , C2 , . . . , CK ). LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler Z Fehlerwahrscheinlichkeit 5:29 Korrektheit 1 LuF Walter Unger Lemma Das einfache Schema ist k-kantentolerant. Beweis: I Sei va,j in Cj mit |Cj | = s und va,j 6= v1,1 . I Zeige es gibt k + 1 kantendisjunkte Wege von v1,1 nach va,j . Für p ∈ {1, 2, . . . , k + 1} besteht der p-te Pfad aus: I I I I I Kante von v1,1 nach v1,p (falls p 6= 1). Weg gegeben durch BCT (vi,p , Cp ) von vi,p nach va,p . Kante von va,p nach va,j in RRM(C1 , C2 , . . . , CK ) (falls p 6= j). Betrachte va,k+2 (falls r 6= 0). I I I I Für alle 1 6 p 6 k + 1: Kante von v1,1 nach v1,p (falls p 6= 1). Weg gegeben durch BCT (vi,p , Cp ) von vi,p nach va,p . Kante von va,p nach va,k+2 in RRM(C1 , C2 , . . . , CK ). Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler 5:30 Laufzeit 1 Lemma Das einfache Schema braucht dlog ne + 2 · k + 2 Schritte. Beweis: 1. Zeitpunkt t (1 6 t 6 k) v1,1 sendet an v1,1+t . Laufzeit: k Schritte 2. Jeder Cluster Cj mache: BST (v1,j , Cj ). Laufzeit: dlog se 6 dlog ne Schritte 3. Führe aus: RRM(C1 , C2 , . . . , CK ). Laufzeit: k + 2 Schritte Z Fehlerwahrscheinlichkeit LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler 5:31 Verfahren 2 (Allgemeines Schema) I I I I I I Z Fehlerwahrscheinlichkeit LuF Walter Unger Sei v0 ∈ V der Startknoten. Sei s = b(n − 1)/(k + 1)c und r = (n − 1) mod (k + 1). Bestimme Cluster C1 , C2 , . . . , Ck+1 der Größe s in V \ {v0 }. Cluster Ck+2 bestehe aus verbleibenden Knoten. Sei Cj = {v1,j , v2,j , v3,j , . . .} Schema: 1. Zeitpunkt t (1 6 t 6 k + 1) v0 sendet an v1,t . 2. Jeder Cluster Cj (1 6 j 6 k + 1) mache: I I BST (v1,j , Cj ) sobald v1,j informiert wird. D.h. Ci ist aktiv von Zeitpunkt i + 1 bis i + 1 + dlog se. 3. Jeder Cluster Cj (1 6 j 6 k + 1) mache direkt nach dem BST : I I I Knoten v1,i informiert: v1,k+2 , v2,k+2 , v3,k+2 , . . .. bis alle Knoten aus Ck+2 informiert oder bis zum Zeitpunkt k + 2 + dlog se. 4. Führe parallel aus: I I RRM(C1 , C2 , . . . , Ck+1 ). RRM({v1,k+2 }, {v2,k+2 }, . . . , {vr ,k+2 }). Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Kanten Fehler Laufzeit 2 5:32 Lemma Das allgemeine Schema braucht maximal 2 · k + 3 + dlog se Schritte. 1. Zeitpunkt t (1 6 t 6 k + 1) v0 sendet an v1,t . 2. Jeder Cluster Cj (1 6 j 6 k + 1) mache: I I BST (v1,j , Cj ) sobald v1,j informiert wird. D.h. Ci ist aktiv von Zeitpunkt i + 1 bis i + 1 + dlog se. 3. Jeder Cluster Cj (1 6 j 6 k + 1) mache direkt nach dem BST : I I I Knoten v1,i informiert: v1,k+2 , v2,k+2 , v3,k+2 , . . .. bis alle Knoten aus Ck+2 informiert oder bis zum Zeitpunkt k + 2 + dlog se. 4. Führe parallel aus: I I RRM(C1 , C2 , . . . , CK ). Aktiv von k + 3 + dlog se bis 2 · k + 3 + dlog se. RRM({v1,k2 }, {v2,k2 }, . . . , {vr ,k2 }). Aktiv von k + 3 + dlog se bis maximal 2 · k + 3 + dlog se. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler Korrektheit 2 Z Fehlerwahrscheinlichkeit 5:33 LuF Walter Unger Lemma Das allgemeine Schema ist k-kantentolerant. Beweis: I Sei va,j in Cj mit |Cj | = s und va,j . I Zeige es gibt k + 1 kantendisjunkte Wege von v0 nach va,j . Für p ∈ {1, 2, . . . , k + 1} besteht der p-te Pfad aus: I I I I Kante von v0 nach v1,p . Weg gegeben durch BCT (vi,p , Cp ) von vi,p nach va,p . Kante von va,p nach va,j in RRM(C1 , C2 , . . . , CK ) (falls p 6= j). Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Kanten Fehler 5:34 Korrektheit 2 Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma Das allgemeine Schema ist k-kantentolerant. I Betrachte vj,k+2 (falls r 6= 0). I I I I I I vj,k+2 empfängt Nachricht von v1,1 , v1,2 , . . . , v1,k+2−j vj,k+2 empfängt Nachricht auf k + 2 − j knotendisjunkten Pfaden. v1,k+2 über v1,1 , v1,2 , . . . , v1,k+1 auf k + 1 knotendisjunkten Pfaden. v2,k+2 über v1,1 , v1,2 , . . . , v1,k auf k knotendisjunkten Pfaden. über die v1,k+1 und v1,k+2 sind es dann für v2,k+2 auch k + 1 Pfade. vj,k+2 empfängt Nachricht von I I I I I v1,1 , v1,2 , . . . , v1,k+2−j und v1,k+3−j und v1,k+3−j und v1,k+4−j und v1,k+4−j und bis zu v1,k+1 und v1,k+1 vj,k+2 empfängt Nachricht auf k + 1 knotendisjunkten Pfaden. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Knoten Fehler 5:35 Idee I Nur Knoten gehen kaputt. I Algorithmen sind adaptiv. Zwei Formen von adaptiven Algorithmen: I I I I Wake up Ohne Einschränkungen. Basisschritt: call(u, p, u 0 ) I I I I u sendet p an u 0 . p beinhaltet Nachricht m und Kontrollinformationen. Zwei Fälle: I I u 0 empfängt p und u eine 1. u 0 ist defekt und u empfängt eine 0. Z Fehlerwahrscheinlichkeit LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Knoten Fehler Idee (Wake Up) I Versuche optimales Broadcast I Knoten v bekommt Nachricht m und I Liste der noch von v zu informierenden Knoten. I Knoten v teilt Liste auf und I sendet diese Teile an jeweils einen anderen. 5:36 LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Knoten Fehler Algorithmus (Wake Up) Funktion Broadcast(u,s) 1. D = {u + 1, u + 2, . . . , u + s} 2. while D 6= ∅ do 2.1 for i in 1, 2, . . . , s do Broadcast(u,d(s − i)/2e,ui ) 2.2 until ui fehlerfrei, d.h. u empfängt 1 3. D = {u + i + d(s − i)/2e, . . . , u + s} Initial Broadcast(1, n − 1). Z Fehlerwahrscheinlichkeit 5:37 LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Knoten Fehler Korrektheit (Wake Up) Lemma Der Algorithmus Broadcast arbeitet korrekt. Beweis: Er “simuliert” ein normales Broadcast. 1. D = {u + 1, u + 2, . . . , u + s} 2. while D 6= ∅ do 2.1 for i in 1, 2, . . . , s do Broadcast(u,d(s − i)/2e,ui ) 2.2 until ui fehlerfrei 3. D = {u + i + d(s − i)/2e, . . . , u + s} Z Fehlerwahrscheinlichkeit 5:38 LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Knoten Fehler 5:39 Korrektheit (Wake Up) Theorem Der Algorithmus Broadcast ist k-tolerant und hat Laufzeit k + dlog(n − k)e. Beweis: I Sei T (n, k) Laufzeit für n Knoten und k Fehlerknoten. I Falls k = n − 1 folgt: T (n, k) = n − 1. Sei nun k < n − 1 und Knoten 1 hat r kaputte Nachbarn. I I I I r + 1 + T (d(n − r )/2e, min(k − r , d(n − r )/2e − 1)) T (n, k) = max06r 6k (r + 1 + T (d(n − r )/2e, min(k − r , d(n − r )/2e − 1))) falls k < n − 1 n−1 falls k = n − 1 Zeige per Induktion T (n, k) 6 k + dlog(n − k)e. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Knoten Fehler Z Fehlerwahrscheinlichkeit 5:40 Induktion LuF Walter Unger Zeige: T (n, k) 6 k + dlog(n − k)e I 1. Fall: k − r 6 d(n − r )/2e − 1 I I I I I I I r + 1 + T (d(n − r )/2e, min(k − r , d(n − r )/2e − 1)) 6 r + 1 + k − r + dlog((dn − r )/2e − k + r )e = k + 1dlog((dn − r )/2e − k + r )e Wird maximal für r = k 6 k + 1dlog((dn − k)/2e)e 6 kdlog(n − k)e 2. Fall: k − r > d(n − r )/2e − 1 I I I I r + 1 + T (d(n − r )/2e, d(n − r )/2e − 1) = r + 1 + d(n − r )/2e − 1 <r +1+k −r <k +1 T (n, k) = max06r 6k (r + 1 + T (d(n − r )/2e, min(k − r , d(n − r )/2e − 1))) n−1 falls k < n − 1 falls k = n − 1 Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Knoten Fehler 5:41 Korrektheit (Wake Up) Theorem Der Algorithmus Broadcast ist k-tolerant und hat Laufzeit k + dlog(n − k)e. Die Laufzeit ist optimal. Beweis: Einfache Übung. Z Fehlerwahrscheinlichkeit LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Knoten Fehler Uneingeschränktes Verfahren Z Fehlerwahrscheinlichkeit 5:42 LuF Walter Unger Theorem Sie k/n durch Konstante beschränkt, dann gibt es einen adaptiven k-toleranten Algorithmus für Broadcast mit Laufzeit O(log n). I I Algorithmus hat 2 Teile: Vorschau I I I I Ohne die Nachricht empfangen zu haben, suche kaputte Nachbarn Bestimme Liste der aktiven Nachbarn. Suche bis die Nachricht empfangen wird. Broadcast I I Nutze Informationen aus Vorschau. Vermeide das Senden an kaputte Knoten Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Übertragungsfehler Modell 5:43 LuF Walter Unger I Fehler treten nach längerer Laufzeit öfters auf. I Übertragung fällt aus, Kante kann danach ggf. wieder senden. I Parameter α mit 0 < α < 1. I In den Schritten 1 bis i gibt es insgesamt höchstens i · α fehlerhafte Kanten. I Betrachte hier nur Schemata. I Ein Schema ist α-sicher wenn es noch mit obiger Fehlerschranke arbeitet. I B(G , α, s) bezeichne Laufzeit für α-sicheres Schema auf G von s. I B(G , α) bezeichne Laufzeit für α-sicheres Schema auf G . Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Übertragungsfehler Auf der Linie 5:44 LuF Walter Unger Lemma Sei α < 1/2, dann ist 2-systolischer Gossip Algorithums auf Ln mit t = bn/(1 − 2 · α)c Schritten α-sicheres Broadcastschema. Also: B(Ln , α) = O(n). Beweis: I Sei hier Ln Linie mit n Kanten. I Eine Nachricht wird durch fehlerhafte Übertragung 2 Schritte aufgehalten. I Sei T die Laufzeit für die das Schema α-sicher ist. I Anzahl Fehler damit höchstens bαT c. I Damit: n + 2 · bαT c > T . I und T 6 n/(1 − 2 · α). Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Übertragungsfehler 5:45 Auf der Linie LuF Walter Unger Theorem Für α > 1/2 gilt: B(Ln , α) = Ω(1/(1 − α)n ). Beweis: siehe Literatur. Theorem Für α > 1/2 gilt: B(Ln , α) = Θ(1/(1 − α)n ). Beweis: I Setze: I I t0 = 0, t1 = 1 tk = bα · (t1 + . . . + tk )c + 1 (minimal) für k > 1. 1. Für j := 1 bis n mache 1.1 Falls j ungerade I In Schritten tj−1 + 1 bis tj sind alle “ungeraden” Kanten aktiv 1.2 Falls j gerade I In Schritten tj−1 + 1 bis tj sind alle “geraden” Kanten aktiv Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Übertragungsfehler 5:46 Laufzeit und Korrektheit auf der Linie Z Fehlerwahrscheinlichkeit LuF Walter Unger 1. Für j := 1 bis n mache 1.1 Falls j ungerade: In Schritten tj−1 + 1 bis tj sind alle “ungeraden” Kanten aktiv 1.2 Falls j gerade: In Schritten tj−1 + 1 bis tj sind alle “geraden” Kanten aktiv I α-Sicherheit I I I I I t0 = 0, t1 = 1, tk = bα · (t1 + . . . + tk )c + 1 Sei Quelle Knoten v0 Nach t1 Schritten ist v1 informiert. Sei nach t1 + . . . + tk Schritten vk informiert. In Schritten t1 + . . . + tk + 1 bis t1 + . . . + tk+1 wird dann vk+1 informiert. Laufzeit I I I tk = bα · (t1 + . . . + tk )c + 1 6 bα · (t1 + . . . + tk−1 )c + α · tk + 1 tk 6 tk−1 + α · tk + 1 tn = O((1/(1 − α))n ) Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Übertragungsfehler 5:47 Auf dem Stern Theorem Für 0 < α < 1 gilt: B(Sn , α) = Ω(1/(1 − α)n ). Beweis: siehe Literatur. Theorem Für 0 < α < 1 gilt: B(Sn , α) = O(1/(1 − α)n ). Idee: 1. Für j := 1 bis n mache I In Schritten tj−1 + 1 bis tj sendet v0 an vi . Danach analoges Vorgehen. Z Fehlerwahrscheinlichkeit LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Übertragungsfehler Auf Kreis Z Fehlerwahrscheinlichkeit 5:48 LuF Walter Unger Theorem Für 0 < α < 1 gilt: B(Cn , α) = O(n). I Algorithmus: Systolischer Gossipalgorithums. Betrachte hier nur Kreise gerader Länge. Nach erstem Schritt sind v0 und vn informiert. Phase bestehe aus zwei Schritten (erste Phase 2,3). In einer Phase: f Fehler und x Knoten werden informiert. Dann gilt: x + f > 2. Maximale Fehleranzahl in k Phasen: α · (2 · k + 1). Nach k Phasen sind 2 · k − α · (2 · k + 1) Knoten informiert. Ziel: 2 · k − α · (2 · k + 1) > n − 2. Beachte T = 2 · k + 1. Laufzeit in k: k = d (n−1)/(1−α)−1 e 2 I Laufzeit: 2 · d (n−1)/(1−α)−1 e+1 2 I I I I I I I I I I Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Übertragungsfehler 5:49 Auf dem Würfel LuF Walter Unger Theorem Auf dem Hypercube mit r Dimensionen gibt es ein k-kantentolerantes Schema mit Laufzeit r + k. Theorem Für 0 < α < 1 gilt: B(HQr , α) = bα/(1 − α)(r − 1)c + r . Idee: Durchlaufe zyklisch alle Dimensionen, d.h zum Zeitpunkt t sind alle Kanten der Dimension t mod r aktiv. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Übertragungsfehler Auf der Clique Z Fehlerwahrscheinlichkeit 5:50 Theorem Für 0 < α < 1 gilt: B(Kn , α) = 1/(1 − α) log n + O(log log n). Idee: übertrage Verfahren vom Hypercube. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Übertragungfehler 1. Modell Z Fehlerwahrscheinlichkeit 5:51 I Knoten sind fehlerfrei. I Übertragungen sind fehlerhaft mit Wahrscheinlichkeit p. I Die Fehler sind unabhängig. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Übertragungfehler 5:52 Linie Lemma I Übertragungsfehler mit Wahrscheinlichkeit p. I Sei c > 0 konstante ganze Zahl und q = 1 − p. I Sei E das Ereignis, dass 2 · c · n Runden des 2-systolischen Gossip Algorithums A auf Ln kein Broadcast machen. I Sei d = (q · c − 1)/(2 · q · c) Dann gilt: Prob(E ) 6 2−d·n I I I I I Zwei Schritte von A bilden eine Phase. In jeder Phase ist jede kritische Kante einmal aktiv. Sei F das Ereignis, dass eine Bernullifolge c · n positive Ereignisse hat, mit Einzelwahrscheinlichkeit q. − (q·c−1)2 ·m·q/2 (2·q·c)2 Prob(E ) 6 Prob(F ) 6 e = e −dm Setze dabei ein: m = c · n und (1 − ε) · q · c = 1. LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Übertragungfehler Linie Z Fehlerwahrscheinlichkeit 5:53 Lemma I Übertragungsfehler mit Wahrscheinlichkeit p. Sei c > 0 konstante ganze Zahl und q = 1 − p. I Sei E das Ereignis, dass 2 · c · n Runden des 2-systolischen Gossip Algorithums A auf Ln kein Broadcast machen. I Sei d = (q · c − 1)/(2 · q · c) Dann gilt: Prob(E ) 6 2−d·n I Setze c > 4/q I Dann gilt: d > 1 I Damit folgt: Prob(E ) 6 e −n 6 1/n I Dann ist A fast sicherer Algorithmus. LuF Walter Unger Einleitung Grundlagen Übertragungfehler Folgerungen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit 5:54 LuF Walter Unger Folgerung 1 Mit Θ(n) platzierten Fehlern kann ein linearzeit Algorithmus mit Θ(n2 ) Übertragungen auf der Linie nicht mehr arbeiten. Folgerung 2 Mit Θ(n2 ) zufällig platzierten Fehlern kann ein linearzeit Algorithmus mit Θ(n2 ) Übertragungen auf der Linie noch arbeiten. Theorem I Sei G Netzwerk mit beschränktem Grad und Durchmesser D. I Es gebe nur Übertragungsfehler mit Wahrscheinlichkeit p. I Dann gibt es einen fast sicheren Algorithmus mit Laufzeit O(D). Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Fehler 2. Modell I Knoten sind fehlerhaft mit Wahrscheinlichkeit p. I Kanten sind fehlerhaft mit Wahrscheinlichkeit q. I Die Fehler sind unabhängig. I r1 = (1 − p) · (1 − q) I r2 = (1 − p)2 · (1 − q) I c = max(d−8/logr2 e, d24/(r1 · log ee) I n > 2c I Definiere Netzwerk G (n, c). I d = cblog nc, mit o.E.d.A. d teilt n. I s = bn/dc, mit o.E.d.A. s = 2h+1 − 1. 5:55 LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Fehler Z Fehlerwahrscheinlichkeit 5:56 Graph G (n, c) LuF Walter Unger I Mengen S1 , S2 , . . . , Ss der Größe d. I Nummeriere Konten in Si von 0 bis d − 1. I vi,j sei j-te Knoten in Si . I Quelle sein v1,0 . I Ordne die Si zu einem Binärbaum T mit h + 1 Schichten. I Nachbarn von Si sind S2·i und S2·i+1 (1 6 i 6 bs/2c). I Falls Si und Sj verbunden in T , I dann sind alle Knotenpaare in Si × Sj in G (n, c) verbunden. Das sind alle Kanten in G (n, c) und es gilt I I I I |Si | = O(log n) Maximaler Grad von G (n, c) ist O(log n) h < log n r1 = (1 − p) · (1 − q) r2 = (1 − p)2 · (1 − q) c = max(d−8/logr2 e, d24/(r1 · log ee) n > 2c d = cblog nc, d teilt n h+1 s = bn/dc, s = 2 −1 Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Fehler 5:57 Algorithmen Algorithmus MultiCall(Si , Sj , k): 1. Für alle 0 6 r < d mache parallel I vi,r sendet zu vj,r +k Baumartiges Broadcast: I Für Runden 1,2,3 mache I Z Fehlerwahrscheinlichkeit Für Schritte s = 0 bis d − 1 mache 1. Für jedes Si , das kein Blatt in T ist und i gerade: MultiCall(Si , S2·i ) MultiCall(Si , S2·i+1 ) 2. Für jedes Si , das kein Blatt in T ist und i ungerade: MultiCall(Si , S2·i ) MultiCall(Si , S2·i+1 ) LuF Walter Unger Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Fehler Z Fehlerwahrscheinlichkeit 5:58 Aussagen LuF Walter Unger Lemma Sei n ausreichend gross und E1 das Ereignis, das nach Schritt 1 in jedem Si die Nachricht mindestens einmal bekannt ist. Dann gilt: Prob(E1 ) 6 1/n2 . Lemma Sei E2 das Ereignis, das für jedes Knotenpaar Si es einen fehlerfreien Weg der Länge 2 gibt. Dann gilt: Prob(E2 ) 6 1/n. Theorem Das obige Schema ist fast sicher und hat Laufzeit O(log n). Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Fehler 5:59 Beweis 1 LuF Walter Unger Lemma Sei E1 das Ereignis, das nach Schritt 1 in jedem Si die Nachricht mindestens einmal bekannt ist. Dann gilt: Prob(E1 ) 6 1/n2 . r1 = (1 − p) · (1 − q) r2 = (1 − p)2 · (1 − q) c = max(d−8/logr2 e, d24/(r1 · log ee) n > 2c d = cblog nc, d teilt n h+1 s = bn/dc, s = 2 −1 I Sei B = (S1 = Si0 , Si1 , Si2 , . . . , Sih Weg im Baum. I Sei P Ereignis, das ein Si in B nicht informiert wird. Damit entspricht Prob(P): I I I I I Bernullifolge der Länge d Höchstens h Erfolge mit Einzelwahrscheinlichkeit r1 beachte h < log n. Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Fehler 5:60 Beweis 1 LuF Walter Unger Lemma Sei E1 das Ereignis, das nach Schritt 1 in jedem Si die Nachricht mindestens einmal bekannt ist. Dann gilt: Prob(E1 ) 6 1/n2 . I Bernullifolge Länge d, h Erfolge, Einzelwahrscheinlichkeit r1 I Setze ε = (r1 · c − 1)/(r1 · c) I Wegen c > 1/r1 gilt 0 < ε < 1 und (1 − ε) · r − 1 · d = blog nc. I Chernoff: Prob(p) 6 e −ε I Höchstens n Wege in T : I Prob(E1 ) 6 n · Prob(P) 6 n · e −ε 2 ·r ·cblog nc/2 1 2 ·r ·c·log n/4 1 2 I I I e/4 = n · n−ε ·r1 ·c·log 1−(r1 ·c−2+ r 1·c log e/4 1 =n 6 n1−R1 ·c·log e/8 r1 = (1 − p) · (1 − q) r2 = (1 − p)2 · (1 − q) c = max(d−8/logr2 e, d24/(r1 · log ee) n > 2c d = cblog nc, d teilt n h+1 s = bn/dc, s = 2 −1 Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Permanente Fehler 5:61 Beweis 1 Z Fehlerwahrscheinlichkeit LuF Walter Unger Lemma Sei E1 das Ereignis, das nach Schritt 1 in jedem Si die Nachricht mindestens einmal bekannt ist. Dann gilt: Prob(E1 ) 6 1/n2 . I Prob(E1 ) 6 n · Prob(P) 6 n1−R1 ·c·log e/8 I Wegen C > d24/(r1 · log ee > d4/r1 e gilt: I r1 · c − 2 + I 1 r1 · c > r1 · c 2 Wegen r1 · c · log e/8 > 3 folgt: Prob(E1 ) 6 1/n2 r1 = (1 − p) · (1 − q) r2 = (1 − p)2 · (1 − q) c = max(d−8/logr2 e, d24/(r1 · log ee) n > 2c d = cblog nc, d teilt n h+1 s = bn/dc, s = 2 −1 Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Fehler 5:62 Beweis 2 LuF Walter Unger Lemma Sei n ausreichend gross und E2 das Ereignis, das für jedes Knotenpaar Si es einen fehlerfreien Weg der Länge 2 gibt. Dann gilt: Prob(E2 ) 6 1/n. I |Si | = n/d und u, v ∈ Si . I Sei n/d > 2, d.h. es gibt 2 Knoten in T . I Damit gibt es d knotendisjunkte Pfade von u nach v . I Fehlerwahrscheinlichkeit auf so einem Pfad ist r2 . I Fehlerwahrscheinlichkeit, dass d Pfade ausfallen: r2d . I Damit: Prob(E2 ): I I I I 6 n2 · r2d (Höchstens n2 Paare) c·log n/2 6 n2 · r2 2 6 n · nc·log r2 /2 (n > 2, c · r2 6 −8) 6 1/n2 r1 = (1 − p) · (1 − q) r2 = (1 − p)2 · (1 − q) c = max(d−8/logr2 e, d24/(r1 · log ee) n > 2c d = cblog nc, d teilt n h+1 s = bn/dc, s = 2 −1 Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Permanente Fehler 5:63 Beweis 3 LuF Walter Unger Theorem Das obige Schema ist fast sicher und hat Laufzeit O(log n). I Sei E das Ereignis: Schema arbeitet richtig. I E1 ∩ E2 ⊂ E E ⊂ E1 ∩ E2 I I I I E1 eingetreten: In jedem Si ist ein Knoten informiert nach Runde 1. E2 eingetreten: In den nächsten beiden Runden sind alle Knoten aus Si informiert. prob(E ) 6 Prob(E1 ) + Prob(E2 ) 6 2n2 6 1/n. r1 = (1 − p) · (1 − q) r2 = (1 − p)2 · (1 − q) c = max(d−8/logr2 e, d24/(r1 · log ee) n > 2c d = cblog nc, d teilt n h+1 s = bn/dc, s = 2 −1 Einleitung Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit Byzantinische Fehler 5:64 Aussage Theorem Falls eine Kante mit Wahrscheinlichkeit q < 1/2 byzantinisch ausfällt, dann gibt ein Schema das fast sicher und hat Laufzeit O(log n). Beweis: analog und komplizierter, schenken wir uns zu Weihnachten. LuF Walter Unger Einleitung Literatur Literatur Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit 5:65 J. Hromkovič, et al.: Dissemination of Information in Communication Networks : Broadcasting, Gossiping, Leader Election, and Fault-Tolerance. EATCS Series, Springer 2005. LuF Walter Unger Einleitung Fragen Fragen Grundlagen Maximal k Knoten/Kanten Fehler Z Fehlerwahrscheinlichkeit 5:65 LuF Walter Unger