Tree Constructions Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Weighted graphs Example Consider the following graph, where nodes represent cities, and edges show if there is a direct flight between each pair of cities.
Joining LANs - Bridges. Connecting LANs 4 Repeater –Operates at the Physical layer no decision making, processing signal boosting only 4 Bridges –operates.
Chapter 15 Basic Asynchronous Network Algorithms
Graphs III (Trees, MSTs) (Chp 11.5, 11.6)
Minimum Spanning Tree CSE 331 Section 2 James Daly.
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
1 Graphs Traversals In many graph problems, we need to traverse the vertices of the graph in some order Analogy: Binary tree traversals –Pre-order Traversal.
Lecture 7: Synchronous Network Algorithms
3.3 Spanning Trees Tucker, Applied Combinatorics, Section 3.3, by Patti Bodkin and Tamsen Hunter.
Breadth-First Search and Shortest Path Kevin Schaffer Chapter 15.4 from “Distributed Algorithms” by Nancy A. Lynch.
Graph Searching (Graph Traversal) Algorithm Design and Analysis Week 8 Bibliography: [CLRS] – chap 22.2 –
Minimum Spanning Trees
Minimum Spanning Trees
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
CPSC 668Set 2: Basic Graph Algorithms1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
1 Minimum Spanning Trees Gallagher-Humblet-Spira (GHS) Algorithm.
Jim Anderson Comp 122, Fall 2003 Single-source SPs - 1 Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph.
Distributed Algorithms Broadcast and spanning tree.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Lecture 12 Minimum Spanning Tree. Motivating Example: Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in.
TCOM 501: Networking Theory & Fundamentals
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.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Tirgul 13 Today we’ll solve two questions from last year’s exams.
Assignment 4. (Due on Dec 2. 2:30 p.m.) This time, Prof. Yao and I can explain the questions, but we will NOT tell you how to solve the problems. Question.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Minimum Spanning Trees
Complexity of Bellman-Ford Theorem. The message complexity of Bellman-Ford algorithm is exponential. Proof outline. Consider a topology with an even number.
Distributed Algorithms 2014 Igor Zarivach A Distributed Algorithm for Minimum Weight Spanning Trees By Gallager, Humblet,Spira (GHS)
Broadcast & Convergecast Downcast & Upcast
Jim Anderson Comp 122, Fall 2003 Single-source SPs - 1 Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph.
Week -7-8 Topic - Graph Algorithms CSE – 5311 Prepared by:- Sushruth Puttaswamy Lekhendro Lisham.
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
Minimum Spanning Tree Given a weighted graph G = (V, E), generate a spanning tree T = (V, E’) such that the sum of the weights of all the edges is minimum.
COSC 2007 Data Structures II Chapter 14 Graphs III.
Network and Communications Ju Wang Chapter 5 Routing Algorithm Adopted from Choi’s notes Virginia Commonwealth University.
Complexity of Bellman-Ford
Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph. Want to compute a shortest path for each possible.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
CSE 2331 / 5331 Topic 12: Shortest Path Basics Dijkstra Algorithm Relaxation Bellman-Ford Alg.
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
Introduction to Graph Theory
1 The Minimum Spanning Tree Problem Distributing Prim’s and Kruskal’s Algorithm.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 2: Basic Graph Algorithms 1.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
LOCALIZED MINIMUM - ENERGY BROADCASTING IN AD - HOC NETWORKS Paper By : Julien Cartigny, David Simplot, And Ivan Stojmenovic Instructor : Dr Yingshu Li.
Trees Thm 2.1. (Cayley 1889) There are nn-2 different labeled trees
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Construction of Optimal Data Aggregation Trees for Wireless Sensor Networks Deying Li, Jiannong Cao, Ming Liu, and Yuan Zheng Computer Communications and.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
CIS 825 Lecture 9. Minimum Spanning tree construction Each node is a subtree/fragment by itself. Select the minimum outgoing edge of the fragment Send.
CIS 825 Lecture 8. Leader Election Aim is to elect exactly one node as the leader.
Distributed Algorithms for Network Diameter David Peleg, Liam Roditty and Elad Tal.
1 Minimum Spanning Trees Gallagher-Humblet-Spira (GHS) Algorithm.
Khaled M. Alzoubi, Peng-Jun Wan, Ophir Frieder
Minimum Spanning Trees
Minimum Spanning Trees
A Distributed Algorithm for Minimum-Weight Spanning Trees
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
CS 3343: Analysis of Algorithms
MST GALLAGER HUMBLET SPIRA ALGORITHM
Minimum Spanning Trees
EMIS 8373: Integer Programming
Tree Construction (BFS, DFS, MST) Chapter 5
The Minimum Spanning Tree Problem
MST GALLAGER HUMBLET SPIRA ALGORITHM
Algorithms (2IL15) – Lecture 7
Presentation transcript:

Tree Constructions Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM

Breadth-first spanning tree – a spanning tree with the property that for every other vertex, the path leading from the root to that vertex in the tree is of the minimum length possible. Breadth-First Spanning Tree (BFS Tree) BFS Tree rooted at rGraph G

Distributed Dijkstra’s Algorithm - I Start 0 Start 1 Join 1 Start 2 Join 3 After phase p is completed, a BFS tree T p is constructed. PROOF: By induction: T 1 is BFS tree. Since we always add closest nodes to the tree T p to construct tree T p+1, induction is completed. 1: The algorithm proceeds in phases. In phase p the nodes with distance p to the root are detected. Let T p be the tree in phase p. We start with T 1 which is the root plus all direct neighbors of the root. We start with phase p = 1: 2: repeat 3: The root starts phase p by broadcasting “start p" within T p. 4: When receiving “start p" a leaf node u of T p (that is, a node that was newly discovered in the last phase) sends a “join p + 1" message to all quiet neighbors. (A neighbor v is quiet if u has not yet “talked" to v.) 5: A node v receiving the first “join p+1" message replies with “ACK" and becomes a leaf of the tree T p+1. 6: A node v receiving any further “join" message replies with “NACK". 7: The leaves of T p collect all the answers of their neighbors; then the leaves start an echo algorithm back to the root. 8: When the echo process terminates at the root, the root increments the phase 9: until there was no new node detected

Distributed Dijkstra’s Algorithm - II The algorithm – applies Broadcast/Echo to tree T p – Then detects neighbors to construct tree T p+1 Time complexity Σ p=1 (2p+2)=O(D 2 ) – T p =2p+2 Broadcast/Echo algorithm for tree T p requires at most 2p time units Finding new neighbors requires at most 2 time units Message Complexity O(|E|+nD) – Each node receives and sends sends 1 message during Broadcast/Echo n nodes and D phases implies at most nD messages – On each edge there are at most 4 additional messages for discovery there are at most 2 “Join” there are at most 2 answers for the request either ACK or NACK a total of at most 4|E| messages

Bellman-Ford’s BFS Algorithm d root =0 ∞ ∞ ∞ 1 ∞ ∞ 1 2 ∞ Time complexity O(D) – The message of the root node arrives to the furthest node at most D amount of time. Message Complexity O(n|E|) – Consider fully-connected topology. 1: Each node u stores an integer d u which corresponds to the distance from u to the root. Initially d root = 0, and d u = ∞ for every other node u. 2: The root starts the algorithm by sending “1" to all neighbors. 3: if a node u receives a message “y" with y < d u from a neighbor v then 4: node u sets d u := y 5: node u sends y + 1" to all neighbors (except v) 6: end if

Minimum Spanning Tree Construction Given a weighted graph G = (V,E,w), the MST of G is a spanning tree T minimizing w(T), where w(G’) = Σ e in E’ w e. – We assume that no two edges of the graph have the same Blue Edge – Minimum outgoing edge of T’ T be a spanning tree of the weighted graph T’ is a subgraph of T (fragment) Edge e=(u,v) is an outgoing edge of T’ if u in T’ but v is not. Blue edge is always a part of T! – If e is not in MST, than another e’ such that w(e’)>w(e) is in MST which is a contradiction! T’ e e e’ Cycle

GHS (Gallager-Humblet-Spira) MST Algorithm Time complexity O(nlogn) Message Complexity O(|E|logn) : Initially each node is the root of its own fragment. We proceed in phases: 2: repeat 3: All nodes learn the fragment IDs of their neighbors. 4:The root of each fragment uses flooding/echo in its fragment to determine the blue edge b = (u,v) of the fragment. 5:The root sends a message to node u; while forwarding the message on the path from the root to node u all parent-child relations are inverted {such that u is the new temporary root of the fragment} 6: node u sends a merge request over the blue edge b = (u,v) 7:if node v also sent a merge request over the same blue edge b = (v,u) then 8: either u or v (whichever has the smaller ID) is the new fragment root 9:the blue edge b is directed accordingly 10: else 11: node v is the new parent of node u 12: end if 13: the newly elected root node informs all nodes in its fragment (again using fooding/echo) about its identity 14: until all nodes are in the same fragment (i.e., there is no outgoing edge)