A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M....
-
date post
21-Dec-2015 -
Category
Documents
-
view
218 -
download
3
Transcript of A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M....
![Page 1: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/1.jpg)
A Distributed Algorithm for Minimum-Weight Spanning
Treesby
R. G. Gallager, P.A. Humblet, and P. M. Spira
ACM, Transactions on Programming Language and systems,1983
presented byHanan Shpungin
![Page 2: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/2.jpg)
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
![Page 3: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/3.jpg)
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
![Page 4: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/4.jpg)
Introduction
• Problem( , )G V E A graph
Every edge has a weight , ( )e E w e
4
8 3
1
7
25
6
![Page 5: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/5.jpg)
• Solution( , )T V E A spanning tree
So that the sum is minimized( )e E
w e
Introduction
4
8 3
1
7
25
6
![Page 6: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/6.jpg)
5
• Solution( , )T V E A spanning tree
So that the sum is minimized( )e E
w e
Introduction
4
8 3
1
7
2 6
![Page 7: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/7.jpg)
• Definition – MST fragment A connected sub-tree of MST
Introduction
54
8 3
1
7
2 6
Example of possible fragments:
![Page 8: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/8.jpg)
• MST Property 1Given a fragment of an MST, let e be a minimum-weight outgoing edge of the fragment. Then joining e and its adjacent non-fragment node to the fragment yields another fragment of an MST.
Introduction
54
8 3
1
7
2 6
e
![Page 9: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/9.jpg)
• MST Property 1Given a fragment of an MST, let e be a minimum-weight outgoing edge of the fragment. Then joining e and its adjacent non-fragment node to the fragment yields another fragment of an MST.
Introduction
54
8 3
1
7
2 6
e• Proof:
![Page 10: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/10.jpg)
• MST Property 1Given a fragment of an MST, let e be a minimum-weight outgoing edge of the fragment. Then joining e and its adjacent non-fragment node to the fragment yields another fragment of an MST.
Introduction
54
8 3
1
7
2 6
• Proof:Suppose e is not in MST, but some e’ instead.
e’
e
![Page 11: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/11.jpg)
e
• MST Property 1Given a fragment of an MST, let e be a minimum-weight outgoing edge of the fragment. Then joining e and its adjacent non-fragment node to the fragment yields another fragment of an MST.
Introduction
54
8 3
1
7
2 6
• Proof:Suppose e is not in MST, but some e’ instead.
e’
MST with e forms a cycle.
![Page 12: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/12.jpg)
e
• MST Property 1Given a fragment of an MST, let e be a minimum-weight outgoing edge of the fragment. Then joining e and its adjacent non-fragment node to the fragment yields another fragment of an MST.
Introduction
54
8 3
1
7
2 6
• Proof:Suppose e is not in MST, but some e’ instead.
e’
MST with e forms a cycle.
We obtain a cheaper MST with e instead of e’.
![Page 13: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/13.jpg)
• MST Property 2If all the edges of a connected graph have different weights, then the MST is unique.
Introduction
4
8 3
1
7
25
6
![Page 14: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/14.jpg)
• MST Property 2If all the edges of a connected graph have different weights, then the MST is unique.
Introduction
4
8 3
1
7
25
6
4
8 3
1
7
25
6
• Proof:
![Page 15: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/15.jpg)
• MST Property 2If all the edges of a connected graph have different weights, then the MST is unique.
Introduction
4
8 3
1
7
25
6
4
8 3
1
7
25
6
Suppose existence of two MSTs.• Proof:
T T’
![Page 16: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/16.jpg)
• MST Property 2If all the edges of a connected graph have different weights, then the MST is unique.
Introduction
4
8 3
1
7
25
6
4
8 3
1
7
25
6
Suppose existence of two MSTs.• Proof:
T T’
Let e be the minimal-weight edge not in both MSTs (wlog e in T).
e
![Page 17: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/17.jpg)
• MST Property 2If all the edges of a connected graph have different weights, then the MST is unique.
Introduction
4
8 3
1
7
25
6
4
8 3
1
7
25
6
Suppose existence of two MSTs.• Proof:
T T’
Let e be the minimal-weight edge not in both MSTs (wlog e in T).
T’ with e has a cycle
e
![Page 18: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/18.jpg)
• MST Property 2If all the edges of a connected graph have different weights, then the MST is unique.
Introduction
4
8 3
1
7
25
6
4
8 3
1
7
25
6
Suppose existence of two MSTs.• Proof:
T T’
Let e be the minimal-weight edge not in both MSTs (wlog e in T).
T’ with e has a cycle
ee’
At least cycle edge e’ is not in T.
![Page 19: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/19.jpg)
• MST Property 2If all the edges of a connected graph have different weights, then the MST is unique.
Introduction
4
8 3
1
7
25
6
4
8 3
1
7
25
6
Suppose existence of two MSTs.• Proof:
T T’
Let e be the minimal-weight edge not in both MSTs (wlog e in T).
T’ with e has a cycle
At least cycle edge e’ is not in T.
ee’
Since w(e) < w(e’) we conclude that T’ with e and without e’ is a smaller MST than T’.
![Page 20: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/20.jpg)
• Idea of MST based on properties 1 & 2 Start with fragments of one node.
4
8 3
1
7
25
6
Introduction
![Page 21: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/21.jpg)
• Idea of MST based on properties 1 & 2 Enlarge fragments in any order (property 1)
4
8 3
1
7
25
6
Combine fragments with a common node (property 2)
Introduction
![Page 22: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/22.jpg)
• Idea of MST based on properties 1 & 2 Enlarge fragments in any order (property 1)
4
8 3
1
7
25
6
Combine fragments with a common node (property 2)
Introduction
![Page 23: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/23.jpg)
• Idea of MST based on properties 1 & 2 Enlarge fragments in any order (property 1)
4
8 3
1
7
25
6
Combine fragments with a common node (property 2)
Introduction
![Page 24: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/24.jpg)
4
8 3
1
7
25
6
• Idea of MST based on properties 1 & 2 Enlarge fragments in any order (property 1) Combine fragments with a common node (property 2)
Introduction
![Page 25: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/25.jpg)
4
8 3
1
7
25
6
• Idea of MST based on properties 1 & 2 Enlarge fragments in any order (property 1) Combine fragments with a common node (property 2)
Introduction
![Page 26: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/26.jpg)
4
8 3
1
7
25
6
• Idea of MST based on properties 1 & 2 Enlarge fragments in any order (property 1) Combine fragments with a common node (property 2)
Introduction
![Page 27: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/27.jpg)
4
8 3
1
7
25
6
• Idea of MST based on properties 1 & 2 Enlarge fragments in any order (property 1) Combine fragments with a common node (property 2)
Introduction
![Page 28: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/28.jpg)
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
![Page 29: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/29.jpg)
4
8 3
1
7
25
6
The idea of Distributed MST
• Fragments Every node starts as a single fragment.
![Page 30: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/30.jpg)
4
8 3
1
7
25
6
The idea of Distributed MST
• Fragments Each fragment finds its minimum outgoing edge.
![Page 31: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/31.jpg)
4
8 3
1
7
25
6
The idea of Distributed MST
• Fragments Each fragment finds its minimum outgoing edge. Then it tries to combine with the adjacent fragment.
![Page 32: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/32.jpg)
The idea of Distributed MST
• Levels Every fragment has an associated level that has impact on combining fragments. A fragment with a single node is defined to to be at level 0.
![Page 33: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/33.jpg)
The idea of Distributed MST
• Levels The combination of two fragments depends on the levels of fragments.
4
8 3
1
7
25
6
F
F’
![Page 34: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/34.jpg)
The idea of Distributed MST
• Levels The combination of two fragments depends on the levels of fragments.
4
8 3
1
7
25
6
L=1
L’=2
F
F’
If a fragment F wishes to connect to a fragment F’ and L < L’ then:
![Page 35: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/35.jpg)
The idea of Distributed MST
• Levels The combination of two fragments depends on the levels of fragments.
4
8 3
1
7
25
6
L=1
L’=2
F
F’
If a fragment F wishes to connect to a fragment F’ and L < L’ then:F is absorbed in F’ and the resulting fragment is at level L’.
![Page 36: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/36.jpg)
The idea of Distributed MST
• Levels The combination of two fragments depends on the levels of fragments.
4
8 3
1
7
25
6
L=1L’=1
FF’
If fragments F and F’ have the same minimum outgoing edge and L = L’ then:
![Page 37: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/37.jpg)
The idea of Distributed MST
• Levels The combination of two fragments depends on the levels of fragments.
4
8 3
1
7
25
6
L=1L’=1
FF’
If fragments F and F’ have the same minimum outgoing edge and L = L’ then:The fragments combine into a new fragment F’’ at level L’’ = L+1.
L’’=2F’’
![Page 38: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/38.jpg)
The idea of Distributed MST
• Levels The identity of a fragment is the weight of its
4
8 3
1
7
25
6
If fragments F and F’ with same level were combined, the combining edge is called the core of the new segment.
L’’=2F’’
core.
core
![Page 39: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/39.jpg)
The idea of Distributed MST
• State Each node has a state
Sleeping - initial state
Find - during fragment’s search for a minimal outgoing edge
Found - otherwise (when a minimal outgoing edge was found
![Page 40: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/40.jpg)
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
![Page 41: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/41.jpg)
4
8 3
1
7
25
6
The Algorithm
• Fragment minimum outgoing edge discovery Special case of zero-level fragment (Sleeping).
![Page 42: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/42.jpg)
4
8 3
1
7
25
6
The Algorithm
• Fragment minimum outgoing edge discovery
When a node awakes from the state Sleeping, it finds a minimum edge connected.
Special case of zero-level fragment (Sleeping).
![Page 43: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/43.jpg)
The Algorithm
• Minimum outgoing edge discovery
Marks it as a branch of MST and sends a Connect message over this edge.
4
8 3
1
7
25
6
When a node awakes from the state Sleeping, it finds a minimum edge connected.
Special case of zero-level fragment (Sleeping).
![Page 44: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/44.jpg)
The Algorithm
• Minimum outgoing edge discovery
Marks it as a branch of MST and sends a Connect message over this edge.Goes into a Found state.
4
8 3
1
7
25
6
When a node awakes from a state Sleeping, it finds a minimum edge connected.
Special case of zero-level fragment (Sleeping).
![Page 45: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/45.jpg)
The Algorithm
• Minimum outgoing edge discovery Take a fragment at level L that was just combined out of two level L-1 fragments.
L=1
L’=1
F
F’
L’’=2F’’
4
3
1
7
25
6
8
![Page 46: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/46.jpg)
The Algorithm
• Minimum outgoing edge discovery
The weight of the core is the identity of the fragment.
Take a fragment at level L that was just combined out of two level L-1 fragments.
core
L=1
L’=1
F
F’
L’’=2F’’
4
3
1
7
25
6
8ID’’ = 2
It acts as a root of a fragment tree.
![Page 47: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/47.jpg)
The Algorithm
• Minimum outgoing edge discovery
Nodes adjacent to core send an Initiate message to the borders.
Take a fragment at level L that was just combined out of two level L-1 fragments.
4
3
1
7
25
6
8
![Page 48: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/48.jpg)
The Algorithm
• Minimum outgoing edge discovery
Nodes adjacent to core send an Initiate message to the borders.
Take a fragment at level L that was just combined out of two level L-1 fragments.
Relayed by the intermediate nodes in the fragment.
4
3
1
7
25
6
8
![Page 49: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/49.jpg)
The Algorithm
• Minimum outgoing edge discovery
Nodes adjacent to core send an Initiate message to the borders.
Take a fragment at level L that was just combined out of two level L-1 fragments.
Relayed by the intermediate nodes in the fragment.
4
3
1
7
25
6
8
Puts the nodes in the Find state.
![Page 50: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/50.jpg)
The Algorithm
• Minimum outgoing edge discovery
Basic - yet to be classified, can be inside fragment or outgoing edges
Edge classification/
4
3
1
7
25
6
8
![Page 51: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/51.jpg)
The Algorithm
• Minimum outgoing edge discovery
Rejected – an inside fragment edge
Edge classification.
4
3
1
7
25
6
8
![Page 52: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/52.jpg)
The Algorithm
• Minimum outgoing edge discovery
Branch – an MST edge
Edge classification.
4
3
1
7
25
6
8
![Page 53: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/53.jpg)
The Algorithm
• Minimum outgoing edge discovery
Sends a Test message on Basic edges (minimal first)
On receiving the Initiate message a node tries to find a minimum outgoing edge.
4
3
1
7
25
6
8
![Page 54: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/54.jpg)
The Algorithm
• Minimum outgoing edge discovery
In case of same identity:
On receiving the Test message.
4
3
1
7
25
6
8send a Reject message, the edge is Rejected.In case Test was sent in both directions, the edge is Rejected automatically without a Reject message.
![Page 55: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/55.jpg)
The Algorithm
• Minimum outgoing edge discovery
In case of a self lower level:
On receiving the Test message.
4
3
1
7
25
6
8Delay the response until the identity rises sufficiently.
L=0
L=3
ResponseDelayed
![Page 56: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/56.jpg)
The Algorithm
• Minimum outgoing edge discovery
In case of a self higher level:
On receiving the Test message.
4
3
1
7
25
6
8Send an Accept message
L=0
L=3The edge is accepted as a candidate.
![Page 57: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/57.jpg)
The Algorithm
• Minimum outgoing edge discovery
Nodes send Report messages along the branches of the MST.
Agreeing on the minimal outgoing edge.
4
3
1
7
25
6
8
If no outgoing edge was found the algorithm is complete.
![Page 58: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/58.jpg)
The Algorithm
• Minimum outgoing edge discovery
Nodes send Report messages along the branches of the MST.
Agreeing on the minimal outgoing edge.
4
3
1
7
25
6
8
If no outgoing edge was found the algorithm is complete.After sending they go into Found mode.
![Page 59: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/59.jpg)
The Algorithm
• Minimum outgoing edge discovery
Every leaf sends the Report when resolved its outgoing edge.
Agreeing on the minimal outgoing edge.
4
3
1
7
25
6
8
![Page 60: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/60.jpg)
The Algorithm
• Minimum outgoing edge discovery
Every leaf sends the Report when resolved its outgoing edge.
Agreeing on the minimal outgoing edge.
4
3
1
7
25
6
8
![Page 61: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/61.jpg)
The Algorithm
• Minimum outgoing edge discovery
Every interior sends the Report when resolved its outgoing and all its children sent theirs.
Agreeing on the minimal outgoing edge.
4
3
1
7
25
6
8
![Page 62: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/62.jpg)
The Algorithm
• Minimum outgoing edge discovery
Every interior sends the Report when resolved its outgoing and all its children sent theirs.
Agreeing on the minimal outgoing edge.
4
3
1
7
25
6
8
![Page 63: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/63.jpg)
The Algorithm
• Minimum outgoing edge discovery
4
3
1
7
25
6
8
Agreeing on the minimal outgoing edge.
Every node remembers the branch to the minimal outgoing edge of its sub-tree, denoted best-edge.
minimaloutgoing
best-edge
![Page 64: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/64.jpg)
The Algorithm
• Minimum outgoing edge discovery
4
3
1
7
25
6
8
Agreeing on the minimal outgoing edge.
The core adjacent nodes exchange Reports and decide on the minimal outgoing edge.
?
![Page 65: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/65.jpg)
The Algorithm
• Combining segments
4
3
1
7
25
6
8
Changing core.
When decided a Change-core message is sent over branches to the minimal outgoing edge.
?
new core
The tree branches point to the new core.
![Page 66: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/66.jpg)
The Algorithm
4
3
1
7
25
6
8
?
Connect
The tree branches point to the new core.
When decided a Change-core message is sent over branches to the minimal outgoing edge.
Finally a Connect message is sent over the minimal edge.
• Combining segments Changing core
![Page 67: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/67.jpg)
The Algorithm
• Final notes Connecting same level fragments.
4
8 3
1
7
25
6
L=1L’=1
FF’
![Page 68: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/68.jpg)
The Algorithm
Both core adjacent nodes send a Connect message, which causes the level to be increased.
• Final notes Connecting same level fragments.
4
8 3
1
7
25
6
L=1L’=1
FF’As a result, core is changed and
new Initiate messages are sent.
![Page 69: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/69.jpg)
The Algorithm
When lower level fragment F’ at node n’ joins some fragment F at node n before n sent its Report.
• Final notes Connecting lower level fragments.
We can send n’ an Initiate message with the Find state so it joins the search.
![Page 70: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/70.jpg)
The Algorithm
When lower level fragment F’ at node n’ joins some fragment F at node n after n sent its Report.
• Final notes Connecting lower level fragments.
It means that n already found a lower edge and therefore we can send n’ an Initiate message with the Found state so it doesn’t join the search.
![Page 71: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/71.jpg)
The Algorithm
When forwarding an Initiate message to the leafs, it is also forwarded to any pending fragments at level L-1, as they might be delayed with response.
• Final notes Forwarding the Initiate message at level L.
![Page 72: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/72.jpg)
The Algorithm
Level L+1 contains at least 2 fragments at level L.
• Final notes Upper bound on fragment levels.
Level L contains at least nodes.2L
is an upper bound on fragment levels.2log N
![Page 73: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/73.jpg)
The Algorithm
The Connect message is sent on the minimal outgoing edge only.
• Proof outline Correct MST build-up
As a result of properties 1 & 2 we should obtain an MST.
![Page 74: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/74.jpg)
The Algorithm
Assume there is a deadlock.
• Proof outline No deadlocks
Choose a fragment from the lowest level set and with minimal outgoing edge in that set.Its Test/Connect message surely will be replied.There will always be a working fragment.
![Page 75: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/75.jpg)
The Algorithm
• Complexity Communication
At most E Reject messages (with corresponding E Test messages, because each edge can be rejected only once.
![Page 76: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/76.jpg)
At every but the zero or last levels, each node can accept up to 1 Initiate, Accept messages. It can transmit up to 1 Test (successful), Report, ChangeRoot, Connect. Since the number of levels is bounded by number of such messages is at most .
The Algorithm
• Complexity Communication
2log N25 (log 1)N N
![Page 77: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/77.jpg)
At level zero, each node receives at most one Initiate and transmits at most one Connect. At the last level a node can send at most one Report message, as a result at most 3N such messages.
The Algorithm
• Complexity Communication
![Page 78: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/78.jpg)
As a result, the upper bound is: .
The Algorithm
• Complexity Communication
25 log 2N N E
![Page 79: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/79.jpg)
We prove by induction that one needs 5lN - 3N time units for every node to reach level l.
The Algorithm
• Complexity Time (under assumption of initial awakening it is )25 logN N
![Page 80: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/80.jpg)
l=1 Each node is awakened and sends a Connect message. By time 2N all nodes should be at level 1.
The Algorithm
• Complexity Time (under assumption of initial awakening it is )25 logN N
![Page 81: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/81.jpg)
Assume l At level l, each node can send at most N Test messages which will be answered before time 51N - N . The propagation of the Report messages, ChangeRoot, Connect, and Initiate messages can take at most 3N units, so that by time 5 ( l + 1)N - 3N all nodes are at level l + 1.
The Algorithm
• Complexity Time (under assumption of initial awakening it is )25 logN N
![Page 82: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/82.jpg)
At the highest level only Test, Reject, and Report messages are used.
The Algorithm
• Complexity Time (under assumption of initial awakening it is )25 logN N
![Page 83: A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.](https://reader030.fdocuments.net/reader030/viewer/2022032704/56649d5d5503460f94a3b913/html5/thumbnails/83.jpg)
As a result we have the algorithm complete under time units.
The Algorithm
• Complexity
25 logN N
Time (under assumption of initial awakening it is )25 logN N