Outline. 1 The matching problem. 2 The Chinese Postman Problem
|
|
- Jennifer McCormick
- 5 years ago
- Views:
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& 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 information6. 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 informationMatching 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 informationGraphs 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 informationLecture 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 informationSteiner 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 informationLecture 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 information1 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 informationAdjacent: 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 informationAssignment 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 information2. 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 informationFigure 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 informationLECTURES 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 information8.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 informationLecture 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 informationOutline: 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 informationGRAPH 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 information1 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 informationAlgorithms: 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 information8. 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 informationLecture 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 informationAlgorithms. 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 informationChain 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 informationMathematical 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 informationMath 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 informationAdvanced 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 informationApproximation 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 informationPERFECT 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 informationLecture 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 informationLecture 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 informationPaths, 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 informationBlossom 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 informationGraphs 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 informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationCS473-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 informationMaterial 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 informationAssignment 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 informationCS599: 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 informationIn 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 informationClassic 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 information5. 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 informationVarying 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 information5.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 informationMath 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 informationDual-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 information12.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 information1. 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 informationCharacterizing 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 informationGraph 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 informationElements 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 information1 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 information2 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 informationIntroduction to Graph Theory
Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex
More information6 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 informationChapter 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 informationGraph 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 information11.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 informationDiscrete 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 informationMatching 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 information1 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 informationTopics 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 informationChapter 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 informationCombinatorial 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 informationPolynomial 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 information1 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 informationDS 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 informationGraph 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 informationGraph 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 informationImproved 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 information1. 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 informationSmall 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 informationLecture 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 informationGRAPH 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 informationNetwork 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 informationTopic 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 informationCS 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 information11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions
Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is
More informationNotes 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 informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)
More informationDiscrete 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 informationDefinition 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 informationAlgorithm 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 informationMATH 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 informationTraveling 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 informationAssignment 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 informationCopyright 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 informationAdvanced 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 informationIntroduction 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 informationApproximation 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 informationPaths, 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 informationAdvanced 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 informationMTL 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 informationPractice 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 informationDiscrete 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 informationby 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 informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a
More informationPaths, 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 informationRepetition: 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 informationSolutions 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 informationMaximum 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