Minimum Bottleneck Spanning Trees (MBST)

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Greedy Algorithms Greed is good. (Some of the time)
Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm.
1 A Faster Approximation Algorithm For The Steiner Problem In Graphs Kurt Mehlhorn. Information Processing Letters, 27(3):125–128, 高等演算法二
A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees David R. Karger David R. Karger Philip N. Klein Philip N. Klein Robert E. Tarjan.
1 Greedy 2 Jose Rolim University of Geneva. Algorithmique Greedy 2Jose Rolim2 Examples Greedy  Minimum Spanning Trees  Shortest Paths Dijkstra.
Discussion #36 Spanning Trees
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 13 Minumum spanning trees Motivation Properties of minimum spanning trees Kruskal’s.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
CSE 780 Algorithms Advanced Algorithms Minimum spanning tree Generic algorithm Kruskal’s algorithm Prim’s algorithm.
1 Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm.
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum.
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.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
More Chapter 7: Greedy Algorithms Kruskal’s Minimum Spanning Tree Algorithm.
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.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
Design and Analysis of Computer Algorithm September 10, Design and Analysis of Computer Algorithm Lecture 5-2 Pradondet Nilagupta Department of Computer.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Week -7-8 Topic - Graph Algorithms CSE – 5311 Prepared by:- Sushruth Puttaswamy Lekhendro Lisham.
1 Minimum Spanning Trees. Minimum- Spanning Trees 1. Concrete example: computer connection 2. Definition of a Minimum- Spanning Tree.
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 
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
5.5.2 M inimum spanning trees  Definition 24: A minimum spanning tree in a connected weighted graph is a spanning tree that has the smallest possible.
Chapter 23: Minimum Spanning Trees: A graph optimization problem Given undirected graph G(V,E) and a weight function w(u,v) defined on all edges (u,v)
MA/CSSE 473 Day 34 MST details: Kruskal's Algorithm Prim's Algorithm.
1 22c:31 Algorithms Minimum-cost Spanning Tree (MST)
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Algorithm Design and Analysis June 11, Algorithm Design and Analysis Pradondet Nilagupta Department of Computer Engineering This lecture note.
Midwestern State University Minimum Spanning Trees Definition of MST Generic MST algorithm Kruskal's algorithm Prim's algorithm 1.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Graph Search Applications, Minimum Spanning Tree
Introduction to Algorithms
Minimum Spanning Tree Chapter 13.6.
Spanning Trees.
Minimum Spanning Trees
Lecture 12 Algorithm Analysis
CISC 235: Topic 10 Graph Algorithms.
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Short paths and spanning trees
Data Structures & Algorithms Graphs
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Graph Algorithm.
Minimum-Cost Spanning Tree
Minimum Spanning Tree.
Connected Components Minimum Spanning Tree
Minimum Spanning Tree.
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Minimum-Cost Spanning Tree
Data Structures – LECTURE 13 Minumum spanning trees
Chapter 23 Minimum Spanning Tree
Minimum-Cost Spanning Tree
CS 583 Analysis of Algorithms
Minimum Spanning Tree Section 7.3: Examples {1,2,3,4}
Autumn 2015 Lecture 10 Minimum Spanning Trees
Lecture 12 Algorithm Analysis
Minimum Spanning Tree Algorithms
Minimum Spanning Tree.
Autumn 2016 Lecture 10 Minimum Spanning Trees
Lecture 12 Algorithm Analysis
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Winter 2019 Lecture 10 Minimum Spanning Trees
Minimum-Cost Spanning Tree
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Minimum Bottleneck Spanning Trees (MBST) Dongfeng Gu

Outline Definition Relation between Minimum Bottleneck Spanning Tree (MBST) and Minimum Spanning Tree (MST) Camerini’s algorithm for finding an MBST in an undirected connected graph Camerini’s algorithm for finding an MBSA in a directed connected graph Tarjan and Gabow Algorithm for MBSA

Bottleneck Edge Bottleneck edges in a spanning tree are the edges with the maximum weight in the tree 1 2 4 5 6 3 6 8 8

Minimum Bottleneck Spanning Tree (MBST) 1 MBST is a spanning tree which has the minimum bottleneck edge value among all the possible spanning trees in a graph G(V,E). 2 4 13 5 6 3 14 9 6 8 14 8 12 10 11

MBST VS MST Minimum Spanning Tree (MST) is necessary a Minimum Bottleneck Spanning Tree (MBST) while the opposite is not. Therefore any algorithm that can find the MST can also find the MBST. 1 2 4 13 5 6 3 7 9 6 8 14 8 12 if we replace the weight 3 edge with weight 7 edges, the new spanning is still a MBST, but it is not a MST. 11 10

Camerini’s algorithm in undirected graph Given an undirected connected graph G(V,E). Let A be a subset of E such that W(e) >= W(e’) for all e Є A, e’Є B = E\A. Let F be a maximal Forest of GB and η = N1 , N2 , N3 … Nc , where Ni (i = 1,2,…,c) is the set of nodes of the i-th component of F 1 2 Weight of B: 1,2,3,4,5,6,6 Weight of A: 7,8,8,9,10,11,12,13,14 4 13 5 Before we go into the details of the camerini’s algorithm we need to know some concepts and two theorems of it. let’s still use the graph that we used previously as an example. 6 3 7 9 6 8 14 8 12 11 10

Camerini’s algorithm in undirected graph Given an undirected connected graph G(V,E). Let A be a subset of E such that W(e) >= W(e’) for all e Є A, e’Є B = E\A. Let F be a maximal Forest of GB and η = N1 , N2 , N3 … Nc , where Ni (i = 1,2,…,c) is the set of nodes of the i-th component of F N1 1 2 Weight of B: 1,2,3,4,5,6,6 Weight of A: 7,8,8,9,10,11,12,13,14 4 5 after we remove all the red edge, which is subset A of graph G, we got GB , then we find the forest of GB . 6 3 6 N3 N2 F of GB

Two theorems Theorem 1: If F is a spanning tree of G, a Minimum Bottleneck Spanning Tree (MBST) of G is given by any MBST of GB . Theorem 2: If F is not a spanning tree of G, a MBST of G can be obtained by adding to F any MBST of G’, where G’ is the graph GA collapsed in to η, i.e. G’ = (GA)η.

Pseudocode 1. here is the pseudocode for the camerini’s algorithm, the procedure UH(E,w) will return a subset A of E such that all the edges in A are less weight than B, and it satisfied this condition

Pseudocode and FOREST return the maximum forest of (GB) if c = 1, that means F is a spanning tree. then we run this line, if not we run the other line these are the two theorems applied on the pseudocode

Example

Example As we can see in the graph, the c = 3, then we need to return the F U …

Example

Example

Example

Example

Example

Example

Example

Example

Time Complexity UH, FOREST all require O( 𝑚 2 𝑖 ) at the i-th iteration, where m is the number of edges at the first call Since UH is similar to finding the median and then splitting the edges of E with respect to that median, and finding the median can be done in O(m) time. FOREST can be computed using DFS Therefore the time complexity is O(m + m/2 + m/4 + … + 1) = O(m) That’s it for the camerini’s algorithm for an undirected connected graph. Next I will introduce the MBST in a directed connected graph.

Spanning arborescence (MBSA) An arborescence of G(V,E) is a minimal subgraph of G which contains a directed path from a specified node “a” in G to each node of a subset V’ of V-{1}. Node “a” is called the root of the arborescence. An arborescence is a spanning arborescence if V’ = V - {1}. Root(a) 1 2 4 13 5 6 3 14 9 6 8 14 8 12 Spanning arobrescense is the MBST in a directed graph, it can be expressed as MBSA, we need to know the follow concept of it. as we can see in the left graph, the red line forms a spanning tree and it is a MBSA. 12 12

Camerini’s algorithm for MBSA 1. T represents a subset of E for which it is know that GT does not contain any spanning arborescence rooted at node “a”. Initially T is empty 2. UH takes (E-T) set of edges in G and returns A ⊂ (E-T) such that: |A| = ( 𝐸−𝑇 ) 2 Wa >= Wb , a ∈ A and b ∈ B 3. BUSH(G) returns a maximal arborescence of G rooted at node “a” The camerini’s algorithm for MBSA is pretty much the same as the camerini’s algorithm for MBST. the UH function is exactly the same, but we have T variable, which represents a subset of E for …… the BUSH ….. as usual, I will use an example to explain how the algorithm works.

Example

Example

Example

Example

Example

Example

Example

Example

Example

Example So F” is the final answer of this algorithm

Time Complexity UH require O(m) BUSH requires O(m) at each execution and the number of these executions is O(logm) since |E-T| is being halved at each call of MBSA Sum up: O(mlogm)

Tarjan and Gabow Algorithm for MBSA Let S be the distinguished root vertex of G, and F be the collection of vertices and their inclusion cost c(v) Start with F having only node S Select minimum c(v) in F and delete the S For every edge(v,w), if w is not in F and not in Tree. Add it along with cost c(w) = weight(v,w) and make v its parent. If w already in F check if weight(v,w) < c(w) then make c(w) = weight(v,w) and make v become the parent of w

Example F Vertex X C(v) P(v) [parent of v] 6 -∞ - 5 2 4 Let’s still take the previous graph from the camerini’s algorithm.

Example F Vertex X C(v) P(v) [parent of v] 6 -∞ - 5 2 4 1 Let’s still take the previous graph from the camerini’s algorithm.

Example F Vertex X C(v) P(v) [parent of v] 6 -∞ - 5 2 4 1 3 Let’s still take the previous graph from the camerini’s algorithm. remove->

Example F Vertex X C(v) P(v) [parent of v] 6 -∞ - 5 2 4 1 replace-> Let’s still take the previous graph from the camerini’s algorithm.

Example F Vertex X C(v) P(v) [parent of v] 6 -∞ - 5 2 4 1 3 7 Let’s still take the previous graph from the camerini’s algorithm.

Example F Vertex X C(v) P(v) [parent of v] 6 -∞ - 5 2 4 1 3 7 8 Let’s still take the previous graph from the camerini’s algorithm. remove->

Example F Vertex X C(v) P(v) [parent of v] 6 -∞ - 5 2 4 1 3 7 End Let’s still take the previous graph from the camerini’s algorithm.

Time Complexity This algorithm runs in O(|V|log|V| + |E|) time if Fibonacci heap was used to implement F. Compare to the Camerini’s algorithmO(|E|log|E|) , if a graph has much more edges than vertexes, then the Tarjan and Gabow algorithm is better.

Reference [1]P.M. Camerini, The Min-Max Spanning Tree Problem And Some Ex- tensions, Information Processing Letters, Vol. 7, Num. 1, January 1978\newline [2]H.N. Gabow, R.E. Tarjan, Algorithms for Two Bottleneck Optimization Problems, Journal Of Algorithms 9 (1988) 411- 417\newline

Thank You! Question?