1.2 KiB
aliases | ||
---|---|---|
|
algoritmo di leader election per grafo qualsiasi di diametro di un grafo noto.
[!Summary]
Effettua tante iterazioni quante il diametro di un grafo, in cui ogni entità invia ai suoi vicini l'identificatore minimo visto fino a quel momento, propagando così gli identificatori ovunque.
algoritmo corretto
Dopo l'ultima iterazione, tutte le entità avranno ricevuto e identificato uno stesso minimo, permettendo di determinare quale eleggere leader.
costo computazionale distribuito
Comunicazione
Ad ogni iterazione, ogni entità manda un messaggio ad ogni vicino, per un totale di:
2 \cdot Channels
Essendo le iterazioni dipendenti dal diametro di un grafo, possiamo dire che i messaggi inviati siano:
Diameter \cdot 2 \cdot Channels
Ovvero:
\Large O(Diameter \cdot Channels)
Tempo
Considerando che ogni iterazione dura un'unità di tempo, l'algoritmo terminerà dopo tanto tempo quanto il diametro di un grafo:
Diameter
Ovvero:
\Large O(Diameter)