minimum spanning trees and clustering
DESCRIPTION
Minimum Spanning Trees and Clustering. By Swee-Ling Tang April 20, 2010. Spanning Tree. A spanning tree of a graph is a tree and is a subgraph that contains all the vertices. A graph may have many spanning trees; for example, the complete graph on four vertices has sixteen spanning trees:. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/1.jpg)
Minimum Spanning Trees and Clustering
By Swee-Ling TangApril 20, 2010
04/20/2010 1
![Page 2: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/2.jpg)
Spanning Tree
• A spanning tree of a graph is a tree and is a subgraph that contains all the vertices.
• A graph may have many spanning trees; for example, the complete graph on four vertices has sixteen spanning trees:
04/20/2010 2
![Page 3: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/3.jpg)
Spanning Tree – cont.
04/20/2010 3
![Page 4: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/4.jpg)
Minimum Spanning Trees
• Suppose that the edges of the graph have weights or lengths. The weight of a tree will be the sum of weights of its edges.
• Based on the example, we can see that different trees have different lengths.
• The question is: how to find the minimum length spanning tree?
04/20/2010 4
![Page 5: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/5.jpg)
Minimum Spanning Trees
• The question can be solved by many different algorithms, here is three classical minimum-spanning tree algorithms :– Boruvka's Algorithm– Kruskal's Algorithm– Prim's Algorithm
04/20/2010 5
![Page 6: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/6.jpg)
04/20/2010 6
Kruskal's Algorithm
• Joseph Bernard Kruskal, Jr• Kruskal Approach:
– Select the minimum weight edge that does not form a cycle
Kruskal's Algorithm:
sort the edges of G in increasing order by length
keep a subgraph S of G, initially emptyfor each edge e in sorted order if the endpoints of e are disconnected
in S add e to S return S
![Page 7: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/7.jpg)
Kruskal's Algorithm - Example
04/20/2010 7
![Page 8: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/8.jpg)
Kruskal's Algorithm - Example
04/20/2010 8
![Page 9: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/9.jpg)
04/20/2010 9
Prim’s Algorithm
• Robert Clay Prim• Prim Approach:– Choose an arbitrary start node v– At any point in time, we have connected
component N containing v and other nodes V-N– Choose the minimum weight edge from N to V-NPrim's Algorithm:
let T be a single vertex xwhile (T has fewer than n vertices){
find the smallest edge connecting T to G-Tadd it to T
}
![Page 10: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/10.jpg)
04/20/2010 10
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 11: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/11.jpg)
04/20/2010 11
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 12: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/12.jpg)
04/20/2010 12
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 13: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/13.jpg)
04/20/2010 13
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 14: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/14.jpg)
04/20/2010 14
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 15: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/15.jpg)
04/20/2010 15
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 16: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/16.jpg)
04/20/2010 16
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 17: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/17.jpg)
04/20/2010 17
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 18: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/18.jpg)
04/20/2010 18
Prim's Algorithm - Example
13
50
117
2
8 12
9
10
1440
31
6
20
![Page 19: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/19.jpg)
04/20/2010 19
Boruvka's Algorithm
• Otakar Borůvka– Inventor of MST– Czech scientist– Introduced the problem– The original paper was written in Czech in
1926.– The purpose was to efficiently provide
electric coverage of Bohemia.
![Page 20: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/20.jpg)
04/20/2010 20
Boruvka’s Algorithm
• Boruvka Approach:– Prim “in parallel”– Repeat the following procedure until the resulting
graph becomes a single node.• For each node u, mark its lightest incident edge. • Now, the marked edges form a forest F. Add the edges
of F into the set of edges to be reported.• Contract each maximal subtree of F into a single node.
![Page 21: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/21.jpg)
04/20/2010 21
Boruvka’s Algorithm - Example
2.1
1.3
2.3
1.2
2.2
3.1
2.4
3
1
1.5
1.4
2.6
2.7
2.5
3.2
5
3.34
4.1
5.1
![Page 22: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/22.jpg)
Usage of Minimum Spanning Trees
• Network design:– telephone, electrical, hydraulic, TV cable,
computer, road
• Approximation algorithms for NP-hard (non-deterministic polynomial-time hard) problems:– traveling salesperson problem
• Cluster Analysis
04/20/2010 22
![Page 23: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/23.jpg)
Clustering
• Definition– Clustering is “the process of organizing
objects into groups whose members are similar in some way”.
– A cluster is therefore a collection of objects which are “similar” between them and are “dissimilar” to the objects belonging to other clusters.
– A data mining technique
04/20/2010 23
![Page 24: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/24.jpg)
Why Clustering?
• Unsupervised learning process• Pattern detection• Simplifications• Useful in data concept
construction
04/20/2010 24
![Page 25: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/25.jpg)
The use of Clustering
• Data Mining• Information Retrieval• Text Mining• Web Analysis• Marketing• Medical Diagnostic• Image Analysis• Bioinformatics
04/20/2010 25
![Page 26: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/26.jpg)
Image Analysis – MST Clustering
04/20/2010 26
An image file before/after colorclustering using HEMST (Hierarchical EMST clustering algorithm) and SEMST (Standard EMST clustering algorithm).
![Page 27: Minimum Spanning Trees and Clustering](https://reader036.vdocuments.site/reader036/viewer/2022062423/56814e2d550346895dbb90c7/html5/thumbnails/27.jpg)
References• Minimum Spanning Tree Based Clustering Algorithms -
http://www4.ncsu.edu/~zjorgen/ictai06.pdf• Minimal Spanning Tree based Fuzzy Clustering -
http://www.waset.org/journals/waset/v8/v8-2.pdf• Minimum Spanning Tree – Wikipedia -
http://en.wikipedia.org/wiki/Minimum_spanning_tree• Kruskal's algorithm - http://en.wikipedia.org/wiki/Kruskal
%27s_algorithm• Prim's Algorithm – Wikipedia -
http://en.wikipedia.org/wiki/Prim%27s_algorithm• Design and Analysis of Algorithms -
http://www.ics.uci.edu/~eppstein/161/960206.html
04/20/2010 27