Minimum Spanning Trees

Similar documents
Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Analysis of Algorithms, I

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Social Media Mining. Graph Essentials

Data Structures and Algorithms Written Examination

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, Chapter 7: Digraphs

Part 2: Community Detection

V. Adamchik 1. Graph Theory. Victor Adamchik. Fall of 2005

Solutions to Homework 6

DATA ANALYSIS II. Matrix Algorithms

SEMITOTAL AND TOTAL BLOCK-CUTVERTEX GRAPH

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

3. The Junction Tree Algorithms

CMPSCI611: Approximating MAX-CUT Lecture 20

Chapter 6: Graph Theory

Euler Paths and Euler Circuits

Algorithm Design and Analysis

Lecture 7: NP-Complete Problems

The Classes P and NP. mohamed@elwakil.net

Data Structures in Java. Session 15 Instructor: Bert Huang

CIS 700: algorithms for Big Data

On the k-path cover problem for cacti

SCAN: A Structural Clustering Algorithm for Networks

Graph Theory and Complex Networks: An Introduction. Chapter 06: Network analysis

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Approximation Algorithms

8.1 Min Degree Spanning Tree

Simple Graphs Degrees, Isomorphism, Paths

USE OF EIGENVALUES AND EIGENVECTORS TO ANALYZE BIPARTIVITY OF NETWORK GRAPHS


Mean Ramsey-Turán numbers

B AB 5 C AC 3 D ABGED 9 E ABGE 7 F ABGEF 8 G ABG 6 A BEDA 3 C BC 1 D BCD 2 E BE 1 F BEF 2 G BG 1

Computational Approach for Assessment of Critical Infrastructure in Network Systems

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Finding and counting given length cycles

Max Flow, Min Cut, and Matchings (Solution)

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

WOLLONGONG COLLEGE AUSTRALIA. Diploma in Information Technology

Minimum Spanning Trees

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes

Chapter 1. Introduction

GRAPH THEORY LECTURE 4: TREES

Strategic Deployment in Graphs. 1 Introduction. v 1 = v s. v 2. v 4. e 1. e e 3. e 2. e 4

Computational Geometry. Lecture 1: Introduction and Convex Hulls

5.1 Bipartite Matching

Lecture 1: Course overview, circuits, and formulas

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li. Advised by: Dave Mount. May 22, 2014

PROTOTYPE TO DESIGN A LEASED LINE TELEPHONE NETWORK CONNECTING LOCATIONS TO MINIMIZE THE INSTALLATION COST

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

Distributed Computing over Communication Networks: Maximal Independent Set

Satisfiability Checking

Network (Tree) Topology Inference Based on Prüfer Sequence

Scheduling Shop Scheduling. Tim Nieberg

Midterm Practice Problems

Graph Theory and Complex Networks: An Introduction. Chapter 06: Network analysis. Contents. Introduction. Maarten van Steen. Version: April 28, 2014

Problem Set 7 Solutions

Well-Separated Pair Decomposition for the Unit-disk Graph Metric and its Applications

Mathematics for Algorithm and System Analysis

International Journal of Software and Web Sciences (IJSWS)

Warshall s Algorithm: Transitive Closure

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

Probe Station Placement for Robust Monitoring of Networks

Graph Theory Algorithms for Mobile Ad Hoc Networks

Optimal Index Codes for a Class of Multicast Networks with Receiver Side Information

Any two nodes which are connected by an edge in a graph are called adjacent node.

Triangle deletion. Ernie Croot. February 3, 2010

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

Topology-based network security

Distance Degree Sequences for Network Analysis

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Protracted Network: Quality of Service

MapReduce Algorithms. Sergei Vassilvitskii. Saturday, August 25, 12

Three Effective Top-Down Clustering Algorithms for Location Database Systems

Lecture 17 : Equivalence and Order Relations DRAFT

1. Write the number of the left-hand item next to the item on the right that corresponds to it.

TU e. Advanced Algorithms: experimentation project. The problem: load balancing with bounded look-ahead. Input: integer m 2: number of machines

Small Maximal Independent Sets and Faster Exact Graph Coloring

CSE 4351/5351 Notes 7: Task Scheduling & Load Balancing

The number of marks is given in brackets [ ] at the end of each question or part question. The total number of marks for this paper is 72.

Asking Hard Graph Questions. Paul Burkhardt. February 3, 2014

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

5 Directed acyclic graphs

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Graph Theory and Topology Design

Institut für Informatik Lehrstuhl Theoretische Informatik I / Komplexitätstheorie. An Iterative Compression Algorithm for Vertex Cover

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Cpt S 223. School of EECS, WSU

SPANNING CACTI FOR STRUCTURALLY CONTROLLABLE NETWORKS NGO THI TU ANH NATIONAL UNIVERSITY OF SINGAPORE

6.852: Distributed Algorithms Fall, Class 2

Using Adversary Structures to Analyze Network Models,

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

Transcription:

Minimum Spanning Trees Algorithms and 18.304 Presentation

Outline 1 Graph Terminology Minimum Spanning Trees 2 3

Outline Graph Terminology Minimum Spanning Trees 1 Graph Terminology Minimum Spanning Trees 2 3

Graphs Graph Terminology Minimum Spanning Trees In graph theory, a graph is an ordered pair G = (V, E) comprising a set of vertices or nodes together with a set of edges. Edges are 2-element subsets of V which represent a connection between two vertices. Edges can either be directed or undirected. Edges can also have a weight attribute.

Graphs Graph Terminology Minimum Spanning Trees In graph theory, a graph is an ordered pair G = (V, E) comprising a set of vertices or nodes together with a set of edges. Edges are 2-element subsets of V which represent a connection between two vertices. Edges can either be directed or undirected. Edges can also have a weight attribute.

Graphs Graph Terminology Minimum Spanning Trees In graph theory, a graph is an ordered pair G = (V, E) comprising a set of vertices or nodes together with a set of edges. Edges are 2-element subsets of V which represent a connection between two vertices. Edges can either be directed or undirected. Edges can also have a weight attribute.

Graphs Graph Terminology Minimum Spanning Trees In graph theory, a graph is an ordered pair G = (V, E) comprising a set of vertices or nodes together with a set of edges. Edges are 2-element subsets of V which represent a connection between two vertices. Edges can either be directed or undirected. Edges can also have a weight attribute.

Connectivity Graph Terminology Minimum Spanning Trees A graph is connected when there is a path between every pair of vertices. A cycle is a path that starts and ends with the same vertex. A tree is a connected, acyclic graph.

Connectivity Graph Terminology Minimum Spanning Trees A graph is connected when there is a path between every pair of vertices. A cycle is a path that starts and ends with the same vertex. A tree is a connected, acyclic graph.

Connectivity Graph Terminology Minimum Spanning Trees A graph is connected when there is a path between every pair of vertices. A cycle is a path that starts and ends with the same vertex. A tree is a connected, acyclic graph.

Outline Graph Terminology Minimum Spanning Trees 1 Graph Terminology Minimum Spanning Trees 2 3

Spanning Trees Graph Terminology Minimum Spanning Trees Formally, for a graph G = (V, E), the spanning tree is E E such that: u V : (u, v) E (v, u) E v V In other words: the subset of edges spans all vertices. E = V 1 In other words: the number of edges is one less than the number of vertices, so that there are no cycles.

Spanning Trees Graph Terminology Minimum Spanning Trees Formally, for a graph G = (V, E), the spanning tree is E E such that: u V : (u, v) E (v, u) E v V In other words: the subset of edges spans all vertices. E = V 1 In other words: the number of edges is one less than the number of vertices, so that there are no cycles.

Spanning Trees Graph Terminology Minimum Spanning Trees Formally, for a graph G = (V, E), the spanning tree is E E such that: u V : (u, v) E (v, u) E v V In other words: the subset of edges spans all vertices. Linear Graph E = V 1 In other words: the number of edges is one less than the number of vertices, so that there are no cycles.

Graph Terminology Minimum Spanning Trees What Makes A Spanning Tree The Minimum? MST Criterion: When the sum of the edge weights in a spanning tree is the minimum over all spanning trees of a graph Figure: Suppose (b, f ) is removed and (c, f ) is added...

Outline 1 Graph Terminology Minimum Spanning Trees 2 3

Main Idea Start with V disjoint components. Consider lesser weight edges first to incrementally connect components. Make certain to avoid cycles. Continue until spanning tree is created.

Main Idea Start with V disjoint components. Consider lesser weight edges first to incrementally connect components. Make certain to avoid cycles. Continue until spanning tree is created.

Main Idea Start with V disjoint components. Consider lesser weight edges first to incrementally connect components. Make certain to avoid cycles. Continue until spanning tree is created.

Main Idea Start with V disjoint components. Consider lesser weight edges first to incrementally connect components. Make certain to avoid cycles. Continue until spanning tree is created.

Pseudocode 1 A = 0 2 foreach v G.V : 3 MAKE-SET(v) 4 foreach (u, v) ordered by weight(u, v), increasing: 5 if FIND-SET (u) FIND-SET (v): 6 A = A (u, v) 7 UNION(u, v) 8 return A

Example

Example

Example

Example

Example

Example

Proof Of Correctness Spanning Tree Validity By avoiding connecting two already connected vertices, output has no cycles. If G is connected, output must be connected. Minimality Consider a lesser total weight spanning tree with at least one different edge e = (u, v). If e leads to less weight, then e would have been considered before some edge that connects u and v in our output.

Proof Of Correctness Spanning Tree Validity By avoiding connecting two already connected vertices, output has no cycles. If G is connected, output must be connected. Minimality Consider a lesser total weight spanning tree with at least one different edge e = (u, v). If e leads to less weight, then e would have been considered before some edge that connects u and v in our output.

Proof Of Correctness Spanning Tree Validity By avoiding connecting two already connected vertices, output has no cycles. If G is connected, output must be connected. Minimality Consider a lesser total weight spanning tree with at least one different edge e = (u, v). If e leads to less weight, then e would have been considered before some edge that connects u and v in our output.

Proof Of Correctness Spanning Tree Validity By avoiding connecting two already connected vertices, output has no cycles. If G is connected, output must be connected. Minimality Consider a lesser total weight spanning tree with at least one different edge e = (u, v). If e leads to less weight, then e would have been considered before some edge that connects u and v in our output.

Proof Of Correctness Spanning Tree Validity By avoiding connecting two already connected vertices, output has no cycles. If G is connected, output must be connected. Minimality Consider a lesser total weight spanning tree with at least one different edge e = (u, v). If e leads to less weight, then e would have been considered before some edge that connects u and v in our output.

Proof Of Correctness Spanning Tree Validity By avoiding connecting two already connected vertices, output has no cycles. If G is connected, output must be connected. Minimality Consider a lesser total weight spanning tree with at least one different edge e = (u, v). If e leads to less weight, then e would have been considered before some edge that connects u and v in our output.

Outline 1 Graph Terminology Minimum Spanning Trees 2 3

Main Idea Start with one (any) vertex. Branch outwards to grow your connected component. Consider only edges that leave the connected component. Add smallest considered edge to your connected component. Continue until a spanning tree is created.

Main Idea Start with one (any) vertex. Branch outwards to grow your connected component. Consider only edges that leave the connected component. Add smallest considered edge to your connected component. Continue until a spanning tree is created.

Main Idea Start with one (any) vertex. Branch outwards to grow your connected component. Consider only edges that leave the connected component. Add smallest considered edge to your connected component. Continue until a spanning tree is created.

Main Idea Start with one (any) vertex. Branch outwards to grow your connected component. Consider only edges that leave the connected component. Add smallest considered edge to your connected component. Continue until a spanning tree is created.

Main Idea Start with one (any) vertex. Branch outwards to grow your connected component. Consider only edges that leave the connected component. Add smallest considered edge to your connected component. Continue until a spanning tree is created.

Example

Proof of Correctness Both the spanning tree and minimality argument are nearly identical for Prim s as they are for Kruskal s.

Some Taxonomy Clustering Analysis Traveling Salesman Problem Approximation