Outline. 1 The matching problem. 2 The Chinese Postman Problem

Size: px
Start display at page:

Download "Outline. 1 The matching problem. 2 The Chinese Postman Problem"

Transcription

1 Outline The matching problem Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm 2

2 Let G = (V, E) be an undirected graph. Definition: and M E is a Matching in G if the degree of each node in (V, M) is, at the most,. (no node of G is incident with more than one edge in M) M is a Perfect Matching in G, if the degree of each node in (V, M) is exactly. (each node of G is incident with exactly one edge in M)

3 G = (V, E) Matching Not a Matching

4 The Matching Problem Given an undirected graph G = (V, E) with weights on the edges, to find a matching in G of maximal (or minimal) weight. Maximum-cardinality matching (all weights are ) Maximum(minimum)-weight matching (general weights) Note: Generalization to b-matching (uncapacitated or capacitated).

5 G = (V, E) Maximum cardinality matching Maximum weight matching

6 Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs G = (V, E) is bipartite if V = V V 2 with E = δ(v ). Alternatively: G bipartite G does not contain odd cycles. Definition: Let M E a matching and P E a path in G. v V is exposed (wrt M) if it is not incident with any matching edge. P is an alternating path (wrt M) if matching and nonmatching edges alternate in P. P is augmenting (wrt M) if P alternating and its two endnodes are exposed. When an alternating path P exists, a larger matching can be obtained by replacing the matching edges of P with the nonmatching edges of P.

7 Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs Alternating path Augmenting path Larger matching

8 Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs Proposition: A matching M is optimal if and only if there does not exist any augmenting path (wrt M).

9 Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs M optimal there exists no augmenting path (wrt M) Proof: = : If an alternating path exists, a matching M, M = M + can be obtained. =: Suppose M not maximal. Let M be a matching with M = M +. Consider the symmetric difference F = M M = (M M ) \ (M M ). F = M + M 2 M M = 2 M + 2 M M F is odd. F contains an augmenting path. There are 3 possible cases for a node v in (V, F ): v has degree 0: v is exposed in M and in M (otherwise v is incident to some edge in M M ). v has degree : v is incident to an edge of M \ M or to a matching edge of M \ M. v has degree 2: v is incident to an matching edge of M \ M and to a matching edge of M \ M.

10 Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs Proof: = (Cont): Therefore, (V, F ) contains: Isolated nodes. Even cycles (where edges of M and edges of M alternate). Paths where edges of M and edges of M alternate. Since F is odd, an odd alternating path must exist. Since M > M, one such alternating path must be augmenting wrt M.

11 Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs M M (V, F) Alternating path

12 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm The augmenting path algorithm Idea of the algorithm For a given pair u, v V with u exposed. The alternating paths that might exist from u to v are either all even or all odd. Grow tree of alternating paths rooted at an exposed node. Scanned nodes are classified in labeled and unlabeled Labels have two components: First component: Even (E) or Odd (O). E label means that there exists an even alternating path from the root of the tree to the node. O label means that there exists an even alternating path from the root of the tree to the node. Second component: predecessor of node in alternating path.

13 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm MaximumBipartiteMatching(G) () Let M be a Matching, all nodes are unlabeled and not scanned. (2) Optimality test. If all exposed nodes are labeled, STOP (The current Matching M is maximal) Otherwise, chose an unlabeled exposed node r. Label r with (E, ). (3) Grow an alternating tree. Chose a labeled unscanned node i. (3.) If i is even, label all unlabeled neighbors of i (in G) with (O, i). Declare i as scanned. Go to (4). (3.2) If i is odd and not exposed, label the node connected with i in the matching with (E, i). Declare i as scanned. Go to (4). (3.3) If i is odd and exposed, go to (5). (4) If a labeled unscanned node exists, go to (3), otherwise go to (2). (5) Augmenting path identification. An augmenting path from r to i has been found (it can be used to find a larger matching). Use the second component of the labels to trace the augmenting path. Let M denote the new Matching. Delete all labels, declare all nodes as unscanned, go to (2).

14 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm Runtime of the augmenting path algorithm The runtime of the algorithm is O(VA). With more elaborate techniques it can be implemented in O( VA).

15 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm The augmenting path algorithm: Example Consider the following graph and matching of cardinality The tree of alternating paths after the first iteration of the algorithm is (E, -) 5 (O, 5) 7 (O, 5) 8 (E, 7) 2 (E, 8) 3 (O, 3) 6 (O, 5) 0 (E, 0) 4 9 (O, 4) The augmenting path (5, 8, 3, 6) is found, which allows to obtain the following cardinality 4 matching:

16 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm

17 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm The algorithm does not find any augmenting path algorithm: 9 (E, -) (E, -) (O, ) (E, 7) 7 2 (O, 2) 8 3 (O, 9) 4 (E, 0) 0 (O, 5) 5 (E, 8) 6 (E, 3) Thus, the current matching is optimal

18 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm Correctness of the augmenting path algorithm The algorithm terminates with a matching M 0 and set of labeled trees T i = (V i, E i ), i =, s and a set of unlabeled nodes V s. (V s, E s ), contains a perfect matching. (No nodes in V s are exposed). (Vs, Vs 2 ) bipartition of V s with E s = δ(vs ). Vi 0 V i odd nodes of T i, i =,, s. W = s i= V i 0 Vs. Each e s i= E i is incident to a node in W. In (V i, E i ) there cannot be an edge joining two even nodes. (there would be an odd cycle) There cannot be an edge joining even nodes in different trees. (one of these nodes would have been labeled from the other) There cannot be an edge joining an even node and an unlabeled node. (the unlabeled node would have been labeled from the even node)

19 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm Correctness of the augmenting path algorithm V O O E T= (V, E) E O E V s O E V O 2 O Gs= (Vs, Es) E T2= (V2, E2) E E O s W = E i M 0 = M 0 i= Each element of W is incident to exactly one edge of M 0. Each edge of E is incident to exactly one element of W.

20 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm Correctness of the augmenting path algorithm LP formulation of matching problem without integrality constraints. max s.t. e E x e x e for all v V min s.t. v V π v π v for all e E e δ(v) 0 x e for all e E v:e δ(v) 0 π v for all v V For general graphs, the associated polytope may have non-integer vertices. For bipartite graphs, all the vertices of the associated polytope are integer. (In the bipartite case the above model is an exact formulation)

21 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm Correctness of the augmenting path algorithm LP formulation of matching problem without integrality constraints. max s.t. e E x e x e for all v V min s.t. v V π v π v for all e E e δ(v) 0 x e for all e E v:e δ(v) 0 π v for all v V For general graphs, the associated polytope may have non-integer vertices. For bipartite graphs, all the vertices of the associated polytope are integer. (In the bipartite case the above model is an exact formulation)

22 Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm Correctness of the augmenting path algorithm Define the pair of solutions to LP and the dual problem, respectively: x e = {, e M 0 0, e / M 0, π v = {, v W 0, i / W, By construction these solutions are feasible for their respective problems. Further they take the same objective function value.

23 2 3 4 (O, ) 2 (O, ) 2 (E, -) (E, -) 3 (E, 2) 4 (O, 3) 3 (O, ) 4 When G = (V, E) is not bipartite... The labels assigned to the nodes are no longer unique. The augmenting path algorithm may fail to identify an augmenting path even if it exists.

24 max s.t. e E x e e δ(v) x e for all v V 0 x e for all e E When G = (V, E) is not bipartite the LP formulation does not necessarily give an integer solution Consider G = K 3. The optimal solution to the LP formulation is ( 2, 2, 2 ). The polytope is not the convex hull of incidence vectors associated with matchings. The LP formulation is not enough. The inequality x 2 + x 3 + x 23 is needed (at most one of the tree edges can be used).

25 max s.t. e E x e e δ(v) e E(U) x e x e U 2 v V 0 x e, e E U V, U 3, U odd, min s.t. π v + v V v:e δ(v) U V U 3, U odd π v + U:e E(U) U y U 2 y U e E 0 π v v V 0 y U U V, U 3, U odd

26 max s.t. e E x e e δ(v) e E(U) x e x e U 2 v V 0 x e, e E U V, U 3, U odd, min s.t. π v + v V v:e δ(v) U V U 3, U odd π v + U:e E(U) U y U 2 y U e E 0 π v v V 0 y U U V, U 3, U odd

27 Detecting odd circuits A nonmatching edge connects to even nodes. The two branches of the tree meet at an even node. In principle each node of the odd circuit could be labeled as even (because there are two possible alternating paths, one even and one odd). E O O E E O O O E E Relative to M, M U = U 2. We shrink the odd cycle into a pseudonode and we mark it as even E

28 Detecting odd circuits A nonmatching edge connects to even nodes. The two branches of the tree meet at an even node. In principle each node of the odd circuit could be labeled as even (because there are two possible alternating paths, one even and one odd). E O O E E O O O E E Relative to M, M U = U 2. We shrink the odd cycle into a pseudonode and we mark it as even E

29 Let U V, U 3 U odd with M U = U 2 The subgraph (U, E(U)) is called blossom relative to M. The common node, b(u) is denoted base of the blossom. It is either the root of the tree. or adjacent to a matching edge in the tree. Then we shrink the odd cycle into a pseudonode and we mark it as even E O E O E

30 Shrinking a blossom The blossom (U, E(U)) is replaced by the new pseudonode B(U). If v V \ U is connected with a node of U, then connect v with B(U). Matching and nonmatching edges retain their status. B(U) inherits the label of b(u) Each node v V \ U which was labeled from a node of U, receives B(U) as the second component of his label. The resulting pseudonode will be treated as a regular node (it can be part of a new blossom).

31 Reconstruction of an augmenting path. Suppose we find in the reduced graph an augmenting path P that contains B(U). To reconstruct the path P in the original graph we do the following: Let v be node after B(U) in P. Identify in G the alternating path of even length that connects b(u) and v.

32 Maximum matchings in general graphs: Example G, M (E, -) (O, ) (E, 2) 2 3 (O, 3) (E, 4) (O, 3) (E, 5) U={3, 4, 5, 6, 7}; b(u)=3 9 2

33 Maximum matchings in general graphs: Example U={3, 4, 5, 6, 7} 9 2 Reduced graph, G, and matching, M, after shrinking U 2 B(U)

34 Maximum matchings in general graphs: Example Reduced graph, G, and matching, M, after shrinking U 2 B(U) (E, -) (O, ) (E, 2) (O, B(U)) (E, 8) 2 B(U) (O, B(U)) 2 (E, 9) U ={B(U)}, 8, 9, 0, }; b(u )=B(U)

35 Maximum matchings in general graphs: Example 2 B(U) 8 0 U ={B(U), 8, 9, 0, } 9 2 Reduced graph, G, and matching M, after shrinking U 2 B(U ) 2

36 Maximum matchings in general graphs: Example Reduced graph, G, and matching M, after shrinking U 2 B(U ) 2 (E, -) (O,) 2 (E,2) B(U ) Augmenting path, P, in G : (, 2, B(U ), 2) 2 (O, B(U )

37 Maximum matchings in general graphs: Example Reconstructing alternating path in U (E, -) (O, ) (E, 2) (O, B(U)) (E, 8) 2 B(U) (O, B(U)) 2 (E, 9) (E, -) (O, ) (E, 2) 2 B(U) 8 0 Augmenting path, P, in G : (, 2, B(U), 9,, 2) 9 (O, B(U)) 2 (E, 9)

38 Maximum matchings in general graphs: Example Reconstructing alternating path in U (E, -) (O,) (E, 2) 2 3 (O, 3) (E, 4) (E, 5) 9 2 (E, -) (O,) (E, 2) (E, 5) Augmenting path, P, in G: (, 2, B(U), 9,, 2) 9 2

39 Observation Let G denote the graph obtained after shrinking a blossom B(U). If G contains an augmenting path, then G also contains an augmenting path. We will prove that the reverse is also true.

40 MaximumMatching(G) Notation: M(v): Neighbor of v connected with a matching edge. (otherwise, not defined) p(v): Predecessor of v in the tree.

41 MaximumMatching(G) () Find a Matching M. (2) Label all exposed nodes v as even; set p(v) = NULL. All other nodes are unlabeled. (3) Let (v, w) be an edge, such that v is an even node and (v, w) has not been observed from v. If no such edge exists, Stop ( Matching is maximal ). If w is not labeled, label w as odd and M(w) as even. Set p(w) = v and p(m(w)) = w. If w is even, and v and w are in different trees, an augmenting path has been found. Expand the blossoms and augment the matching. Go to (2). If w is even and v and W are in the same tree, a blossom (U, E(U)) has been found. Let b(u) be the nearest common predecessor of v and w (base of the blossom). Shrink the nodes of the blossom B(U). Set p(b(u)) = p(b(u)) and p(v) = B(U) for each node with p(v) in U. Label B(U) as even and go to (3). If w is odd, go to (3).

42 Example M(2) = 3, M(3) = 2, M(4) = 7, M(7) = 4, M(5) = 6, M(6) = 5, M(9) = 0, M(0) = 9.

43 Example (E, -) (O, 8) (E, 4) (O, 7) U = {5, 6, 7}; b(u)=7; p(u) = 4. 5 (E, 6)

44 Example (E, -) (O, 8) 8 4 (E, 4) (O, B(U)) 2 3 (E, 2) U = {U, 2, 3}; b(u )=U; p(u ) = 4 U ={U, 2, 3} b(u )=U

45 Example (E, -) (O, 8) 8 4 B(U ) (E, 4) v = B(U ), w = ; They belong to different trees. Both are labeled even. Augmenting path found: (8, 4, B(U ), ). (E, -) (O, ) (E, 9) 9 0

46 Correctness of MaximumMatching algorithm max s.t. e E x e e δ(v) e E(U) x e x e U 2 v V 0 x e, e E U V, U 3, U odd, min s.t. π v + v V v:e δ(v) U V U 3, U odd π v + U:e E(U) U 3, U odd U y U 2 y U 0 π v v V e E 0 y U U V, U 3, U odd

47 Correctness of MaximumMatching algorithm max s.t. e E x e e δ(v) e E(U) x e x e U 2 v V 0 x e, e E U V, U 3, U odd, min s.t. π v + v V v:e δ(v) U V U 3, U odd π v + U:e E(U) U 3, U odd U y U 2 y U 0 π v v V e E 0 y U U V, U 3, U odd

48 Correctness of MaximumMatching algorithm The algorithm terminates with: A matching M of G (and a corresponding matching of G, M 0 ) A set of labeled trees T i = (Ṽi, Ẽi), i =, s A set of unlabeled nodes Ṽs. Gs = (Ṽs, E(Ṽs)) G s, contains a perfect matching. (No nodes in Ṽs are exposed). The edges of M 0 are: edges of some tree, internal edges in some pseudonode, or edges of G s. The solution associated with M 0 is feasible to the LP primal. We build a feasible solution to the LP dual problem of value M 0. By the Theorem of weak duality the result will follow.

49 Correctness of MaximumMatching algorithm O E q ~ T = ~ ~ ( V, E ) O O B(U) E E O E ~ Ts = ( V ~ ~ s, E( Vs ) Let B(U) be a pseudonode. R(U) = {u V u U or v in blossom nested in B(U)} R(U) odd. ( U odd; by replacing pseudonodes by odd sets R(U)) ~ T 2 = ~ ( V ~ 2, E2 ) E O E For edges of E(Ṽ i ), i =,, s, dual constraint satisfied by setting π v = for each odd node in Ṽ i, i =,, s. For edges in (R(U), E(R(U))), dual constraint satisfied by setting y U =. For edges of G s (assuming that Ṽ s ). Select q Ṽ s and set π q =. If Ṽs = 2, the dual constraint associated with the only edge of E(Ṽs) is satisfied. Otherwise, set yṽs \{q} =. Dual constraints associated with edges of E(Ṽs \ {q}) are satisfied. Note that Ṽs \ {q} is an odd set with (Ṽs 2)/2 matching edges.

50 Correctness of MaximumMatching algorithm Define the pair of feasible solutions to LP and the dual problem: x e = {, e M 0 0, e / M 0., if v odd node in Ṽ i, i =,, s, π v =, if v = q arbitrarily selected in Ṽ s, 0, otherwise. y R(U) =, if B(U) is a pseudonode, yṽs \{q} =, if Ṽs 2, y U = 0, otherwise.

51 Correctness of MaximumMatching algorithm, if v odd node in Ṽi, i =,, s, π v =, if v = q arbitrarily selected in Ṽ s, 0, otherwise. y R(U) =, if B(U) is a pseudonode, yṽs \{q} =, if Ṽs 2, y U = 0, otherwise. Each odd node is incident with one matching edge. Each pseudonode B(U) contains at most R(U) matching edges. 2 E(Ṽs \ {q}) contains (Ṽs 2)/2 matching edges. Thus, π v + v V U V U 3, U odd U y U M 0. 2

52 Complexity of MaximumMatching algorithm The complexity of the MaximumMatching algorithm is O(AV ) An efficient implementation of the algorithm may result in an overall O( AV ) complexity. Keep pseudonodes after an augmenting path is found. Grow new alternating forest in G. Update bases of the pseudonodes after an augmenting path is found. Expand pseudonodes if thew receive odd labels in the new alternating forest.

53 Outline The matching problem Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm 2

54 Classic example application for the matching problem. Stems from Chinese mathematician Mei-Ko. Given a connected graph and a cost function on the edges, to find a minimum cost closed walk that traverses at least once all the edges. Special case: The graph is Eulerian. Each Eulerian tour is an optimal solution. In all other cases, one or more edges are traversed more than once. Introduce parallel edges of minimum total cost, so that the resulting graph is Eulerian.

55 Classic example application for the matching problem. Stems from Chinese mathematician Mei-Ko. Given a connected graph and a cost function on the edges, to find a minimum cost closed walk that traverses at least once all the edges. Special case: The graph is Eulerian. Each Eulerian tour is an optimal solution. In all other cases, one or more edges are traversed more than once. Introduce parallel edges of minimum total cost, so that the resulting graph is Eulerian.

56 Let G = (V, E) the edge graph with edge costs c e 0, e E. We look for a subgraph G such that G G is Eulerian, and the sum of the edges in G is minimal. Since c e 0, e E, G contains no cycle. Look for a disjoint collection of (shortest) paths connecting odd degree nodes.

57 MinimumChinesePostmanTour(G, c) () Let W denote the set of odd degree nodes in G. (2) For each pair of nodes u, v W find a shortest (u, v)-path in G. (3) Compute a perfect matching, M in teh complete graph with nodes set W and edge lengths given by shortest distances of (2). (4) Add to G parallel edges corresponding to the paths represented by M. (5) Determine an Euler tour in the extended graph. This solves the Chinese postman problem.

58 Example El CPP en un grafo no dirigido G = (V, E) G = (V, E) Compute shortest paths in G

59 Example El CPP en un grafo no dirigido G = (V, E) Identify odd nodes in G Compute minimum weight perfect matching, M in graph induced by odd degree nodes

60 Example Eulerian graph (V, E M)

61 on a directed graph D = (V, A) strongly connected with non-negative arc costs c a 0, a A, can be formulated as a minimum cost network flow problem. min c uv x uv s.t. (u,v) A x uv x vu = 0 u V (u,v) A x uv (v,u) A (u, v) A

62 The Chinese Postman problem on a general graph is NP-hard.

Lecture 15: Matching Problems. (Reading: AM&O Chapter 12)

Lecture 15: Matching Problems. (Reading: AM&O Chapter 12) Lecture 15: Matching Problems (Reading: AM& Chapter 12) The General Matching Problem Given: Undirected graph G = (N, A), with costs c ij on each arc (i, j) of G. Find: A matching (set of disjoint arcs)

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

Lecture Overview. 2 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013

Lecture Overview. 2 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013 COMPCI 530: Design and Analysis of Algorithms 11/14/2013 Lecturer: Debmalya Panigrahi Lecture 22 cribe: Abhinandan Nath 1 Overview In the last class, the primal-dual method was introduced through the metric

More information

Steiner Trees and Forests

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

More information

Lecture 8: Non-bipartite Matching. Non-partite matching

Lecture 8: Non-bipartite Matching. Non-partite matching Lecture 8: Non-bipartite Matching Non-partite matching Is it easy? Max Cardinality Matching =? Introduction The theory and algorithmic techniques of the bipartite matching have been generalized by Edmonds

More information

1 Bipartite maximum matching

1 Bipartite maximum matching Cornell University, Fall 2017 Lecture notes: Matchings CS 6820: Algorithms 23 Aug 1 Sep These notes analyze algorithms for optimization problems involving matchings in bipartite graphs. Matching algorithms

More information

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge. 1 Graph Basics What is a graph? Graph: a graph G consists of a set of vertices, denoted V (G), a set of edges, denoted E(G), and a relation called incidence so that each edge is incident with either one

More information

Assignment and Matching

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

More information

2. Lecture notes on non-bipartite matching

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

More information

Figure 2.1: A bipartite graph.

Figure 2.1: A bipartite graph. Matching problems The dance-class problem. A group of boys and girls, with just as many boys as girls, want to dance together; hence, they have to be matched in couples. Each boy prefers to dance with

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

8.2 Paths and Cycles

8.2 Paths and Cycles 8.2 Paths and Cycles Degree a b c d e f Definition The degree of a vertex is the number of edges incident to it. A loop contributes 2 to the degree of the vertex. (G) is the maximum degree of G. δ(g) is

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem Uncapacitated Networks: Basic primal and dual solutions Flow conservation constraints

More information

GRAPH THEORY and APPLICATIONS. Matchings

GRAPH THEORY and APPLICATIONS. Matchings GRAPH THEORY and APPLICATIONS Matchings Definition Matching of a graph G: Any subset of edges M E such that no two elements of M are adjacent. Example: {e} {e,e5,e0} {e2,e7,e0} {e4,e6,e8} e4 e7 e8 e e2

More information

1 Matching in Non-Bipartite Graphs

1 Matching in Non-Bipartite Graphs CS 369P: Polyhedral techniques in combinatorial optimization Instructor: Jan Vondrák Lecture date: September 30, 2010 Scribe: David Tobin 1 Matching in Non-Bipartite Graphs There are several differences

More information

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95 Algorithms: Graphs Amotz Bar-Noy CUNY Spring 2012 Amotz Bar-Noy (CUNY) Graphs Spring 2012 1 / 95 Graphs Definition: A graph is a collection of edges and vertices. Each edge connects two vertices. Amotz

More information

8. The Postman Problems

8. The Postman Problems 8. The Postman Problems The Chinese postman problem (CPP) A postal carrier must pick up the mail at the post office, deliver the mail along blocks on the route, and finally return to the post office. To

More information

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

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs 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

More information

Algorithms. Graphs. Algorithms

Algorithms. Graphs. Algorithms Algorithms Graphs Algorithms Graphs Definition: A graph is a collection of edges and vertices. Each edge connects two vertices. Algorithms 1 Graphs Vertices: Nodes, points, computers, users, items,...

More information

Chain Packings and Odd Subtree Packings. Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH

Chain Packings and Odd Subtree Packings. Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH Chain Packings and Odd Subtree Packings Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH 1992 Abstract A chain packing H in a graph is a subgraph satisfying given

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Math 776 Graph Theory Lecture Note 1 Basic concepts

Math 776 Graph Theory Lecture Note 1 Basic concepts Math 776 Graph Theory Lecture Note 1 Basic concepts Lectured by Lincoln Lu Transcribed by Lincoln Lu Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved

More information

Advanced Combinatorial Optimization September 15, Lecture 2

Advanced Combinatorial Optimization September 15, Lecture 2 18.438 Advanced Combinatorial Optimization September 15, 2009 Lecture 2 Lecturer: Michel X. Goemans Scribes: Robert Kleinberg (2004), Alex Levin (2009) In this lecture, we will present Edmonds s algorithm

More information

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 1 An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 2 Linear independence A collection of row vectors {v T i } are independent

More information

PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS

PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS THE CENTRALIZED DEPLOYMENT OF MOBILE SENSORS I.E. THE MINIMUM WEIGHT PERFECT MATCHING 1 2 ON BIPARTITE GRAPHS Prof. Tiziana Calamoneri Network Algorithms

More information

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

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

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Paths, Trees, and Flowers by Jack Edmonds

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

More information

Blossom Algorithms for 1-Matching/Edge Covering Problems in Undirected Networks

Blossom Algorithms for 1-Matching/Edge Covering Problems in Undirected Networks Contents 10 Blossom Algorithms for 1-Matching/Edge Covering Problems in Undirected Networks 669 10.1The1-MatchingProblems... 681 10.1.1 Blossom Algorithm for the Maximum CardinalityMatchingProblem... 714

More information

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 13 Dr. Ted Ralphs IE411 Lecture 13 1 References for Today s Lecture IE411 Lecture 13 2 References for Today s Lecture Required reading Sections 21.1 21.2 References

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

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of

More information

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Material handling and Transportation in Logistics Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Introduction to Graph Theory Graph Theory As Mathematical

More information

Assignment 4 Solutions of graph problems

Assignment 4 Solutions of graph problems Assignment 4 Solutions of graph problems 1. Let us assume that G is not a cycle. Consider the maximal path in the graph. Let the end points of the path be denoted as v 1, v k respectively. If either of

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

In this lecture, we ll look at applications of duality to three problems:

In this lecture, we ll look at applications of duality to three problems: Lecture 7 Duality Applications (Part II) In this lecture, we ll look at applications of duality to three problems: 1. Finding maximum spanning trees (MST). We know that Kruskal s algorithm finds this,

More information

Classic Graph Theory Problems

Classic Graph Theory Problems Classic Graph Theory Problems Hiroki Sayama sayama@binghamton.edu The Origin Königsberg bridge problem Pregel River (Solved negatively by Euler in 176) Representation in a graph Can all the seven edges

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

Varying Applications (examples)

Varying Applications (examples) Graph Theory Varying Applications (examples) Computer networks Distinguish between two chemical compounds with the same molecular formula but different structures Solve shortest path problems between cities

More information

5.1 Min-Max Theorem for General Matching

5.1 Min-Max Theorem for General Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: General Matching Date: 4/01/008 Lecturer: Lap Chi Lau Scribe: Jennifer X.M. WU In this lecture, we discuss matchings in general graph.

More information

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

Math 778S Spectral Graph Theory Handout #2: Basic graph theory Math 778S Spectral Graph Theory Handout #: Basic graph theory Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved the Königsberg Bridge problem: Is it possible

More information

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4) S-72.2420/T-79.5203 Basic Concepts 1 S-72.2420/T-79.5203 Basic Concepts 3 Characterizing Graphs (1) Characterizing Graphs (3) Characterizing a class G by a condition P means proving the equivalence G G

More information

Graph Algorithms Matching

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

More information

Elements of Graph Theory

Elements of Graph Theory Elements of Graph Theory Quick review of Chapters 9.1 9.5, 9.7 (studied in Mt1348/2008) = all basic concepts must be known New topics we will mostly skip shortest paths (Chapter 9.6), as that was covered

More information

1 Matchings in Graphs

1 Matchings in Graphs Matchings in Graphs J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 Definition Two edges are called independent if they are not adjacent

More information

2 The Mixed Postman Problem with Restrictions on the Arcs

2 The Mixed Postman Problem with Restrictions on the Arcs Approximation Algorithms for the Mixed Postman Problem with Restrictions on the Arcs Francisco Javier Zaragoza Martínez Departamento de Sistemas, Universidad Autónoma Metropolitana Unidad Azcapotzalco

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

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP:

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP: 6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS Vehicle Routing Problem, VRP: Customers i=1,...,n with demands of a product must be served using a fleet of vehicles for the deliveries. The vehicles, with given

More information

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple

More information

Graph Theory. Connectivity, Coloring, Matching. Arjun Suresh 1. 1 GATE Overflow

Graph Theory. Connectivity, Coloring, Matching. Arjun Suresh 1. 1 GATE Overflow Graph Theory Connectivity, Coloring, Matching Arjun Suresh 1 1 GATE Overflow GO Classroom, August 2018 Thanks to Subarna/Sukanya Das for wonderful figures Arjun, Suresh (GO) Graph Theory GATE 2019 1 /

More information

11.2 Eulerian Trails

11.2 Eulerian Trails 11.2 Eulerian Trails K.. onigsberg, 1736 Graph Representation A B C D Do You Remember... Definition A u v trail is a u v walk where no edge is repeated. Do You Remember... Definition A u v trail is a u

More information

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs CS 70 Discrete Mathematics for CS Spring 2008 David Wagner Note 13 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite to writing a

More information

Matching and Covering

Matching and Covering Matching and Covering Matchings A matching of size k in a graph G is a set of k pairwise disjoint edges The vertices belonging to the edges of a matching are saturated by the matching; the others are unsaturated

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Topics in Combinatorial Optimization February 5, Lecture 2

Topics in Combinatorial Optimization February 5, Lecture 2 8.997 Topics in Combinatorial Optimization February 5, 2004 Lecture 2 Lecturer: Michel X. Goemans Scribe: Robert Kleinberg In this lecture, we will: Present Edmonds algorithm for computing a maximum matching

More information

Chapter 3: Paths and Cycles

Chapter 3: Paths and Cycles Chapter 3: Paths and Cycles 5 Connectivity 1. Definitions: Walk: finite sequence of edges in which any two consecutive edges are adjacent or identical. (Initial vertex, Final vertex, length) Trail: walk

More information

Combinatorial optimization - Structures and Algorithms, GeorgiaTech, Fall 2011 Lectures 1 4: Aug 23 Sep 1

Combinatorial optimization - Structures and Algorithms, GeorgiaTech, Fall 2011 Lectures 1 4: Aug 23 Sep 1 Combinatorial optimization - Structures and Algorithms, GeorgiaTech, Fall 011 Lectures 1 4: Aug 3 Sep 1 László Végh References are from the book Connections in Combinatorial Optimization by András Frank

More information

Polynomial time approximation algorithms

Polynomial time approximation algorithms Polynomial time approximation algorithms Doctoral course Optimization on graphs - Lecture 5.2 Giovanni Righini January 18 th, 2013 Approximation algorithms There are several reasons for using approximation

More information

1 Digraphs. Definition 1

1 Digraphs. Definition 1 1 Digraphs Definition 1 Adigraphordirected graphgisatriplecomprisedofavertex set V(G), edge set E(G), and a function assigning each edge an ordered pair of vertices (tail, head); these vertices together

More information

DS UNIT 4. Matoshri College of Engineering and Research Center Nasik Department of Computer Engineering Discrete Structutre UNIT - IV

DS UNIT 4. Matoshri College of Engineering and Research Center Nasik Department of Computer Engineering Discrete Structutre UNIT - IV Sr.No. Question Option A Option B Option C Option D 1 2 3 4 5 6 Class : S.E.Comp Which one of the following is the example of non linear data structure Let A be an adjacency matrix of a graph G. The ij

More information

Graph Theory: Matchings and Factors

Graph Theory: Matchings and Factors Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT Kharagpur pallab@cse.iitkgp.ernet.in Matchings A matching of size k in a graph G is a set of k

More information

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2 Graph Theory S I I S S I I S Graphs Definition A graph G is a pair consisting of a vertex set V (G), and an edge set E(G) ( ) V (G). x and y are the endpoints of edge e = {x, y}. They are called adjacent

More information

Improved Approximations for Graph-TSP in Regular Graphs

Improved Approximations for Graph-TSP in Regular Graphs Improved Approximations for Graph-TSP in Regular Graphs R Ravi Carnegie Mellon University Joint work with Uriel Feige (Weizmann), Jeremy Karp (CMU) and Mohit Singh (MSR) 1 Graph TSP Given a connected unweighted

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

Small Survey on Perfect Graphs

Small Survey on Perfect Graphs Small Survey on Perfect Graphs Michele Alberti ENS Lyon December 8, 2010 Abstract This is a small survey on the exciting world of Perfect Graphs. We will see when a graph is perfect and which are families

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016 GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS ZOÉ HAMEL March 3, 2016 1. Introduction Let G = (V (G), E(G)) be a graph G (loops and multiple edges not allowed) on the set of vertices V (G) and the set

More information

Network flows and Menger s theorem

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

More information

Topic 10 Part 2 [474 marks]

Topic 10 Part 2 [474 marks] Topic Part 2 [474 marks] The complete graph H has the following cost adjacency matrix Consider the travelling salesman problem for H a By first finding a minimum spanning tree on the subgraph of H formed

More information

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs CS 311 Discrete Math for Computer Science Dr. William C. Bulko Graphs 2014 Definitions Definition: A graph G = (V,E) consists of a nonempty set V of vertices (or nodes) and a set E of edges. Each edge

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

Notes for Lecture 20

Notes for Lecture 20 U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general

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

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8 CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite

More information

Definition 1.1. A matching M in a graph G is called maximal if there is no matching M in G so that M M.

Definition 1.1. A matching M in a graph G is called maximal if there is no matching M in G so that M M. 1 Matchings Before, we defined a matching as a set of edges no two of which share an end in common. Suppose that we have a set of jobs and people and we want to match as many jobs to people as we can.

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016

More information

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise. Final exam This is a closed book exam. No calculators are allowed. Unless stated otherwise, justify all your steps. You may use lemmas and theorems that were proven in class and on assignments unless stated

More information

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R

More information

Assignment 1 Introduction to Graph Theory CO342

Assignment 1 Introduction to Graph Theory CO342 Assignment 1 Introduction to Graph Theory CO342 This assignment will be marked out of a total of thirty points, and is due on Thursday 18th May at 10am in class. Throughout the assignment, the graphs are

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. 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

More information

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

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

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

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

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman, M.S. Ramanujan, and Saket Saurabh Presenting: Hen Sender 1 Introduction 2 Abstract. It is well known that in a bipartite (and more generally in a Konig)

More information

Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs.

Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs. 18.438 Advanced Combinatorial Optimization September 17, 2009 Lecturer: Michel X. Goemans Lecture 3 Scribe: Aleksander Madry ( Based on notes by Robert Kleinberg and Dan Stratila.) In this lecture, we

More information

MTL 776: Graph Algorithms Lecture : Matching in Graphs

MTL 776: Graph Algorithms Lecture : Matching in Graphs MTL 776: Graph Algorithms Lecture : Matching in Graphs Course Coordinator: Prof. B. S. Panda Note: The note is based on the lectures taken in the class. It is a draft version and may contain errors. It

More information

Practice Final Exam 1

Practice Final Exam 1 Algorithm esign Techniques Practice Final xam Instructions. The exam is hours long and contains 6 questions. Write your answers clearly. You may quote any result/theorem seen in the lectures or in the

More information

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 Min-Cost Flows

More information

by conservation of flow, hence the cancelation. Similarly, we have

by conservation of flow, hence the cancelation. Similarly, we have Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can

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

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Repetition: Primal Dual for Set Cover

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

More information

Solutions to Problem Set 2

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

More information

Maximum Matching Algorithm

Maximum Matching Algorithm Maximum Matching Algorithm Thm: M is maximum no M-augmenting path How to find efficiently? 1 Edmonds Blossom Algorithm In bipartite graphs, we can search quickly for augmenting paths because we explore

More information