SlideShare a Scribd company logo
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 systems,1983
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
Introduction
• Problem
( , )
G V E

 A graph
 Every edge has a weight , ( )
e E w e
  
4
8
3
1
7
2
5
6
• Solution
( , )
T V E

 A spanning tree
 So that the sum is minimized
( )
e E
w e



Introduction
4
8
3
1
7
2
5
6
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
• Definition – MST fragment
 A connected sub-tree of MST
Introduction
5
4
8
3
1
7
2 6
Example of possible fragments:
• MST Property 1
Given 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
5
4
8
3
1
7
2 6
e
• MST Property 1
Given 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
5
4
8
3
1
7
2 6
e
• Proof:
• MST Property 1
Given 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
5
4
8
3
1
7
2 6
• Proof:
Suppose e is not in MST, but some e’
instead.
e’
e
e
• MST Property 1
Given 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
5
4
8
3
1
7
2 6
• Proof:
Suppose e is not in MST, but some e’
instead.
e’
MST with e forms a cycle.
e
• MST Property 1
Given 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
5
4
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’.
• MST Property 2
If all the edges of a connected graph have different
weights, then the MST is unique.
Introduction
4
8
3
1
7
2
5
6
• MST Property 2
If all the edges of a connected graph have different
weights, then the MST is unique.
Introduction
4
8
3
1
7
2
5
6
4
8
3
1
7
2
5
6
• Proof:
• MST Property 2
If all the edges of a connected graph have different
weights, then the MST is unique.
Introduction
4
8
3
1
7
2
5
6
4
8
3
1
7
2
5
6
Suppose existence of two MSTs.
• Proof:
T T’
• MST Property 2
If all the edges of a connected graph have different
weights, then the MST is unique.
Introduction
4
8
3
1
7
2
5
6
4
8
3
1
7
2
5
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
• MST Property 2
If all the edges of a connected graph have different
weights, then the MST is unique.
Introduction
4
8
3
1
7
2
5
6
4
8
3
1
7
2
5
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
• MST Property 2
If all the edges of a connected graph have different
weights, then the MST is unique.
Introduction
4
8
3
1
7
2
5
6
4
8
3
1
7
2
5
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
e’
At least cycle edge e’is not in T.
• MST Property 2
If all the edges of a connected graph have different
weights, then the MST is unique.
Introduction
4
8
3
1
7
2
5
6
4
8
3
1
7
2
5
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.
e
e’
Since w(e) < w(e’) we conclude
that T’with e and without e’is a
smaller MST than T’.
• Idea of MST based on properties 1 & 2
 Start with fragments of one node.
4
8
3
1
7
2
5
6
Introduction
• Idea of MST based on properties 1 & 2
 Enlarge fragments in any order (property 1)
4
8
3
1
7
2
5
6
 Combine fragments with a common node
 (property 2)
Introduction
• Idea of MST based on properties 1 & 2
 Enlarge fragments in any order (property 1)
4
8
3
1
7
2
5
6
 Combine fragments with a common node
 (property 2)
Introduction
• Idea of MST based on properties 1 & 2
 Enlarge fragments in any order (property 1)
4
8
3
1
7
2
5
6
 Combine fragments with a common node
 (property 2)
Introduction
4
8
3
1
7
2
5
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
4
8
3
1
7
2
5
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
4
8
3
1
7
2
5
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
4
8
3
1
7
2
5
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
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
4
8
3
1
7
2
5
6
The idea of Distributed MST
• Fragments
 Every node starts as a single fragment.
4
8
3
1
7
2
5
6
The idea of Distributed MST
• Fragments
 Each fragment finds its minimum outgoing edge.
4
8
3
1
7
2
5
6
The idea of Distributed MST
• Fragments
 Each fragment finds its minimum outgoing edge.
 Then it tries to combine with the adjacent fragment.
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.
The idea of Distributed MST
• Levels
 The combination of two fragments depends on
 the levels of fragments.
4
8
3
1
7
2
5
6
F
F’
The idea of Distributed MST
• Levels
 The combination of two fragments depends on
 the levels of fragments.
4
8
3
1
7
2
5
6
L=1
L’=2
F
F’
If a fragment F wishes to
connect to a fragment F’
and L < L’then:
The idea of Distributed MST
• Levels
 The combination of two fragments depends on
 the levels of fragments.
4
8
3
1
7
2
5
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’.
The idea of Distributed MST
• Levels
 The combination of two fragments depends on
 the levels of fragments.
4
8
3
1
7
2
5
6
L=1
L’=1
F
F’
If fragments F and F’have
the same minimum outgoing
edge and L = L’then:
The idea of Distributed MST
• Levels
 The combination of two fragments depends on
 the levels of fragments.
4
8
3
1
7
2
5
6
L=1
L’=1
F
F’
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’’=2
F’’
The idea of Distributed MST
• Levels
 The identity of a fragment is the weight of its
4
8
3
1
7
2
5
6
If fragments F and F’with
same level were combined,
the combining edge is called
the core of the new segment.
L’’=2
F’’
 core.
core
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
Outline
• Introduction
• The idea of Distributed MST
• The algorithm
4
8
3
1
7
2
5
6
The Algorithm
• Fragment minimum outgoing edge discovery
 Special case of zero-level fragment (Sleeping).
4
8
3
1
7
2
5
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).
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
2
5
6
When a node awakes from
the state Sleeping, it finds a
minimum edge connected.
 Special case of zero-level fragment (Sleeping).
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
2
5
6
When a node awakes from a
state Sleeping, it finds a
minimum edge connected.
 Special case of zero-level fragment (Sleeping).
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’’=2
F’’
4
3
1
7
2
5
6
8
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’’=2
F’’
4
3
1
7
2
5
6
8
ID’’ = 2
It acts as a root of a
fragment tree.
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
2
5
6
8
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
2
5
6
8
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
2
5
6
8
Puts the nodes in the Find
state.
The Algorithm
• Minimum outgoing edge discovery
Basic - yet to be classified, can
be inside fragment or outgoing
edges
 Edge classification/
4
3
1
7
2
5
6
8
The Algorithm
• Minimum outgoing edge discovery
Rejected – an inside fragment
edge
 Edge classification.
4
3
1
7
2
5
6
8
The Algorithm
• Minimum outgoing edge discovery
Branch – an MST edge
 Edge classification.
4
3
1
7
2
5
6
8
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
2
5
6
8
The Algorithm
• Minimum outgoing edge discovery
In case of same identity:
 On receiving the Test message.
4
3
1
7
2
5
6
8
send a Reject message, the
edge is Rejected.
In case Test was sent in
both directions, the edge is
Rejected automatically
without a Reject message.
The Algorithm
• Minimum outgoing edge discovery
In case of a self lower level:
 On receiving the Test message.
4
3
1
7
2
5
6
8
Delay the response until the
identity rises sufficiently.
L=0
L=3
Response
Delayed
The Algorithm
• Minimum outgoing edge discovery
In case of a self higher level:
 On receiving the Test message.
4
3
1
7
2
5
6
8
Send an Accept message
L=0
L=3
The edge is accepted as a
candidate.
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
2
5
6
8
If no outgoing edge was
found the algorithm is
complete.
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
2
5
6
8
If no outgoing edge was
found the algorithm is
complete.
After sending they go into
Found mode.
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
2
5
6
8
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
2
5
6
8
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
2
5
6
8
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
2
5
6
8
The Algorithm
• Minimum outgoing edge discovery
4
3
1
7
2
5
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.
minimal
outgoing
best-edge
The Algorithm
• Minimum outgoing edge discovery
4
3
1
7
2
5
6
8
 Agreeing on the minimal outgoing edge.
The core adjacent nodes
exchange Reports and decide on
the minimal outgoing edge.
?
The Algorithm
• Combining segments
4
3
1
7
2
5
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.
The Algorithm
4
3
1
7
2
5
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
The Algorithm
• Final notes
 Connecting same level fragments.
4
8
3
1
7
2
5
6
L=1
L’=1
F
F’
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
2
5
6
L=1
L’=1
F
F’
As a result, core is changed and
new Initiate messages are sent.
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.
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.
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.
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.
2
log N
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.
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.
The Algorithm
• Complexity
 Communication
At most E Reject messages (with corresponding E
Test messages, because each edge can be rejected
only once.
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
2
log N
2
5 (log 1)
N N 
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
As a result, the upper bound is: .
The Algorithm
• Complexity
 Communication
2
5 log 2
N N E

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 )
2
5 log
N N
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 )
2
5 log
N N
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 )
2
5 log
N N
At the highest level only Test, Reject, and Report
messages are used.
The Algorithm
• Complexity
 Time (under assumption of initial awakening it
is )
2
5 log
N N
As a result we have the algorithm complete
under time units.
The Algorithm
• Complexity
2
5 log
N N
 Time (under assumption of initial awakening it
is )
2
5 log
N N

More Related Content

Similar to DMST.ppt

Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
HJ DS
 
Ch07 linearspacealignment
Ch07 linearspacealignmentCh07 linearspacealignment
Ch07 linearspacealignment
BioinformaticsInstitute
 
sorting
sortingsorting
Scale free network Visualiuzation
Scale free network VisualiuzationScale free network Visualiuzation
Scale free network Visualiuzation
Harshit Srivastava
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
Sharath TS
 
Graph Algorithms
Graph AlgorithmsGraph Algorithms
Graph Algorithms
Ashwin Shiv
 
Data Structures 5
Data Structures 5Data Structures 5
Data Structures 5
Dr.Umadevi V
 
Ram minimum spanning tree
Ram   minimum spanning treeRam   minimum spanning tree
Ram minimum spanning tree
Rama Prasath A
 
Argonne Presentation
Argonne PresentationArgonne Presentation
Argonne Presentation
chrislt521
 
Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
BaliThorat1
 
1535 graph algorithms
1535 graph algorithms1535 graph algorithms
1535 graph algorithms
Dr Fereidoun Dejahang
 
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
RAtna29
 
EVE161: Microbial Phylogenomics - Class 4 - Phylogeny
EVE161: Microbial Phylogenomics - Class 4 - PhylogenyEVE161: Microbial Phylogenomics - Class 4 - Phylogeny
EVE161: Microbial Phylogenomics - Class 4 - Phylogeny
Jonathan Eisen
 
Tensor Spectral Clustering
Tensor Spectral ClusteringTensor Spectral Clustering
Tensor Spectral Clustering
Austin Benson
 
Biological sequences analysis
Biological sequences analysisBiological sequences analysis
Biological sequences analysis
Davide Andrea Guastella
 
Data Mining Lecture_7.pptx
Data Mining Lecture_7.pptxData Mining Lecture_7.pptx
Data Mining Lecture_7.pptx
Subrata Kumer Paul
 
Trees second part in data structures with examples
Trees second part in data structures with examplesTrees second part in data structures with examples
Trees second part in data structures with examples
rupanaveen24
 
PVEB Tree.pptx
PVEB Tree.pptxPVEB Tree.pptx
PVEB Tree.pptx
Santhosh A
 
A tree kernel based approach for clone detection
A tree kernel based approach for clone detectionA tree kernel based approach for clone detection
A tree kernel based approach for clone detection
ICSM 2010
 
A Tree Kernel based approach for clone detection
A Tree Kernel based approach for clone detectionA Tree Kernel based approach for clone detection
A Tree Kernel based approach for clone detection
Valerio Maggio
 

Similar to DMST.ppt (20)

Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
 
Ch07 linearspacealignment
Ch07 linearspacealignmentCh07 linearspacealignment
Ch07 linearspacealignment
 
sorting
sortingsorting
sorting
 
Scale free network Visualiuzation
Scale free network VisualiuzationScale free network Visualiuzation
Scale free network Visualiuzation
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
 
Graph Algorithms
Graph AlgorithmsGraph Algorithms
Graph Algorithms
 
Data Structures 5
Data Structures 5Data Structures 5
Data Structures 5
 
Ram minimum spanning tree
Ram   minimum spanning treeRam   minimum spanning tree
Ram minimum spanning tree
 
Argonne Presentation
Argonne PresentationArgonne Presentation
Argonne Presentation
 
Chap10 slides
Chap10 slidesChap10 slides
Chap10 slides
 
1535 graph algorithms
1535 graph algorithms1535 graph algorithms
1535 graph algorithms
 
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
4888009.pptnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
EVE161: Microbial Phylogenomics - Class 4 - Phylogeny
EVE161: Microbial Phylogenomics - Class 4 - PhylogenyEVE161: Microbial Phylogenomics - Class 4 - Phylogeny
EVE161: Microbial Phylogenomics - Class 4 - Phylogeny
 
Tensor Spectral Clustering
Tensor Spectral ClusteringTensor Spectral Clustering
Tensor Spectral Clustering
 
Biological sequences analysis
Biological sequences analysisBiological sequences analysis
Biological sequences analysis
 
Data Mining Lecture_7.pptx
Data Mining Lecture_7.pptxData Mining Lecture_7.pptx
Data Mining Lecture_7.pptx
 
Trees second part in data structures with examples
Trees second part in data structures with examplesTrees second part in data structures with examples
Trees second part in data structures with examples
 
PVEB Tree.pptx
PVEB Tree.pptxPVEB Tree.pptx
PVEB Tree.pptx
 
A tree kernel based approach for clone detection
A tree kernel based approach for clone detectionA tree kernel based approach for clone detection
A tree kernel based approach for clone detection
 
A Tree Kernel based approach for clone detection
A Tree Kernel based approach for clone detectionA Tree Kernel based approach for clone detection
A Tree Kernel based approach for clone detection
 

Recently uploaded

Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
Kamal Acharya
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
harshapolam10
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
PreethaV16
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
AlvianRamadhani5
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...
um7474492
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
upoux
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
vmspraneeth
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
q30122000
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
Indrajeet sahu
 

Recently uploaded (20)

Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
 

DMST.ppt

  • 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 systems,1983
  • 2. Outline • Introduction • The idea of Distributed MST • The algorithm
  • 3. Outline • Introduction • The idea of Distributed MST • The algorithm
  • 4. Introduction • Problem ( , ) G V E   A graph  Every edge has a weight , ( ) e E w e    4 8 3 1 7 2 5 6
  • 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 5 6
  • 6. 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
  • 7. • Definition – MST fragment  A connected sub-tree of MST Introduction 5 4 8 3 1 7 2 6 Example of possible fragments:
  • 8. • MST Property 1 Given 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 5 4 8 3 1 7 2 6 e
  • 9. • MST Property 1 Given 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 5 4 8 3 1 7 2 6 e • Proof:
  • 10. • MST Property 1 Given 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 5 4 8 3 1 7 2 6 • Proof: Suppose e is not in MST, but some e’ instead. e’ e
  • 11. e • MST Property 1 Given 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 5 4 8 3 1 7 2 6 • Proof: Suppose e is not in MST, but some e’ instead. e’ MST with e forms a cycle.
  • 12. e • MST Property 1 Given 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 5 4 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’.
  • 13. • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique. Introduction 4 8 3 1 7 2 5 6
  • 14. • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique. Introduction 4 8 3 1 7 2 5 6 4 8 3 1 7 2 5 6 • Proof:
  • 15. • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique. Introduction 4 8 3 1 7 2 5 6 4 8 3 1 7 2 5 6 Suppose existence of two MSTs. • Proof: T T’
  • 16. • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique. Introduction 4 8 3 1 7 2 5 6 4 8 3 1 7 2 5 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
  • 17. • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique. Introduction 4 8 3 1 7 2 5 6 4 8 3 1 7 2 5 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
  • 18. • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique. Introduction 4 8 3 1 7 2 5 6 4 8 3 1 7 2 5 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 e’ At least cycle edge e’is not in T.
  • 19. • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique. Introduction 4 8 3 1 7 2 5 6 4 8 3 1 7 2 5 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. e e’ Since w(e) < w(e’) we conclude that T’with e and without e’is a smaller MST than T’.
  • 20. • Idea of MST based on properties 1 & 2  Start with fragments of one node. 4 8 3 1 7 2 5 6 Introduction
  • 21. • Idea of MST based on properties 1 & 2  Enlarge fragments in any order (property 1) 4 8 3 1 7 2 5 6  Combine fragments with a common node  (property 2) Introduction
  • 22. • Idea of MST based on properties 1 & 2  Enlarge fragments in any order (property 1) 4 8 3 1 7 2 5 6  Combine fragments with a common node  (property 2) Introduction
  • 23. • Idea of MST based on properties 1 & 2  Enlarge fragments in any order (property 1) 4 8 3 1 7 2 5 6  Combine fragments with a common node  (property 2) Introduction
  • 24. 4 8 3 1 7 2 5 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
  • 25. 4 8 3 1 7 2 5 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
  • 26. 4 8 3 1 7 2 5 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
  • 27. 4 8 3 1 7 2 5 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
  • 28. Outline • Introduction • The idea of Distributed MST • The algorithm
  • 29. 4 8 3 1 7 2 5 6 The idea of Distributed MST • Fragments  Every node starts as a single fragment.
  • 30. 4 8 3 1 7 2 5 6 The idea of Distributed MST • Fragments  Each fragment finds its minimum outgoing edge.
  • 31. 4 8 3 1 7 2 5 6 The idea of Distributed MST • Fragments  Each fragment finds its minimum outgoing edge.  Then it tries to combine with the adjacent fragment.
  • 32. 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.
  • 33. The idea of Distributed MST • Levels  The combination of two fragments depends on  the levels of fragments. 4 8 3 1 7 2 5 6 F F’
  • 34. The idea of Distributed MST • Levels  The combination of two fragments depends on  the levels of fragments. 4 8 3 1 7 2 5 6 L=1 L’=2 F F’ If a fragment F wishes to connect to a fragment F’ and L < L’then:
  • 35. The idea of Distributed MST • Levels  The combination of two fragments depends on  the levels of fragments. 4 8 3 1 7 2 5 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’.
  • 36. The idea of Distributed MST • Levels  The combination of two fragments depends on  the levels of fragments. 4 8 3 1 7 2 5 6 L=1 L’=1 F F’ If fragments F and F’have the same minimum outgoing edge and L = L’then:
  • 37. The idea of Distributed MST • Levels  The combination of two fragments depends on  the levels of fragments. 4 8 3 1 7 2 5 6 L=1 L’=1 F F’ 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’’=2 F’’
  • 38. The idea of Distributed MST • Levels  The identity of a fragment is the weight of its 4 8 3 1 7 2 5 6 If fragments F and F’with same level were combined, the combining edge is called the core of the new segment. L’’=2 F’’  core. core
  • 39. 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
  • 40. Outline • Introduction • The idea of Distributed MST • The algorithm
  • 41. 4 8 3 1 7 2 5 6 The Algorithm • Fragment minimum outgoing edge discovery  Special case of zero-level fragment (Sleeping).
  • 42. 4 8 3 1 7 2 5 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).
  • 43. 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 2 5 6 When a node awakes from the state Sleeping, it finds a minimum edge connected.  Special case of zero-level fragment (Sleeping).
  • 44. 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 2 5 6 When a node awakes from a state Sleeping, it finds a minimum edge connected.  Special case of zero-level fragment (Sleeping).
  • 45. 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’’=2 F’’ 4 3 1 7 2 5 6 8
  • 46. 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’’=2 F’’ 4 3 1 7 2 5 6 8 ID’’ = 2 It acts as a root of a fragment tree.
  • 47. 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 2 5 6 8
  • 48. 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 2 5 6 8
  • 49. 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 2 5 6 8 Puts the nodes in the Find state.
  • 50. The Algorithm • Minimum outgoing edge discovery Basic - yet to be classified, can be inside fragment or outgoing edges  Edge classification/ 4 3 1 7 2 5 6 8
  • 51. The Algorithm • Minimum outgoing edge discovery Rejected – an inside fragment edge  Edge classification. 4 3 1 7 2 5 6 8
  • 52. The Algorithm • Minimum outgoing edge discovery Branch – an MST edge  Edge classification. 4 3 1 7 2 5 6 8
  • 53. 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 2 5 6 8
  • 54. The Algorithm • Minimum outgoing edge discovery In case of same identity:  On receiving the Test message. 4 3 1 7 2 5 6 8 send a Reject message, the edge is Rejected. In case Test was sent in both directions, the edge is Rejected automatically without a Reject message.
  • 55. The Algorithm • Minimum outgoing edge discovery In case of a self lower level:  On receiving the Test message. 4 3 1 7 2 5 6 8 Delay the response until the identity rises sufficiently. L=0 L=3 Response Delayed
  • 56. The Algorithm • Minimum outgoing edge discovery In case of a self higher level:  On receiving the Test message. 4 3 1 7 2 5 6 8 Send an Accept message L=0 L=3 The edge is accepted as a candidate.
  • 57. 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 2 5 6 8 If no outgoing edge was found the algorithm is complete.
  • 58. 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 2 5 6 8 If no outgoing edge was found the algorithm is complete. After sending they go into Found mode.
  • 59. 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 2 5 6 8
  • 60. 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 2 5 6 8
  • 61. 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 2 5 6 8
  • 62. 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 2 5 6 8
  • 63. The Algorithm • Minimum outgoing edge discovery 4 3 1 7 2 5 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. minimal outgoing best-edge
  • 64. The Algorithm • Minimum outgoing edge discovery 4 3 1 7 2 5 6 8  Agreeing on the minimal outgoing edge. The core adjacent nodes exchange Reports and decide on the minimal outgoing edge. ?
  • 65. The Algorithm • Combining segments 4 3 1 7 2 5 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.
  • 66. The Algorithm 4 3 1 7 2 5 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
  • 67. The Algorithm • Final notes  Connecting same level fragments. 4 8 3 1 7 2 5 6 L=1 L’=1 F F’
  • 68. 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 2 5 6 L=1 L’=1 F F’ As a result, core is changed and new Initiate messages are sent.
  • 69. 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.
  • 70. 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.
  • 71. 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.
  • 72. 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. 2 log N
  • 73. 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.
  • 74. 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.
  • 75. The Algorithm • Complexity  Communication At most E Reject messages (with corresponding E Test messages, because each edge can be rejected only once.
  • 76. 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 2 log N 2 5 (log 1) N N 
  • 77. 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
  • 78. As a result, the upper bound is: . The Algorithm • Complexity  Communication 2 5 log 2 N N E 
  • 79. 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 ) 2 5 log N N
  • 80. 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 ) 2 5 log N N
  • 81. 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 ) 2 5 log N N
  • 82. At the highest level only Test, Reject, and Report messages are used. The Algorithm • Complexity  Time (under assumption of initial awakening it is ) 2 5 log N N
  • 83. As a result we have the algorithm complete under time units. The Algorithm • Complexity 2 5 log N N  Time (under assumption of initial awakening it is ) 2 5 log N N