Minimum Spanning Trees and Clustering By Swee-Ling Tang April 20, 2010 04/20/20101.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Networks Prim’s Algorithm
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
10.4 Spanning Trees. Def Def: Let G be a simple graph. A spanning tree of G is a subgraph of G that is a tree containing every vertex of G See handout.
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
1 Spanning Trees Lecture 20 CS2110 – Spring
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
CSE 780 Algorithms Advanced Algorithms Minimum spanning tree Generic algorithm Kruskal’s algorithm Prim’s algorithm.
1 Minimum Spanning Trees Longin Jan Latecki Temple University based on slides by David Matuszek, UPenn, Rose Hoberman, CMU, Bing Liu, U. of Illinois, Boting.
Minimum Spanning Trees
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Minimum Spanning Tree Algorithms. What is A Spanning Tree? u v b a c d e f Given a connected, undirected graph G=(V,E), a spanning tree of that graph.
Minimum Spanning Trees What is a MST (Minimum Spanning Tree) and how to find it with Prim’s algorithm and Kruskal’s algorithm.
ECE 250 Algorithms and Data Structures Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Minimum Spanning Tree Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
1 Minimum Spanning Tree in expected linear time. Epilogue: Top-in card shuffling.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Lecture 12-2: Introduction to Computer Algorithms beyond Search & Sort.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
Minimum Spanning Trees Suppose G = (V, E) is a undirected network. Each edge (i,j) in E has an associated ‘length’ c ij (cost, time, distance, …) Determine.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Minimum-Cost Spanning Tree CS 110: Data Structures and Algorithms First Semester,
Fundamental Data Structures and Algorithms (Spring ’05) Recitation Notes: Graphs Slides prepared by Uri Dekel, Based on recitation.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Lecture19: Graph III Bohyung Han CSE, POSTECH CSED233: Data Structures (2014F)
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
1 Chapter 4 Minimum Spanning Trees Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
Spanning Tree Algorithms William T. Trotter and Mitchel T. Keller Math 3012 – Applied Combinatorics Spring 2009.
Trees Dr. Yasir Ali. A graph is called a tree if, and only if, it is circuit-free and connected. A graph is called a forest if, and only if, it is circuit-free.
Minimum- Spanning Trees
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 11.
Lecture 5 Graph Theory prepped by Lecturer ahmed AL tememe 1.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Graph Search Applications, Minimum Spanning Tree
Greedy Technique.
Minimum Spanning Tree Chapter 13.6.
Minimum Spanning Trees
Discrete Mathematicsq
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Data Structures & Algorithms Graphs
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Minimum Spanning Tree.
EMIS 8373: Integer Programming
Connected Components Minimum Spanning Tree
Minimum Spanning Tree.
Minimum Spanning Tree.
Spanning Trees.
Kruskal’s Minimum Spanning Tree Algorithm
Minimum Spanning Tree Optimizations
Minimum Spanning Trees
CSE 373: Data Structures and Algorithms
CSC 380: Design and Analysis of Algorithms
Networks Prim’s Algorithm
Minimum spanning trees
Minimum Spanning Trees (MSTs)
CSE 373: Data Structures and Algorithms
Lecture 14 Minimum Spanning Tree (cont’d)
Minimum Spanning Trees
Presentation transcript:

Minimum Spanning Trees and Clustering By Swee-Ling Tang April 20, /20/20101

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/20102

Spanning Tree – cont. 04/20/20103

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/20104

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/20105

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 empty for each edge e in sorted order if the endpoints of e are disconnected in S add e to S return S

Kruskal's Algorithm - Example 04/20/20107

Kruskal's Algorithm - Example 04/20/20108

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-N Prim's Algorithm: let T be a single vertex x while (T has fewer than n vertices) { find the smallest edge connecting T to G-T add it to T }

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Prim's Algorithm - Example

04/20/ Boruvka's Algorithm Otakar Borůvka – Inventor of MST – Czech scientist – Introduced the problem – The original paper was written in Czech in – The purpose was to efficiently provide electric coverage of Bohemia.

04/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.

04/20/ Boruvka’s Algorithm - Example

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/201022

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/201023

Why Clustering? Unsupervised learning process Pattern detection Simplifications Useful in data concept construction 04/20/201024

The use of Clustering Data Mining Information Retrieval Text Mining Web Analysis Marketing Medical Diagnostic Image Analysis Bioinformatics 04/20/201025

Image Analysis – MST Clustering 04/20/ An image file before/after color clustering using HEMST (Hierarchical EMST clustering algorithm) and SEMST (Standard EMST clustering algorithm).

References Minimum Spanning Tree Based Clustering Algorithms Minimal Spanning Tree based Fuzzy Clustering Minimum Spanning Tree – Wikipedia Kruskal's algorithm Prim's Algorithm – Wikipedia Design and Analysis of Algorithms /20/201027