Randomized Graph Algorithms

Size: px
Start display at page:

Download "Randomized Graph Algorithms"

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-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 information

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012

Advanced 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 information

CSE331 Introduction to Algorithms Lecture 15 Minimum Spanning Trees

CSE331 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 information

1 Minimum Spanning Tree (MST)

1 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 information

Introduction to Algorithms

Introduction 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 information

Minimum Spanning Trees My T. UF

Minimum 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 information

Minimum Spanning Trees

Minimum 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 information

Lecture 1: A Monte Carlo Minimum Cut Algorithm

Lecture 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 information

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Definition: 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 information

Introduction to Algorithms

Introduction 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 information

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree

Algorithms 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 information

Algorithms and Theory of Computation. Lecture 5: Minimum Spanning Tree

Algorithms 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 information

K 4 C 5. Figure 4.5: Some well known family of graphs

K 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 information

Introduction to Algorithms

Introduction 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 information

Chapter 23. Minimum Spanning Trees

Chapter 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 information

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CPSC 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 information

Algorithms for Minimum Spanning Trees

Algorithms 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 information

What is a minimal spanning tree (MST) and how to find one

What 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 information

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Theory 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 information

CS60020: Foundations of Algorithm Design and Machine Learning. Sourangshu Bhattacharya

CS60020: 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 information

Solution for Homework set 3

Solution 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 information

princeton univ. F 15 cos 521: Advanced Algorithm Design Lecture 2: Karger s Min Cut Algorithm

princeton 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 information

1 Minimum Spanning Trees (MST) b 2 3 a. 10 e h. j m

1 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 information

Lecture 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 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 information

Introduction to Randomized Algorithms

Introduction 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

[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 information

Decreasing 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(,, ) 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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

Minimum Spanning Trees

Minimum 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 information

New approach to find minimum spanning tree for undirected graphs

New 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 information

Distributed minimum spanning tree problem

Distributed 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 information

2 A Template for Minimum Spanning Tree Algorithms

2 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 information

The minimum spanning tree problem

The 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 information

Theorem 2.9: nearest addition algorithm

Theorem 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 information

Greedy 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 {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 information

Minimum-Cost Spanning Tree. Example

Minimum-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 information

Example. Minimum-Cost Spanning Tree. Edge Selection Greedy Strategies. Edge Selection Greedy Strategies

Example. 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 information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/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 information

Chapter 9 Graph Algorithms

Chapter 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 information

Chapter 9 Graph Algorithms

Chapter 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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

1 Minimum Cut Problem

1 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 information

Announcements Problem Set 5 is out (today)!

Announcements 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 information

CS161 - Minimum Spanning Trees and Single Source Shortest Paths

CS161 - 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 information

Design and Analysis of Algorithms (VII)

Design 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 information

Chapter 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. 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 information

Minimum Spanning Trees

Minimum 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 information

Chapter 9 Graph Algorithms

Chapter 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 information

Problem Set 2 Solutions

Problem 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 information

Minimum Spanning Trees COSC 594: Graph Algorithms Spring By Kevin Chiang and Parker Tooley

Minimum 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 information

6.1 Minimum Spanning Trees

6.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 information

6.856 Randomized Algorithms

6.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 information

Partha Sarathi Manal

Partha 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 information

CS 561, Lecture 9. Jared Saia University of New Mexico

CS 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 information

Minimum spanning trees

Minimum 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 information

CSE 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 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 information

Introduction to Optimization

Introduction 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 information

Introduction to Optimization

Introduction 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 information

COMP 355 Advanced Algorithms

COMP 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 information

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees

Lecture 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 information

Notes 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.

Notes 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 information

Solutions for the Exam 6 January 2014

Solutions 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 information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: 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 information

CSE 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 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 information

Chapter 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. 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 information

Minimum Spanning Tree (5A) Young Won Lim 5/11/18

Minimum 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 information

Greedy algorithms. Given a problem, how do we design an algorithm that solves the problem? There are several strategies:

Greedy 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 information

Graphs and Network Flows ISE 411. Lecture 7. Dr. Ted Ralphs

Graphs 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 information

23.2 Minimum Spanning Trees

23.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 information

CIS 121 Data Structures and Algorithms Minimum Spanning Trees

CIS 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 information

UC 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, 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 information

Number Theory and Graph Theory

Number 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 information

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29

Lecture 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 information

V10 Metabolic networks - Graph connectivity

V10 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 information

managing an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm

managing 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 information

Greedy 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 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 information

Minimum Spanning Trees

Minimum 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 information

CSE 521: Design and Analysis of Algorithms I

CSE 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 information

Week 11: Minimum Spanning trees

Week 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 information

2.1 Greedy Algorithms. 2.2 Minimum Spanning Trees. CS125 Lecture 2 Fall 2016

2.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 information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A 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 information

On Covering a Graph Optimally with Induced Subgraphs

On 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 information

Introduction to Graph Theory

Introduction 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 information

Minimum Spanning Trees

Minimum 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 information

Artificial Intelligence

Artificial 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 information

Chapter 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. 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 information

Representations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs

Representations 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 information

Solving problems on graph algorithms

Solving 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 information

Lecture 8: The Traveling Salesman Problem

Lecture 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 information

Chapter 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. 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 information

CS 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 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 information

The minimum spanning tree and duality in graphs

The 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 information

Minimum Spanning Trees

Minimum 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 information

We 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 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 information

Lecture Notes for Chapter 23: Minimum Spanning Trees

Lecture 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 information

Vertex Cover is Fixed-Parameter Tractable

Vertex 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 information

Graph Algorithms Using Depth First Search

Graph 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 information

Math 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 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 information

Algorithmic Aspects of Communication Networks

Algorithmic 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 information

Minimum Spanning Tree

Minimum 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