Simultaneous Matchings Irit Katriel - BRICS, U of Aarhus, Denmark Joint work with Khaled Elabssioni and Martin Kutz - MPI, Germany Meena Mahajan - IMSC, India
Roadmap Simultaneous Matchings Problem definition Motivation NP-Completeness APX-Completeness A 2/(k+1)-factor Approximation A Comment on the Polytope Conclusion/Open Problems
X-Perfect Bipartite Matchings Input: A bipartite graph D X
X-Perfect Bipartite Matchings Input: A bipartite graph D X Output: A matching saturating all nodes of X
Simultaneous Matchings Input: A bipartite graph D X X1X1 X2X2 A collection of k subsets of X
Simultaneous Matchings Output: A set M of edges such that … D X X1X1 X2X2 for each subset X i, the set is an X i -perfect matching.
Theoretical Motivation Berge, Edmonds [1950s, 1960s]: Classic results on matching.
Theoretical Motivation Berge, Edmonds [1950s, 1960s]: Classic results on matching. Since then: Half a century of research on nuances and variants of matchings.
Theoretical Motivation Berge, Edmonds [1950s, 1960s]: Classic results on matching. Since then: Half a century of research on nuances and variants of matching. Problem variants: Maximum Weight Matching, Minimum Weight Perfect Matching, Stable Matchings, Rank- Maximal Matchings, Popular Matchings … Special cases: Planar, Bipartite, Convex Bipartite … Models of computation: Sequential, Parallel …
Practical Motivation Constraint programming: Variables X, values D. E represents ”possible assignments”. Values (D) Variables (X)
Practical Motivation An AllDifferent(V={v 1, v 2,…, v n }) constraint is a V-perfect matching problem. An important and well-studied constraint. V Values (D) Variables (X)
Practical Motivation A constraint program with several AllDifferent constraints is a simultaneous matchings problem. V U Values (D) Variables (X)
NP-Hardness for k=2 By reduction from SET-PACKING: Input: sets S 1,…,S p and an integer c. Output: Are there c pairwise-disjoint sets? Example: Solution with c=2: No solution with c=3
The Reduction - Overview A value for each set A value for each element Gadgets c choice variables Gadgets ensure that only disjoint sets can be chosen
The Reduction - Overview A value for each set A value for each element Gadgets The two variable sets are ”red” and ”green”. Choice variables are in both sets.
The Gadgets Set value uv
The Gadgets Set value Choice variable u v If the set is not chosen, u and v are free.
The Gadgets Set value Choice variable u v If the set is chosen, u and v are assigned to variables which are both red and green.
Concatenated Gadgets Set value Choice variable u v If the set is chosen, u,u’ and v’ are assigned to variables which are both red and green. u’ v’
A full example Choice variables b U={a,b,c,d}. S 1 ={a,b} S 2 ={b,c} S 3 ={c,d} c=2 S1S1 S2S2 S3S3 Gadget for S 1 Gadget for S 2 Gadget for S 3 ad c
Complete Bipartite Graphs K=2: R RGRGG D There is a solution if and only if RG+max{R,G} D And larger k?
Complete Bipartite Graphs Node 3-coloring: Can the nodes of a graph be colored with three colors such that neighbors have different colors?
Complete Bipartite Graphs D= three colors Edge {u,v} is an AllDifferent(u,v) NP-hard even if |D|=3 and |X i |=2!
Optimisation Version Input: as before, with weight on the edges. Output: (the size of) a maximum weight subset M of the edges such that For each constraint set X i, is a matching (not necessarily X i -perfect).
Optimisation Version: APX-hardness Input: as before, with weight on the edges. Output: (the size of) a maximum weight subset M of the edges such that For each constraint set X i, is a matching (not necessarily X i -perfect). A simple modification of the reduction we used is an approximation-preserving reduction. For k=2, inapproximable within better than 1-1/3300 unless P=NP. Using 99/100 hardness factor of 3-SET-PACKING(2)
A Simple Approximation Algorithm s i = maximum weight of a matching in the subgraph induced by Also: So: I.e., max{s i } is a 1/k-factor approximation.
A Simple Approximation Algorithm s i = maximum weight of a matching in the subgraph induced by Also: So: I.e., max{s i } is a 1/k-factor approximation. Ok, not very impressive, but it does imply APX- completeness for any constant k.
A Better Approximation A ABB We computed optimum for A+AB and for AB+B. We can also compute optimum for A+B (ignore intersection). OPT(A+AB)+OPT(AB+B)+OPT(A+B) is at least 2 OPT. Maximum between them is a 2/3-factor approximation.
A Better Approximation A ABB We computed optimum for A+AB and for AB+B. We can also compute optimum for A+B (ignore intersection). OPT(A+AB)+OPT(AB+B)+OPT(A+B) is at least 2 OPT. Maximum between them is a 2/3-factor approximation.
With k constraint sets Let So Or: The maximum of them is a 2/(k+1)-approximation. X2X2 X3X3 X1X1 Y2Y2 Y1Y1 Y3Y3
Can We Go Further? We generalize our approach and show that we cannot. Sketch: There is a linear program such that the value of its optimal solution is the approximation ratio achieved. There is a feasible solution to the dual with value 2/(k+1). Note: Most of the details are not in the proceedings version. See full version on our websites.
A Comment on the Polytope Bipartite matching polytope: Integral vertices. General matching polytope: Half-integral vertices. We show (by example) that neither property carries over to the simultaneous matchings polytope.
Conclusion Better approximation factor? Huge gap: For k=2, upper bound = 3299/3300 and lower bound = 2/3. Interesting special cases?