It is intuitively clear that, for a large combinatorial set S, the problems
count the size | S | exactly, and
generate an exactly uniform random element of | S |
are essentially equivalent (assuming we have a true random number generator). A more subtle insight is that, if we replace “exactly” with “approximately,” the two problems remain equivalent in many settings. Briefly, the idea is to decompose an exponentially large S into a sequence S ⊃ S 1 ⊃ ... ⊃ S n of sets of the same type. Estimating | S | reduces to estimating the successive ratios | S i + 1 | &slash; | S i |, and given a way to simulate approximately uniform random elements of S i, we can estimate the ratio by ordinary Monte Carlo methods. A second insight is that one can sample approximately uniformly from S by the Markov chain Monte Carlo (MCMC) method. The idea, a specialization of the Metropolis algorithm long used in statistical physics, is to set up a Markov chain with state space S whose stationary distribution is uniform, and then classical theory says that, after simulating the chain “for sufficiently many steps,” the distribution will be approximately uniform. In most settings, the definition of a reasonable-looking chain is simple, but the mathematical problem of bounding the number of steps of the chain needed to attain approximate uniformity is a difficult problem.
The purpose of this book is to discuss the relationship between approximate counting and approximate sampling; discuss mathematical techniques to bound the number of steps needed in MCMC; and apply these to several concrete examples of theoretical interest: the permanent, monomer-dimer systems (that is, imperfect matchings on a graph), and graphs with prescribed degrees.
The book is an expanded version of the author’s doctoral thesis, in which these ideas were first treated systematically. It is invaluable as a detailed, but not overly technical, exposition of the fundamentals of an active research area in the theory of algorithms. Many other examples have been investigated since the author wrote his thesis. A final chapter updates developments through 1991, in particular the well-known work of Dyer, Frieze, and Kannan on estimating the volume of a convex body in high dimensions.
This book, aimed at graduate students and researchers in the theory of algorithms, succeeds admirably in describing the fundamental ideas in the field.