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.

Slides:



Advertisements
Similar presentations
Chen, Lu Mentor: Zhou, Jian Shanghai University, School of Management Chen213.shu.edu.cn.
Advertisements

7.3 Kruskal’s Algorithm. Kruskal’s Algorithm was developed by JOSEPH KRUSKAL.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Graphs & Graph Algorithms 2 Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Chapter 7 Network Flow Models.
Graphs & Graph Algorithms 2
Minimum Spanning Trees CIS 606 Spring Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting.
Chapter 11 Network Models. What You Need to Know For each of the three models: –What is the model? (what are given and what is to calculate) –What is.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
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.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
1 Chapter 28 Weighted Graph Applications. 2 Objectives F To represent weighted edges using adjacency matrices and priority queues (§28.2). F To model.
Minimum Spanning Tree Given a weighted graph G = (V, E), generate a spanning tree T = (V, E’) such that the sum of the weights of all the edges is minimum.
COSC 2007 Data Structures II Chapter 14 Graphs III.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
Minimum Spanning Trees Easy. Terms Node Node Edge Edge Cut Cut Cut respects a set of edges Cut respects a set of edges Light Edge Light Edge Minimum Spanning.
Minimum-Cost Spanning Tree CS 110: Data Structures and Algorithms First Semester,
Prim's Algorithm This algorithm starts with one node. It then, one by one, adds a node that is unconnected to the new graph to the new graph, each time.
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
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)
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
Programming Abstractions Cynthia Lee CS106X. Graphs Topics Graphs! 1.Basics  What are they? How do we represent them? 2.Theorems  What are some things.
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
Graphs and MSTs Sections 1.4 and 9.1. Partial-Order Relations Everybody is not related to everybody. Examples? Direct road connections between locations.
Routing Topology Algorithms Mustafa Ozdal 1. Introduction How to connect nets with multiple terminals? Net topologies needed before point-to-point routing.
Prims Algorithm for finding a minimum spanning tree
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Minimum Spanning Trees
Chapter 9 : Graphs Part II (Minimum Spanning Trees)
Divide-and-Conquer MST
Minimum Spanning Tree Chapter 13.6.
Lecture 26 CSE 331 Nov 2, 2016.
Chapter 28 Weighted Graphs and Applications
Short paths and spanning trees
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Graph Algorithm.
Minimum Spanning Tree.
Minimum Spanning Trees
CS200: Algorithm Analysis
Minimum Spanning Tree Neil Tang 3/25/2010
Connected Components Minimum Spanning Tree
Minimum Spanning Tree.
Minimum Spanning Tree.
Graphs & Graph Algorithms 2
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Minimum Spanning Trees
Lecture 26 CSE 331 Nov 1, 2017.
Unit-4: Dynamic Programming
Autumn 2015 Lecture 10 Minimum Spanning Trees
Lecture 27 CSE 331 Oct 31, 2014.
Minimum Spanning Tree Neil Tang 4/3/2008
Lecture 28 CSE 331 Nov 7, 2012.
Lecture 27 CSE 331 Nov 2, 2010.
Richard Anderson Lecture 10 Minimum Spanning Trees
Minimum spanning trees
Minimum Spanning Trees (MSTs)
EMIS 8373: Integer Programming
Prim’s Minimum Spanning Tree Algorithm Neil Tang 4/1/2008
Prim’s algorithm for minimum spanning trees
Lecture 27 CSE 331 Nov 1, 2013.
Presentation transcript:

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 sub-problem separately using Prim's algorithm (quadratic complexity) Step 3: Merge the sub-solutions: Construct a meta graph where each node corresponds to one cluster Solve MST for the meta graph Add links from the meta graph to the original graph to complete the solution

Example 1: Algorithm finds sub-optimal solution

Step 1: Divide the graph into  N sub-graph by clustering

Step 2: Solve each sub-problem by Prim’s algorithm

Step 3.1 (a): Select center point for each cluster

Step 3.1 (b): Connect the nodes of this meta graph

Step 3.1 (c): Set the weights based on shortest distances 1 3 4

Step 3.2: Solve MST for the meta graph 1 3 4

Step 3.3: Select the corresponding links

Step 3.3: Add links from the MST of the meta graph Total weight = 21

Better solution: Total weight = 20 Optimality of the solution? Add Remove

Total weight = 20 Example 2: Algorithm finds optimal solution