Approximation algorithms for counting the number of perfect matchings in bipartite graphs∗
نویسنده
چکیده
The problem of devising an algorithm for counting the number of perfect matchings in bipartite graphs has a long history. Apparently the first algorithm (which works only in planar graphs) was presented in 1961 [8]. Then Valiant in 1979 showed that the problem is #P-complete, meaning that no polynomial-time algorithm exists for the problem, unless P = NP [11]. After that, people focused on developing fast approximation algorithms for the problem. However, even developing a polynomial-time approximation algorithm appeared to be very difficult, as the first fully polynomial-time approximation scheme (see Section 3 for definition) for the problem was given in 2001 [6], and it uses a rather complicated Markov chain. In Table 1, I have collected some of the important results. For each result, the class of graphs in which the algorithm works and the running time are mentioned. Some notations need to be defined to read the table properly: the graph in question is a bipartite graph with two parts of size n, we say the graph is γ-dense if the degree of each vertex is at least γn, and the O∗ notation hides the log n and −1 (where is the maximum acceptable error of the algorithm) factors. In this report I will present the algorithm of Jerrum and Sinclair for 1 2 -dense graphs, and then provide a summary of the exponential algorithm of Jerrum and U. Vazirani. Section 2 is an introduction to Markov chains for those who have no previous background. If you have a basic knowledge about Markov chains you can skip Section 2. In Section 3 the terminology is introduced. In Section 4, which is the longest section, the first algorithm ∗This is a report for the course CO 754: Approximation Algorithms, Winter 2010, University of Waterloo. †[email protected]
منابع مشابه
Counting the Number of Matchings in Chordal and Chordal Bipartite Graph Classes
We provide polynomial-time algorithms for counting the number of perfect matchings and the number of matchings in chain graphs, cochain graphs, and threshold graphs. These algorithms are based on newly developed subdivision schemes that we call a recursive decomposition. On the other hand, we show the #P-completeness for counting the number of perfect matchings in chordal graphs, split graphs a...
متن کاملPerfect Matchings in Edge-Transitive Graphs
We find recursive formulae for the number of perfect matchings in a graph G by splitting G into subgraphs H and Q. We use these formulas to count perfect matching of P hypercube Qn. We also apply our formulas to prove that the number of perfect matching in an edge-transitive graph is , where denotes the number of perfect matchings in G, is the graph constructed from by deleting edges with an en...
متن کاملOn Counting Perfect Matchings in General Graphs
Counting perfect matchings has played a central role in the theory of counting problems. The permanent, corresponding to bipartite graphs, was shown to be #P-complete to compute exactly by Valiant (1979), and a fully polynomial randomized approximation scheme (FPRAS) was presented by Jerrum, Sinclair, and Vigoda (2004) using a Markov chain Monte Carlo (MCMC) approach. However, it has remained a...
متن کاملApproximating the Permanent of Graphs with Large Factors
Let G = (U; V; E) be a bipartite graph with jUj = jV j = n. The factor size of G, f, is the maximum number of edge disjoint perfect matchings in G. We characterize the complexity of counting the number of perfect match-ings in classes of graphs parameterized by factor size. We describe the simple algorithm, which is an approximation algorithm for the permanent that is a natural simpliication of...
متن کاملApproximately Counting Perfect and General Matchings in Bipartite and General Graphs
Approximately Counting Perfect And General Matchings in Bipartite and General Graphs
متن کاملMatchings in Graphs
We know that counting perfect matchings is polynomial time when we restrict ourselves to the class of planar graphs. Generally speaking, the decision and search versions of a problem turn out to be “easier” than the counting question. For example, the problem of determining if a perfect matching exists, and finding one when it does, is polynomial time in general graphs, while the question of co...
متن کامل