2023-11-08 18:28:09 +00:00
|
|
|
[[algoritmo]] di [[broadcast problem]].
|
|
|
|
|
|
|
|
## [[Comportamento]]
|
2023-11-01 21:23:31 +00:00
|
|
|
|
2023-11-05 04:15:02 +00:00
|
|
|
> [!Summary]
|
|
|
|
> Il [[leader]] invia il suo messaggio iniziale a tutti i vicini, e loro lo inoltrano a loro volta ai loro vicini.
|
2023-11-01 21:23:31 +00:00
|
|
|
|
2023-11-08 18:28:09 +00:00
|
|
|
Il [[leader]] è inizializzato allo stato `LEADER`, mentre tutti gli altri sono inizializzati allo stato `SLEEPING`.
|
2023-11-01 21:23:31 +00:00
|
|
|
|
|
|
|
### `LEADER`
|
|
|
|
|
2023-11-08 18:28:09 +00:00
|
|
|
All'[[impulso spontaneo|inizio dell'algoritmo]], invia il suo [[messaggio]] a tutti i vicini.
|
2023-11-01 21:23:31 +00:00
|
|
|
|
2023-11-08 18:28:09 +00:00
|
|
|
Ignora qualsiasi altra cosa riceva.
|
2023-11-01 21:23:31 +00:00
|
|
|
|
|
|
|
### `SLEEPING`
|
|
|
|
|
2023-11-08 18:28:09 +00:00
|
|
|
Se riceve il [[messaggio]] del `LEADER`, lo inoltra a tutti i vicini.
|
2023-11-01 21:23:31 +00:00
|
|
|
|
|
|
|
## [[algoritmo corretto|Correttezza]]
|
|
|
|
|
2023-11-08 18:28:09 +00:00
|
|
|
> [!Failure]
|
2023-11-01 21:23:31 +00:00
|
|
|
>
|
2023-11-08 18:28:09 +00:00
|
|
|
> Questo algoritmo potrebbe non terminare mai, in quanto due [[entità]] potrebbero inoltrarsi il [[messaggio]] del [[#`LEADER`]] all'infinito.
|