Randomized Graph Algorithms
|
|
- Ezra Benson
- 6 years ago
- Views:
Transcription
1 Randomized Graph Algorithms Vasileios-Orestis Papadigenopoulos School of Electrical and Computer Engineering - NTUA papadigenopoulos orestis@yahoocom July 22, 2014 Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
2 Overview 1 The Min-Cut problem The problem The s-t min-cut problem Min-cut and s-t min-cut problem The Contract algorithm The Contraction algorithm The FastCut algorithm 2 Minimum Spanning Trees The problem Deterministic approaches Bor uvka s algorithm Heavy Edges and MST Verification Random Sampling for MSTs The linear-time MST algorithm Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
3 The Min-Cut problem Overview 1 The Min-Cut problem The problem The s-t min-cut problem Min-cut and s-t min-cut problem The Contract algorithm The Contraction algorithm The FastCut algorithm 2 Minimum Spanning Trees The problem Deterministic approaches Bor uvka s algorithm Heavy Edges and MST Verification Random Sampling for MSTs The linear-time MST algorithm Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
4 The Min-Cut problem The problem Min-cut Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
5 The Min-Cut problem The problem The problem In graph theory, a minimum cut of a graph is a cut (a partition of the vertices of a graph into two disjoint subsets that are joined by at least one edge) whose cut set has the smallest number of edges wikipedia Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
6 The problem The Min-Cut problem The problem Definition A cut in G is a partition of the vertices V = (C, C) into two non-empty sets Definition Ṭhe value or size of a cut C is the number of edges crossing the cut Definition The min-cut problem is that of finding a cut with minimum size in an input graph G Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
7 The Min-Cut problem The problem Also Multiple edges Connected graph assumption or else trivially solved with finding connected components Weighted graphs generalization Assuming non-negative edges, or else the problem is NP-complete The max-cut is a special case of it Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
8 The Min-Cut problem The s-t min-cut problem The s-t min-cut problem Definition The s-t min-cut problem is the min-cut problem with the restriction that two distinguished vertices s and t have the property s C and t C Lemma The value of a maximum s-t flow in a network equals the value of a s-t min-cut Maximum flow duality The s-t min-cut problem can be solved via the maximum flow problem in O(mn log (n 2 /m)) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
9 The Min-Cut problem Min-cut and s-t min-cut problem Deterministic approach of min-cut via s-t min-cut Lemma The min-cut problem for a graph G can be solved via polynomial number of invocations of an s-t algorithm applied to the same graph Deterministic complexity It can be shown that n-1 flow computations (s-t min-cut calculations) suffice Since the best deterministic maximum flow algorithm runs in O(mn log (n 2 /m)), this approach will require Ω(mn 2 ) Fortunately, the n-1 maximum flow computations can be implemented in time proportional to the cost of a single maximum flow computation So we can compute a min-cut in time O(mn log (n 2 /m)) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
10 The Contract algorithm The Min-Cut problem The Contract algorithm Definition Given an edge (x,y) in a multigraph G(V,E), a contraction of the edge (x,y) corresponds to replacing the vertices x and y by a new vertex z, and for each u / {x, y} replacing the edge (x,u) and (y,u) by the edge (z,u) Any multiple edges created are to be retained The graph obtained by this contraction is denoted by G/(x,y) Definition Given a collection of edges F E, the contracted graph is denoted by G/F The vertex set and the edge set of the graph G/F are denoted by V/F and E/F Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
11 The Min-Cut problem The Contract algorithm The Contract algorithm Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
12 The Min-Cut problem The Contract algorithm - Analysis The Contract algorithm Lemma It is possible to keep track of the correspondence between the original graph and the contracted one in O(n) time per contraction Lemma The effect of contracting the edges in F is independent of the order of contraction Lemma The selection of an edge (x,y) uniformly at random from the set of all edges in the graph G can be done in O(n) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
13 The Min-Cut problem The Contract algorithm - Analysis The Contract algorithm Theorem The Contract algorithm can be implemented to run in O(n 2 ) time on any n-vertex multigraph G Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
14 The Min-Cut problem The Contraction algorithm The Contraction algorithm Lemma A cut in C is produced as output by the algorithm Contract iff none of the edges crossing this cut is contracted by the algorithm Let K be the a min-cut in G with size of k Lemma In a n-vertex multigraph G with min-cut value k, no vertex has a degree smaller than k Further, the total number of edges in the graph satisfies m nk/2 Lemma Given an edge (x,y) in a graph G, the min-cut value in G/(x,y) is at least as large as the min-cut value in G Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
15 The Min-Cut problem The Contraction algorithm The Contraction algorithm The number of vertices in H decreases by one during each iteration of Contract algorithm At the i-th iteration, there are n i = n i + 1 vertices in H Since the number of edges in each step is at least n i k/2 (handshaking lemma), the probability that any edge of K is contracted is at most 2/n i So: Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
16 The Min-Cut problem The Contraction algorithm The Contraction algorithm Theorem Any specific min-cut K is output by the algorithm Contract with probability Ω(n 2 ) The algorithm The above theorem gives as a Monte Carlo algorithm running in O(n 4 log n), by repeating the algorithm contract O(n 2 log n) times Lemma Suppose the algorithm Contract is terminated when the number of vertices remaining in the contracted graph is exactly t Then any specific min-cut K survives in the resulting contracted graph with probability at least: ( t ) ( 2 / n ) ( 2 = Ω( t ) 2) n Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
17 The Min-Cut problem The FastCut algorithm The FastCut algorithm At this point, we will modify the implementation of the contraction algorithm to reduce its running time to O(n 2 log n) As the complexity of our general module algorithm contract cannot be less than O(n 2 ), the only way to succeed it is by increasing the probability that a min-cut is produced by the algorithm contract The crucial insight is to use two independent invocations of the contract algorithm itself on the contracted graph with n/ 2 vertices Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
18 The Min-Cut problem The FastCut algorithm The FastCut algorithm Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
19 The Min-Cut problem The FastCut algorithm - Analysis The FastCut algorithm Theorem Ạlgorithm FastCut runs in O(n 2 log n) time and O(n 2 ) space Theorem Algorithm FastCut succeeds in finding a min-cut with probability Ω(1/ log n) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
20 Minimum Spanning Trees Overview 1 The Min-Cut problem The problem The s-t min-cut problem Min-cut and s-t min-cut problem The Contract algorithm The Contraction algorithm The FastCut algorithm 2 Minimum Spanning Trees The problem Deterministic approaches Bor uvka s algorithm Heavy Edges and MST Verification Random Sampling for MSTs The linear-time MST algorithm Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
21 Minimum Spanning Trees The problem Minimum Spanning Trees Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
22 Minimum Spanning Trees The problem The problem Given a connected, undirected graph, a spanning tree of that graph is a subgraph that is a tree and connects all the vertices together A single graph can have many different spanning trees We can also assign a weight to each edge, which is a number representing how unfavourable it is, and use this to assign a weight to a spanning tree by computing the sum of the weights of the edges in that spanning tree A minimum spanning tree (MST) or minimum weight spanning tree is then a spanning tree with weight less than or equal to the weight of every other spanning tree wikipedia Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
23 Minimum Spanning Trees The problem Also Minimum Spanning Forest Distinct edge weights assumption The exact weight is irrelevant in the unit-cost RAM model Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
24 Minimum Spanning Trees Deterministic approaches Deterministic approaches Prim s algorithm, greedy with Fibonacci heap O(E + V log V ) Kruskal s algorithm, greedy with union-find O(E log E) Bor uvka s algorithm, O(E log V ) Best-known algorithm runs in O(E log β(e, V )), where β(e, V ) = min {i log (i) V E/V } Unfortunately, the algorithm has a large constant due to its complicated data structures Not applicable in practice Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
25 Minimum Spanning Trees Bor uvka s algorithm Bor uvka s algorithm At this point, we are going to present the idea behind Bor uvka s algorithm, as it will be useful for the randomized algorithm we are going to create Sequential implementation in O(m log n): Data: A graph G Result: The MST of G initialization; in each phase in time O(m) with two passes of the edges; 1st pass: find the less-weighted edge of each component Consecutive find, the edges of the same component are noted; 2nd pass: include the less-weighted edges in the MST and update the components using union ; Algorithm 1: Bor uvka s algorithm Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
26 Bor uvka s algorithm Minimum Spanning Trees Bor uvka s algorithm The reasoning of the algorithm is based on the following lemmas: Lemma Let v V be any vertex in G The MST for G must contain the edge (v,w) that is the minimum-weight edge incident on v Lemma Given a graph G with n vertices and m edges, a Bor uvka phase can be implemented in time O(n + m) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
27 Bor uvka s algorithm Minimum Spanning Trees Bor uvka s algorithm Lemma The set of edges marked for contraction during a Bor uvka phase induces a forest in G Lemma Let G be the graph obtained from G after a Bor uvka phase The MST of G is the union of the edges marked for contraction with the edges in the MST of G Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
28 Bor uvka s algorithm Minimum Spanning Trees Bor uvka s algorithm Conclusions: Reduction Bor uvka s algorithm reduces the MST problem in a n-vertex graph with m edges to the MST problem in an (n/2)-vertex graph with at most m edges Bor uvka phase complexity Ịn each Bor uvka phase the time required for the reduction is O(n + m) Bor uvka s running time It follows that the Bor uvka s algorithm worst-case running time is O(m log n) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
29 Minimum Spanning Trees Heavy Edges and MST Verification Heavy Edges and MST Verification Now, we are going to touch the subject of MST-Verification problem complexity: The problem Ṭake as input a tree T in a graph G Check if T is an MST of G Definition Fix a forest F in G and consider any pair of vertices u, v V Let w F (u,v) denote the maximum weight of an edge on the (unique) path P(u,v) in F We set w F (u,v)= when u and v are disconnected in G Definition An edge (u, v) E is said to be F-heavy if w(u,v)> w F (u,v) The edge (u,v) is said to be F-light if w(u,v) w F (u,v) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
30 Minimum Spanning Trees Heavy Edges and MST Verification Lemma Ạll edges in a forest F must be F-light Heavy Edges and MST Verification Lemma Let F be any forest in G If an edge (u,v) is F-heavy, then it does not lie in the MST for G Existence of MST-verification algorithms There exist linear-time verification algorithms that can also identify all F-heavy and F-light edges with respect to any forest F Theorem Given a graph G and a forest F, all F-heavy edges in G can be identified in time O(n + m) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
31 Minimum Spanning Trees Random Sampling for MSTs Random Sampling for MSTs In the MST algorithm we are constructing, the use of randomization is in the use of random sampling to identify and eliminate edges that are guaranteed not to belong to the MST Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
32 Minimum Spanning Trees Random Sampling for MSTs Random Sampling for MSTs Let G a graph Definition We define as G(p) the random graph obtained by independently including each edge of G in G(p) with probability p Obviously, G(p) is expected to have n vertices and mp edges There is no guarantee, although, that G(p) is connected Let F be the minimum spanning forest for G(p) Then, for reasonably large values of p, F should be a very good approximation to the MST of G We remind the lemma suggesting that F-heavy edges does not lie in the MST for G So we expect very few edges in G to be F-light Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
33 Minimum Spanning Trees Random Sampling for MSTs Random Sampling for MSTs Lemma Let F be the minimum spanning forest in the random graph G(p) obtained by independently including each edge of G with probability p Then the number of F-light edges in G is stochastically dominated by a random variable X that has a negative binomial distribution with parameters n and p In particular, the expected number of F-light edges in G is at most n/p Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
34 Minimum Spanning Trees The linear-time MST algorithm The expected linear-time MST algorithm Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
35 Minimum Spanning Trees The linear-time MST algorithm Properties Correctness In each recursion phase the Bor uvka step includes edges that are in the MST The verification step excludes only F-heavy edges of G that cannot be part of the MST Complexity Recursive relation T (n, m) T (n/8, m/2) + T (n/8, n/4) + c(n + m) leading to expected O(n + m) Worst case analysis Worst runtime is equivalent to the runtime of Bor uvka s algorithm ( Las Vegas algorithm) Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
36 References References Rajeev Motwani & Prabhakar Raghavan Randomized Algorithms Karger David, (1993) Global Min-cuts in RNC and Other Ramifications of a Simple Mincut Algorithm Karger, David R; Klein, Philip N; Tarjan, Robert E (1995) A randomized linear-time algorithm to find minimum spanning trees Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford Stein Introduction to Algorithms VK Balakrishnan Schaum s Outline of Theory and Problems of Combinatorics Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
37 References End Vasileios-Orestis Papadigenopoulos (NTUA) Randomized Graph Algorithms July 22, / 37
Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem
Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are
More informationAdvanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012
topological ordering, minimum spanning tree, Union-Find problem Jiří Vyskočil, Radek Mařík 2012 Subgraph subgraph A graph H is a subgraph of a graph G, if the following two inclusions are satisfied: 2
More informationCSE331 Introduction to Algorithms Lecture 15 Minimum Spanning Trees
CSE1 Introduction to Algorithms Lecture 1 Minimum Spanning Trees Antoine Vigneron antoine@unist.ac.kr Ulsan National Institute of Science and Technology July 11, 201 Antoine Vigneron (UNIST) CSE1 Lecture
More information1 Minimum Spanning Tree (MST)
Lecture Notes CS:5360 Randomized Algorithms Lectures 10, 11, and 12: Sep 20, Sep 25, and Sep 27, 2018 Scribe: Hankyu Jang 1 Minimum Spanning Tree (MST) MST is another example of sampling. Input: An edge-weighted,
More informationIntroduction to Algorithms
Introduction to Algorithms, Lecture 1 /1/200 Introduction to Algorithms.04J/1.401J LECTURE 11 Graphs, MST, Greedy, Prim Graph representation Minimum spanning trees Greedy algorithms hallmarks. Greedy choice
More informationMinimum Spanning Trees My T. UF
Introduction to Algorithms Minimum Spanning Trees @ UF Problem Find a low cost network connecting a set of locations Any pair of locations are connected There is no cycle Some applications: Communication
More informationMinimum Spanning Trees
CSMPS 2200 Fall Minimum Spanning Trees Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 11/6/ CMPS 2200 Intro. to Algorithms 1 Minimum spanning trees Input: A
More informationLecture 1: A Monte Carlo Minimum Cut Algorithm
Randomized Algorithms Lecture 1: A Monte Carlo Minimum Cut Algorithm Sotiris Nikoletseas Professor CEID - ETY Course 2017-2018 Sotiris Nikoletseas, Professor A Monte Carlo Minimum Cut Algorithm 1 / 32
More informationDefinition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.
Tree 1. Trees and their Properties. Spanning trees 3. Minimum Spanning Trees 4. Applications of Minimum Spanning Trees 5. Minimum Spanning Tree Algorithms 1.1 Properties of Trees: Definition: A graph G
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/18.401J LECTURE 16 Greedy Algorithms (and Graphs) Graph representation Minimum spanning trees Optimal substructure Greedy choice Prim s greedy MST algorithm Prof. Charles
More informationAlgorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree
Algorithms and Theory of Computation Lecture 5: Minimum Spanning Tree Xiaohui Bei MAS 714 August 31, 2017 Nanyang Technological University MAS 714 August 31, 2017 1 / 30 Minimum Spanning Trees (MST) A
More informationAlgorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree
Algorithms and Theory of Computation Lecture 5: Minimum Spanning Tree Xiaohui Bei MAS 714 August 31, 2017 Nanyang Technological University MAS 714 August 31, 2017 1 / 30 Minimum Spanning Trees (MST) A
More informationK 4 C 5. Figure 4.5: Some well known family of graphs
08 CHAPTER. TOPICS IN CLASSICAL GRAPH THEORY K, K K K, K K, K K, K C C C C 6 6 P P P P P. Graph Operations Figure.: Some well known family of graphs A graph Y = (V,E ) is said to be a subgraph of a graph
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/18.401J LECTURE 13 Graph algorithms Graph representation Minimum spanning trees Greedy algorithms Optimal substructure Greedy choice Prim s greedy MST algorithm Prof.
More informationChapter 23. Minimum Spanning Trees
Chapter 23. Minimum Spanning Trees We are given a connected, weighted, undirected graph G = (V,E;w), where each edge (u,v) E has a non-negative weight (often called length) w(u,v). The Minimum Spanning
More informationCPSC 536N: Randomized Algorithms Term 2. Lecture 10
CPSC 536N: Randomized Algorithms 011-1 Term Prof. Nick Harvey Lecture 10 University of British Columbia In the first lecture we discussed the Max Cut problem, which is NP-complete, and we presented a very
More informationAlgorithms for Minimum Spanning Trees
Algorithms & Models of Computation CS/ECE, Fall Algorithms for Minimum Spanning Trees Lecture Thursday, November, Part I Algorithms for Minimum Spanning Tree Sariel Har-Peled (UIUC) CS Fall / 6 Sariel
More informationWhat is a minimal spanning tree (MST) and how to find one
What is a minimal spanning tree (MST) and how to find one A tree contains a root, the top node. Each node has: One parent Any number of children A spanning tree of a graph is a subgraph that contains all
More informationTheory of Computing. Lecture 10 MAS 714 Hartmut Klauck
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Seven Bridges of Königsberg Can one take a walk that crosses each bridge exactly once? Seven Bridges of Königsberg Model as a graph Is there a path
More informationCS60020: Foundations of Algorithm Design and Machine Learning. Sourangshu Bhattacharya
CS60020: Foundations of Algorithm Design and Machine Learning Sourangshu Bhattacharya Graphs (review) Definition. A directed graph (digraph) G = (V, E) is an ordered pair consisting of a set V of vertices
More informationSolution for Homework set 3
TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities
More informationprinceton univ. F 15 cos 521: Advanced Algorithm Design Lecture 2: Karger s Min Cut Algorithm
princeton univ. F 5 cos 5: Advanced Algorithm Design Lecture : Karger s Min Cut Algorithm Lecturer: Pravesh Kothari Scribe:Pravesh (These notes are a slightly modified version of notes from previous offerings
More information1 Minimum Spanning Trees (MST) b 2 3 a. 10 e h. j m
Minimum Spanning Trees (MST) 8 0 e 7 b 3 a 5 d 9 h i g c 8 7 6 3 f j 9 6 k l 5 m A graph H(U,F) is a subgraph of G(V,E) if U V and F E. A subgraph H(U,F) is called spanning if U = V. Let G be a graph with
More informationLecture Notes on Karger s Min-Cut Algorithm. Eric Vigoda Georgia Institute of Technology Last updated for Advanced Algorithms, Fall 2013.
Lecture Notes on Karger s Min-Cut Algorithm. Eric Vigoda Georgia Institute of Technology Last updated for 4540 - Advanced Algorithms, Fall 2013. Today s topic: Karger s min-cut algorithm [3]. Problem Definition
More informationIntroduction to Randomized Algorithms
Introduction to Randomized Algorithms Gopinath Mishra Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Organization 1 Introduction 2 Some basic ideas from
More information[13] D. Karger, \Using randomized sparsication to approximate minimum cuts" Proc. 5th Annual
[12] F. Harary, \Graph Theory", Addison-Wesley, Reading, MA, 1969. [13] D. Karger, \Using randomized sparsication to approximate minimum cuts" Proc. 5th Annual ACM-SIAM Symposium on Discrete Algorithms,
More informationDecreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, )
Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 1. if >. 2. error new key is greater than current key 3.. 4.. 5. if NIL and.
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationMinimum Spanning Trees
Minimum Spanning Trees Overview Problem A town has a set of houses and a set of roads. A road connects and only houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and
More informationNew approach to find minimum spanning tree for undirected graphs
Chapter 4 New approach to find minimum spanning tree for undirected graphs 1. INTRODUCTION: In this chapter we find out a new approach to finding the minimum spanning tree for simple undirected graphs
More informationDistributed minimum spanning tree problem
Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with
More information2 A Template for Minimum Spanning Tree Algorithms
CS, Lecture 5 Minimum Spanning Trees Scribe: Logan Short (05), William Chen (0), Mary Wootters (0) Date: May, 0 Introduction Today we will continue our discussion of greedy algorithms, specifically in
More informationThe minimum spanning tree problem
The minimum spanning tree problem MST is a minimum cost connection problem on graphs The graph can model the connection in a (hydraulic, electric, telecommunication) network: the nodes are the points that
More informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationGreedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.
Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,
More informationMinimum-Cost Spanning Tree. Example
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum cost Example 2 4 12 6 3 Network has 10 edges.
More informationExample. Minimum-Cost Spanning Tree. Edge Selection Greedy Strategies. Edge Selection Greedy Strategies
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum cost Example 2 4 12 6 3 Network has 10 edges.
More information11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions
Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More information1 Minimum Cut Problem
CS 6 Lecture 6 Min Cut and Karger s Algorithm Scribes: Peng Hui How, Virginia Williams (05) Date: November 7, 07 Anthony Kim (06), Mary Wootters (07) Adapted from Virginia Williams lecture notes Minimum
More informationAnnouncements Problem Set 5 is out (today)!
CSC263 Week 10 Announcements Problem Set is out (today)! Due Tuesday (Dec 1) Minimum Spanning Trees The Graph of interest today A connected undirected weighted graph G = (V, E) with weights w(e) for each
More informationCS161 - Minimum Spanning Trees and Single Source Shortest Paths
CS161 - Minimum Spanning Trees and Single Source Shortest Paths David Kauchak Single Source Shortest Paths Given a graph G and two vertices s, t what is the shortest path from s to t? For an unweighted
More informationDesign and Analysis of Algorithms (VII)
Design and Analysis of Algorithms (VII) An Introduction to Randomized Algorithms Guoqiang Li School of Software, Shanghai Jiao Tong University Randomized Algorithms algorithms which employ a degree of
More informationChapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected
More informationMinimum Spanning Trees
Course Trees - the ubiquitous structure in computer science and mathematics, JASS 08 Minimum Spanning Trees Maximilian Schlund Fakultät für Informatik TU München April 20, 2008 Maximilian Schlund: Minimum
More informationChapter 9 Graph Algorithms
Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set
More informationProblem Set 2 Solutions
Problem Set 2 Solutions Graph Theory 2016 EPFL Frank de Zeeuw & Claudiu Valculescu 1. Prove that the following statements about a graph G are equivalent. - G is a tree; - G is minimally connected (it is
More informationMinimum Spanning Trees COSC 594: Graph Algorithms Spring By Kevin Chiang and Parker Tooley
Minimum Spanning Trees COSC 594: Graph Algorithms Spring 2017 By Kevin Chiang and Parker Tooley Test Questions 1. What is one NP-Hard problem for which Minimum Spanning Trees is a good approximation for?
More information6.1 Minimum Spanning Trees
CS124 Lecture 6 Fall 2018 6.1 Minimum Spanning Trees A tree is an undirected graph which is connected and acyclic. It is easy to show that if graph G(V,E) that satisfies any two of the following properties
More information6.856 Randomized Algorithms
6.856 Randomized Algorithms David Karger Handout #4, September 21, 2002 Homework 1 Solutions Problem 1 MR 1.8. (a) The min-cut algorithm given in class works because at each step it is very unlikely (probability
More informationPartha Sarathi Manal
MA 515: Introduction to Algorithms & MA5 : Design and Analysis of Algorithms [-0-0-6] Lecture 20 & 21 http://www.iitg.ernet.in/psm/indexing_ma5/y09/index.html Partha Sarathi Manal psm@iitg.ernet.in Dept.
More informationCS 561, Lecture 9. Jared Saia University of New Mexico
CS 561, Lecture 9 Jared Saia University of New Mexico Today s Outline Minimum Spanning Trees Safe Edge Theorem Kruskal and Prim s algorithms Graph Representation 1 Graph Definition A graph is a pair of
More informationMinimum spanning trees
Minimum spanning trees [We re following the book very closely.] One of the most famous greedy algorithms (actually rather family of greedy algorithms). Given undirected graph G = (V, E), connected Weight
More informationCSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li
CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast
More informationIntroduction to Optimization
Introduction to Optimization Greedy Algorithms October 28, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Course Overview Date Fri, 7.10.2016 Fri, 28.10.2016
More informationIntroduction to Optimization
Introduction to Optimization Greedy Algorithms October 5, 2015 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff INRIA Lille Nord Europe Course Overview 2 Date Topic Mon, 21.9.2015 Introduction
More informationCOMP 355 Advanced Algorithms
COMP 355 Advanced Algorithms Algorithms for MSTs Sections 4.5 (KT) 1 Minimum Spanning Tree Minimum spanning tree. Given a connected graph G = (V, E) with realvalued edge weights c e, an MST is a subset
More informationLecture 10. Elementary Graph Algorithm Minimum Spanning Trees
Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to Algorithms, 3rd Edition, MIT Press, 2009 Sungkyunkwan University Hyunseung Choo
More informationNotes on Minimum Spanning Trees. Red Rule: Given a cycle containing no red edges, select a maximum uncolored edge on the cycle, and color it red.
COS 521 Fall 2009 Notes on Minimum Spanning Trees 1. The Generic Greedy Algorithm The generic greedy algorithm finds a minimum spanning tree (MST) by an edge-coloring process. Initially all edges are uncolored.
More informationSolutions for the Exam 6 January 2014
Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,
More informationGraphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University
Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial
More informationCSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo
CSE 431/531: Analysis of Algorithms Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast algorithms to solve
More informationChapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected
More informationMinimum Spanning Tree (5A) Young Won Lim 5/11/18
Minimum Spanning Tree (5A) Copyright (c) 2015 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2
More informationGreedy algorithms. Given a problem, how do we design an algorithm that solves the problem? There are several strategies:
Greedy algorithms Input Algorithm Goal? Given a problem, how do we design an algorithm that solves the problem? There are several strategies: 1. Try to modify an existing algorithm. 2. Construct an algorithm
More informationGraphs and Network Flows ISE 411. Lecture 7. Dr. Ted Ralphs
Graphs and Network Flows ISE 411 Lecture 7 Dr. Ted Ralphs ISE 411 Lecture 7 1 References for Today s Lecture Required reading Chapter 20 References AMO Chapter 13 CLRS Chapter 23 ISE 411 Lecture 7 2 Minimum
More information23.2 Minimum Spanning Trees
23.2 Minimum Spanning Trees Kruskal s algorithm: Kruskal s algorithm solves the Minimum Spanning Tree problem in O( E log V ) time. It employs the disjoint-set data structure that is similarly used for
More informationCIS 121 Data Structures and Algorithms Minimum Spanning Trees
CIS 121 Data Structures and Algorithms Minimum Spanning Trees March 19, 2019 Introduction and Background Consider a very natural problem: we are given a set of locations V = {v 1, v 2,..., v n }. We want
More informationUC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 8 Lecturer: David Wagner February 20, Notes 8 for CS 170
UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 8 Lecturer: David Wagner February 20, 2003 Notes 8 for CS 170 1 Minimum Spanning Trees A tree is an undirected graph that is connected
More informationNumber Theory and Graph Theory
1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com
More informationLecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29
Lecture 13 Connectedness in graphs Spanning trees in graphs Finding a minimal spanning tree Time costs of graph problems and NP-completeness Finding a minimal spanning tree: Prim s and Kruskal s algorithms
More informationV10 Metabolic networks - Graph connectivity
V10 Metabolic networks - Graph connectivity Graph connectivity is related to analyzing biological networks for - finding cliques - edge betweenness - modular decomposition that have been or will be covered
More informationmanaging an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm
Spanning Trees 1 Spanning Trees the minimum spanning tree problem three greedy algorithms analysis of the algorithms 2 The Union-Find Data Structure managing an evolving set of connected components implementing
More informationGreedy Algorithms. At each step in the algorithm, one of several choices can be made.
Greedy Algorithms At each step in the algorithm, one of several choices can be made. Greedy Strategy: make the choice that is the best at the moment. After making a choice, we are left with one subproblem
More informationMinimum Spanning Trees
Minimum Spanning Trees 1 Minimum- Spanning Trees 1. Concrete example: computer connection. Definition of a Minimum- Spanning Tree Concrete example Imagine: You wish to connect all the computers in an office
More informationCSE 521: Design and Analysis of Algorithms I
CSE 521: Design and Analysis of Algorithms I Greedy Algorithms Paul Beame 1 Greedy Algorithms Hard to define exactly but can give general properties Solution is built in small steps Decisions on how to
More informationWeek 11: Minimum Spanning trees
Week 11: Minimum Spanning trees Agenda: Minimum Spanning Trees Prim s Algorithm Reading: Textbook : 61-7 1 Week 11: Minimum Spanning trees Minimum spanning tree (MST) problem: Input: edge-weighted (simple,
More information2.1 Greedy Algorithms. 2.2 Minimum Spanning Trees. CS125 Lecture 2 Fall 2016
CS125 Lecture 2 Fall 2016 2.1 Greedy Algorithms We will start talking about methods high-level plans for constructing algorithms. One of the simplest is just to have your algorithm be greedy. Being greedy,
More informationA GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY
A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,
More informationOn Covering a Graph Optimally with Induced Subgraphs
On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number
More informationIntroduction to Graph Theory
Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex
More informationMinimum Spanning Trees
Minimum Spanning Trees Minimum Spanning Trees Representation of Weighted Graphs Properties of Minimum Spanning Trees Prim's Algorithm Kruskal's Algorithm Philip Bille Minimum Spanning Trees Minimum Spanning
More informationArtificial Intelligence
Artificial Intelligence Graph theory G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 1 GG A.I. 1/37 Outline 1 Graph theory Undirected and directed graphs
More informationChapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected
More informationRepresentations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs
Representations of Weighted Graphs (as Matrices) A B Algorithms and Data Structures: Minimum Spanning Trees 9.0 F 1.0 6.0 5.0 6.0 G 5.0 I H 3.0 1.0 C 5.0 E 1.0 D 28th Oct, 1st & 4th Nov, 2011 ADS: lects
More informationSolving problems on graph algorithms
Solving problems on graph algorithms Workshop Organized by: ACM Unit, Indian Statistical Institute, Kolkata. Tutorial-3 Date: 06.07.2017 Let G = (V, E) be an undirected graph. For a vertex v V, G {v} is
More informationLecture 8: The Traveling Salesman Problem
Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes
More informationChapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected
More informationCS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019
CS 341: Algorithms Douglas R. Stinson David R. Cheriton School of Computer Science University of Waterloo February 26, 2019 D.R. Stinson (SCS) CS 341 February 26, 2019 1 / 296 1 Course Information 2 Introduction
More informationThe minimum spanning tree and duality in graphs
The minimum spanning tree and duality in graphs Wim Pijls Econometric Institute Report EI 2013-14 April 19, 2013 Abstract Several algorithms for the minimum spanning tree are known. The Blue-red algorithm
More informationMinimum Spanning Trees
CS124 Lecture 5 Spring 2011 Minimum Spanning Trees A tree is an undirected graph which is connected and acyclic. It is easy to show that if graph G(V,E) that satisfies any two of the following properties
More informationWe ve done. Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Fractional Knapsack Huffman coding
We ve done Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Fractional Knapsack Huffman coding Matroid Theory Now Matroids and weighted matroids Generic
More informationLecture Notes for Chapter 23: Minimum Spanning Trees
Lecture Notes for Chapter 23: Minimum Spanning Trees Chapter 23 overview Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has
More informationVertex Cover is Fixed-Parameter Tractable
Vertex Cover is Fixed-Parameter Tractable CS 511 Iowa State University November 28, 2010 CS 511 (Iowa State University) Vertex Cover is Fixed-Parameter Tractable November 28, 2010 1 / 18 The Vertex Cover
More informationGraph Algorithms Using Depth First Search
Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth
More informationMath 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem
Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem David Glickenstein November 26, 2008 1 Graph minors Let s revisit some de nitions. Let G = (V; E) be a graph. De nition 1 Removing
More informationAlgorithmic Aspects of Communication Networks
Algorithmic Aspects of Communication Networks Chapter 5 Network Resilience Algorithmic Aspects of ComNets (WS 16/17): 05 Network Resilience 1 Introduction and Motivation Network resilience denotes the
More informationMinimum Spanning Tree
Minimum Spanning Tree 1 Minimum Spanning Tree G=(V,E) is an undirected graph, where V is a set of nodes and E is a set of possible interconnections between pairs of nodes. For each edge (u,v) in E, we
More information