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

Size: px
Start display at page:

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

Transcription

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

2 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) in G having minimum weight.

3 Special Cases bipartite matching: G is a bipartite graph, that is, N = S T, with S and T disjoint and all arcs having one end in S and one end in T. cardinality matching: all costs are 1, that is, we want the maximum number of arcs in the matching perfect matching: we insist that every node be incident to a matching arc, that is, the matching should have cardinality exactly n/2 Note: We can transform any min cost perfect matching problem to a min cost partial matching problem by subtracting a large number M (e.g. sum of the c ij s) from each of the arc weights. (Why?)

4 Applications Assignment Problem: A firm has hired n graduates to fill m n vacant positions (positions may remain unfilled, but all graduates must be assigned). Based on qualifications, the firm has assigned a profitability index p ij representing the expected yearly profit for the company of assigning graduate i to job j. How can the firm most profitably assign the n graduates to these m positions? Nonbipartite Assignments: A college wishes to pair incoming freshmen for rooming assignments. ach pair of freshment is given a compatibility measure C ij, based on home town, background, and common interests (and gender). The college wants to pair these students in such a way as to maximize total compatibility.

5 ptimal Depletion of Inventory: A set of p items is stored in a stockpile. These items are perishable, in that the value of the item decreases as the item gets older. A degradation function v(a) measures how valuable an item of age a is. ach item i is currently of age a i. ne item will be needed at each of the times t 1,..., t p, and it is desired to determine which item should be chosen at each of these time periods in order to maximize total value of the items at time of use.

6 Scheduling on Parallel Machines: A set of w jobs must be assigned for processing on one of r machines. ach job i has a processing time p ij on machine j. Any job can be assigned to any machine, and the machines work simultaneously, although each can only work on one job at a time until that job is finished (no preempting). The flow time of a job is the total time the job is in the system before it processed, that is, the total time for jobs scheduled before it to finish, plus the time to process the job itself. It is desired to schedule the w jobs on the r machines in such a way as to minimize the total of all flow times for the jobs.

7 number from last M 11 M 12 1p 11 p 2 11 machine 1 J1 wp 11 1p 1r 2p 1r wp 1r M 1w jobs 1p w1 2p w1 wp w1 1p wr M r1 Jw 2 p wr M r2 wp wr machine r M rw Matching Problem for Parallel Scheduling

8 Cardinality Matchings Suppose that we are solving the cardinality matching on a general graph, and have a current matching M. An augmenting path with respect to M is a path P a : v 0, (v 0, v 1 ), v 1, (v 1, v 2 ),..., v 2k, (v 2k, v 2k+1 ), v 2k+1 where v 0 and v 2k+1 are exposed, that is, incident to no arc of M (v 0, v 1 ), (v 2, v 3 ),..., (v 2k, v 2k+1 ) are not in M (v 1, v 2 ), (v 3, v 4 ),..., (v 2k 1, v 2k ) are in M v v v v v v k-1 2k 2k+1 exposed An Augmenting Path v exposed

9 Augmenting Path Theorem Theorem (Berge): A matching M is optimal in G if and only if there is no augmenting path in G with respect to M. Proof: Let M be a matching in G. Suppose first that there exists an augmenting path P a in G with respect to M. Then by reversing the status of each arc in this path as to being in and out of M, we obtain a new matching M in G having one more arc than M, so that M is not optimal. Conversely, suppose there exists matching M of larger cardinality than M. Consider the symmetric difference M M = (M M ) \ (M M ) of M and M. This will comprise a node disjoint union of cycles and paths, each consisting of alternating elements of M and M (why?). Since M > M, then there must be at least one component of this union that has more arcs of M than M in it. This in turn must be an augmenting path.

10 Bipartite Cardinality Matching Algorithm The Bipartite Matching Algorithm starts with the empty matching, and then attempts to find an augmenting path with respect to the current matching, until there is no further augmenting path to be found. From the Augmenting Path Theorem the current matching is then maximum cardinality.

11 Bipartite Matching Algorithm Initialize: M = while an augmenting path is found do mark all nodes unlabeled, unscanned while there is at least one unscanned exposed node do choose unscanned exposed node i 0. Give i 0 the label even, set pred(i) = 0, i V while there are labeled unscanned nodes do choose labeled unscanned node i if i has label odd then if i is exposed then An augmenting path has been found. Identify augmenting path P a, using pred, and augment M by setting M = M P a. Mark all nodes scanned. else Let (i, j) be the (unique) matching arc adjacent to i. If j is unlabeled then give j label even and set pred(j) = i end if else (i has label even ) for each nonmatching arc (i, j) adjacent to i with j unlabeled do give j label odd, set pred(j) = i end if mark i scanned end while end while end while

12 xample Matching Problem with Nonoptimal Matching 8

13 xample (cont d.) Augmenting Path Found

14 xample (cont d.) Min Cardinality Cover Found

15 Correctness of Algorithm This follows from the fact that this is mimicking the Max Flow Algorithm. In fact, we have the following proof of the König-gervary Graph Theorem. Lemma: Suppose no augmenting path can be found with respect to the matching M at the end of a labeling stage in the Bipartite Matching Algorithm performed on connected bipartite graph G. Assign to any remaining unlabeled nodes an even label if it is in S and an odd label if it is in T. Then the set of odd labeled nodes comprise a node cover of G of the same cardinality as M. Proof: Note that all of the unlabeled nodes remaining after the algorithm ends have to be adjacent to a matching arc. But this means that every odd labeled node must be adjacent to a matching arc, since otherwise an augmenting path would be found. No two even labeled nodes are adjacent, otherwise G would not be bipartite. Therefore the set of odd labeled nodes is the same cardinality as M and cover all arcs of G.

16 Complexity ach labeling stage is simply a graph search, and takes (m) time. Since each nonterminal labeling stage finds an augmenting path and the maximum number of augmentations is n/2, then there are at most n/2 graph search stages. Thus the total complexity is (nm). Best Improvement: Use Dinic s Algorithm (modified to fit the matching problem) to augment along all shortest augmenting paths at a time. Complexity: (m n).

17 Consequences of the König-gervary Graph Theorem König-gervary Graph Theorem: In a bipartite graph, the maximum cardinality of a matching is equal to the minimum cardinality of a node cover. Perfect Matching Version: Let G be be a bipartite graph with S = T = k. Then there is a perfect matching in G if and only if there is no node cover of G of size less than k. Neighborhood of a set V of nodes: The set Γ(V ) of all nodes that are adjacent to at least one node in V. Hall s Theorem: Let G be be a bipartite graph with S = T = k. Then G has a perfect matching if and only if there is no set S 0 S such that Γ(V ) < V. Proof: xercise.

18 Cardinality Matchings in General Graphs Problem with Bipartite Matching Algorithm: In general graphs the algorithm may not find an augmenting path when in fact there is one. This is always the result of finding a... blossom: the cycle in the search tree encountered when either an odd labeled node is encountered from an odd labeled node, or an even labeled node is encountered from an even labeled node. A Blossom

19 Solution: whenever an even-even or odd-odd arc is encountered in the bipartite search procedure, then a blossom has been found. Shrink the blossom, that is, contract all of its arcs to a single node. Now proceed as if the node were a part of the search tree (with an even label). A Blossom

20 General Matching Algorithm Initialize: M = while an augmenting path is found do mark all nodes unlabeled, unscanned while there is at least one unscanned exposed node do choose unscanned exposed node i 0. Give i 0 the label even and set pred(i) = 0, i V while there are labeled unscanned nodes do choose labeled unscanned node i if i has label odd then if i is exposed then An augmenting path has been found. Identify augmenting path P a, using pred, expanding blossoms where necessary, and augment M by setting M = M P a. Mark all nodes scanned. else Let (i, j) be the (unique) matching arc adjacent to i. if j is unlabeled then give j label even and set pred(j) = i else if j has label odd then A blossom b has been detected. Contract the blossom, giving it label even. end if end if else (i has label even ) for each nonmatching arc (i, j) adjacent to i do if j is unlabeled then give j label odd and set pred(j) = i else if j has label even then A blossom b has been detected. Contract the blossom, giving it label even. end if end if mark i scanned end while end while end while

21 xample A nonoptimal matching

22 xample (cont d.) First labeling pass 12

23 xample (cont d.) First blossom found 12

24 xample (cont d.) Second blossom found

25 xample (cont d.) Third blossom found

26 xample (cont d.) xposed node found

27 xample (cont d.) Augmenting path

28 xample (cont d.) ptimal matching (exercise)

29 Implementation Details contracting a blossom: If a blossom b has been detected, proceed as follows: search back through the tree to identify the blossom. form a doubly-linked list of blossom nodes that traverse the blossom clockwise and counterclockwise. update the forward stars of b and all adjacent nodes to reflect the contraction of the blossom. set pred(b)=pred(root of blossom). expanding a blossom: When a blossom label is encountered, reconstruct the blossom, and traverse the blossom in the direction which starts with the matching arc. Recursively expand any nodes that continue to be blossoms.

30 Complexity number of augmentations: at most n/2 search procedure (ignoring contractions): (m) number of contractions: At most n/2 (blossoms have at least 3 nodes) complexity of each contraction: the bottleneck is updating the adjacency lists, which takes (n) per node, for a total of (n 2 ) Total complexity: (n 4 )

31 Improving complexity to (n 3 ): The adjacency list updating can be improved to (n 2 ) over all contractions by using the following technique for updating the adjacency list of a blossom: 1. Declare all nodes unmarked 2. For each (pseudo)node in the blossom, mark all of its adjacent nodes 3. After all blossom nodes are processed, scan all nodes and place them in the forward star of the new pseudonode. Now ach (pseudo)node is processed at most once in the entire algorithm, since once it is processed it is replaced by the pseudonode it is a part of. There are at most 3n/2 nodes and pseudonodes appearing in the entire algorithm. The cost of processing a blossom is order n (the number of nodes in the blossom) + n (for the final pass). Thus the total time to update the adjacency lists is (n 2 ), for a total of (n 3 ) for the whole algorithm.

32 Weighted Matchings bipartite case: this can be solved as a min cost flow problem by attaching source and sink nodes as for the cardinality matching problem with cost 0, and arc costs on the original arcs as given for the matching problem. complexity: Using the Successive Shortest Path Method (and noting that there are at most n/2 flow augmentations) we get complexity (ns(n, m, C)), where S(n, m, C) is the complexity of the best shortest path algorithm using nonnegative costs. nonbipartite case: Can be solved using a primaldual algorithm on a more involved matching LP. (We will not do this here.) Best (dataindependent) time is (n(m + n log n)).

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

Outline. 1 The matching problem. 2 The Chinese Postman Problem Outline The matching problem Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm 2 Let G = (V, E) be an undirected graph.

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

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

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

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

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

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

and 6.855J March 6, Maximum Flows 2

and 6.855J March 6, Maximum Flows 2 5.08 and.855j March, 00 Maximum Flows Network Reliability Communication Network What is the maximum number of arc disjoint paths from s to t? How can we determine this number? Theorem. Let G = (N,A) be

More information

Matching. Algorithms and Networks

Matching. Algorithms and Networks Matching Algorithms and Networks This lecture Matching: problem statement and applications Bipartite matching (recap) Matching in arbitrary undirected graphs: Edmonds algorithm Diversion: generalized tic-tac-toe

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

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

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

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

Matchings. Saad Mneimneh

Matchings. Saad Mneimneh Matchings Saad Mneimneh 1 Stable matching Consider n men and n women. A matching is a one to one correspondence between the men and the women. In finding a matching, however, we would like to respect the

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

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

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

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

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12. AMS 550.47/67: Graph Theory Homework Problems - Week V Problems to be handed in on Wednesday, March : 6, 8, 9,,.. Assignment Problem. Suppose we have a set {J, J,..., J r } of r jobs to be filled by a

More information

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

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

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

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

Matching Theory. Figure 1: Is this graph bipartite?

Matching Theory. Figure 1: Is this graph bipartite? Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to

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

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

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

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

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

Maximum flows & Maximum Matchings

Maximum flows & Maximum Matchings Chapter 9 Maximum flows & Maximum Matchings This chapter analyzes flows and matchings. We will define flows and maximum flows and present an algorithm that solves the maximum flow problem. Then matchings

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

Lecture 7: Bipartite Matching

Lecture 7: Bipartite Matching Lecture 7: Bipartite Matching Bipartite matching Non-bipartite matching What is a Bipartite Matching? Let G=(N,A) be an unrestricted bipartite graph. A subset X of A is said to be a matching if no two

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

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

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

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

Lecture 11: Maximum flow and minimum cut

Lecture 11: Maximum flow and minimum cut Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with

More information

Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1.

Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1. Lecturer: Scribe: Meena Mahajan Rajesh Chitnis Matchings in Graphs Meeting: 1 6th Jan 010 Most of the material in this lecture is taken from the book Fast Parallel Algorithms for Graph Matching Problems

More information

Network Design and Optimization course

Network Design and Optimization course Effective maximum flow algorithms Modeling with flows Network Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli

More information

5 Matchings in Bipartite Graphs and Their Applications

5 Matchings in Bipartite Graphs and Their Applications 5 Matchings in Bipartite Graphs and Their Applications 5.1 Matchings Definition 5.1 A matching M in a graph G is a set of edges of G, none of which is a loop, such that no two edges in M have a common

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

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

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

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

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

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

Ma/CS 6b Class 2: Matchings

Ma/CS 6b Class 2: Matchings Ma/CS 6b Class 2: Matchings By Adam Sheffer Send anonymous suggestions and complaints from here. Email: adamcandobetter@gmail.com Password: anonymous2 There aren t enough crocodiles in the presentations

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Graph theory G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 1 GG A.I. 1/37 Outline 1 Graph theory Undirected and directed graphs

More information

The -Assignment Problems. National Chiao Tung University 2111 N.E. 25th Avenue, JFT-102. Abstract

The -Assignment Problems. National Chiao Tung University 2111 N.E. 25th Avenue, JFT-102. Abstract The -Assignment Problems Gerard J. Chang Pei-Hsin Ho Department of Applied Mathematics Intel Corporation National Chiao Tung University 2111 N.E. 25th Avenue, JFT-102 Hsinchu 30050, Taiwan Hillsboro, OR

More information

Discrete mathematics , Fall Instructor: prof. János Pach

Discrete mathematics , Fall Instructor: prof. János Pach Discrete mathematics 2016-2017, Fall Instructor: prof. János Pach - covered material - Lecture 1. Counting problems To read: [Lov]: 1.2. Sets, 1.3. Number of subsets, 1.5. Sequences, 1.6. Permutations,

More information

Graph Algorithms (part 3 of CSC 282),

Graph Algorithms (part 3 of CSC 282), Graph Algorithms (part of CSC 8), http://www.cs.rochester.edu/~stefanko/teaching/10cs8 1 Schedule Homework is due Thursday, Oct 1. The QUIZ will be on Tuesday, Oct. 6. List of algorithms covered in the

More information

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

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

More information

Matching Theory. Amitava Bhattacharya

Matching Theory. Amitava Bhattacharya Matching Theory Amitava Bhattacharya amitava@math.tifr.res.in Definition: A simple graph is a triple G = (V, E, φ), where V is a finite set of vertices, E is a finite set of edges, and φ is a function

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

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

Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching. A maximal matching cannot be enlarged by adding another edge.

Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching. A maximal matching cannot be enlarged by adding another edge. Matchings A matching is a set of (non-loop) edges with no shared endpoints. The vertices incident to an edge of a matching M are saturated by M, the others are unsaturated. A perfect matching of G is a

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

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

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

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

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

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1 Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,

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

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

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

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

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.B. SENSOR NETWORKS THE CENTRALIZED DEPLOYMENT OF MOBILE SENSORS I.E. THE MINIMUM WEIGHT PERFECT MATCHING ON BIPARTITE GRAPHS Prof. Tiziana Calamoneri Network Algorithms A.y.

More information

Exam problems for the course Combinatorial Optimization I (DM208)

Exam problems for the course Combinatorial Optimization I (DM208) Exam problems for the course Combinatorial Optimization I (DM208) Jørgen Bang-Jensen Department of Mathematics and Computer Science University of Southern Denmark The problems are available form the course

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

Design And Analysis of Algorithms Lecture 6: Combinatorial Matching Algorithms.

Design And Analysis of Algorithms Lecture 6: Combinatorial Matching Algorithms. Design And Analysis of Algorithms Lecture 6: Combinatorial Matching Algorithms. February 14, 2018 In this lecture, we will study algorithms for constructing matchings on graphs. A matching M E has maximum

More information

3.1 Basic Definitions and Applications

3.1 Basic Definitions and Applications Graphs hapter hapter Graphs. Basic efinitions and Applications Graph. G = (V, ) n V = nodes. n = edges between pairs of nodes. n aptures pairwise relationship between objects: Undirected graph represents

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

MC302 GRAPH THEORY Thursday, 10/24/13

MC302 GRAPH THEORY Thursday, 10/24/13 MC302 GRAPH THEORY Thursday, 10/24/13 Today: Return, discuss HW 3 From last time: Greedy Algorithms for TSP Matchings and Augmenting Paths HW 4 will be posted by tomorrow Reading: [CH] 4.1 Exercises: [CH]

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

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

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

Lecture 6: Graph Properties

Lecture 6: Graph Properties Lecture 6: Graph Properties Rajat Mittal IIT Kanpur In this section, we will look at some of the combinatorial properties of graphs. Initially we will discuss independent sets. The bulk of the content

More information

The vertex set is a finite nonempty set. The edge set may be empty, but otherwise its elements are two-element subsets of the vertex set.

The vertex set is a finite nonempty set. The edge set may be empty, but otherwise its elements are two-element subsets of the vertex set. Math 3336 Section 10.2 Graph terminology and Special Types of Graphs Definition: A graph is an object consisting of two sets called its vertex set and its edge set. The vertex set is a finite nonempty

More information

11.4 Bipartite Multigraphs

11.4 Bipartite Multigraphs 11.4 Bipartite Multigraphs Introduction Definition A graph G is bipartite if we can partition the vertices into two disjoint subsets U and V such that every edge of G has one incident vertex in U and the

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Chapter 3 - Graphs Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. Directed

More information

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 Chapter 3 - Graphs Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {

More information

The Geodesic Integral on Medial Graphs

The Geodesic Integral on Medial Graphs The Geodesic Integral on Medial Graphs Kolya Malkin August 013 We define the geodesic integral defined on paths in the duals of medial graphs on surfaces and use it to study lens elimination and connection

More information

Section 8.2 Graph Terminology. Undirected Graphs. Definition: Two vertices u, v in V are adjacent or neighbors if there is an edge e between u and v.

Section 8.2 Graph Terminology. Undirected Graphs. Definition: Two vertices u, v in V are adjacent or neighbors if there is an edge e between u and v. Section 8.2 Graph Terminology Undirected Graphs Definition: Two vertices u, v in V are adjacent or neighbors if there is an edge e between u and v. The edge e connects u and v. The vertices u and v are

More information

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PAUL BALISTER Abstract It has been shown [Balister, 2001] that if n is odd and m 1,, m t are integers with m i 3 and t i=1 m i = E(K n) then K n can be decomposed

More information

Matching 4/21/2016. Bipartite Matching. 3330: Algorithms. First Try. Maximum Matching. Key Questions. Existence of Perfect Matching

Matching 4/21/2016. Bipartite Matching. 3330: Algorithms. First Try. Maximum Matching. Key Questions. Existence of Perfect Matching Bipartite Matching Matching 3330: Algorithms A graph is bipartite if its vertex set can be partitioned into two subsets A and B so that each edge has one endpoint in A and the other endpoint in B. A B

More information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing the breadth-first search algorithm implementing the depth-first search algorithm Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm

More information

DEFINITION OF GRAPH GRAPH THEORY GRAPHS ACCORDING TO THEIR VERTICES AND EDGES EXAMPLE GRAPHS ACCORDING TO THEIR VERTICES AND EDGES

DEFINITION OF GRAPH GRAPH THEORY GRAPHS ACCORDING TO THEIR VERTICES AND EDGES EXAMPLE GRAPHS ACCORDING TO THEIR VERTICES AND EDGES DEFINITION OF GRAPH GRAPH THEORY Prepared by Engr. JP Timola Reference: Discrete Math by Kenneth H. Rosen A graph G = (V,E) consists of V, a nonempty set of vertices (or nodes) and E, a set of edges. Each

More information

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

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

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

2.3.4 Optimal paths in directed acyclic graphs

2.3.4 Optimal paths in directed acyclic graphs .3.4 Optimal paths in directed acyclic graphs Definition: A directed graph G = (N, A) is acyclic if it contains no circuits. A directed acyclic graph is referred to as DAG. circuit Problem Given a directed

More information

Lecture 11a: Maximum Matchings Lale Özkahya

Lecture 11a: Maximum Matchings Lale Özkahya BBM 205 Discrete Mathematics Hacettepe University Lecture 11a: Maximum Matchings Lale Özkahya Resources: Kenneth Rosen, Discrete Mathematics and App. http://www.cs.cmu.edu/./15251/schedule.html Some motivating

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

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

CMSC 380. Graph Terminology and Representation

CMSC 380. Graph Terminology and Representation CMSC 380 Graph Terminology and Representation GRAPH BASICS 2 Basic Graph Definitions n A graph G = (V,E) consists of a finite set of vertices, V, and a finite set of edges, E. n Each edge is a pair (v,w)

More information

Characterizations of graph classes by forbidden configurations

Characterizations of graph classes by forbidden configurations Characterizations of graph classes by forbidden configurations Zdeněk Dvořák September 14, 2015 We consider graph classes that can be described by excluding some fixed configurations. Let us give some

More information

Graph Algorithms (part 3 of CSC 282),

Graph Algorithms (part 3 of CSC 282), Graph Algorithms (part of CSC 8), http://www.cs.rochester.edu/~stefanko/teaching/11cs8 Homework problem sessions are in CSB 601, 6:1-7:1pm on Oct. (Wednesday), Oct. 1 (Wednesday), and on Oct. 19 (Wednesday);

More information

Paths, Circuits, and Connected Graphs

Paths, Circuits, and Connected Graphs Paths, Circuits, and Connected Graphs Paths and Circuits Definition: Let G = (V, E) be an undirected graph, vertices u, v V A path of length n from u to v is a sequence of edges e i = {u i 1, u i} E for

More information

MATH 682 Notes Combinatorics and Graph Theory II

MATH 682 Notes Combinatorics and Graph Theory II 1 Matchings A popular question to be asked on graphs, if graphs represent some sort of compatability or association, is how to associate as many vertices as possible into well-matched pairs. It is to this

More information

Graphs and Algorithms 2016

Graphs and Algorithms 2016 Graphs and Algorithms 2016 Teachers: Nikhil Bansal and Jesper Nederlof TA: Shashwat Garg (Office Hours: Thursday: Pick??) Webpage: www.win.tue.nl/~nikhil/courses/2wo08 (for up to date information, links

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

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