2023-11-12 02:50:52 +00:00
[[algoritmo]] di [[broadcast affidabile su grafo completo]].
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive
- **[[restrizione di affidabilità|Affidabilità]]**
- numero di [[guasti]] noto
2023-12-19 01:19:27 +00:00
## [[comportamento]]
2023-11-12 02:50:52 +00:00
> [!Summary]
> Il [[leader]] invia il [[messaggio]] ad un numero sufficiente di [[vicini di un'entità|vicini]] per garantire che arrivi ad almeno a uno, poi essi lo inoltrano a tutti i vicini.
## [[algoritmo corretto|Correttezza]]
> [!Success]
> Per la [[edge-broadcast-possibility]], ci sono sempre [[canale di comunicazione|canali]] sufficienti a consegnare il [[messaggio]] a tutte le [[entità]].
## [[costo computazionale distribuito|Costo computazionale]]
| Costo | [[notazione O-grande]] |
|-|-|
| [[comunicazione]] | $O(Entities \cdot Fallible)$ |
2023-12-19 01:19:27 +00:00
| [[9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo]] | $O(1)$ |
2023-11-12 02:50:52 +00:00
2023-12-19 01:19:27 +00:00
### [[comunicazione]]
2023-11-12 02:50:52 +00:00
Durante il primo step, vengono inviati dal [[leader]]:
$$
Fallible + 1
$$
Durante il secondo step, vengono inviati da ogni [[entità]] ricevitrice a tutti gli altri che non sono lei stessa o il [[leader]]:
$$
\sum_{Entity}^{Fallible + 1} Entities - 2
$$
Ovvero:
$$
(Fallible + 1) \cdot (Entities - 2)
$$
In [[notazione asintotica]]:
$$
\Large O(Entities \cdot Fallible)
$$
2023-12-19 01:19:27 +00:00
### [[9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo]]
2023-11-12 02:50:52 +00:00
Vengono effettuati sempre $2$ passi, che in [[notazione asintotica]] è:
$$
\Large O(1)
$$