1 / 61

A Distributed Algorithm for Minimum-Weight Spanning Trees

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. Modified and Presented by Basil Alhakami. Outline. Introduction. The idea of Distributed MST. The algorithm.

aroman
Télécharger la présentation

A Distributed Algorithm for Minimum-Weight Spanning Trees

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Modified and Presented by Basil Alhakami

  2. Outline • Introduction • The idea of Distributed MST • The algorithm

  3. IntroductionWhy are we studying DMST Overall storage overflow problem in sensor networks X

  4. IntroductionWhy are we studying DMST Data aggregation problem in a general graph topology is NP-hard Solved by an approximation algorithm, which yields energy cost that is at most (2- 1/q ) times of the optimal. Where q is the number of aggregators. We need to visit q nodes so the algorithm sort all the edges in an increasing order and include them in the graph until we reach q edges (visited q aggregators).forming a q-edge forest. When q= |V|-1 ,where |V| is the total number of vertices. Than the q-edge forest is actually a Minimum Spanning Tree.

  5. Problem • A graph • Every edge has a weight 8 3 1 4 5 2 6 7 Introduction

  6. Solution • A spanning tree • So that the sum is minimized 8 3 1 4 5 2 6 7 Introduction

  7. Solution • A spanning tree • So that the sum is minimized Introduction 8 3 1 4 5 2 6 7

  8. 8 3 1 4 5 2 6 7 Introduction • Definition – MST fragment • A connected sub-tree of MST Example of possible fragments:

  9. 8 3 e 1 4 5 2 6 7 Introduction • 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.

  10. 8 3 1 4 5 2 6 7 Introduction • MST Property 2 If all the edges of a connected graph have different weights, then the MST is unique.

  11. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Start with fragments of one node.

  12. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Enlarge fragments in any order (property 1) • Combine fragments with a common node • (property 2)

  13. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Enlarge fragments in any order (property 1) • Combine fragments with a common node • (property 2)

  14. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Enlarge fragments in any order (property 1) • Combine fragments with a common node • (property 2)

  15. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Enlarge fragments in any order (property 1) • Combine fragments with a common node • (property 2)

  16. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Enlarge fragments in any order (property 1) • Combine fragments with a common node • (property 2)

  17. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Enlarge fragments in any order (property 1) • Combine fragments with a common node • (property 2)

  18. 8 3 1 4 5 2 6 7 Introduction • Idea of MST based on properties 1 & 2 • Enlarge fragments in any order (property 1) • Combine fragments with a common node • (property 2)

  19. Outline • Introduction • The idea of Distributed MST • The algorithm

  20. 8 3 1 4 5 2 6 7 The idea of Distributed MST • Fragments • Every node starts as a single fragment.

  21. 8 3 1 4 5 2 6 7 The idea of Distributed MST • Fragments • Each fragment finds its minimum outgoing edge.

  22. 8 3 1 4 5 2 6 7 The idea of Distributed MST • Fragments • Each fragment finds its minimum outgoing edge. • Then it tries to combine with the adjacent fragment.

  23. 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.

  24. 8 3 F 1 4 5 F’ 2 6 7 The idea of Distributed MST • Levels • The combination of two fragments depends on • the levels of fragments.

  25. 8 3 F L=1 1 4 5 F’ 2 6 L’=2 7 The idea of Distributed MST • Levels • The combination of two fragments depends on • the levels of fragments. If a fragment F wishes to connect to a fragment F’ and L < L’ then:

  26. 8 3 1 4 5 2 6 7 The idea of Distributed MST • Levels • The combination of two fragments depends on • the levels of fragments. If a fragment F wishes to connect to a fragment F’ and L < L’ then: F L=1 F is absorbed in F’ and the resulting fragment is at level L’. F’ L’=2

  27. 8 3 1 4 5 2 6 7 The idea of Distributed MST • Levels • The combination of two fragments depends on • the levels of fragments. If fragments F and F’ have the same minimum outgoing edge and L = L’ then: F F’ L=1 L’=1

  28. 8 3 1 4 5 2 6 7 The idea of Distributed MST • Levels • The combination of two fragments depends on • the levels of fragments. If fragments F and F’ have the same minimum outgoing edge and L = L’ then: F F’’ F’ L=1 L’’=2 L’=1 The fragments combine into a new fragment F’’ at level L’’ = L+1.

  29. 8 3 1 4 5 2 6 7 The idea of Distributed MST • Levels • The identity of a fragment is the weight of its • core. If fragments F and F’ with same level were combined, the combining edge is called the core of the new segment. F’’ L’’=2 core

  30. 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

  31. Outline • Introduction • The idea of Distributed MST • The algorithm

  32. 8 3 1 4 5 2 6 7 The Algorithm • Fragment minimum outgoing edge discovery • Special case of zero-level fragment (Sleeping).

  33. 8 3 1 4 5 2 6 7 The Algorithm • Fragment minimum outgoing edge discovery • Special case of zero-level fragment (Sleeping). When a node awakes from the state Sleeping, it finds a minimum edge connected.

  34. 8 3 1 4 5 2 6 7 The Algorithm • Minimum outgoing edge discovery • Special case of zero-level fragment (Sleeping). When a node awakes from the state Sleeping, it finds a minimum edge connected. Marks it as a branch of MST and sends a Connect message over this edge.

  35. 8 3 1 4 5 2 6 7 The Algorithm • Minimum outgoing edge discovery • Special case of zero-level fragment (Sleeping). When a node awakes from a state Sleeping, it finds a minimum edge connected. Marks it as a branch of MST and sends a Connect message over this edge. Goes into a Found state.

  36. 8 3 1 4 5 2 6 7 The Algorithm • Minimum outgoing edge discovery • Take a fragment at level L that was just combined • out of two level L-1 fragments. F’’ L’’=2 F L=1 F’ L’=1

  37. 8 3 1 4 5 2 6 7 The Algorithm • Minimum outgoing edge discovery • Take a fragment at level L that was just combined • out of two level L-1 fragments. The weight of the core is the identity of the fragment. ID’’ = 2 F’’ It acts as a root of a fragment tree. L’’=2 F L=1 F’ L’=1 core

  38. 8 3 1 4 5 2 6 7 The Algorithm • Minimum outgoing edge discovery • Take a fragment at level L that was just combined • out of two level L-1 fragments. Nodes adjacent to core send an Initiate message to the borders.

  39. The Algorithm • Minimum outgoing edge discovery • Take a fragment at level L that was just combined • out of two level L-1 fragments. Nodes adjacent to core send an Initiate message to the borders. 8 3 Relayed by the intermediate nodes in the fragment. 1 4 5 2 6 7

  40. The Algorithm • Minimum outgoing edge discovery • Take a fragment at level L that was just combined • out of two level L-1 fragments. Nodes adjacent to core send an Initiate message to the borders. 8 3 Relayed by the intermediate nodes in the fragment. 1 4 5 2 6 Puts the nodes in the Find state. 7

  41. The Algorithm • Minimum outgoing edge discovery • Edge classification/ Basic - yet to be classified, can be inside fragment or outgoing edges 8 3 1 4 5 2 6 7

  42. The Algorithm • Minimum outgoing edge discovery • Edge classification. Rejected – an inside fragment edge 8 3 1 4 5 2 6 7

  43. The Algorithm • Minimum outgoing edge discovery • Edge classification. Branch – an MST edge 8 3 1 4 5 2 6 7

  44. The Algorithm • Minimum outgoing edge discovery • On receiving the Initiate message a node tries • to find a minimum outgoing edge. Sends a Test message on Basic edges (minimal first) 8 3 1 4 5 2 6 7

  45. The Algorithm • Minimum outgoing edge discovery • On receiving the Test message. In case of same identity: send a Reject message, the edge is Rejected. 8 3 1 In case Test was sent in both directions, the edge is Rejected automatically without a Reject message. 4 5 2 6 7

  46. The Algorithm • Minimum outgoing edge discovery • On receiving the Test message. Response Delayed L=0 In case of a self lower level: Delay the response until the identity rises sufficiently. 8 3 L=3 1 4 5 2 6 7

  47. The Algorithm • Minimum outgoing edge discovery • On receiving the Test message. L=0 In case of a self higher level: Send an Accept message 8 3 The edge is accepted as a candidate. L=3 1 4 5 2 6 7

  48. The Algorithm • Minimum outgoing edge discovery • Agreeing on the minimal outgoing edge. Nodes send Report messages along the branches of the MST. 8 3 If no outgoing edge was found the algorithm is complete. 1 4 5 2 6 7

  49. The Algorithm • Minimum outgoing edge discovery • Agreeing on the minimal outgoing edge. Nodes send Report messages along the branches of the MST. 8 3 If no outgoing edge was found the algorithm is complete. 1 4 5 2 6 After sending they go into Found mode. 7

  50. The Algorithm • Minimum outgoing edge discovery • Agreeing on the minimal outgoing edge. Every leaf sends the Report when resolved its outgoing edge. 8 3 1 4 5 2 6 7

More Related