January 1983 | R. G. GALLAGER, P. A. HUMBLET, and P. M. SPIRA
A distributed algorithm is presented for constructing the minimum-weight spanning tree (MST) in a connected undirected graph with distinct edge weights. Each node has a processor that knows the weights of adjacent edges and follows the same algorithm to exchange messages with neighbors until the MST is built. The total number of messages is at most $5N \log_2 N + 2E$, with each message containing at most one edge weight and $ \log_2 8N $ bits. The algorithm can be initiated spontaneously or by a subset of nodes.
The algorithm is similar to earlier work by Spira and Dalal, but it provides a detailed analysis of message complexity. It can handle non-distinct edge weights by appending node identities to edge weights. If node identities are not known, additional messages are required. However, another algorithm is developed that does not require distinct weights.
The algorithm works by combining fragments of nodes, where each fragment finds its minimum-weight outgoing edge. Fragments combine based on their levels, with lower-level fragments being absorbed into higher-level ones. The algorithm ensures that the minimum-weight outgoing edge is found for each fragment, and the process continues until the MST is formed.
The algorithm's correctness is based on properties of spanning trees, ensuring that the minimum-weight edges are selected correctly. The communication complexity is analyzed, showing that the number of messages is bounded by $5N \log_2 N + 2E$. The algorithm is efficient and can be used in communication networks where broadcasting information is required with minimal cost.
The algorithm also handles cases where node identities are not known, and it can be extended to handle non-distinct edge weights without additional messages. The timing analysis shows that the algorithm can be efficient, with a worst-case time complexity of $O(N \log N)$. The algorithm is implemented and tested on various network topologies, demonstrating its effectiveness in distributed environments.A distributed algorithm is presented for constructing the minimum-weight spanning tree (MST) in a connected undirected graph with distinct edge weights. Each node has a processor that knows the weights of adjacent edges and follows the same algorithm to exchange messages with neighbors until the MST is built. The total number of messages is at most $5N \log_2 N + 2E$, with each message containing at most one edge weight and $ \log_2 8N $ bits. The algorithm can be initiated spontaneously or by a subset of nodes.
The algorithm is similar to earlier work by Spira and Dalal, but it provides a detailed analysis of message complexity. It can handle non-distinct edge weights by appending node identities to edge weights. If node identities are not known, additional messages are required. However, another algorithm is developed that does not require distinct weights.
The algorithm works by combining fragments of nodes, where each fragment finds its minimum-weight outgoing edge. Fragments combine based on their levels, with lower-level fragments being absorbed into higher-level ones. The algorithm ensures that the minimum-weight outgoing edge is found for each fragment, and the process continues until the MST is formed.
The algorithm's correctness is based on properties of spanning trees, ensuring that the minimum-weight edges are selected correctly. The communication complexity is analyzed, showing that the number of messages is bounded by $5N \log_2 N + 2E$. The algorithm is efficient and can be used in communication networks where broadcasting information is required with minimal cost.
The algorithm also handles cases where node identities are not known, and it can be extended to handle non-distinct edge weights without additional messages. The timing analysis shows that the algorithm can be efficient, with a worst-case time complexity of $O(N \log N)$. The algorithm is implemented and tested on various network topologies, demonstrating its effectiveness in distributed environments.