Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

Save this PDF as:

Size: px
Start display at page:

Download "Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs"

Transcription

1 CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009 Scriber: Idanis Diaz We start by recalling the formulation of the maximum weight perfect matching in bipartite graphs as an integer program and the minimum weight vertex cover problem as the dual. We will see a Primal/Dual Matching Algorithm. Then we start the topic of matching in general graphs. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs Recall the problem of maximum weight perfect matching in a given bipartite graph graph G(A B, E) with edge weights w i,j 0. The objective is to find out a maximum weight perfect matching. If we define an indicator variable x i,j for each edge between i A and j B then the integer program formulation of the weighted matching problem is: then for x i,j to represent the maximum matching, we want i,j x i,jw i,j to be maximized. Therefore maximum weighted matching has the following Integer Program formulation: max x i,j w i,j (1) s.t. a i, b j, i,j x i,j 1 j x i,j 1 i x i,j {0,1} By relaxing the integrality constraint of IP to x i,j 0 we have a linear program. A weighted vertex cover for a graph with weighted edges is a function y : V R + such that for all edges e = uv: y u + y v w uv. Note that for any weighted matching M and vertex cover Y : e M w(e) = w(m) C(Y ) = y V y v () where C(Y ) is the cost of the vertex cover Y. The vertex cover is actually the dual problem of maximum matching. If one considers the dual program to the LP relaxation of maximum matching problem we obtain the formulation of LP relaxation of the weighted vertex cover problem: min y i (3) s.t. e = a i b j : y ai + y bj w i,j y i 0 According to equation (), for any vertex cover Y, C(Y ) is an upper bound for w(m) for any matching M. So if a vertex cover is founded and has the same value as a matching both are optimal solutions, i.e. i 1

2 Lemma 1.1 For a perfect matching M and a weighted vertex cover y: C(y) W(M) Also C(y) = W(M) iff M consists of edges a i b j such that y i + y j = w i,j. In this case M is optimum. 1.1 The Primal/Dual Algorithm The algorithm starts with M = and a trivial feasible solution for the weighted vertex cover which is the following one: a i A; y ai = max j b j B; y bj = 0 w(a i b j ) At any iteration of the algorithm we build an equality graph defined below. The equality graph, G y = (A B,E y ) is built based on the y values such that it only contains tight edges Let us call y ai + y bj w i,j, the excess of a i b j. a i b j E y y i + y j = w i,j Observation 1. If M is a perfect matching in G y then W(M) = a i A y a i + b j B y b j and by previous lemma that matching in G is an optimum solution. Based on this observation, the goal of the algorithm is to find a perfect matching in the equality graph. For this we update y to make more edges tight to be added to E y (until it contains a perfect matching) while keeping y a vertex cover. Now we present an algorithm to add an edge to equality graph. Suppose we are at some iteration of the algorithm and M is a maximum matching in G y but is not perfect. Construct digraph D as before 1. Let L be a set of nodes accessible from any exposed node in A. Recall that C = (A L) (B L) is a vertex cover. Therefore there is no edge between A L and B L (otherwise that edge is not covered by C ). However, we know that we start with a complete graph G. Thus there are edges in G between A L and B L but they are not in G y ; which means all those edges have positive excess (i.e. are not tight). We update the y values to make one of these edges go tight. Let ǫ = min{y ai + y bj w i,j s.t., a i A L, b j B L} be the minimum excess value of all such edges (these are the edges that could be added to G y ). Then we update vertex y values to tighten the edges with ǫ excess value by defining: { yai a y ai = i A L y ai ǫ a i A L and y bj = { ybj b j B L y bj + ǫ b j B L Note that by this change every edge that was in G y remains tight. Also by the choice of ǫ, no edge constraint is going to be violated, so y remains a vertex cover. Furthermore, at least one edge between A L and 1 D = (A B, E ), where E is the union of edges of M directed from B to A and edges of E M directed from A to B.

3 Maximum Weighted Bipartite Matching Algorithm; Primal-Dual Method For each a i A let y ai = max bj B w(a i b j ); For each b j B let y bj = 0; Build graph G y and let M be a maximum matching in G y Construct Digraph D repeat let L be the set of nodes (in D) accessible from any exposed node in A. Let ǫ = min{y ai + y bj w(ij) : a i A L, b j B L} Decrease y ai for each a i A L by ǫ and increase y bj for each b j B L by ǫ Add the tight edges to G y and recompute matching M. Until M is a perfect matching. B L goes tight and therefore is added to G y. We can repeat this operation until either G y has a perfect matching, or there is no edges left between A L and B L. The latter happens only if both these sets are empty, which implies that we have a perfect matching. Thus, eventually we find a perfect matching in G y which by the previous lemma corresponds to an optimum matching in G. At this point the solution y is also an optimum vertex cover. The following pseudo code summarize the Primal/Dual Algorithm: At each iteration of the algorithm at least one edge is added to G y, so there are O(n ) iterations. To update the maximum matching in G y and re-compute L we have to spend at most O(n ) time; thus the total running time is bounded by O(n 4 ). In fact a more careful analysis shows that the running time can be bounded by O(n 3 ). Thus: Theorem 1.3 Given a complete bipartite graph G with edge weights w(e), the primal/dual method finds a maximum matching and a minimum vertex cover in time O(n 3 ). Non-Bipartite Matching So far we have been talking about matchings (and weighted matchings) in bipartite graphs. Finding matchings in general (non-bipartite) graphs is substantially more difficult. In bipartite graphs, König s theorem is a min-max theorem between the maximum size of a matching and the minimum size of a vertex cover. Although vertex cover is the dual problem, this min-max relation does not hold in general graphs (a simple example being a cycle of length 3). However we can still give min-max theorems for general graphs. Definition.1 Given a set of vertices U V, G U is the subgraph obtained by deleting all the nodes of U and their incident edges. Definition. An odd component is a connected component with odd number of nodes. We use o(g) to denote the number of odd components of graph G. Suppose M is a matching in G U and consider an odd component of G U. There is at least one un-matched node in this component. Therefore, to have a perfect matching in G, each such vertex (in an odd component) must be matched to a node in U. But we can add at most U matching edges of this type. Therefore we must have o(g U) U in order to have a perfect matching. Tutte proved that this necessary condition is also sufficient. 3

4 U Figure 1: a matching in G U and the odd components of G U Theorem.3 (Tutte) A graph G has a perfect matching iff o(g U) < U U V. What if G does not have a perfect matching? It is easy to see that each matching in G has at least o(g U) U unmatched edges. This shows that the size of a maximum matching is at most ( V + U o(g U))/. It turns out that the minimum value of this (over all sets U) is actually equal to the size of a maximum matching. If we use ν(g) to denote the size of a maximum matching of G then: Theorem.4 (Tutte-Berge Formula) ν(g) max M M = min U V V o(g U) + U (4) Proof: Assume that G is connected (otherwise we can prove it for each connected component of G). It is clear that the r.h.s. is an upper bound for the size of any matching. We prove the other direction by induction on V. The cases V 1 is trivial. So we assume V 4. Two cases are considered: Case 1: If G has a vertex v V saturated by all maximum matchings of G. Then the size ν(g v) = ν( G ) 1 and by induction there is a set U V v such that: Define U = U {v}. Then: ν(g v) = 1 ( V v + U o(g v U ). ν(g) = ν(g v) + 1 = 1 ( V v + U o(g v U )) + 1 = 1 ( V 1 + U 1 o(g U)) + 1 = 1 ( V + U o(g U)). Case : So suppose that there is no such vertex v. The for each v V there is some maximum matching not covering v. Therefore ν(g) < 1 V. We show that there is exactly one vertex missed in any maximum matching and therefore there is a matching of size 1 ( V 1) which implies the theorem with U =. By 4

5 way of contradiction, suppose there are two distinct vertices not covered by a maximum matching M, call them u,v. Among all such triples M,u,v choose one such that d(u,v) is the smallest. If d(u,v) = 1, then u and v are adjacent, so we can augment M by the edge uv, contradicting the maximality of M; so d(u,v). Therefore, there is an intermediate vertex t on the path between u and v. Because we are in case, there is a maximum matching N missing t and N M (otherwise M misses both u and t which contradicts definition of M,u,v). Among all such maximum matchings N missing t choose one such that M N is the largest. Observe that N must cover u and v. Since both N and M are maximum matchings the number of vertices covered by both is the same. Consequently, there is a vertex x t covered by M but not by N. Let e = xy M; y must be saturated by N (otherwise e could be added to N). In other words y is covered by some edge f N, e M, and e / N. Now we can modify N to N = N f + e in this case the intersection of N with M increases is larger than that of N, contradicting the choice of N. One might think that the idea of using augmenting paths to find maximum matchings could be extended to general graphs. This is true as shown below: Theorem.5 (Berge) A matching M is maximum iff there is not M-augmenting path. Proof: Clearly if there is an M-augmenting path it is not a maximum matching. We prove the other direction. Suppose that M is not maximum and there is not any augmenting path. Let M be a maximum matching with the largest M M. Consider the union M M. Observe that this union cannot have even paths or cycles (as otherwise we could reverse the edges of them to make M M larger). Therefore, there can only be odd paths with more edges from M then M. Such a path is clearly is an M-augmenting path. The major question is how to find an M-augmenting path. A natural approach could be to try to use the same idea as in bipartite graphs to find an augmenting path. The difficulty is that since the graph is not bipartite we don t know how to orient the edges to find the augmenting path. The presence of odd cycles in a general graphs makes it particularly difficult as an alternating path can cross itself. It was Jack Edmonds who came up with a clever idea to handle this difficulty. Definition.6 Let M be a matching in G, and X be the set of vertices missed by M. An M-alternating walk P = (v 0,v 1,...,v t ) is called an M-flower if t is odd and (v 0,v 1,...,v t 1 ) are distinct, v 0 X, and v t = v i for some even i < t. With this condition the set of vertices v i,...,v t are called blossom and the vertices v 0,..,v i are called stem. Figure () shows a flower. The vertices v 0,...,v 4 represent the stem part while the vertices v 4,...,v 8 represent the blossom part. We can easily reverse the edges of the stem so that v i = v t X without changing the size of the matching; this way we obtain an M-flower which consists of just a blossom (i.e. the stem is empty). υ 8 υ 7 υ υ 0 1 υ υ 3 υ 9 υ 4 Figure : A graph containing a stem and blossom υ 5 υ 6 The core of Edmonds algorithm is based on the following observation. Let B V be a subset of vertices. 5

6 Then G/B is the graph G obtained by shrinking the set B into a single node b; G consists of (V B) {b} and each edge e G is obtained by replacing an end-vertex in B with the new node b. We call the new edges of G the images of the original edges in G. As an example, consider the graph in Figure (3a). In the figure (3a) the vertices 6,7,8 constitute a cycle while the figure (3b) illustrates how the vertices 6,7,8 were shrunk in a single node which correspond to a new node b (a) Cycle , 7, 8 4 (b) Shrunk nodes Figure 3: Graphs containing the illustration of passing from a cycle to shrunk node For any matching M, let M/B denote the set of edges in G/B that are images of edges in M not spanned by B (i.e. have at least one end-point not in B). If M intersects δ(b) in at most one edge then M/B is a matching in G/B. So if we can find a blossom in G and shrink it into a single node and find a maximum matching in graph G/B then we can extend it to a maximum matching in G. We formally prove this. Theorem.7 Let B be an M-Blossom in G. Then M is a maximum matching in G iff M/B is a maximum matching in G/B. Proof: Let B = (v 0,...,v t ) (we assume this is a blossom of a flower with empty stem). First assume that M/B is not a maximum size matching in G/B. So there is an M/B-augmenting path P in G/B. If P does not involve vertex b of G/B then it is an M-augmenting path in G and so M is maximum. So suppose P enters b using some edge ub not in the matching M/B. then uv j E for some j {0,1,..,t}. If j is even then replace b in P with v j,v j 1,...,v 0 if j is odd then replace b in P with v j,v j+1,...,v t In both cases an augmenting path is obtained in G. Now suppose that M is not maximum, but M/B is maximum. There is an M-augmenting path P = u 0,u 1,...,u s. If P does not involve B then it is an augmenting path in G/B and we are done. So say P it intersects B and let u j be the first vertex of P in B. Then u 0,u 1,...,u j is an M/B-augmenting path in G/B; thus M/B is not maximum. The following theorem combined with the previous two will complete the tools needed for our matching algorithm. Theorem.8 Let M be a matching in G and P = v 0,v 1,...v t be a shortest M-alternating walk from a node in X to another node in X (i.e. a shortest X X walk). Then either P is an M-augmenting path or 6

7 v 0,...,v t is an M-flower for some j < t Proof: Assume that P is not a path. So there are i < j with v j = v i ; let j be the smallest such index. Therefore, v 0,...,vj 1 are all distinct. We prove that v 0,...,v j is an M-flower. If j i is even then we can delete v i+1,...,v j from P to obtain a shorter M-alternating X X walk. So j i is odd. If j is even and i is odd, then v i+1 = v j 1 (it is a the vertex matched to v i = v j ), contradicting the minimality of j. Thus j is odd and i is even and therefore (v 0,v 1,..v j ) is an M-flower. Using these theorems we can describe Edmonds blossom algorithm for general matching. We use the following procedure to iteratively find augmenting paths as long as there is one: The Matching Augmenting Algorithm X Exposed nodes If there is no alternating X X walk then return No augmenting path Else Let P be a shortest X X alternating walk If P is a path return P Else It contains a blossom B Compute G/B and find an M/B-augmenting path P in G/B Expand P to an augmenting path in G Return P Theorem.9 Given a graph G, a maximum matching can be found in O(n m). Proof: Theorems.5,.7,.8 prove the correctness of the above algorithm. An M-alternating walk can be found in O(m) time using a BFS. This either yields an M-augmenting path or a blossom B. In the latter case the shrunk graph G/B can be built in O(m) as well. The number of recursive calls is at most O(n) since each time the size of the graph decreases by a constant. Thus in O(mn) we can find an M-augmenting path if one exists. There are a total of O(n) iterations of calling this procedure and so the total running time is O(n m). This can be improved to O(n 3 ) as well. References 1. Combinatorial Optimization, Schrijver, (Volume 1) Springer-Verlag,

2. Lecture notes on non-bipartite matching

Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 15th, 013. Lecture notes on non-bipartite matching Given a graph G = (V, E), we are interested in finding

Paths, Trees, and Flowers by Jack Edmonds

Paths, Trees, and Flowers by Jack Edmonds Xiang Gao ETH Zurich Distributed Computing Group www.disco.ethz.ch Introduction and background Edmonds maximum matching algorithm Matching-duality theorem Matching

Solutions to Problem Set 2

Massachusetts Institute of Technology Michel X. Goemans 18.453: Combinatorial Optimization 017 Spring Solutions to Problem Set -3 Let U be any minimizer in the Tutte-Berge formula. Let K 1,, K k be the

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference

S-72.2420 / T-79.5203 Matching in bipartite and general graphs 1 3. Matching in bipartite and general graphs Let G be a graph. A matching M in G is a set of nonloop edges with no shared endpoints. Let

Steiner Trees and Forests

Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G

Assignment and Matching

Assignment and Matching By Geetika Rana IE 680 Dept of Industrial Engineering 1 Contents Introduction Bipartite Cardinality Matching Problem Bipartite Weighted Matching Problem Stable Marriage Problem

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,

Theorem 3.1 (Berge) A matching M in G is maximum if and only if there is no M- augmenting path.

3 Matchings Hall s Theorem Matching: A matching in G is a subset M E(G) so that no edge in M is a loop, and no two edges in M are incident with a common vertex. A matching M is maximal if there is no matching

List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2,

List of Theorems Mat 416, Introduction to Graph Theory 1. Ramsey s Theorem for graphs 8.3.11. Theorem 1 The numbers R(p, q) exist and for p, q 2, R(p, q) R(p 1, q) + R(p, q 1). If both summands on the

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

Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft)

Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft) Lecturer: Uri Zwick June 5, 2013 1 The maximum matching problem Let G = (V, E) be an undirected graph. A set M E is a matching

CS261: Problem Set #2

CS261: Problem Set #2 Due by 11:59 PM on Tuesday, February 9, 2016 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Submission instructions:

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

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

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 2-3 students that is, submit one homework with all of your names.

Network flows and Menger s theorem

Network flows and Menger s theorem Recall... Theorem (max flow, min cut strong duality). Let G be a network. The maximum value of a flow equals the minimum capacity of a cut. We prove this strong duality

Basic Graph Theory with Applications to Economics

Basic Graph Theory with Applications to Economics Debasis Mishra February, 0 What is a Graph? Let N = {,..., n} be a finite set. Let E be a collection of ordered or unordered pairs of distinct elements

B r u n o S i m e o n e. La Sapienza University, ROME, Italy

B r u n o S i m e o n e La Sapienza University, ROME, Italy Pietre Miliari 3 Ottobre 26 2 THE MAXIMUM MATCHING PROBLEM Example : Postmen hiring in the province of L Aquila Panconesi Barisciano Petreschi

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

11.1. Definitions. 11. Domination in Graphs

11. Domination in Graphs Some definitions Minimal dominating sets Bounds for the domination number. The independent domination number Other domination parameters. 11.1. Definitions A vertex v in a graph

Graph Algorithms Matching

Chapter 5 Graph Algorithms Matching Algorithm Theory WS 2012/13 Fabian Kuhn Circulation: Demands and Lower Bounds Given: Directed network, with Edge capacities 0and lower bounds l for Node demands for

Edmonds Blossom Algorithm

Stanford University, CME 323 Edmonds Blossom Algorithm Amy Shoemaker and Sagar Vare June 6, 2016 Abstract The Blossom Algorithm is a means of finding the maximum matching in a graph, through the Blossom

arxiv: v3 [cs.dm] 12 Jun 2014

On Maximum Differential Coloring of Planar Graphs M. A. Bekos 1, M. Kaufmann 1, S. Kobourov, S. Veeramoni 1 Wilhelm-Schickard-Institut für Informatik - Universität Tübingen, Germany Department of Computer

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

Rigidity, connectivity and graph decompositions

First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework

1 The Traveling Salesperson Problem (TSP)

CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

Math 454 Final Exam, Fall 2005

c IIT Dept. Applied Mathematics, December 12, 2005 1 PRINT Last name: Signature: First name: Student ID: Math 454 Final Exam, Fall 2005 I. Examples, Counterexamples and short answer. (6 2 ea.) Do not give

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

Professor Kindred Math 104, Graph Theory Homework 2 Solutions February 7, 2013 Introduction to Graph Theory, West Section 1.2: 26, 38, 42 Section 1.3: 14, 18 Section 2.1: 26, 29, 30 DO NOT RE-DISTRIBUTE

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

Dijkstra s algorithm for shortest paths when no edges have negative weight.

Lecture 14 Graph Algorithms II 14.1 Overview In this lecture we begin with one more algorithm for the shortest path problem, Dijkstra s algorithm. We then will see how the basic approach of this algorithm

Repetition: Primal Dual for Set Cover

Repetition: Primal Dual for Set Cover Primal Relaxation: k min i=1 w ix i s.t. u U i:u S i x i 1 i {1,..., k} x i 0 Dual Formulation: max u U y u s.t. i {1,..., k} u:u S i y u w i y u 0 Harald Räcke 428

Greedy algorithms is another useful way for solving optimization problems.

Greedy Algorithms Greedy algorithms is another useful way for solving optimization problems. Optimization Problems For the given input, we are seeking solutions that must satisfy certain conditions. These

11.1 Facility Location

CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local

MATH 682 Notes Combinatorics and Graph Theory II. One interesting class of graphs rather akin to trees and acyclic graphs is the bipartite graph:

1 Bipartite graphs One interesting class of graphs rather akin to trees and acyclic graphs is the bipartite graph: Definition 1. A graph G is bipartite if the vertex-set of G can be partitioned into two

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 While we have good algorithms for many optimization problems, the previous lecture showed that many

9.1 Cook-Levin Theorem

CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two

2 Eulerian digraphs and oriented trees.

2 Eulerian digraphs and oriented trees. A famous problem which goes back to Euler asks for what graphs G is there a closed walk which uses every edge exactly once. (There is also a version for non-closed

Graph Theory. Part of Texas Counties.

Graph Theory Part of Texas Counties. We would like to visit each of the above counties, crossing each county only once, starting from Harris county. Is this possible? This problem can be modeled as a graph.

On 2-Subcolourings of Chordal Graphs

On 2-Subcolourings of Chordal Graphs Juraj Stacho School of Computing Science, Simon Fraser University 8888 University Drive, Burnaby, B.C., Canada V5A 1S6 jstacho@cs.sfu.ca Abstract. A 2-subcolouring

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

MA4254: Discrete Optimization Defeng Sun Department of Mathematics National University of Singapore Office: S14-04-25 Telephone: 6516 3343 Aims/Objectives: Discrete optimization deals with problems of

Undirected Graphs. DSA - lecture 6 - T.U.Cluj-Napoca - M. Joldos 1

Undirected Graphs Terminology. Free Trees. Representations. Minimum Spanning Trees (algorithms: Prim, Kruskal). Graph Traversals (dfs, bfs). Articulation points & Biconnected Components. Graph Matching

Graph Connectivity G G G

Graph Connectivity 1 Introduction We have seen that trees are minimally connected graphs, i.e., deleting any edge of the tree gives us a disconnected graph. What makes trees so susceptible to edge deletions?

1 Matchings with Tutte s Theorem

1 Matchings with Tutte s Theorem Last week we saw a fairly strong necessary criterion for a graph to have a perfect matching. Today we see that this condition is in fact sufficient. Theorem 1 (Tutte, 47).

The External Network Problem

The External Network Problem Jan van den Heuvel and Matthew Johnson CDAM Research Report LSE-CDAM-2004-15 December 2004 Abstract The connectivity of a communications network can often be enhanced if the

Algorithm Design and Analysis

Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation

Chapter 6 GRAPH COLORING

Chapter 6 GRAPH COLORING A k-coloring of (the vertex set of) a graph G is a function c : V (G) {1, 2,..., k} such that c (u) 6= c (v) whenever u is adjacent to v. Ifak-coloring of G exists, then G is called

1 Variations of the Traveling Salesman Problem

Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2-approximate algorithm,

Enumeration of Perfect Sequences in Chordal Graphs

Enumeration of Perfect Sequences in Chordal Graphs Yasuko Matsui, Ryuhei Uehara, Takeaki Uno Center for Computational Epidemiology and Response Analysis University of North Texas May 4, 20 (CeCERA) GSCM

The Weighted Matching Approach to Maximum Cardinality Matching

The Weighted Matching Approach to Maximum Cardinality Matching Harold N. Gabow March 0, 207 arxiv:703.03998v [cs.ds] Mar 207 Abstract Several papers have achieved time O( nm) for cardinality matching,

Modular Representations of Graphs

Modular Representations of Graphs Crystal Altamirano, Stephanie Angus, Lauren Brown, Joseph Crawford, and Laura Gioco July 2011 Abstract A graph G has a representation modulo r if there exists an injective

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms

Chapter 10: Iterative Programming Maximum Flow Problem CmSc20 Intro to Algorithms A flow network is a model of a system where some material is produced at its source, travels through the system, and is

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15

600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15 14.1 Introduction Today we re going to talk about algorithms for computing shortest

arxiv: v1 [cs.ds] 19 Feb 2014

Turing Kernelization for Finding Long Paths and Cycles in Restricted Graph Classes Bart M. P. Jansen 1 University of Bergen, Norway. Bart.Jansen@ii.uib.no arxiv:1402.4718v1 [cs.ds] 19 Feb 2014 Abstract.

FURTHER APPLICATIONS OF CLUTTER DOMINATION PARAMETERS TO PROJECTIVE DIMENSION

FURTHER APPLICATIONS OF CLUTTER DOMINATION PARAMETERS TO PROJECTIVE DIMENSION HAILONG DAO AND JAY SCHWEIG Abstract. We study the relationship between the projective dimension of a squarefree monomial ideal

1 Non greedy algorithms (which we should have covered

1 Non greedy algorithms (which we should have covered earlier) 1.1 Floyd Warshall algorithm This algorithm solves the all-pairs shortest paths problem, which is a problem where we want to find the shortest

Fast Skew Partition Recognition

Fast Skew Partition Recognition William S. Kennedy 1, and Bruce Reed 2, 1 Department of Mathematics and Statistics, McGill University, Montréal, Canada, H3A2K6 kennedy@math.mcgill.ca 2 School of Computer

Coverings and Matchings in r-partite Hypergraphs

Coverings and Matchings in r-partite Hypergraphs Douglas S. Altner Department of Mathematics, United States Naval Academy, Annapolis, Maryland, altner@usna.edu. J. Paul Brooks Department of Statistical

Min-max relations for odd cycles in planar graphs arxiv: v1 [math.co] 22 Aug 2011

Min-max relations for odd cycles in planar graphs arxiv:1108.4281v1 [math.co] 22 Aug 2011 Daniel Král Jean-Sébastien Sereni Ladislav Stacho Abstract Let ν(g) be the maximum number of vertex-disjoint odd

1 Undirected Vertex Geography UVG

Geography Start with a chip sitting on a vertex v of a graph or digraph G. A move consists of moving the chip to a neighbouring vertex. In edge geography, moving the chip from x to y deletes the edge (x,

Lecture 4: Trees and Art Galleries

Math 7H: Honors Seminar Professor: Padraic Bartlett Lecture 4: Trees and Art Galleries Week 2 UCSB 2014 1 Prelude: Graph Theory In this talk, we re going to refer frequently to things called graphs and

Lecture 3: Art Gallery Problems and Polygon Triangulation

EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

Edge-disjoint Spanning Trees in Triangulated Graphs on Surfaces and application to node labeling 1

Edge-disjoint Spanning Trees in Triangulated Graphs on Surfaces and application to node labeling 1 Arnaud Labourel a a LaBRI - Universite Bordeaux 1, France Abstract In 1974, Kundu [4] has shown that triangulated

2. CONNECTIVITY Connectivity

2. CONNECTIVITY 70 2. Connectivity 2.1. Connectivity. Definition 2.1.1. (1) A path in a graph G = (V, E) is a sequence of vertices v 0, v 1, v 2,..., v n such that {v i 1, v i } is an edge of G for i =

arxiv: v1 [cs.cg] 15 Jan 2015

Packing Plane Perfect Matchings into a Point Set Ahmad Biniaz Prosenjit Bose Anil Maheshwari Michiel Smid January 16, 015 arxiv:1501.03686v1 [cs.cg] 15 Jan 015 Abstract Given a set P of n points in the

A List Heuristic for Vertex Cover

A List Heuristic for Vertex Cover Happy Birthday Vasek! David Avis McGill University Tomokazu Imamura Kyoto University Operations Research Letters (to appear) Online: http://cgm.cs.mcgill.ca/ avis revised:

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

Undirected Graphical Models: Chordal Graphs, Decomposable Graphs, Junction Trees, and Factorizations Peter Bartlett. October 2003. These notes present some properties of chordal graphs, a set of undirected

Network optimization: An overview

Network optimization: An overview Mathias Johanson Alkit Communications 1 Introduction Various kinds of network optimization problems appear in many fields of work, including telecommunication systems,

The Largest Pure Partial Planes of Order 6 Have Size 25

The Largest Pure Partial Planes of Order 6 Have Size 5 Yibo Gao arxiv:1611.00084v1 [math.co] 31 Oct 016 Abstract In this paper, we prove that the largest pure partial plane of order 6 has size 5. At the

Shortest path problems

Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths

Greedy Approximations

CS 787: Advanced Algorithms Instructor: Dieter van Melkebeek Greedy Approximations Approximation algorithms give a solution to a problem in polynomial time, at most a given factor away from the correct

1 Better Approximation of the Traveling Salesman

Stanford University CS261: Optimization Handout 4 Luca Trevisan January 13, 2011 Lecture 4 In which we describe a 1.5-approximate algorithm for the Metric TSP, we introduce the Set Cover problem, observe

Distributed Algorithms 6.046J, Spring, Nancy Lynch

Distributed Algorithms 6.046J, Spring, 205 Nancy Lynch What are Distributed Algorithms? Algorithms that run on networked processors, or on multiprocessors that share memory. They solve many kinds of problems:

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 03/02/17

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 03/02/17 1. Consider a model of a nonbipartite undirected graph in which

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

2301-670 Graph theory 1.1 What is a graph? 1 st semester 2550 1 1.1. What is a graph? 1.1.2. Definition. A graph G is a triple (V(G), E(G), ψ G ) consisting of V(G) of vertices, a set E(G), disjoint from

Chordal Graphs and Minimal Free Resolutions

Chordal Graphs and Minimal Free Resolutions David J. Marchette David A. Johannsen Abstract The problem of computing the minimal free resolution of the edge ideal of a graph has attracted quite a bit of

Line Graphs and Circulants

Line Graphs and Circulants Jason Brown and Richard Hoshino Department of Mathematics and Statistics Dalhousie University Halifax, Nova Scotia, Canada B3H 3J5 Abstract The line graph of G, denoted L(G),

Introduction to Graph Theory

Introduction to Graph Theory DRAFT COPY J. A. Verstraete jverstra@math.uwaterloo.ca 1 Introduction Throughout these notes, a graph G is a pair (V; E) where V is a set and E is a set of unordered pairs

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Kavish Gandhi April 4, 2015 Abstract A geodesic in the hypercube is the shortest possible path between two vertices. Leader and Long

ON THE EQUIVALENCE BETWEEN THE PRIMAL-DUAL SCHEMA AND THE LOCAL RATIO TECHNIQUE

ON THE EQUIVALENCE BETWEEN THE PRIMAL-DUAL SCHEMA AND THE LOCAL RATIO TECHNIQUE REUVEN BAR-YEHUDA AND DROR RAWITZ Abstract. We discuss two approximation paradigms that were used to construct many approximation

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

Approximation Algorithms Based on the Primal-Dual Method

CSE 594: Combinatorial and Graph Algorithms Lecturer: Hung Q. Ngo SUNY at Buffalo, Spring 2005 Last update: March 11, 2005 Approximation Algorithms Based on the Primal-Dual Method The primal-dual method

Final Exam. Jonathan Turner 5/12/2010. CS 542 Advanced Data Structures and Algorithms

CS 542 Advanced Data Structures and Algorithms Final Exam Jonathan Turner 5/12/2010 1. (10 points) In the analysis that establishes an O(log log n) bound on the amortized time per operation for the partition

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review

1 Review 1 Something I did not emphasize enough last time is that during the execution of depth-firstsearch, we construct depth-first-search trees. One graph may have multiple depth-firstsearch trees,

CS261: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow

CS26: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow Tim Roughgarden January 2, 206 Motivation The maximum flow algorithms that we ve studied so far are augmenting

Graph Representations and Traversal

COMPSCI 330: Design and Analysis of Algorithms 02/08/2017-02/20/2017 Graph Representations and Traversal Lecturer: Debmalya Panigrahi Scribe: Tianqi Song, Fred Zhang, Tianyu Wang 1 Overview This lecture

Lecture Notes on Graph Theory

Lecture Notes on Graph Theory Vadim Lozin 1 Introductory concepts A graph G = (V, E) consists of two finite sets V and E. The elements of V are called the vertices and the elements of E the edges of G.

Lecture 8: PATHS, CYCLES AND CONNECTEDNESS

Discrete Mathematics August 20, 2014 Lecture 8: PATHS, CYCLES AND CONNECTEDNESS Instructor: Sushmita Ruj Scribe: Ishan Sahu & Arnab Biswas 1 Paths, Cycles and Connectedness 1.1 Paths and Cycles 1. Paths

Dynamic Arrays and Amortized Analysis

Department of Computer Science and Engineering Chinese University of Hong Kong As mentioned earlier, one drawback of arrays is that their lengths are fixed. This makes it difficult when you want to use

Graphs and trees come up everywhere. We can view the internet as a graph (in many ways) Web search views web pages as a graph

Graphs and Trees Graphs and trees come up everywhere. We can view the internet as a graph (in many ways) who is connected to whom Web search views web pages as a graph Who points to whom Niche graphs (Ecology):

On the Rainbow Neighbourhood Number of Set-Graphs

On the Rainbow Neighbourhood Number of Set-Graphs Johan Kok, Sudev Naduvath arxiv:1712.02324v1 [math.gm] 6 Dec 2017 Centre for Studies in Discrete Mathematics Vidya Academy of Science & Technology Thalakkottukara,

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

Graph Theory II. Po-Shen Loh. June edges each. Solution: Spread the n vertices around a circle. Take parallel classes.

Graph Theory II Po-Shen Loh June 009 1 Warm-up 1. Let n be odd. Partition the edge set of K n into n matchings with n 1 edges each. Solution: Spread the n vertices around a circle. Take parallel classes..