Abstract
Markov Chain Monte Carlo (MCMC) methods have been one of the most essential techniques for approximate counting in combinatorial problems where finding an exact answer is computationally hard. Examples of such problems include counting the number of k-colorings of a graph, counting graphical realizations of a degree sequence, counting independent sets in a graph, counting linear extensions of a partial order, counting contingency tables with given marginals among others.
One such example is counting the number of perfect matchings of a bipartite graph, or equivalently, computing the permanent of a 0-1 square matrix. Jerrum, Valiant and Vazirani showed that for a large class of counting problems known as self-reducible problems, approximate counting is equivalent to approximately uniform sampling. The problem of computing the number of perfect matchings is self-reducible, which reduces the problem of approximating the permanent to sampling perfect matchings of bipartite graphs approximately uniformly. The best known previous algorithms follow a MCMC approach and produce a uniform sampler for a given bipartite graph with $(n,n)$ vertices in $\widetilde{O}(n^7)$ time. In the present thesis, we introduce the concept of inflation of a flow and use the developed formalism to obtain an improved MCMC algorithm with $\widetilde{O}(n^6)$ running time for sampling perfect matchings.
Chapter 1 recalls the definitions and relevant results about Markov chains, mixing times and rapid mixing which shall be used later. The Markov chain Monte Carlo method and some of its applications to approximate counting are discussed. We review the known results and discuss the techniques used in \cite{JSV} and \cite{BSVV}, for the specific question of sampling perfect matchings of bipartite graphs, as they will be of direct relevance to our own method.
Chapter 2 develops the inflation formalism. We define the inflation of a flow and related concepts. Given a distribution $\pi$ on a state space $\Omega$ and a flow $f$ for $\pi$, the inflation of the flow $f$ is a Markov chain for which transition probabilities are proportional to the amount of the flow through that transition. The inflation can be equipped with a new flow, the congestion for which is bounded only by the maximal path length of the original flow $f$. Low congestion implies rapid mixing which can be used to give efficient sampling algorithms. Inflation and related new ideas introduced in the present thesis are central to our improvement over the known algorithms.
Chapter 3 uses the tools and techniques developed in chapter 2 to provide a MCMC algorithm for sampling perfect matchings of bipartite graphs. Starting with a suitable flow for a distribution on the space of perfect and near-perfect matchings, we consider its inflation. We modify the inflated chain so as to make it less expensive to simulate by homogenizing certain cycle length parameters appearing in weights defining the inflation. Homogenizing the inflation ends up worsening the mixing time. We then remedy the worsening of time complexity by modifying the weights defining the homogenized chain by adding extra capacities, so as to accommodate the increase in flow due to extra mass introduced by homogenization. We describe the computation of the relevant parameters needed to simulate the chain and show that an appropriately parameterized annealing schedule produces the final weights within the desired number of phases.