
Understanding Minimum Bottleneck Spanning Trees Theory
Explore the concept of Minimum Bottleneck Spanning Trees (MBST) and their significance in graph theory. Learn about the relation between MBST and Minimum Spanning Trees (MST), along with algorithms for finding MBST in both undirected and directed graphs. Discover how MBST is essential in optimizing spanning tree structures within a graph.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Minimum Bottleneck Spanning Trees (MBST) DONGFENG GU
Outline 1. Definition 2. Relation between Minimum Bottleneck Spanning Tree (MBST) and Minimum Spanning Tree (MST) 3. Camerini s algorithm for finding an MBST in an undirected connected graph 4. Camerini s algorithm for finding an MBSA in a directed connected graph 5. 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) MBST is a spanning tree which has the minimum bottleneck edge value among all the possible spanning trees in a graph G(V,E). 1 2 4 13 5 6 14 3 9 6 8 14 8 12 11 10
MBST VS MST Minimum Spanning Tree (MST) is necessary a Minimum Bottleneck Spanning Tree (MBST) while the opposite is not. 1 2 4 13 5 6 7 3 9 6 8 14 8 12 11 10 Therefore any algorithm that can find the MST can also find the MBST.
Camerinis 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 GBand = 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 6 7 3 9 6 8 14 8 12 11 10
Camerinis 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 GBand = N1, N2, N3 Nc, where Ni(i = 1,2, ,c) is the set of nodes of the i-th component of F 1 2 N1 Weight of B: 1,2,3,4,5,6,6 Weight of A: 7,8,8,9,10,11,12,13,14 4 5 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) .
Example G 4 8 2 3 1 6 7 5
Example G B N1 2 3 N3 1 N2 In this case, F is not a spanning tree of G
Example (GA) N1 8 2 3 N3 1 6 7 N2 5
Example MBST of (GA) N1 8 2 3 N3 1 6 7 N2 5 e A eB
Example GB N1 N2(N3) N1 5 N2 In this case, F is not a spanning tree of G
Example (GA) N1 N2(N3) N1 8 5 7 N2 e A eB
Example MBST of (GA) N1 N2(N3) N1 8 5 7 N2 e A eB
Example GB N1 N2 N1 7 eB In this case, F is a spanning tree of G
Example MBST(GB) N1 N2 N1 7 In this case, |E| = 1 return E
Example G 4 2 3 8 2 3 1 7 1 6 7 5 5 Final Result
Time Complexity UH, FOREST all require O(? 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 2?) at the i-th iteration, Therefore the time complexity is O(m + m/2 + m/4 + + 1) = O(m)
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}. Root(a) 1 2 4 13 5 6 14 3 9 6 Node a is called the root of the arborescence. An arborescence is a spanning arborescence if V = V - {1}. 8 14 8 12 12 12
Camerinis algorithm for MBSA 1. T represents a subset of E for which it is know that GTdoes 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: ( ? ? ) 2 |A| = Wa>= Wb, a A and b B 3. BUSH(G) returns a maximal arborescence of G rooted at node a
Example MBSA(G,w,T) Root (a) 4 8 3 2 1 6 7 5
Example F Root (a) 4 2 1 F is not a spanning arborescence of G
Example (G,w,T=(T U B)) Root (a) 4 8 3 2 1 6 7 5 eT U B
Example MBSA(G,w,T= (T U B)) Root (a) 4 8 3 2 1 6 7 5 e A eT U B = T eB
Example F Root (a) 4 2 1 5 Fis not a spanning arborescence of G
Example (G,w,T= TU B) Root (a) 4 8 3 2 1 6 7 5 e A eT=TU B
Example MBSA(G,w,T= TU B) Root (a) 4 8 3 2 1 6 7 5 e A eT=TU B eB
Example F Root (a) 4 2 1 7 5 eTU B S=F
Example MBSA((GBUT,w,T)) Root (a) 4 2 3 1 6 7 5 eB eT |E-T|=1, return
Example F Root (a) 4 2 1 7 5
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] 4 6 4 6 - - 8 5 2 6 3 2 4 4 6 5 3 1 6 7 2 1 5
Example F Vertex X C(v) P(v) [parent of v] 4 6 4 6 - - 8 3 2 5 2 6 4 4 6 5 3 1 1 5 1 2 6 5 6 7 2 1 5
Example F Vertex X C(v) P(v) [parent of v] 4 6 4 6 - - 8 3 2 5 2 6 4 4 6 5 3 1 1 5 1 2 6 5 6 7 remove-> 5 3 4 2 1 5
Example F Vertex X C(v) P(v) [parent of v] 4 6 4 6 - - 8 3 2 5 2 6 4 4 6 5 3 1 1 5 1 replace-> 2 6 5 6 7 2 5 1 2 1 5
Example F Vertex X C(v) P(v) [parent of v] 4 6 4 6 - - 8 3 2 5 2 6 4 4 6 5 3 1 1 5 1 2 5 1 6 7 3 7 2 2 1 5
Example F Vertex X C(v) P(v) [parent of v] 4 6 4 6 - - 8 3 2 5 2 6 4 4 6 5 3 1 1 5 1 2 5 1 6 7 3 7 2 2 1 5 4 8 3 remove->
Example F Vertex X C(v) P(v) [parent of v] 4 6 4 6 - - 2 5 2 6 4 4 6 5 3 1 1 5 1 2 5 1 7 3 7 2 2 1 5 End
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?