Graph Theory Trees. WHAT YOU WILL LEARN Trees, spanning trees, and minimum-cost spanning trees.
Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum...
Transcript of Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum...
![Page 1: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/1.jpg)
Clustering Minimum Bottleneck Spanning Trees
Applications of Minimum Spanning Trees
T. M. Murali
February 17, 2009
![Page 2: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/2.jpg)
Clustering Minimum Bottleneck Spanning Trees
Minimum Spanning Trees
I We motivated MSTs through the problem of finding a low-cost networkconnecting a set of nodes.
I MSTs are useful in a number of seemingly disparate applications.
I We will consider two problems: clustering (Chapter 4.7) and minimumbottleneck graphs (problem 9 in Chapter 4).
![Page 3: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/3.jpg)
Clustering Minimum Bottleneck Spanning Trees
Motivation for Clustering
I Given a set of objects and distances between them.
I Objects can be images, web pages, people, species . . . .
I Distance function: increasing distance corresponds to decreasing similarity.
I Goal: group objects into clusters, where each cluster is a set of similarobjects.
![Page 4: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/4.jpg)
Clustering Minimum Bottleneck Spanning Trees
Formalising the Clustering Problem
I Let U be the set of n objects labelled p1, p2, . . . , pn.
I For every pair pi and pj , we have a distance d(pi , pj).
I We require d(pi , pi ) = 0, d(pi , pj) > 0, if i 6= j , and d(pi , pj) = d(pj , pi )
I Given a positive integer k, a k-clustering of U is a partition of U into knon-empty subsets or “clusters” C1, C2, . . . Ck .
I The spacing of a clustering is the smallest distance between objects in twodifferent subsets:
spacing(C1, C2, . . . Ck) = min1≤i,j≤k
i 6=j,p∈Ci ,q∈Cj
d(p, q)
Clustering of Maximum Spacing
INSTANCE: A set U of objects, a distance function d : U × U → R+,and a positive integer K
SOLUTION: A k-clustering of U whose spacing is the largest over allpossible k-clusterings.
![Page 5: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/5.jpg)
Clustering Minimum Bottleneck Spanning Trees
Formalising the Clustering Problem
I Let U be the set of n objects labelled p1, p2, . . . , pn.
I For every pair pi and pj , we have a distance d(pi , pj).
I We require d(pi , pi ) = 0, d(pi , pj) > 0, if i 6= j , and d(pi , pj) = d(pj , pi )
I Given a positive integer k , a k-clustering of U is a partition of U into knon-empty subsets or “clusters” C1, C2, . . . Ck .
I The spacing of a clustering is the smallest distance between objects in twodifferent subsets:
spacing(C1, C2, . . . Ck) = min1≤i,j≤k
i 6=j,p∈Ci ,q∈Cj
d(p, q)
Clustering of Maximum Spacing
INSTANCE: A set U of objects, a distance function d : U × U → R+,and a positive integer K
SOLUTION: A k-clustering of U whose spacing is the largest over allpossible k-clusterings.
![Page 6: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/6.jpg)
Clustering Minimum Bottleneck Spanning Trees
Formalising the Clustering Problem
I Let U be the set of n objects labelled p1, p2, . . . , pn.
I For every pair pi and pj , we have a distance d(pi , pj).
I We require d(pi , pi ) = 0, d(pi , pj) > 0, if i 6= j , and d(pi , pj) = d(pj , pi )
I Given a positive integer k , a k-clustering of U is a partition of U into knon-empty subsets or “clusters” C1, C2, . . . Ck .
I The spacing of a clustering is the smallest distance between objects in twodifferent subsets:
spacing(C1, C2, . . . Ck) = min1≤i,j≤k
i 6=j,p∈Ci ,q∈Cj
d(p, q)
Clustering of Maximum Spacing
INSTANCE: A set U of objects, a distance function d : U × U → R+,and a positive integer K
SOLUTION: A k-clustering of U whose spacing is the largest over allpossible k-clusterings.
![Page 7: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/7.jpg)
Clustering Minimum Bottleneck Spanning Trees
Formalising the Clustering Problem
I Let U be the set of n objects labelled p1, p2, . . . , pn.
I For every pair pi and pj , we have a distance d(pi , pj).
I We require d(pi , pi ) = 0, d(pi , pj) > 0, if i 6= j , and d(pi , pj) = d(pj , pi )
I Given a positive integer k , a k-clustering of U is a partition of U into knon-empty subsets or “clusters” C1, C2, . . . Ck .
I The spacing of a clustering is the smallest distance between objects in twodifferent subsets:
spacing(C1, C2, . . . Ck) = min1≤i,j≤k
i 6=j,p∈Ci ,q∈Cj
d(p, q)
Clustering of Maximum Spacing
INSTANCE: A set U of objects, a distance function d : U × U → R+,and a positive integer K
SOLUTION: A k-clustering of U whose spacing is the largest over allpossible k-clusterings.
![Page 8: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/8.jpg)
Clustering Minimum Bottleneck Spanning Trees
Algorithm for Clustering of Maximum Spacing
I Intuition: greedily cluster objects in increasing order of distance.
I Let C be a set of n clusters, with each object in U in its own cluster.I Process pairs of objects in increasing order of distance.
I Let (p, q) be the next pair with p ∈ Cp and q ∈ Cq.I If Cp 6= Cq, add new cluster Cp ∪ Cq to C, delete Cp and Cq from C.
I Stop when there are k clusters in C.
I Same as Kruskal’s algorithm but do not add last k − 1 edges in MST.
![Page 9: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/9.jpg)
Clustering Minimum Bottleneck Spanning Trees
Algorithm for Clustering of Maximum Spacing
I Intuition: greedily cluster objects in increasing order of distance.I Let C be a set of n clusters, with each object in U in its own cluster.I Process pairs of objects in increasing order of distance.
I Let (p, q) be the next pair with p ∈ Cp and q ∈ Cq.I If Cp 6= Cq, add new cluster Cp ∪ Cq to C, delete Cp and Cq from C.
I Stop when there are k clusters in C.
I Same as Kruskal’s algorithm but do not add last k − 1 edges in MST.
![Page 10: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/10.jpg)
Clustering Minimum Bottleneck Spanning Trees
Algorithm for Clustering of Maximum Spacing
I Intuition: greedily cluster objects in increasing order of distance.I Let C be a set of n clusters, with each object in U in its own cluster.I Process pairs of objects in increasing order of distance.
I Let (p, q) be the next pair with p ∈ Cp and q ∈ Cq.I If Cp 6= Cq, add new cluster Cp ∪ Cq to C, delete Cp and Cq from C.
I Stop when there are k clusters in C.I Same as Kruskal’s algorithm but do not add last k − 1 edges in MST.
![Page 11: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/11.jpg)
Clustering Minimum Bottleneck Spanning Trees
Why does the Algorithm Work?
I Let C be the clustering produced by the algorithm and let C′ be any otherclustering.
I What is spacing(C)?
It is the cost of the (k − 1)st most expensive edge inthe MST. Let this cost be d∗.
I We will prove that spacing(C′) ≤ d∗.
![Page 12: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/12.jpg)
Clustering Minimum Bottleneck Spanning Trees
Why does the Algorithm Work?
I Let C be the clustering produced by the algorithm and let C′ be any otherclustering.
I What is spacing(C)? It is the cost of the (k − 1)st most expensive edge inthe MST. Let this cost be d∗.
I We will prove that spacing(C′) ≤ d∗.
![Page 13: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/13.jpg)
Clustering Minimum Bottleneck Spanning Trees
spacing(C ′) ≤ d∗
I There must be two points pi and pj in U in the same cluster Cr in C but indifferent clusters in C′:
spacing(C′) ≤ d(pi , pj). But d(pi , pj) could be > d∗.I Suppose pi ∈ C ′s and pj ∈ C ′t in C′.I All edges in the path Q connecting pi and pj in the MST have length ≤ d∗.I In particular, there is a point p ∈ C ′s and a point p′ 6∈ C ′s such that p and p′
are adjacent in Q.I d(p, p′) ≤ d∗ ⇒ spacing(C′) ≤ d(p, p′) ≤ d∗.
![Page 14: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/14.jpg)
Clustering Minimum Bottleneck Spanning Trees
spacing(C ′) ≤ d∗
I There must be two points pi and pj in U in the same cluster Cr in C but indifferent clusters in C′: spacing(C′) ≤ d(pi , pj).
But d(pi , pj) could be > d∗.I Suppose pi ∈ C ′s and pj ∈ C ′t in C′.I All edges in the path Q connecting pi and pj in the MST have length ≤ d∗.I In particular, there is a point p ∈ C ′s and a point p′ 6∈ C ′s such that p and p′
are adjacent in Q.I d(p, p′) ≤ d∗ ⇒ spacing(C′) ≤ d(p, p′) ≤ d∗.
![Page 15: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/15.jpg)
Clustering Minimum Bottleneck Spanning Trees
spacing(C ′) ≤ d∗
I There must be two points pi and pj in U in the same cluster Cr in C but indifferent clusters in C′: spacing(C′) ≤ d(pi , pj). But d(pi , pj) could be > d∗.
I Suppose pi ∈ C ′s and pj ∈ C ′t in C′.
I All edges in the path Q connecting pi and pj in the MST have length ≤ d∗.I In particular, there is a point p ∈ C ′s and a point p′ 6∈ C ′s such that p and p′
are adjacent in Q.I d(p, p′) ≤ d∗ ⇒ spacing(C′) ≤ d(p, p′) ≤ d∗.
![Page 16: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/16.jpg)
Clustering Minimum Bottleneck Spanning Trees
spacing(C ′) ≤ d∗
I There must be two points pi and pj in U in the same cluster Cr in C but indifferent clusters in C′: spacing(C′) ≤ d(pi , pj). But d(pi , pj) could be > d∗.
I Suppose pi ∈ C ′s and pj ∈ C ′t in C′.I All edges in the path Q connecting pi and pj in the MST have length ≤ d∗.I In particular, there is a point p ∈ C ′s and a point p′ 6∈ C ′s such that p and p′
are adjacent in Q.I d(p, p′) ≤ d∗ ⇒ spacing(C′) ≤ d(p, p′) ≤ d∗.
![Page 17: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/17.jpg)
Clustering Minimum Bottleneck Spanning Trees
Minimum Bottleneck Spanning Tree (MBST)
I The MST minimises the total cost of a spanning network.
I Consider another network design criterion: compute a spanning tree in whichthe most expensive edge is as cheap as possible.
I In an undirected graph G (V , E ), let (V , T ) be a spanning tree. Thebottleneck edge in T is the edge with largest cost in T .
Minimum Bottleneck Spanning Tree (MBST)
INSTANCE: An undirected graph G (V , E ) and a function c : E → R+
SOLUTION: A set T ⊆ E of edges such that (V , T ) is a spanning treeand there is no spanning tree in G with a cheaper bottleneck edge.
![Page 18: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/18.jpg)
Clustering Minimum Bottleneck Spanning Trees
Minimum Bottleneck Spanning Tree (MBST)
I The MST minimises the total cost of a spanning network.
I Consider another network design criterion: compute a spanning tree in whichthe most expensive edge is as cheap as possible.
I In an undirected graph G (V , E ), let (V , T ) be a spanning tree. Thebottleneck edge in T is the edge with largest cost in T .
Minimum Bottleneck Spanning Tree (MBST)
INSTANCE: An undirected graph G (V , E ) and a function c : E → R+
SOLUTION: A set T ⊆ E of edges such that (V , T ) is a spanning treeand there is no spanning tree in G with a cheaper bottleneck edge.
![Page 19: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/19.jpg)
Clustering Minimum Bottleneck Spanning Trees
Minimum Bottleneck Spanning Tree (MBST)
I The MST minimises the total cost of a spanning network.
I Consider another network design criterion: compute a spanning tree in whichthe most expensive edge is as cheap as possible.
I In an undirected graph G (V , E ), let (V , T ) be a spanning tree. Thebottleneck edge in T is the edge with largest cost in T .
Minimum Bottleneck Spanning Tree (MBST)
INSTANCE: An undirected graph G (V , E ) and a function c : E → R+
SOLUTION: A set T ⊆ E of edges such that (V , T ) is a spanning treeand there is no spanning tree in G with a cheaper bottleneck edge.
![Page 20: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/20.jpg)
Clustering Minimum Bottleneck Spanning Trees
Two Questions on MBSTs
1. Assume edge costs are distinct.
2. Is every MBST tree an MST?
No. It is easy to create a counterexample.
3. Is every MST an MBST?
Yes. Use the cycle property.I Let T be the MST and let T ′ be a spanning tree with a cheaper bottleneck
edge. Let e be the bottleneck edge in T .I Every edge in T ′ is cheaper than e.I Adding e to T ′ creates a cycle consisting only of edges in T ′ and e.I Since e is the costliest edge in this cycle, by the cycle property, e cannot
belong to any MST, which contradicts the fact that T is an MST.
![Page 21: Applications of Minimum Spanning Trees - Virginia Tech · 2009. 2. 19. · Clustering Minimum Bottleneck Spanning Trees Minimum Spanning Trees I We motivated MSTs through the problem](https://reader035.fdocuments.in/reader035/viewer/2022071415/61118ec4cf4866591234ceed/html5/thumbnails/21.jpg)
Clustering Minimum Bottleneck Spanning Trees
Two Questions on MBSTs
1. Assume edge costs are distinct.
2. Is every MBST tree an MST? No. It is easy to create a counterexample.
3. Is every MST an MBST? Yes. Use the cycle property.I Let T be the MST and let T ′ be a spanning tree with a cheaper bottleneck
edge. Let e be the bottleneck edge in T .I Every edge in T ′ is cheaper than e.I Adding e to T ′ creates a cycle consisting only of edges in T ′ and e.I Since e is the costliest edge in this cycle, by the cycle property, e cannot
belong to any MST, which contradicts the fact that T is an MST.