Post on 02-Aug-2020
Leader Election IIAlgorithmen für verteilte Systeme
Sebastian Forster
Universität Salzburg
Dieses Werk steht unter einer Creative Commons Namensnennung 4.0 International Lizenz.
Sebastian Forster (Uni Salzburg) Leader Election II 1 / 25
Motivation Leader Election
Leader Election:
Knoten eines Netzwerks einigen sich auf einen Leader
Alle anderen heißen Follower
Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower
Motivation: Leader kann Koordinationsaufgaben übernehmen
Symmetry Breaking:
A priori eignet sich jeder Knoten als Leader
Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen
Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen
Sebastian Forster (Uni Salzburg) Leader Election II 2 / 25
Motivation Leader Election
Leader Election:
Knoten eines Netzwerks einigen sich auf einen Leader
Alle anderen heißen Follower
Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower
Motivation: Leader kann Koordinationsaufgaben übernehmen
Symmetry Breaking:
A priori eignet sich jeder Knoten als Leader
Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen
Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen
Sebastian Forster (Uni Salzburg) Leader Election II 2 / 25
Was bisher geschah. . .
Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen
Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:
I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe
I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:
I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?
Heute: O(n) Runden, O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25
Was bisher geschah. . .
Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen
Heute: Randomisierter Algorithmus
2 Clockwise Algorithmus:I Deterministischer synchroner/asynchroner Algorithmus für
uniforme/non-uniforme RingeI O(n) Runden, O(n2) Nachrichten
3 Wartezeit Algorithmus:I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?
Heute: O(n) Runden, O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25
Was bisher geschah. . .
Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen
Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:
I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe
I O(n) Runden, O(n2) Nachrichten
3 Wartezeit Algorithmus:I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?
Heute: O(n) Runden, O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25
Was bisher geschah. . .
Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen
Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:
I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe
I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:
I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) Nachrichten
I Frage: E�izienz in beiden Metriken möglich?
Heute: O(n) Runden, O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25
Was bisher geschah. . .
Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen
Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:
I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe
I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:
I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?
Heute: O(n) Runden, O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25
Was bisher geschah. . .
Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen
Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:
I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe
I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:
I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?
Heute: O(n) Runden, O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25
Idee: Radius GrowthAnnahmen: synchron, identifizierbar, non-uniform
Bin ich hier der Leader?
Sebastian Forster (Uni Salzburg) Leader Election II 4 / 25
Idee: Radius GrowthAnnahmen: synchron, identifizierbar, non-uniform
Bin ich hier der Leader?
Sebastian Forster (Uni Salzburg) Leader Election II 4 / 25
Idee: Radius GrowthAnnahmen: synchron, identifizierbar, non-uniform
Bin ich hier der Leader?
Sebastian Forster (Uni Salzburg) Leader Election II 4 / 25
Radius Growth Algorithmus [Hirschberg/Sinclair ’80]
Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden
Algorithmus für jeden Knoten v :Erste Runde jeder Phase:
1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn
Jede andere Runde:
1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn
Zusätzlich in letzter Runde der letzten Phase:
1 if v ist noch kein Follower then v wird zum Leader
Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25
Radius Growth Algorithmus [Hirschberg/Sinclair ’80]
Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden
Algorithmus für jeden Knoten v :Erste Runde jeder Phase:
1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn
Jede andere Runde:
1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn
Zusätzlich in letzter Runde der letzten Phase:
1 if v ist noch kein Follower then v wird zum Leader
Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25
Radius Growth Algorithmus [Hirschberg/Sinclair ’80]
Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden
Algorithmus für jeden Knoten v :Erste Runde jeder Phase:
1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn
Jede andere Runde:
1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn
Zusätzlich in letzter Runde der letzten Phase:
1 if v ist noch kein Follower then v wird zum Leader
Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25
Radius Growth Algorithmus [Hirschberg/Sinclair ’80]
Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden
Algorithmus für jeden Knoten v :Erste Runde jeder Phase:
1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn
Jede andere Runde:
1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then
2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn
Zusätzlich in letzter Runde der letzten Phase:
1 if v ist noch kein Follower then v wird zum Leader
Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25
Radius Growth Algorithmus [Hirschberg/Sinclair ’80]
Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden
Algorithmus für jeden Knoten v :Erste Runde jeder Phase:
1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn
Jede andere Runde:
1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn
Zusätzlich in letzter Runde der letzten Phase:
1 if v ist noch kein Follower then v wird zum Leader
Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25
Radius Growth Algorithmus [Hirschberg/Sinclair ’80]
Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden
Algorithmus für jeden Knoten v :Erste Runde jeder Phase:
1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn
Jede andere Runde:
1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn
Zusätzlich in letzter Runde der letzten Phase:
1 if v ist noch kein Follower then v wird zum LeaderSebastian Forster (Uni Salzburg) Leader Election II 5 / 25
Beispiel
9
4
7 2
8
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
9
4
7 2
8
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
4
7 2
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
4
7 2
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
4
7 2
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Beispiel
1
Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25
Korrektheit
TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.
Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader
Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn
Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n
2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben
Somit: Gültige Einteilung in Leader und Follower
Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25
Korrektheit
TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.
Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader
Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn
Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n
2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben
Somit: Gültige Einteilung in Leader und Follower
Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25
Korrektheit
TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.
Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader
Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn
Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n
2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben
Somit: Gültige Einteilung in Leader und Follower
Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25
Korrektheit
TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.
Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader
Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn
Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n
2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben
Somit: Gültige Einteilung in Leader und Follower
Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25
Korrektheit
TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.
Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader
Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn
Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n
2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben
Somit: Gültige Einteilung in Leader und Follower
Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25
Laufzeit
TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.
Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden
Gesamtzahl an Runden:
dlogn e∑i=1
2i
≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n
Geometrischen Reihe:∑n
k=0 rk = rn+1−1
r−1 ≤ rn+1 für r , 1 und n ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25
Laufzeit
TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.
Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden
Gesamtzahl an Runden:
dlogn e∑i=1
2i
≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n
Geometrischen Reihe:∑n
k=0 rk = rn+1−1
r−1 ≤ rn+1 für r , 1 und n ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25
Laufzeit
TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.
Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden
Gesamtzahl an Runden:
dlogn e∑i=1
2i
≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n
Geometrischen Reihe:∑n
k=0 rk = rn+1−1
r−1 ≤ rn+1 für r , 1 und n ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25
Laufzeit
TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.
Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden
Gesamtzahl an Runden:
dlogn e∑i=1
2i ≤ 2 dlogn e+1
≤ 2logn+2 ≤ 4 · 2logn = 4n
Geometrischen Reihe:∑n
k=0 rk = rn+1−1
r−1 ≤ rn+1 für r , 1 und n ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25
Laufzeit
TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.
Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden
Gesamtzahl an Runden:
dlogn e∑i=1
2i ≤ 2 dlogn e+1 ≤ 2logn+2
≤ 4 · 2logn = 4n
Geometrischen Reihe:∑n
k=0 rk = rn+1−1
r−1 ≤ rn+1 für r , 1 und n ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25
Laufzeit
TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.
Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden
Gesamtzahl an Runden:
dlogn e∑i=1
2i ≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn
= 4n
Geometrischen Reihe:∑n
k=0 rk = rn+1−1
r−1 ≤ rn+1 für r , 1 und n ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25
Laufzeit
TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.
Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden
Gesamtzahl an Runden:
dlogn e∑i=1
2i ≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n
Geometrischen Reihe:∑n
k=0 rk = rn+1−1
r−1 ≤ rn+1 für r , 1 und n ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25
Nachrichtenkomplexität I
Wir nennen Knoten, die noch keine Follower sind, aktiv.
LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.
Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist
Dann war w auch am Anfang von Phase i aktiv
Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist
Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist
Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25
Nachrichtenkomplexität I
Wir nennen Knoten, die noch keine Follower sind, aktiv.
LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.
Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist
Dann war w auch am Anfang von Phase i aktiv
Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist
Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist
Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25
Nachrichtenkomplexität I
Wir nennen Knoten, die noch keine Follower sind, aktiv.
LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.
Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist
Dann war w auch am Anfang von Phase i aktiv
Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist
Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist
Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25
Nachrichtenkomplexität I
Wir nennen Knoten, die noch keine Follower sind, aktiv.
LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.
Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist
Dann war w auch am Anfang von Phase i aktiv
Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist
Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist
Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25
Nachrichtenkomplexität I
Wir nennen Knoten, die noch keine Follower sind, aktiv.
LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.
Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist
Dann war w auch am Anfang von Phase i aktiv
Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist
Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist
Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25
Nachrichtenkomplexität I
Wir nennen Knoten, die noch keine Follower sind, aktiv.
LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.
Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist
Dann war w auch am Anfang von Phase i aktiv
Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist
Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist
Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25
Nachrichtenkomplexität II
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden
2i−2
2i−22i−2
2i−2
Sei a die Anzahl aktiver Knoten
Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2
Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25
Nachrichtenkomplexität II
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden
2i−2
2i−22i−2
2i−2
Sei a die Anzahl aktiver Knoten
Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2
Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25
Nachrichtenkomplexität II
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden
2i−2
2i−22i−2
2i−2
Sei a die Anzahl aktiver Knoten
Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2
Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25
Nachrichtenkomplexität II
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden
2i−2
2i−22i−2
2i−2
Sei a die Anzahl aktiver Knoten
Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2
Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25
Nachrichtenkomplexität II
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden
2i−2
2i−22i−2
2i−2
Sei a die Anzahl aktiver Knoten
Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2
Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25
Nachrichtenkomplexität III
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.
Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet
Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2
i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25
Nachrichtenkomplexität III
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.
Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet
Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2
i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25
Nachrichtenkomplexität III
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.
Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet
Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2
i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25
Nachrichtenkomplexität III
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.
Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet
Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2
i−1 = 4n
Anzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25
Nachrichtenkomplexität III
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.
Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet
Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2
i−1 = 4nAnzahl an Nachrichten in Phase 1: 2n
dlogne Phasen, daher insgesamt O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25
Nachrichtenkomplexität III
LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.
TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.
Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet
Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2
i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten
Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25
Zusammenfassung
Radius Growth:Bestimmt Knoten mit kleinster ID zum Leader
Laufzeit: O(n)
Nachrichtenkomplexität: O(n logn)Kann auch als asynchroner Algorithmus in uniformen Ringen formuliertwerden
Sebastian Forster (Uni Salzburg) Leader Election II 12 / 25
Randomisierter Algorithmus [A�iya/Welch ’98]
Annahmen: synchron, anonym, non-uniform
Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus
Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern
3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden
4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1
Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25
Randomisierter Algorithmus [A�iya/Welch ’98]
Annahmen: synchron, anonym, non-uniform
Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus
Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern
3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden
4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1
Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25
Randomisierter Algorithmus [A�iya/Welch ’98]
Annahmen: synchron, anonym, non-uniform
Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus
Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern
3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden
4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1
Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25
Randomisierter Algorithmus [A�iya/Welch ’98]
Annahmen: synchron, anonym, non-uniform
Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus
Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern
3 Knoten verifizieren, ob Ergebnis korrekt ist
Gültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden
4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1
Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25
Randomisierter Algorithmus [A�iya/Welch ’98]
Annahmen: synchron, anonym, non-uniform
Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus
Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern
3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden
4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1
Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25
Randomisierter Algorithmus [A�iya/Welch ’98]
Annahmen: synchron, anonym, non-uniform
Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus
Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern
3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden
4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1
Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25
BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.
DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.
DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.
Theorem
Pr[X = k] =(nk
)pk (1 − p)n−k für alle k ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25
BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.
DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.
DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.
Theorem
Pr[X = k] =(nk
)pk (1 − p)n−k für alle k ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25
BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.
DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.
DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.
Theorem
Pr[X = k] =(nk
)pk (1 − p)n−k für alle k ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25
BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.
DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.
DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.
Theorem
Pr[X = k] =(nk
)pk (1 − p)n−k für alle k ≥ 0
Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25
Beispiel Binomialverteilung
Wahrscheinlichkeitsverteilung für k Erfolge in Bernoulli-Ke�e der Länge nmit Einzel-Erfolgswahrscheinlichkeit p:
0 1 2 3 40.00
0.20
0.40
0.60 n = 4,p = 12n
0 2 4 6 80.00
0.20
0.40
0.60 n = 8,p = 12n
Sebastian Forster (Uni Salzburg) Leader Election II 15 / 25
Beispiel Binomialverteilung
Wahrscheinlichkeitsverteilung für k Erfolge in Bernoulli-Ke�e der Länge nmit Einzel-Erfolgswahrscheinlichkeit p:
0 1 2 3 40.00
0.20
0.40
0.60 n = 4,p = 12n
0 2 4 6 80.00
0.20
0.40
0.60 n = 8,p = 12n
Sebastian Forster (Uni Salzburg) Leader Election II 15 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1
=12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1
=12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1
=12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1
=12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1 =12·
(1 −
12n
)n−1
≥12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1 =12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)
≥12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1 =12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)
=14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1 =12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.
BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.
Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)
Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):
q := Pr[X = 1] = n · p(1 − p)n−1 =12·
(1 −
12n
)n−1≥
12·
(1 −
n − 12n
)≥
12·
(1 −
n
2n
)=
14
Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0
Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich
Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25
Geometrische VerteilungDefinitionSei Y die Zufallsvariable, die angibt, nach wie vielen Wiederholungen einesBernoulli-Experiments mit Erfolgswahrscheinlichkeit q der erste Erfolg erzieltwird. Dann wird die Wahrscheinlichkeitsverteilung von Y geometrischeVerteilung mit Parameter q genannt.
Theorem
Pr[Y = k] = (1 − q)k−1q für alle k ≥ 1
0 2 4 6 8 10 120.00
0.05
0.10
0.15
0.20
0.25 q = 14
Sebastian Forster (Uni Salzburg) Leader Election II 17 / 25
Geometrische VerteilungDefinitionSei Y die Zufallsvariable, die angibt, nach wie vielen Wiederholungen einesBernoulli-Experiments mit Erfolgswahrscheinlichkeit q der erste Erfolg erzieltwird. Dann wird die Wahrscheinlichkeitsverteilung von Y geometrischeVerteilung mit Parameter q genannt.
Theorem
Pr[Y = k] = (1 − q)k−1q für alle k ≥ 1
0 2 4 6 8 10 120.00
0.05
0.10
0.15
0.20
0.25 q = 14
Sebastian Forster (Uni Salzburg) Leader Election II 17 / 25
Geometrische VerteilungDefinitionSei Y die Zufallsvariable, die angibt, nach wie vielen Wiederholungen einesBernoulli-Experiments mit Erfolgswahrscheinlichkeit q der erste Erfolg erzieltwird. Dann wird die Wahrscheinlichkeitsverteilung von Y geometrischeVerteilung mit Parameter q genannt.
Theorem
Pr[Y = k] = (1 − q)k−1q für alle k ≥ 1
0 2 4 6 8 10 120.00
0.05
0.10
0.15
0.20
0.25 q = 14
Sebastian Forster (Uni Salzburg) Leader Election II 17 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]
=∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich ist
Analyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]
=∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]
=∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]
=∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k]
=∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q
= q ·∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k
= q ·1
1 − (1 − q)= q ·
1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q
= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.
Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)
Pr
[∨k≥1
Y = k
]=
∑k≥1
Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·
∑k≥1(1 − q)k−1
= q ·∑k≥0(1 − q)k = q ·
11 − (1 − q)
= q ·1q= 1
Geometrische Reihe:∑
k≥0 rk = 1
1−r für −1 < r < 1
Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!
Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k]
=∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1q
Definition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k]
=∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k]
=∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k] =∑k≥1
k(1 − q)k−1q
=∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k] =∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k] =∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k] =∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k] =∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k] =∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1
, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Waiting Time Bound
TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1
q .
Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:
Ex[Y ] =∑k≥1
k · Pr[Y = k] =∑k≥1
k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq
=∑k≥0
k(1 − q)kq +∑k≥0(1 − q)kq
=∑k≥1
k(1 − q)kq +∑k≥1(1 − q)k−1q
= (1 − q)∑k≥1
k(1 − q)k−1q +∑k≥1
Pr[Y = k]
Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1, also Ex[Y ] = 1q
Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25
Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).
Beweis:Erfolgswahrscheinlichkeit q ≥ 1
4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)
Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?
DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1
nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1
nc = 1)
Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25
Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).
Beweis:Erfolgswahrscheinlichkeit q ≥ 1
4 in jeder Iteration
Mit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)
Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?
DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1
nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1
nc = 1)
Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25
Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).
Beweis:Erfolgswahrscheinlichkeit q ≥ 1
4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)
Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?
DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1
nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1
nc = 1)
Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25
Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).
Beweis:Erfolgswahrscheinlichkeit q ≥ 1
4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)
Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?
DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1
nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1
nc = 1)
Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25
Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).
Beweis:Erfolgswahrscheinlichkeit q ≥ 1
4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)
Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?
DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1
nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet.
(Insbesondere gilt: limn→∞ 1 − 1nc = 1)
Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25
Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).
Beweis:Erfolgswahrscheinlichkeit q ≥ 1
4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)
Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?
DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1
nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1
nc = 1)
Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne
= dlog4/3 nc e
Wahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k
≤
(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne
= dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k
≤
(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne
= dlog4/3 nc e
Wahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k
≤
(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k
≤
(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k ≤(1 −
14
)k
=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k ≤(1 −
14
)k=
(34
)k
≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k ≤(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc
=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k ≤(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc
=1
(4/3)log4/3 nc=
1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k ≤(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k ≤(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Laufzeitanalyse II
TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1
nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.
Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1
nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):
Pr[Y > k] = (1 − q)k ≤(1 −
14
)k=
(34
)k≤
(34
) log4/3 nc=
(14/3
) log4/3 nc=
1(4/3)log4/3 nc
=1nc
Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc
Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25
Zusammenfassung
Randomisierter Algorithmus :Wählt IDs zufällig
Macht Knoten mit kleinster ID zum Leader
Wiederholung bis Leader Election erfolgreich
Laufzeit: O(n) Runden in Erwartung
Nachrichtenkomplexität: O(n2) in Erwartung Bei naiver Analyse mitClockwise Algorithmus
Kann auch als asynchroner Algorithmus formuliert werden
Sebastian Forster (Uni Salzburg) Leader Election II 22 / 25
Allgemeines PrinzipWir haben implizit gezeigt:
Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.
SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.
Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1
nc ).
DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.
Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25
Allgemeines PrinzipWir haben implizit gezeigt:
Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.
SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.
Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1
nc ).
DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.
Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25
Allgemeines PrinzipWir haben implizit gezeigt:
Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.
SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.
Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1
nc ).
DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.
Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25
Allgemeines PrinzipWir haben implizit gezeigt:
Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.
SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.
Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1
nc ).
DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.
Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25
Allgemeines PrinzipWir haben implizit gezeigt:
Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.
SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.
Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1
nc ).
DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus.
Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.
Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25
Allgemeines PrinzipWir haben implizit gezeigt:
Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.
SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.
Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1
nc ).
DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.
Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25
Zusammenfassung
Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:
Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform
Deterministische vs. randomisierte Algorithmen
Komplexitätsmaße: Zeit, #Nachrichten
Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung
Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25
Zusammenfassung
Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:
Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform
Deterministische vs. randomisierte Algorithmen
Komplexitätsmaße: Zeit, #Nachrichten
Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung
Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25
Zusammenfassung
Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:
Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform
Deterministische vs. randomisierte Algorithmen
Komplexitätsmaße: Zeit, #Nachrichten
Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung
Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25
Zusammenfassung
Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:
Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform
Deterministische vs. randomisierte Algorithmen
Komplexitätsmaße: Zeit, #Nachrichten
Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung
Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25
Zusammenfassung
Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:
Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform
Deterministische vs. randomisierte Algorithmen
Komplexitätsmaße: Zeit, #Nachrichten
Obere und untere Schranken (bzw. Unmöglichkeit)
Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung
Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25
Zusammenfassung
Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:
Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform
Deterministische vs. randomisierte Algorithmen
Komplexitätsmaße: Zeit, #Nachrichten
Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung
Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25
�ellen
Der Inhalt dieser Vorlesungseinheit basiert zum Teil auf Vorlesungseinheitenvon Robert Elsässer und Stefan Schmid.
Literatur:
Hagit A�iya, Jennifer Welch (2004) Distributed Computing, Kapitel 3 u. 14,Wiley.Daniel S. Hirschberg, James B. Sinclair. „Decentralized Extrema-Finding inCircular Configurations of Processors“. Communications of the ACM 23(11):627–628 (1980)Alon Itai, Michael Rodeh. „Symmetry breaking in distributed networks“.Information and Computation 88(1): 60–87 (1990)Nancy A. Lynch (1996) Distributed Algorithms, Kapitel 3, Morgan Kaufmann.
Sebastian Forster (Uni Salzburg) Leader Election II 25 / 25