Rank Maximal Matching By Robert W. Irving, Telikepalli Kavitha,

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Algorithms and Networks
MAX FLOW APPLICATIONS CS302, Spring 2013 David Kauchak.
Combinatorial Algorithms
Maurizio Patrignani seminar on the paper on the single-source unsplittable flow problem authored by Yefim Dinitz Naveen Garg Michel X. Goemans FOCS ‘98.
Lectures on Network Flows
Finding a Maximum Matching in Non-Bipartite Graphs Alicia Thilani Singham Goodwin /22/2013.
Yangjun Chen 1 Bipartite Graphs What is a bipartite graph? Properties of bipartite graphs Matching and maximum matching - alternative paths - augmenting.
Matchings Lecture 3: Jan 18. Bipartite matchings revisited Greedy method doesn’t work (add an edge with both endpoints free)
Maximum Bipartite Matching
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Yangjun Chen 1 Bipartite Graph 1.A graph G is bipartite if the node set V can be partitioned into two sets V 1 and V 2 in such a way that no nodes from.
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
10.4 How to Find a Perfect Matching We have a condition for the existence of a perfect matching in a graph that is necessary and sufficient. Does this.
Design Techniques for Approximation Algorithms and Approximation Classes.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
CSE 331: Review. Main Steps in Algorithm Design Problem Statement Algorithm Real world problem Problem Definition Precise mathematical def “Implementation”
MAX FLOW APPLICATIONS CS302, Spring 2012 David Kauchak.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Algorithms for Student-Project Allocation
Bipartite Matching. Unweighted Bipartite Matching.
Network Flows Chun-Ta, Yu Graduate Institute Information Management Dept. National Taiwan University.
Spanning tree Lecture 4.
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Introduction to Graph Theory
Great Theoretical Ideas in Computer Science for Some.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
Pareto Optimality in House Allocation Problems David Manlove Department of Computing Science University of Glasgow David Abraham Computer Science Department.
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
1 Minimum Routing Cost Tree Definition –For two nodes u and v on a tree, there is a path between them. –The sum of all edge weights on this path is called.
More NP-Complete and NP-hard Problems
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Bipartite Graphs What is a bipartite graph?
Algorithms and Networks
Lecture 16 Bipartite Matching
Algorithm Design and Analysis
Lectures on Network Flows
Richard Anderson Lecture 23 Network Flow
Maximum Flow 9/13/2018 6:12 PM Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.
Chapter 5. Optimal Matchings
Planarity Testing.
Discrete Mathematics for Computer Science
ICS 353: Design and Analysis of Algorithms
Instructor: Shengyu Zhang
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Analysis of Algorithms
Lectures on Graph Algorithms: searching, testing and sorting
Max Flow Min Cut, Bipartite Matching Yin Tat Lee
Systems of distinct representations
Bipartite Graph 1. A graph G is bipartite if the node set V can be partitioned into two sets V1 and V2 in such a way that no nodes from the same set are.
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
Dynamic Programming General Idea
EE5900 Advanced Embedded System For Smart Infrastructure
and 6.855J March 6, 2003 Maximum Flows 2
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Presentation transcript:

Rank Maximal Matching By Robert W. Irving, Telikepalli Kavitha, Kurt Mehlhorn, Dimitrios Michail.

Introduce the problem Let be a bipartite graph and εbe the edge set, each edge (a,p) has a rank, find the best matching for G A rank maximum matching is : In a matching M, you can’t find another matching mi that | mi | > |Mi| with respect to edges of rank i. Just like allocation jobs to students or probationary jobs to trainee teachers

Definitions P(M) : The signature of a Matching M, which is represented in a r-tuple form (x1, x2, … , xr), where xi denotes the size of a match for an edge set of rank i. We also define a total order that if (x1,x2,…,xr) (y1,y2,…,yr) for some k <= r, xk < yk and for all j < k, xk = yk Mi : A subset of a rank maximum matching M having rank maximum matching with rank <= i, a subset of Mi-1

Algorithms Previous achives: Today’s goal: O(min(n+C, C )m) xc= x1+……+xk Today’s goal: O(min(n+C, C )m) Another solution works in O(Cmn) C: The maximum rank of all nodes m: The number of edges n: The number of vertexes

Solutions: A combinational algorithm Shortcut: Delete those who will not be used anymore. Use E, O, and U disjoint sets to partition the graph. Alternating path!

Definitions: E, O, and U(1/2) Three disjoint sets: E/O: Nodes that can be reached by a free node by an even/odd-numbered path in terns of alternating path 1 1 1 2 2 Free

Definitions: E, O and U(2/2) U: nodes can not be reached by any free nodes using alternating path. Lemma 2.1:The sets E, U, O are pair wise disjoint, every maximum matching in G pairs the nodes in U, matches all nodes in O, matches each node in O and another in E, and have cardinality |O| + |E|/2. There is no edge in G connecting a node in E with a node in U, or between 2 nodes in E, no maximum matching in G uses an edge connecting 2 nodes in O or one in O and another in U

A combinational algorithm(1/2) Gi: Mi: A greedy matching with signature(s1,s2,…,si) Initial state: G1’ = G1, M1=maximum matching of G1’

A combinational aogorithm(2/2) For i = 1 to r-1 do Partition Gi’ into node sets Ei, Oi, and Ui with respect to Mi Delete all edges incident to Oi or Ui which has rank > I Also delete all edges that connect 2 nodes in O, or one in O and another in U Add εi into Gi’, said Gi+1’ Augmenting Mi to get Mi+1

Prove the correctness(1/4) Lemma 2.2:If every greedy matching of Gi is a maximum matching of Gi’, then every greedy matching of Gi+1 is contained in Gi+1’ Let Ni+1 be a greedy matching Ni = Ni+1 ε≦I  Ni is a greedy matching in Gi  Ni is a maximum matching in Gi  Ni does not use any edge of Gi’, so will never use in Ni+1  Ni+1 is contained in Gi+1’

Prove the correctness(2/4) Lemma 2.3: For every i, j such that j > I, the number of edges at most i is the same in Mi and Mj Since Mj is obtained from Mi by successive augmenting, every vertex matched by Mi is also matched by Mj  all nodes in Ui and Oi are matched in Mj  #(ε≦i) > #(ε≦j) #(ε≦i) in Mj < #(ε≦i) in Mi by definition

Prove the correctness(3/4) By induction prove: Every greedy matching in Gk is a maximum matching in Gk’ Mk is a greedy matching in Gk Case k = 1  a greedy matching in G1 is a maximum match in G1’, trivially. Assume case k = n is true Consider case k = n+1:

Prove the correctness(4/4) Mi is a greedy matching in Gi with signature (s1,s2,…,si), suppose Gi+1’s signature is (r1,r2,…,ri,ri+1) By lemma 2.3  s1 + s2 + … + si = r1 + r2 + … + ri  Mi+1 = (s1,s2,…,si,ri+1) with ri+1 < si+1 By lemma 2.2  Mi is a maximum matching  Mi+1 is contained in Gi+1’  Mi+1 is a maximum matching of Gi+1  its cardinality is at least s1 + s2 + … + si+1, so si+1 = ri+1 By induction hypothesis, any greedy matching Ni+1 in Gi+1is contained in Gi+1’ and Ni has the same cardinality of Mi+1  Ni+1 is a maximum matching

Time complexity Partition the nodes and reduce the edge set takes O(m) Augmenting the path takes O(min(n^1/2, |Mi+1|-|Mi| + 1) * m) In total r phases takes O(min(r*n^1/2, n+ r) * m) Replace r by C  check in each phase if no more size expantion happened, O(m) time O(min(C *n^1/2, n+C) * m)

Reduced to weighted Matching A primer-dual linear programming problem. A reduced weighting function for each edge (e) = v(a) + v(b) – w(e) For all a A, b P Main idea: Give a wide ranged weight to each node. E.g. Give nr-I for any rank = i edges

An Overview of Algorithm For i = 1, M1 can be calculated in O(n1/2m) All nodes in A and all free nodes in P is assigned 0 Matched nodes in P is assigned potential 1. Scaling: All edge scale n times Each node potential multiply by n Each node in A add 1

Lemmas for dual solution(1/2) Lemma 3.1 Mi has the same number of edges of all ranks j, j < i as Mi-1 Lemma 3.2 Let πi be the sum of potential, then n*πi-1 = n*w(Mi-1)≦w(Mi)≦ πi ≦n* πi-1+ n Lemma 3.3 Assume all arithmetic operations can be done in constant time, then a phase takes O(m*n)

Lemmas for dual solution(2/2) Lemma 3.4 If the reduces cost of an edge c(e) is more than n at the beginning of a phase, this edge can not become tight during the execution of this phase Lemma 3.5 Any edge which is not tight at the end of a phase, will never become tight!

The scaling algorithm(1/2) Initial state: π(a) = 0 for all a belong to A, π(b) = 0 for b belong to P with no match, 1 for matched nodes. Algo: For i = 2 to r do if Mi-1 is a perfect matching, then output Mi-1, else define π(v) = n*π(v) + 1 , for all v belongs to A π(v) = n*π(v) , for all v belongs to P Add edges in εi , for each new edges e, if either and of e is in the ∞ category, delete it. For any remaining edge, compute their reduced weight by setting w(e) = 1 Use primer dual algo for maximum matching in above graph, update each nodes’ potential, if π(v) > n+1,delete it

The scaling algorithm(2/2) Delete all non tight edges, and if π(v) > 2, move v to ∞ category