How hard is it to marry at random? (On the approximation of the permanent)

A b s t r a c t . I t is well-known tha t the computation of the pe rmanen t of 0-1 matrices, which is the same as comput ing the number of matchings in bipar t i te graph, is #P-comple t e . However the complexity of comput ing a good approximat ion of the number of matchings, is an open question and it is the leading candidate for a problem for which one solution can be found in polynomial time, but for which even approximat ing the number of solutions is hard. In this paper we present a fully polynomial (e, 6) -approximat ion scheme for the permanent of 0-1 matr ices where at least half of the entries in every row and every column are l ' s . The novel a lgori thm uses a Markov chain tha t converges to the uniform distr ibution on the space of perfect matchings for any given graph. We show tha t it converges in polynomial t ime (in terms of the variat ion distance) for all dense enough graphs. Based on this chain we construct a sampling scheme tha t allows us to approximate the permanent of dense 0-1 matrices in polynomial time. Finally we show tha t the exact computation of the pe rmanen t of such matrices is still ~ P complete. 1. I n t r o d u c t i o n One of the most surprising results in computat ional complexity is tha t comput ing the number Permission to copy without tee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. © 1986 ACM 0-89791-193-8/86/0500/0050 $00.75 of perfect matchings in a bipar t i te graph is ~ P complete, t ha t is, as hard as comput ing the number of solutions of any problem in NP [Valiant79]. In other words al though finding a perfect matching is easy and finding a Hamil tonian circuit is hard, counting perfect matchings and counting Hamiltonian circuits is equally hard. The number of perfect matchings in a bipar t i te graph G(Vx,V2, E) where ]VI [= IV2[ = n and E c VI × V2 is the same as comput ing the permanent of a square 0-1 ma t r ix M = (m~d) of size n where 1, E; m~,y = O, otherwise, and the permanent of M, p e r ( M ) is defined by p e r ( M ) = Z H m~,~(0' l<_i_<n where ¢r ranges over all the permuta t ions of the set (1, . . . , n). The permanent function has a long and noble history~ it was introduced by Cauchy in 1812 in its celebrated memoir on de terminants and almost simultaneously by Binet. (See [Minc78] for detailed history.) I t has impor tan t applications in statistical physics and chemistry and plays a central role in many enumerat ion and linear algebra problems. Despite many efforts, the fastest known algori thm for the exact computa t ion of the permanent requires O(n2 n) operations. (It is based on Ryser 's formula [Ryser63]. See [NW75] for implementation.) Some of the difficulty seems to reside in the fact tha t a l though the permanent is closely related to the determinant , it lacks the symmetr ies of the