3-dimensional matching
In the mathematical discipline of graph theory, a 3-dimensional matching is a generalization of bipartite matching (also known as 2-dimensional matching) to 3-partite hypergraphs. Finding a largest 3-dimensional matching is a well-known NP-hard problem in computational complexity theory.
Definition
Let X, Y, and Z be finite, disjoint sets, and let T be a subset of X × Y × Z. That is, T consists of triples (x, y, z) such that x ∈ X, y ∈ Y, and z ∈ Z. Now M ⊆ T is a 3-dimensional matching if the following holds: for any two distinct triples (x1, y1, z1) ∈ M and (x2, y2, z2) ∈ M, we have x1 ≠ x2, y1 ≠ y2, and z1 ≠ z2.
Example
The figure on the right illustrates 3-dimensional matchings. The set X is marked with red dots, Y is marked with blue dots, and Z is marked with green dots. Figure (a) shows the set T (gray areas). Figure (b) shows a 3-dimensional matching M with |M| = 2, and Figure (c) shows a 3-dimensional matching M with |M| = 3.
The matching M illustrated in Figure (c) is a maximum 3-dimensional matching, i.e., it maximises |M|. The matching illustrated in Figures (b)–(c) are maximal 3-dimensional matchings, i.e., they cannot be extended by adding more elements from T.
Here is example interactive visualisation in javascript
Comparison with bipartite matching
A 2-dimensional matching can be defined in a completely analogous manner. Let X and Y be finite, disjoint sets, and let T be a subset of X × Y. Now M ⊆ T is a 2-dimensional matching if the following holds: for any two distinct pairs (x1, y1) ∈ M and (x2, y2) ∈ M, we have x1 ≠ x2 and y1 ≠ y2.
In the case of 2-dimensional matching, the set T can be interpreted as the set of edges in a bipartite graph G = (X, Y, T); each edge in T connects a vertex in X to a vertex in Y. A 2-dimensional matching is then a matching in the graph G, that is, a set of pairwise non-adjacent edges.
Hence 3-dimensional matchings can be interpreted as a generalization of matchings to hypergraphs: the sets X, Y, and Z contain the vertices, each element of T is a hyperedge, and the set M consists of pairwise non-adjacent edges (edges that do not have a common vertex). In case of 2-dimensional matching, we have Y = Z.
Comparison with set packing
A 3-dimensional matching is a special case of a set packing: we can interpret each element (x, y, z) of T as a subset {x, y, z} of X ∪ Y ∪ Z; then a 3-dimensional matching M consists of pairwise disjoint subsets.
Decision problem
In computational complexity theory, 3-dimensional matching is also the name of the following decision problem: given a set T and an integer k, decide whether there exists a 3-dimensional matching M ⊆ T with |M| ≥ k.
This decision problem is known to be NP-complete; it is one of Karp's 21 NP-complete problems.[1] There exist though polynomial time algorithms for that problem for dense hypergraphs.[2][3]
The problem is NP-complete even in the special case that k = |X| = |Y| = |Z|.[1][4][5] In this case, a 3-dimensional (dominating) matching is not only a set packing but also an exact cover: the set M covers each element of X, Y, and Z exactly once.[6] The proof is by reduction from 3SAT. Given a 3SAT instance, we construct a 3DM instance as follows:[7]
- For each variable xi, there is a "variable gadget" shaped like a wheel. It is made of overlapping triplets. The number of triplets is twice the number of occurrances of xi in the formula. There are exactly two ways to cover all the vertices in the gadget: one is to choose all even-indexed triplets, and one is to choose all odd-indexed triplets. These two ways correspond to setting xi to "true" or "false". The "true" selection leaves uncovered exactly one vertex in every odd-indexed triplet, and the "false" selection leaves uncovered exactly one vertex in every even-indexed triplet.
- For each clause xi u xj u xk, there is a "clause gadget" shaped like a rose. It is made of three overlapping triplets, one for each variable in the clause. It can be covered iff at least one of the nodes is left uncovered by the selection of the variable gadgets.
- Since it is possible that two or more nodes are left uncovered, we also need a "garbage collection gadget". It is shaped like a larger rose. It is made of several overlapping triplets, one for each vertex that can be left uncovered in the variable gadget. The number of such gadgets is determined so that they can be covered exactly if and only if there is a satisfying assignment.
Optimization problem
A maximum 3-dimensional matching is a largest 3-dimensional matching. In computational complexity theory, this is also the name of the following optimization problem: given a set T, find a 3-dimensional matching M ⊆ T that maximizes |M|.
Since the decision problem described above is NP-complete, this optimization problem is NP-hard, and hence it seems that there is no polynomial-time algorithm for finding a maximum 3-dimensional matching. However, there are efficient polynomial-time algorithms for finding a maximum bipartite matching (maximum 2-dimensional matching), for example, the Hopcroft–Karp algorithm.
Approximation algorithms
The problem is APX-complete, that is, it is hard to approximate within some constant.[8][9][10] However, for any constant ε > 0 there is a polynomial-time (4/3 + ε)-approximation algorithm for 3-dimensional matching.[11]
There is a very simple polynomial-time 3-approximation algorithm for 3-dimensional matching: find any maximal 3-dimensional matching.[10] Just like a maximal matching is within factor 2 of a maximum matching,[12] a maximal 3-dimensional matching is within factor 3 of a maximum 3-dimensional matching.
Parallel algorithms
There are various algorithms for 3-d matching in the Massively parallel computation model.[13]
See also
- List of NP-complete problems
- Rainbow-independent set – a problem that can be reduced from 3-dimensional matching.
Notes
- Karp (1972).
- Karpinski, Rucinski & Szymanska (2009)
- Keevash, Knox & Mycroft (2013)
- Garey & Johnson (1979), Section 3.1 and problem SP1 in Appendix A.3.1.
- Korte & Vygen (2006), Section 15.5.
- Papadimitriou & Steiglitz (1998), Section 15.7.
- Demaine, Erik (2016). "16. Complexity: P, NP, NP-completeness, Reductions".
- Crescenzi et al. (2000).
- Ausiello et al. (2003), problem SP1 in Appendix B.
- Kann (1991)
- Cygan, Marek (2013). "Improved Approximation for 3-Dimensional Matching via Bounded Pathwidth Local Search". IEEE 54th Annual Symposium on Foundations of Computer Science: 509–518. arXiv:1304.1424. Bibcode:2013arXiv1304.1424C. doi:10.1109/FOCS.2013.61. ISBN 978-0-7695-5135-7. S2CID 14160646.
- Matching (graph theory)#Properties.
- Hanguir, Oussama; Stein, Clifford (2020-09-21). "Distributed Algorithms for Matching in Hypergraphs". arXiv:2009.09605 [cs.DS].
References
- Ausiello, Giorgio; Crescenzi, Pierluigi; Gambosi, Giorgio; Kann, Viggo; Marchetti-Spaccamela, Alberto; Protasi, Marco (2003), Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties, Springer.
- Crescenzi, Pierluigi; Kann, Viggo; Halldórsson, Magnús; Karpinski, Marek; Woeginger, Gerhard (2000), "Maximum 3-dimensional matching", A Compendium of NP Optimization Problems.
- Garey, Michael R.; Johnson, David S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, ISBN 0-7167-1045-5.
- Kann, Viggo (1991), "Maximum bounded 3-dimensional matching is MAX SNP-complete", Information Processing Letters, 37 (1): 27–35, doi:10.1016/0020-0190(91)90246-E.
- Karp, Richard M. (1972), "Reducibility among combinatorial problems", in Miller, Raymond E.; Thatcher, James W. (eds.), Complexity of Computer Computations, Plenum, pp. 85–103.
- Karpinski, Marek; Rucinski, Andrzej; Szymanska, Edyta (2009), "The Complexity of Perfect Matching Problems on Dense Hypergraphs", ISAAC '09 Proceedings of the 20th International Symposium on Algorithms, Lecture Notes in Computer Science, 5878: 626–636, doi:10.1007/978-3-642-10631-6_64, ISBN 978-3-642-10630-9.
- Keevash, Peter; Knox, Fiachra; Mycroft, Richard (2013), "Polynomial-Time perfect matchings in dense hypergraphs", STOC '13 Proceedings of the Forty-fifth Annual ACM Symposium: 311–320, arXiv:1307.2608, Bibcode:2013arXiv1307.2608K, doi:10.1145/2488608.2488647, ISBN 9781450320290, S2CID 5393523.
- Korte, Bernhard; Vygen, Jens (2006), Combinatorial Optimization: Theory and Algorithms (3rd ed.), Springer.
- Papadimitriou, Christos H.; Steiglitz, Kenneth (1998), Combinatorial Optimization: Algorithms and Complexity, Dover Publications.