Amnesiac flooding

In distributed computing amnesic flooding is a stateless distributed flooding algorithm that can be implemented as a broadcast protocol in synchronous distributed networks without the need to store messages or flags between communication rounds.

[1] The algorithm is simple: When a node receives a message, it forwards it to all of its neighbours it did not receive the message from.

To initiate a broadcast on a network, a node simply sends the message to all of its neighbours.

The algorithm has been shown to terminate when the message begins at any subset of the network nodes [1][2][3] or any sequence thereof.

a subset of the nodes of a graph

the time until an amnesiac flood terminates when started from

contracted to a single node is bipartite.

[1] This termination time is optimal for

-bipartite graphs and is asymptotically optimal for single node initialisation on non-bipartite graphs.

[1][2] Since its introduction, several variants of and related problems to amnesiac flooding have been studied.

For example, a modified variant requiring the initial set to retain their knowledge of this membership and the message for a single round, but always requiring

[5] A dynamic version of amnesiac flooding has been introduced [4] considering the case where there are multiple different messages in the system and where each node can only send one message per round.

This has been shown to terminate in the partial send case (

sends an arbitrary message to its neighbours that didn't send it any message last round) and the ranked-full send case (

sends the highest ranked message

last round) does not necessarily terminate without additional stored information (such as the diameter of the graph [6]).