Open

Perfect Matching Existence (PME)

Category: Network Flows
Tags:

Input

An undirected graph $G = (V, E)$.

Problem

Does $G$ have a perfect matching?

Definitions

A matching is a subset of edges that share no endpoints. A perfect matching is a matching where each vertex is incident to one edge in the matching.

Status

Open (Karp, Upfal, and Wigderson [1], Mulmuley, Vazirani, and Vazirani [2]).

Remarks

See remarks for MM. PME seems to be the simplest of the matching problems not known to be in $\NC$. Dahlhaus, Hajnal, and Karpinski show that a perfect matching can be found in a “dense” graph in $\NC^2$ [3]. Karpinski and Wagner show that when $G$ is given by its vertex multiplicity graph representation the problem becomes $\P$-complete [4]. Using such succinct graph representations they are also able to show that the Perfect Bipartite Matching Problem is $\P$-complete [4].

Grigoriev and Karpinski show that if the permanent of $G$ is polynomially bounded, one can decide whether $G$ has a perfect matching in $\NC^2$. They show how to construct such a matching in $\NC^3$ [5]. See Grigoriev, Karpinski, and Singer [6] and Karpinski [7] for additional related work. Osiakwan and Akl designed an EREW-PRAM algorithm for solving the Maximum Weight Perfect Matching Problem for complete weighted graphs. Their algorithm runs in $O(n^3/p + n^2 \log n)$ time for $p \leq n$, where $n$ is the number of vertices in the graph and $p$ is the number of processors [8].

The problem is in $\mathsf{RNC}$, and there exists an $\NC$ algorithm for PME in planar graphs. However, only in 2020, Anari and Vazirani discovered an $\NC$ algorithm for its search variant, that is, an $\NC$ algorithm to find a perfect matching in planar graphs [9].

Further developments show that the search variant is as hard as the decision variant, that is, given an $\NC$ algorithm for PME, it is possible to create an $\NC$ algorithm for finding a perfect matching in a general graph [10]. PME, however, remains an open problem.

References

  1. R. M. Karp, E. Upfal, and A. Wigderson (1986). Constructing a perfect matching is in Random NC.
  2. K. Mulmuley, U. V. Vazirani, and V. V. Vazirani (1987). Matching is as easy as matrix inversion.
  3. E. Dahlhaus, P. Hajnal, and M. Karpinski (1988). Optimal parallel algorithm for the Hamiltonian cycle problem on dense graphs.
  4. M. Karpinski and K. W. Wagner (1988). The computational complexity of graph problems with succinct multigraph representation.
  5. D. Y. Grigoriev and M. Karpinski (1987). The matching problem for bipartite graphs with polynomially bounded permanents is in NC.
  6. D. Y. Grigoriev, M. Karpinski, and M. F. Singer (1990). Fast parallel algorithms for sparse multivariate polynomial interpolation over finite fields.
  7. M. Karpinski (1988). Boolean circuit complexity of algebraic interpolation problems.
  8. C. N. K. Osiakwan and S. G. Akl (1990). The maximum weight perfect matching problem for complete weighted graphs is in PC.
  9. N. Anari and V. V. Vazirani (2020). Planar Graph Perfect Matching Is in NC.
  10. N. Anari and V. V. Vazirani (2020). Matching Is as Easy as the Decision Problem, in the NC Model.
  11. Greenlaw, R., Hoover, H. J., and Ruzzo, W. L. (1995). Limits to Parallel Computation: P-Completeness Theory. Oxford University Press. Problem B.9.8.