# minimum spanning trees and clustering

Post on 19-Jan-2016

32 views

Embed Size (px)

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

Minimum Spanning Trees and ClusteringBy Swee-Ling TangApril 20, 201004/20/2010*

Spanning TreeA 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*

Spanning Tree cont.04/20/2010*

Minimum Spanning TreesSuppose 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*

Minimum Spanning TreesThe question can be solved by many different algorithms, here is three classical minimum-spanning tree algorithms :Boruvka's AlgorithmKruskal's AlgorithmPrim's Algorithm

04/20/2010*

04/20/2010*Kruskal's AlgorithmJoseph Bernard Kruskal, JrKruskal Approach:Select the minimum weight edge that does not form a cycle

Kruskal's Algorithm:

sort the edges of G in increasing order by lengthkeep 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

Minimum Spanning Tree

Kruskal's Algorithm - Example04/20/2010*

Minimum Spanning Tree

Kruskal's Algorithm - Example04/20/2010*

Minimum Spanning Tree

04/20/2010*Prims AlgorithmRobert Clay PrimPrim Approach:Choose an arbitrary start node vAt any point in time, we have connected component N containing v and other nodes V-NChoose 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}

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Prim's Algorithm - Example13501172812910144031620

04/20/2010*Boruvka's AlgorithmOtakar BorvkaInventor of MSTCzech scientistIntroduced the problemThe original paper was written in Czech in 1926.The purpose was to efficiently provide electric coverage of Bohemia.

Minimum Spanning Tree

04/20/2010*Boruvkas AlgorithmBoruvka Approach:Prim in parallelRepeat 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.

04/20/2010*Boruvkas Algorithm - Example2.11.32.31.22.211.51.42.62.72.53.24.15.1

Usage of Minimum Spanning TreesNetwork design:telephone, electrical, hydraulic, TV cable, computer, roadApproximation algorithms for NP-hard (non-deterministic polynomial-time hard) problems:traveling salesperson problemCluster Analysis04/20/2010*

ClusteringDefinitionClustering 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*

Why Clustering?Unsupervised learning processPattern detectionSimplificationsUseful in data concept construction04/20/2010*

The use of ClusteringData MiningInformation RetrievalText MiningWeb AnalysisMarketingMedical DiagnosticImage AnalysisBioinformatics

04/20/2010*

Image Analysis MST Clustering04/20/2010*An image file before/after colorclustering using HEMST (Hierarchical EMST clustering algorithm) and SEMST (Standard EMST clustering algorithm).

ReferencesMinimum Spanning Tree Based Clustering Algorithms - http://www4.ncsu.edu/~zjorgen/ictai06.pdfMinimal Spanning Tree based Fuzzy Clustering - http://www.waset.org/journals/waset/v8/v8-2.pdfMinimum Spanning Tree Wikipedia - http://en.wikipedia.org/wiki/Minimum_spanning_treeKruskal's algorithm - http://en.wikipedia.org/wiki/Kruskal%27s_algorithmPrim's Algorithm Wikipedia - http://en.wikipedia.org/wiki/Prim%27s_algorithmDesign and Analysis of Algorithms - http://www.ics.uci.edu/~eppstein/161/960206.html

04/20/2010*