minimum spanning trees and clustering

of 27/27
Minimum Spanning Trees and Clustering By Swee-Ling Tang April 20, 2010 04/20/2010 1

Post on 19-Jan-2016

32 views

Category:

Documents

2 download

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 Presentation

TRANSCRIPT

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