Exact sampling and approximate counting techniques

We present two algorithms for uniformly sampling from the proper colorings of a graph using colors. We use exact sampling from the stationary distribution of a Markov chain with states that are the -colorings of a graph with maximum degree . As opposed to approximate sampling algorithms based on rapid mixing, these algorithms have termination criteria that allow them to stop on some inputs much more quickly than in the worst case running time bound. For the first algorithm we show that when , the algorithm has an upper limit on the expected running time that is polynomial. For the second algorithm we show that for where is an integer that satisfies , the running time is polynomial. Previously, Jerrum showed that it was possible to approximately sample uniformly in polynomial time from the set of -colorings when but our algorithm is the first polynomial time exact sampling algorithm for this problem. Using approximate sampling, Jerrum also showed how to approximately count the number of -colorings. We give a new procedure for approximately counting the number of -colorings that improves the running time of the procedure of Jerrum by a factor of when , where is the number of nodes in the graph to be colored and is the number of edges. In addition, we present an improved analysis of the chain of Luby and Vigoda for exact sampling from the independent sets of a graph. Finally, we present the first polynomial time method for exactly sampling from the sink free orientations of a graph. Bubley and Dyer showed how to approximately sample from this state space in ! " $#&%(') +*-,/.0 1 time, our algorithm takes 23 45 expected time. 6 This work was partially supported by an Office of Naval Research Fellowship and NSF grants CCR-9307391, CCR-9700029, and DMS-9505155, and ONR grant N00014-96-1-00500 1 Introduction Recently a number of exciting results have appeared in the area of Monte Carlo Markov Chain (MCMC) theory. One such result is the procedure of Propp and Wilson [10] known as coupling from the past (CFTP), which allows us to sample directly from the stationary distribution of certain Markov chains without visiting each state in the chain. Many chains that arise naturally out of statistical mechanics and approximate counting problems have a number of states exponential in the size of the input. Although this makes it impossible to efficiently compute the entire stationary distribution, using CFTP we can still sample efficiently from the stationary distribution. The state space we are primarily interested in sampling from here is the set of proper colorings of a graph 798 ;: using colors. A proper coloring of a graph 7 is an assignment of colors to nodes so that no two neighboring nodes receive the same color. This state space is a special case of a framework from statistical mechanics known as the Potts model. The ability to sample efficiently from state spaces such as the Potts model leads to better approximate counting algorithms and has applications in statistical mechanics (see [1]). The -coloring problem is of interest in complexity theory. Jerrum, Valiant, and Vazirani [6] showed that for a class of problems which includes -colorings that a method for efficient approximate sampling from the state space could be used to construct an efficient method for approximating the size of the state space. Counting the number of -colorings of a graph is a ?A@ -complete problem, making it unlikely that an efficient algorithm will be found to solve it exactly. In the next section we describe the Potts model in more detail, after which we present a brief description of CFTP, along with our first algorithm for exact sampling from the -colorings of a graph. In section 5 we present our exact coloring sampling algorithm, which is the first to run in polynomial time. We then present a second exact sampling algorithm for the -coloring chain that uses both CFTP and rejection sampling, and has polynomial running time. We then briefly discuss the extension of these methods to the general Potts model. We then present an algorithm for approximately B counting the number of -colorings that improves upon the running time of the previous method (due to Jerrum) by a factor of 23 $ C C ED Finally we present the first polynomial time method for exact sampling from the sink free orientations of a graph. This algorithm has a longer running time than the previous approximate sampling algorithm due to Bubley and Dyer [2]. We use the total variation distance to quantify what we mean by approximate and exact sampling. If the distributions F and G put probability mass on a finite set, the total variation distance between them is H F IJG H KML 8 N O P H F  D These algorithms are weaker than Jerrum’s in that they require more colors to run in polynomial time. However, they are exact sampling algorithms whereas Jerrum’s method only generates an approximate sample. Moreover, these algorithms might finish running before the bounds given on the the running time would indicate. In the algorithms which rely on rapid mixing, the algorithm must always take the same worst case amount of steps in the Markov chain. In algorithms like ours, which are based on CFTP, we have termination criteria that allow us to end the algorithm before the worst case analysis would indicate. In addition, our algorithms are exact samplers, and so the running time does not depend on * , making them faster than Jerrum’s method by a factor of %(') N *E . Unlike Jerrum’s method, however, the running time of these algorithms is random, and to ensure that the algorithm terminates with a probability of at least N I | , it is necessary to run for an extra factor of %(') N | time. Note that * , which bounds the total variation, will usually be much smaller than | which bounds the probability our algorithm does not complete on schedule. Since these sampling algorithms are often run many times (for example in the counting applications) the running time is often even more closely concentrated around the expected running time. In the chains we consider here, there is a color set  , a vertex set : , and the state space of the Markov chain is   L . For example, in the -colorings of a graph, : is the vertex set of our graph 7m8 ;: , and  is the set of proper colorings of the nodes of : . Some examples of chains in this class include the hard core gas model and the sink free orientations of a graph, which are discussed in section 2.