A Non-Markovian Coupling for Randomly Sampling Colorings (Extended Abstract)

Thomas P. Hayes  Eric Vigoda

Abstract

We study a simple Markov chain, known as the Glauber dynamics, for randomly sampling (proper) k-colorings of an input graph G on n vertices with maximum degree Δ and girth g. We prove the Glauber dynamics is close to the uniform distribution after O(n log n) steps whenever k > (1 + ϵ)Δ, for all ϵ > 0, assuming g ≥ 9 and Δ = Ω(log n). The best previously known bounds were k > 11Δ/6 for general graphs, and k > 1.489Δ for graphs satisfying girth and maximum degree requirements.

Our proof relies on the construction and analysis of a non-Markovian coupling. This appears to be the first application of a non-Markovian coupling to substantially improve upon known results.

1 Introduction

1.1 Overview

Given a graph G = (V, E) with maximum degree Δ, is there an algorithm which randomly generates a k-coloring whenever k > Δ and runs in time polynomial in the size of G? A k-coloring is an assignment of colors to vertices σ : V → [k] such that all neighboring vertices receive different colors. Although constructing such a coloring is trivial provided k > Δ, even with this many colors the sampling problem seems difficult.

This problem has received considerable attention in the Computer Science, Discrete Mathematics and Statistical Physics communities. (In Statistical Physics jargon, we want to efficiently simulate the Gibbs distribution of the zero-temperature anti-ferromagnetic Potts model [13].) Efficient sampling algorithms are central to approximation algorithms for the corresponding #P-complete counting problem (estimating the number of k-colorings), see [10].

It is widely believed there is an efficient scheme for sampling colorings whenever k ≥ Δ + 2. Surprisingly, the following very simple Markov process likely suffices. The Markov chain, popular in the Statistical Physics community, is known as the Glauber dynamics (Metropolis version). From a coloring X_{t} ∈ Ω, we perform the following transition X_{t} → X_{t+1}:

• Choose a vertex v and color c uniformly at random from V and [k] respectively.

• Set X_{t+1}(z) = X_{t}(z) for all z ≠ v.

• If no neighbors of v have color c in X_{t+1}, then set X_{t+1}(v) = c, otherwise set X_{t+1}(v) = X_{t}(v).

It is straightforward to verify that the Glauber dynamics for all k ≥ Δ + 2 is ergodic and time-reversible with unique stationary distribution uniformly distributed over Ω.

Our goal is to analyze the mixing time of the Glauber dynamics. Roughly speaking, the mixing time is the number of transitions till the chain is close to stationarity from an arbitrary initial coloring; see Section 2.1 for a formal definition. Fast convergence of the Glauber dynamics has implications for phase transitions in the Potts model, e.g., see [3, 8].

The first significant progress was by Jerrum [10], proving the mixing time is O(n log n) whenever k > 2Δ. Independently, Salas and Sokal [13] proved closely related results about phase transitions in the Potts model. Vigoda [14] improved these results to k > 11Δ/6 via analysis of a more complicated Markov chain, which implied O(n^{2}) mixing time of the Glauber dynamics.

Dyer and Frieze [6] focused attention on locally treelike graphs with large maximum degree, specifically Δ = Ω(log n) and girth g = Ω(log Δ).^{1} Under these assumptions, they proved O(n log n) mixing time of the Glauber dynamics when k > α_{0}Δ, where α_{0} ≈ 1.763. Molloy [12], under the same assumptions, proved the same conclusion when k > α_{1}Δ, where α_{1} ≈ 1.489. Very recently, Hayes [9] reduced the girth requirement in Molloy’s result to g ≥ 6.

∗Department of Computer Science, University of Chicago, Chicago, IL 60637, {hayest,vigoda}@cs.uchicago.edu.

Part of this work was done while the second author was visiting the Isaac Newton Institute for Mathematical Sciences, Cambridge, UK. This work was supported by NSF Grant CCR-0237834.

A full version of this paper is available from the website http://www.cs.uchicago.edu/∼hayest

1The girth of a graph is the length of the shortest cycle.

All the aforementioned analyses of the Glauber dynamics use an approach known as the coupling method (see Sections 1.2 and 2.1), and more specifically a “maximal onestep coupling”. Molloy’s result seems to be the best possible using this approach; it appears that no one-step coupling, also known as a Markovian coupling, coalesces in polynomial time beyond Molloy’s threshold (see [12, Section 4]). In fact, Molloy raises the question of whether the constant α_{1} can be improved at all, and still have polynomial mixing time.

We give a positive answer, and in fact prove for all ϵ > 0 that k > (1 + ϵ)Δ suffices, assuming sufficiently large girth (9 suffices) and Δ = Ω(log n) (the implicit constant depends exponentially on 1/ϵ). Our proof uses a new coupling, defined with respect to the Cn-step evolution of the Glauber dynamics, for some fixed C > 0. Our coupling is an example of a non-Markovian coupling of the Glauber dynamics. The non-Markovian aspect of our coupling appears to be an essential feature.

Here is the formal statement of our result.

Theorem 1. For every ϵ > 0, there exists C > 0 such that for every graph G on n vertices with maximum degree Δ ≥ C log n and girth g ≥ 9, and for every k ≥ (1 + ϵ)Δ, the Glauber dynamics for k-coloring G has mixing time at most Cn log n.

We continue with an informal exposition on the coupling technique along with its application in related previous work. We then briefly describe the intuition behind our improvement.

1.2 Previous Results

A coupling is simply a joint stochastic process (X_{t}, Y_{t}) on Ω × Ω. Our only requirement is that each of the processes (X_{t}) and (Y_{t}) viewed in isolation must be a Markov chain evolving with the same transition probabilities. No restrictions are placed on the correlations between the two chains, a feature essential to the power of the approach.

The goal is to design a coupling which minimizes the coalescence time, i.e., the smallest t such that X_{t} = Y_{t} with probability ≥ 1/2. The coalescence time from the worst pair of initial states is easily seen to be an upper bound on the mixing time (see Section 2.1). Despite several successes of this technique, (see e.g., [10, 11]) it is often an difficult task to design and analyze a coupling for all pairs of initial states.

The Path Coupling Theorem of Bubley and Dyer [2] is a powerful tool for simplifying the coupling method. Roughly speaking, it suffices to define and analyze a coupling for only those initial pairs from a subset S ⊆ Ω^{2}, assuming the graph (Ω, S) is connected. This “partial coupling” is then extended to a coupling for an arbitrary pair of states. This approach has been instrumental in simplifying and improving results obtained via the coupling method (see e.g., [7, 14]).

In the setting of graph colorings, S is defined as the pairs of colorings which differ at exactly one vertex. To bound the coalescence time it suffices to define a joint evolution where the Hamming distance decreases in expectation.

A naive one-step coupling works when k > αΔ where α = 3. Consider a pair of states X_{t}, Y_{t} which only differ at vertex w, say X_{t}(w) = c_{X} and Y_{t}(w) = c_{Y}. The naive coupling chooses for both chains the same vertex v and color c for the attempted update. Observe that if v ∉ N(w) = {z ∈ V : (w, z) ∈ E)} or c ∉ {c_{Y} , c_{X}} then the attempted recoloring works or fails in both chains. Thus, there are at most 2Δ transitions which might increase the distance. Conversely, after any successful recoloring of w the two colorings are identical, and there are at least k − Δ such recolorings. For this coupling the condition k − Δ > 2Δ implies the Hamming distance decreases in expectation. Hence, we have O(n log n) coalescence time, and the same bound on the mixing time.

Jerrum [10] reduced α to 2 via a simple modification of the above coupling. First, choose a random vertex and color, say (v, c). If v ∈ N(w) and c ∈ {c_{Y} , c_{X}}, then set c′ = {c_{Y} , c_{X}} \ c. Otherwise, set c′ = c. Jerrum’s coupling attempts the recoloring (v, c) in X_{t} and (v, c′) in Y_{t}. There is now at most one coupled color pair per neighbor of w which might increase the distance (namely c = c_{Y}). For Jerrum’s coupling, the condition k − Δ > Δ implies O(n log n) mixing time of the Glauber dynamics. In fact, Jerrum’s analysis is tight for a worst pair of initial states.

Dyer and Frieze [6] avoid the worst-case scenario in Jerrum’s analysis by running the chains for a “burn-in period” before attempting the coupling. The burn-in period is sufficiently long for most vertices in the neighborhood of w to be recolored at least once. Assuming girth g = Ω(log log n), the color choices on the neighborhood of w will be roughly independent, as there is insufficient time for the dynamics to communicate the color choices along a path of length at least g. It then follows that the expected number of available colors for w is roughly k(1 − 1/k)^{Δ} ≈ k exp(−Δ/k). Further assuming Δ = Ω(log n), with high probability every vertex has close to its expected number of available colors for a polynomial number of transitions of the dynamics. It then suffices to have k exp(−Δ/k) > Δ, which reduces α to (approximately) 1.76322.

Molloy [12] further reduced α to 1.48908. In addition to the number of available colors, Molloy bounds the number of neighbors v of w which include two specific colors (e.g., c_{Y} and c_{X}) in X_{t}(N(v) \ {w}). Such a v can not be recolored to c_{X} or c_{Y} in either chain. Thus, under Jerrum’s coupling there are no transitions which cause v to differ in the two chains, i.e., v is “blocked” from the “bad” update in both chains.

1.3 Our Approach

Our focus is on those updates which succeed in exactly one of the coupled chains, what we will call singly blocked updates. Under Jerrum’s coupling, this type of update always increases the Hamming distance. Roughly speaking, if we could create a coupling where updates always succeed in both chains or fail in both chains, we would eliminate half of these increases. This is exactly what we do. Let us examine these singly blocked updates in more detail.

We are interested in coupled updates of v ∈ N(w) which succeed in exactly one of the chains. Such a v has one of the colors, say c = c_{Y}, in its neighborhood N^{∗}(v) = N(v) \ {w}, but not c′ = c_{X}. In this scenario the attempted update of v to c_{Y} fails in X_{t} (i.e., it is blocked by some vertex in N^{∗}(v)), but the update of v to c_{X} succeeds in Y_{t}. Hence, the coupled (attempted) recoloring of v increases the Hamming distance. In the symmetric scenario where c = c_{X} and c′ = c_{Y}, the update of v succeeds in X_{t}, but fails in Y_{t}.

Our aim is to couple these “singly blocked” scenarios together. As a result, the attempted update of v (albeit to different colors in the two chains), will succeed in both chains or fail in both chains. Such a coupling necessitates having different colorings on the neighborhood N^{∗}(v). The highlevel idea is to introduce temporary disagreements on two vertices, say z and z′, in N^{∗}(v). Vertex z will block the update of v in X_{t}, while z′ will block the update in Y_{t}. Surprisingly, we can guarantee that the temporary disagreements we create will disappear before their disagreement propagates. This requires examining the vertex-color choices at many future times. This is the crucially non-Markovian aspect of our coupling. In some sense we look into the future evolution to find a suitable z and z′, then revisit past decisions.

Here is a more precise (although still vague) picture of our non-Markovian coupling. Consider a pair of evolutions X_{0}, …, X_{T} and Y_{1}, …, Y_{T}, coupled under Jerrum’s coupling. Suppose these chains only differ at vertex w up till time t with X_{t}(w) = c_{X}, Y_{t}(w) = c_{Y}. At time t, under Jerrum’s coupling, we attempt to update v ∈ N^{∗}(w) to c_{Y} in X_{t} and c_{X} in Y_{t}, and there is a unique z ∈ N^{∗}(v) colored c_{Y}, but no z′ ∈ N^{∗}(w) colored c_{X}. We will modify the coloring on N^{∗}(w) in Y_{t} so that the attempted update fails in Y_{t} as well.

Let S(c_{X}) denote those z′ ∈ N^{∗}(v) whose current color can be replaced by c_{X} and only affect the update at time t. In other words, suppose at the last successful recoloring of z′ we had instead successfully updated z′ to c_{X}; if this modification does not affect the coloring of any neighbors in N^{∗}(z′) = N(z′) \ {v} at any time, then we include z′ in S(c_{X}). A vertex z′ ∈ S(c_{X}) can be used to block the attempted update in Y_{t} without direct “side effects.”

After the burn-in period, we have |S(c_{X})| ≈ |S(c_{Y})| with sufficiently high probability. We define a bijection (in fact, a “near-bijection”) between the set S(c_{X}) and the analogous set S(c_{Y}). Given z ∈ S(c_{Y}), the bijection defines an associated z′ ∈ S(c_{X}). We now modify the evolution of Y at earlier times, specifically at the previous updates of z′ and z. At the last (prior to time t) successful recoloring of z′ we still recolor it to X_{t}(z′) in X, but we recolor it to c_{X} in Y. Consequently, the attempted update of v at time t fails in both chains.

In order to ensure our partial coupling is valid, we make it “reversible”. This requires also modifying the last update of z in a reverse manner to z′. In particular, let S^{−1}(z′) denote those colors c for which z′ ∈ S(c). These are the colors which can be “swapped” with the current color of z′ and not affect the coloring on N^{∗}(z′). We define a bijection between the set S^{−1}(z′) and the analogous set S^{−1}(z). (This requires that we choose a z′ such that |S^{−1}(z′)| ≈ |S^{−1}(z)|.) Given the color of z′ at time t in X, the bijection defines a complementary color, say c, for z. We then perform the following modification of the evolution of Y. At the last (prior to time t) successful recoloring of z we still recolor it to c_{Y} in X, but we recolor it to c in Y.

We call such a sequence of modifications of the evolution of Y at earlier times a “non-Markovian update”. Our coupling evolves X for C_{pc}n steps where C_{pc} is a sufficiently large constant. We then evolve Y according to Jerrum’s coupling, applying non-Markovian updates whenever possible. These non-Markovian updates are defined to be symmetric with respect to the roles of X and Y. More precisely, if we take the final evolution of Y (after all non-Markovian updates were applied) and evolve X under our coupling, we obtain the original evolution of X. This reversibility of our coupling will imply it is a valid coupling.

1.4 Outline of the Paper

The following section presents background material on the coupling technique, and introduces notation and definitions which will be useful in the remainder of the paper. Many readers may prefer to skip directly to Section 3 during their initial reading. Section 3 formally presents our partial coupling. Before analyzing the coupling in Section 5, we present some uniformity results in Section 4.

A full version of this paper is available online.

2 Preliminaries

2.1 Coupling Technique

Let Ω denote the states of the Glauber dynamics, P its transition matrix, and π its stationary distribution. For a pair of distributions μ and ν on Ω let d_{T V} (μ, ν) denote their (total) variation distance. The mixing time is defined as the number of steps until the Glauber dynamics is within variation distance 1/4 of π, starting from the worst initial state.

We use the coupling method to bound the mixing time. A t-step coupling is defined as follows. For every (X_{0}, Y_{0}) ∈ S, let (\overline{X}, \overline{Y}) = (\overline{X}_{(X_{0},Y_{0})}, \overline{Y}_{(X_{0},Y_{0})}) be a random variable taking values in Ω^{t} × Ω^{t}. We say (\overline{X}, \overline{Y}) is a valid coupling if for all (X_{0}, Y_{0}) ∈ Ω^{2}, and for all 0 < ℓ ≤ t, the distribution of X_{ℓ} is P^{ℓ}(X_{0}, ·) and the distribution of Y_{ℓ} is P^{ℓ}(Y_{0}, ·).

A coupling satisfies the following bound, known as the Coupling Inequality [4] (or e.g., [1]). For all X_{0} ∈ Ω,

d_{T V} (P^{t}(X_{0}, ·), π) ≤ max_{Y_{0}∈Ω} Pr (X_{t} ≠ Y_{t} | X_{0}, Y_{0})

Therefore, by defining a t-step coupling where all initial pairs have coalesced (i.e., are at the same state) with probability at least 3/4, we have proved the mixing time is at most t.

2.2 De�nitions

For technical reasons, for a graph G = (V, E), we consider the Glauber dynamics defined on the set Ω = [k]^{V} where [k] = {1, …, k}. (This generalization of the dynamics to labellings occurs in all previous works [10, 14, 6, 12].) The definition of the dynamics is identical to the earlier definition. Observe that the stationary distribution of this new chain is uniformly distributed over proper colorings. Therefore, upper bounding the mixing time of this chain implies the same bound on the mixing time of the original chain defined only on proper colorings. The purpose of allowing improper colorings is to make it easier to “interpolate” between arbitrary legal colorings, a frequent operation in path coupling.

We will call the elements of Ω colorings, regardless of whether they are proper or not. For X, Y ∈ Ω, denote their Hamming distance by

H(X, Y) := |{v ∈ V (G): X(v) ≠ Y (v)}| .

For X ∈ Ω, v ∈ V, denote the set of available colors for v in X by

A(X, v) := [k] \ X(N(v)).

The subsequent definitions apply to arbitrary sequences of colorings where successive colorings differ at a single vertex (if at all). Therefore, let a chain of colorings be a sequence of colorings X_{0}, …, X_{T} and sequence of updates {(v(1), c(1)), …, (v(T), c(T)) satisfying, for all 1 ≤ t ≤ T:

X_{t}(w) = \begin{cases}c(t) or X_{t−1}(w) & if w = v(t) \\ X_{t−1}(w) & otherwise \end{cases}

Denote the set of successful updates as

T_{succ} = {t : X_{t}(v(t)) = c(t)}.

Definition 2. Let X_{0}, …, X_{T_{pc}} be a chain of colorings. For any vertex v ∈ V, and time 0 ≤ t ≤ T_{pc}, we define the t-epoch for v, denoted I(v, t) = I_{X}(v, t), as the smallest time interval containing t, in which v is successfully recolored twice. In other words, I = (t_{v}, t̂_{v}), where t_{v} < t < t̂_{v}, and

t_{v} = max{t′ < t : v = v(t′), t′ ∈ T_{succ}}
t̂_{v} = min{T_{pc}, min{t′ > t : v = v(t′), t′ ∈ T_{succ}}}

We next lay down a set of eligibility criteria which must be met in order for a vertex to be considered for a non-Markovian update. Although they are technical, we need them to ensure that our coupling is well-defined.

Definition 3. Let X_{0}, …, X_{T_{pc}} be a chain of colorings. Fix a time t ∈ [1, T_{pc}]. For v ∈ V, p ∈ N(v), define the set of eligible neighbors of v at time t with respect to parent p as

N_{elig}(v, p, t)={z ∈ N(v)\{p}: I(z, t)⊆[t − T_{m}, t + T_{m}]},

where T_{m} = C_{m}n for a constant C_{m} which will be specified in our coupling. For z ∈ V, define the set of eligible colors for z at time t as

S^{−1}(z, t)=A(X_{t}, z)\{c(t′): t′ ∈I(z, t)\{t}, v(t′)∈N(z)}.

Finally, we shall be interested in the set of eligible neighbors of v with a particular eligible color c, defined as

S(v, c, t)=S_{p}(v, c, t)={z ∈ N_{elig}(v, p, t): c ∈ S^{−1}(z, t)}.

The following definition is the central component of our non-Markovian updates.

Definition 4. Consider a chain of colorings X_{0}, …, X_{T}, time 0 ≤ t < T, adjacent vertices v, p, and colors c, c′. For Z ⊂ N(v) \ {p}, let

S = {z_{1}, …, z_{j}} = Z ∪ S(v, c, t) and
S′ = {z′_{1}, …, z′_{j′}} = S(v, c′, t),

where these sets are sorted in decreasing order of |S^{−1}(z_{i}, t)| and |S^{−1}(z′_{i}, t)|, respectively. Let ℓ = min{j, j′}.

Define the complementary neighbors for the set Z with respect to colors c, c′ and parent p as

CN (Z) = \begin{cases}\{z′_{i}: z_{i} ∈ Z\} & if i ≤ ℓ for all z_{i} ∈ Z \\ undefined & otherwise \end{cases}

For z′_{i} ∈ S′, α ∈ [k], let

C′ = {c′_{1} < ⋯ < c′_{m′}} = ({α} ∪ S^{−1}(z′_{i}, t)) \ {c, c′},
C = {c_{1} < ⋯ < c_{m}} = S^{−1}(z_{i}, t) \ {c, c′}

Let ℓ′ = min{m, m′}. Define the complementary color of α as

CC(z′_{i}, α) = \begin{cases}c_{j} & if α = c′_{j}, for some j ≤ ℓ′ \\ c & if α = c′ \\ c′ & if α = c \\ undefined & otherwise \end{cases}

For a set Z′ ⊆ S′ define

CC(Z, X_{t}) = {CC(z′_{i}, X_{t}(z′_{i})): z′_{i} ∈ Z′},

where CC(Z′, X_{t}) is undefined if CC(z′_{i}, X_{t}(z′_{i})) is undefined for any z′_{i} ∈ Z′.

The following definitions capture when our non-Markovian updates are applicable.

Definition 5. We say v is singly blocked with respect to colors c, c′ and parent p at time t if

|X_{t}(N(v) \ {p}) ∩ {c, c′}| = 1,

i.e., exactly one of the colors c, c′ appears in the neighborhood of v (excluding w).

Definition 6. Suppose v is singly blocked at time t with respect to colors c, c′ and parent p. Let

Z = (N(v) \ {p}) ∩ X_{t}^{−1}({c, c′}) ≠ ∅

be the set of blocking vertices. We say v is swap-eligible at time t with respect to c, c′ and parent p if additionally

• Z ⊆ N_{elig}(v, p, t);

• Z′ = CN (Z) is defined; and

• CC(Z′, X_{t}) is defined.

Our final definition captures the generalization of the Glauber dynamics needed for our application of the path coupling technique in the proof of our main theorem.

Definition 7. Let A ⊆ V and 0 ≤ t ≤ T. Let X_{0}, …, X_{t} and Y_{0}, …, Y_{t} be sequences of random colorings distributed according to Glauber dynamics, with an arbitrary coupling that preserves the vertex sequence v(1), …, v(t) (and X_{0}, Y_{0} are arbitrary). Let Z_{0}, …, Z_{t} be defined by the following interpolation rule: for every i ≤ t, w ∈ V, set

Z_{i}(w) = \{ \begin{matrix}X_{i}(w) & if w ∈ A \\ Y_{i}(w) & otherwise \end{matrix}

Let the rest of the evolution, Z_{t+1} …, Z_{T} be generated by Glauber dynamics, with initial coloring Z_{t}. Then we say Z_{T} has a T -step generalized Glauber distribution.

3 Coupling Construction

In this preliminary version of the paper, we only prove Theorem 1 for Δ-regular graphs. The extension to nonregular graphs involves straightforward generalizations of the uniformity properties presented in Section 4, and the extension of the analysis in Section 5.1 to a weighted Hamming distance as used by Molloy [12].

In this section we prove the following lemma, which is the crux of our proof.

Lemma 8. For every ϵ > 0, there exist C_{d}, C_{pc}, C_{b} such that for every Δ-regular graph G on n vertices with Δ > C_{d} log n and girth g ≥ 9, and for every k ≥ (1 + ϵ)Δ, there exists a T_{pc} = C_{pc}n-step partial coupling of Glauber dynamics, defined for all pairs of colorings which differ at a single vertex, with the following property. Sample X_{0} = Z_{T_{b}} according to a T_{b}-step generalized Glauber distribution, where T_{b} ≥ C_{b}n log n. Arbitrarily choose Y_{0} such that H(X_{0}, Y_{0}) = 1. Then with probability ≥ 1−n^{−10} (over the random choice of X_{0}),

E (H(X_{T} , Y_{T}) | X_{0}, Y_{0}) < 1/2,

where X_{0}, …, X_{T}, Y_{0}, …, Y_{T} are generated according to our partial coupling, given X_{0}, Y_{0}.

3.1 Overview

In order to simplify the definition and analysis of our non-Markovian coupling there are several unlikely events we want to avoid. For example, we want to guarantee that the subgraph induced by the set of disagreeing vertices remains a tree throughout our partial coupling. We will define a good event GOOD(T_{pc}) = GOOD_{x_{0},y_{0}}(T_{pc}), which will imply that no difficulties arise in our definition of the non-Markovian partial coupling. If we are not able to establish all of our desired guarantees, then we will use a basic Markovian coupling for all T_{pc} steps of our partial coupling.

We will make use of the following notational conventions. Let Λ = Λ_{T_{pc}} := (V × [k])^{T_{pc}} denote the space of all sequences of (vertex, color) choices for T_{pc} steps of Glauber dynamics. Our coupling works by sampling s_{x} ∈ Λ uniformly at random, and using it as the sequence of (vertex, color) choices for (X_{t}). We first check whether s_{x} ∈ GOOD(T_{pc}). If so we iteratively define our non-Markovian coupling in T_{pc} steps. Otherwise we simply use a basic (Markovian) coupling.

We denote the above coupling by

s_{y} = f_{x_{0},y_{0}}(s_{x}) = ((v(1), c_{y}(1)), …, (v(T_{pc}), c_{y}(T_{pc}))).

Observe that both chains always select the same vertex v(t) at time t.

Before defining our non-Markovian coupling, we define the basic (Markovian) coupling. A very similar coupling was used in all previous coupling arguments for the Glauber dynamics. Let

D_{t} = D(X_{t−1}, Y_{t−1}, v(t)) = {w ∈ N(v(t)): X_{t−1}(w) ≠ Y_{t−1}(w)},

denote the “disagreeing neighbors” of v(t).

The basic coupling iteratively sets c_{y}(t) = σ(c_{x}(t)), where σ = σ(X_{t−1}, Y_{t−1}, v(t)) is any permutation of [k] which is a maximal pairing of X_{t−1}(D_{t}) \ Y_{t−1}(D_{t}) with Y_{t−1}(D_{t}) \ X_{t−1}(D_{t}), and is the identity on the remaining colors.

Note that the basic coupling differs from the maximal one-step coupling introduced by Jerrum [10, 6, 12, 9], in that it ignores the colors on “agreeing neighbors.”

In the subsequent section we formally define our non-Markovian coupling. The following result implies our partial coupling is valid.

Lemma 9. Our coupling satisfies f_{x_{0},y_{0}} = f_{y_{0},x_{0}}^{−1}. Thus, f_{x_{0},y_{0}} is a bijection on Λ.

The proof of Lemma 9 is omitted due to lack of space.

3.2 Partial Coupling: De�nition

Consider (x_{0}, y_{0}) ∈ S and s_{x} ∈ Λ. We will define a sequence s^{0}, s^{1}, …, s^{T_{pc}} such that s^{j} ∈ (V × [k])^{j} and s_{y} = s^{T_{pc}}. We denote s^{j} = ((v(1), c^{j}(1)), …, (v(j), c^{j}(j))) for all 1 ≤ j ≤ T_{pc}. Let Y_{0}^{j}, …, Y_{j}^{j} be the j-step evolution from Y_{0}^{j} = y_{0} defined by s^{j}.

From x_{0}, y_{0}, s_{x} and s^{t−1} we define s^{t}, building upon the basic coupling. We tentatively set c^{t}(ℓ) = c^{t−1}(ℓ) for all 1 ≤ ℓ < t, although we may modify these choices later. The transition at time t is defined by the basic coupling of X_{t−1} and Y_{t−1}^{t−1}.

Let σ_{t} = σ(X_{t}, Y_{t}^{t−1}, v(t)) denote the permutation of [k] defining the basic coupling for X_{t−1} and Y_{t−1}^{t−1}. For s_{x} ∈ GOOD(T_{pc}), the following set M(t) will contain all times ≤ t when a disagreement might propagate. M(t) is defined as

M(t) = \begin{cases}M(t − 1) ∪ t & if c_{x}(t) ∈ Y_{t−1}^{t−1}(D_{t}) \\ M(t − 1) & otherwise, \end{cases}

where D_{t} = D(X, Y^{t−1}, t). Let V (M(t)) = {v(t′) : t′ ∈ M(t)} ∪ {w}, where w is the disagree vertex between x_{0} and y_{0}. We also define an auxiliary set AUX(t) of vertices which are used in our non-Markovian updates. Let AUX(0) = ∅.

Say GOOD(t) holds if all of the following are satisfied:

1. GOOD(t − 1) holds.

2. Unique disagree parent and no repropagation: If c_{x}(t) ∈ X_{t−1}(D_{t}) ∪ Y_{t−1}^{t−1}(D_{t}), then |D_{t}| = 1, and v(t) ∉ V (M(t − 1)) ∪ AUX(t − 1). We refer to the unique disagree neighbor as the “parent” vertex denoted by p = p(v(t)).

3. Locally tree-like: If t ∈ M(t), then the subgraph induced by

V (M(t)) ∪AUX(t−1) ∪N(v(t)) ∪N(N(v(t))\{p})

does not contain a cycle.

4. Swap-eligible: For T_{m} < t ≤ T_{pc} (where T_{m} = C_{m}n), colors c_{x}(t), c^{t}(t) and parent p = p(v(t)), if t ∈ M(t) and v(t) is singly blocked, then v(t) is swapeligible. (Recall Definitions 5 and 6.)

If GOOD(t) does not hold, we simply define s_{y} via the basic coupling for the entire T_{pc} steps.

If GOOD(t) holds, C_{m}n < t ≤ T_{pc} and v = v(t) is swap-eligible (with respect to colors c_{x}(t), c^{t}(t) and parent p), we perform the following modifications of earlier times. Denote the blocked color of v as c_{b}, and the unblocked color as c_{a}. Note that {c_{b}, c_{a}} = {c_{x}(t), c^{t}(t)}.

Let Z = X_{t}^{−1}(c_{b}) ∩ N(v) \ {p} = {z_{1}, …, z_{i}} ≠ ∅ be the set of neighbors of v which block color c_{b} at time t. Let Z′ = {z′_{1}, …, z′_{i}} = CN (Z) and C = {c_{1}, …, c_{i}} = CC(Z′, X_{t}), where CN and CC are defined with respect to vertex v, colors c_{b}, c_{a}, parent p and time t (see Definition 4). Condition 4 ensures that the sets Z′ and C are well defined. Now, for all 1 ≤ j ≤ i, we do the following modifications of earlier times (these are our non-Markovian updates):

• Let t_{j} = t_{z_{j}}, t′_{j} = t_{z′_{j}} denote the last successful recolorings of vertices z_{j} and z′_{j} respectively, prior to time t.

• Redefine the color choice for our coupling at these times as c^{t}(t_{j}) := c_{j} and c^{t}(t′_{j}) := c_{a}. Observe that if c_{b} = Y_{t−1}^{t−1}(p), the modifications at these earlier times ensure that the attempted recoloring of v at time t does not work in either chain. Conversely, if c_{b} = X_{t−1}(p), the recoloring of v at time t now works in both chains.

• For each time s where t_{j} < s < t, v(s) ∈ N(z_{j}) and c_{x}(s) = c_{b}, redefine c^{t}(s) := c_{j}. Similarly, for times s such that t′_{j} < s < t, v(s) ∈ N(z′_{j}) and c_{x}(s) = X_{t−1}(z′_{j}), redefine c^{t}(s) := c_{a}. These modifications ensure that these updates are still blocked by vertex z_{j} or z′_{j}.

Finally, we need to define AUX(t). The set of neighbors of Z ∪ Z′ whose color choices are modified is denoted as

W ={w: there exists z ∈ N(w)∩(Z ∪ Z′) , s ∈ I(t, z), such that v(s) = w, c_{x}(s) = X_{t−1}(z)}.

If we performed a non-Markovian update, we set

AUX(t) = AUX(t − 1) ∪ Z ∪ Z′ ∪ W,

otherwise we set AUX(t) = AUX(t − 1).

Additionally, for GOOD(T_{pc}) we further check that the subgraph induced by V (M(T_{pc})) ∪ AUX(T_{pc}) does not contain a cycle.

Remark 10. Before concluding, let us observe the effect of a non-Markovian update at time t. When c_{x}(t) = c_{b} these updates ensure the attempted update of v(t) does not work in either chain, so the Hamming distance stays unchanged. When c_{x}(t) = c_{a} the attempted update succeeds in both chains, increasing the Hamming distance by one. Without our non-Markovian updates, either possibility for c_{x}(t) would increase the Hamming distance by one. Thus, these updates reduce the expected change in Hamming distance, which is the key to our improvement.

4 Local Uniformity Properties

In order to prove our Lemma 8, we require several “local uniformity” properties of random k-colorings, which are key to showing that our partial coupling decreases Hamming distance in expectation. After a “burn-in” period of O(n log n) steps, colorings generated by the Glauber dynamics will satisfy these properties, with error probability ≤ n^{−10}. The same general approach was taken in the earlier papers of Dyer and Frieze [6], Molloy [12] and Hayes [9]; although this section somewhat extends their catalog of local uniformity properties, no new techniques are required.

The following theorem summarizes the burn-in properties required for the analysis of our partial coupling. Only the third part is new (see Remark 12).

Theorem 11. For every ϵ, δ > 0, there exists C_{d}, C_{b}, C_{m} such that the following hold. Let G = (V, E) be a Δregular graph on n vertices with Δ ≥ C_{d} log n and girth g ≥ 6. Let k > (1 + ϵ)Δ, t ∈ [C_{b}n log n, T], p ∈ V and c, c′ ∈ [k]. Sample X_{0}, X_{1}, …, X_{T} from a generalized Glauber distribution. Then, with probability ≥ 1 − n^{−10}, the coloring X_{t−1} satisfies

1. Pr (t ∈ T_{succ} | X_{t−1}, v(t) = p) ≈ exp(−Δ/k).

2. Pr (t ∈ T_{succ} | X_{t−1}, c(t) = c, v(t) ∈ N(p))
≈ exp(−Δ/k).

3. Assuming t < T − C_{m}n,

Pr ( \begin{matrix}v(t) & is singly blocked \\ but not swap-eligible \end{matrix} | \begin{matrix}X_{t−1}, \\ v(t) ∈ N(p) \end{matrix} )≈ 0.

In each of the above statements, a ≈ b means |a − b| ≤ δ.

Remark 12. The lower bound in part 1 of Theorem 11 is due to Dyer and Frieze [6], and the upper bound is due to Molloy [12]. We have rephrased the result somewhat from its original form. The second result is due to Molloy [12]. In both cases, the results were originally proved for girth Ω(log log n), and the reduction to constant girth is due to Hayes [9]. The third result is new. We note that the assumption that G is Δ-regular can be removed with only minor modifications to the conclusions, and was not present in the original results. Also, the girth requirement is only 5 for the first result, and can possibly be reduced by one more.

We note that the results of Dyer and Frieze, Molloy, and Hayes all were originally proved for the heat bath version of the Glauber dynamics, in which the color c(t) is chosen randomly from the set of available colors for v(t) (and so every recoloring attempt succeeds). Fortunately, all their proof techniques extend with minor modifications to the Metropolis version considered here, as well as to the generalized Glauber dynamics (see Definition 7).

The proof of Theorem 11 is omitted due to lack of space.

5 Analysis of our Partial Coupling

5.1 Coalescence Probability

In this section we complete the proof of Lemma 8.

Let H(t) denote the event that, looking only at X_{0}, …, X_{t}, the good event GOOD(t) cannot be ruled out a priori. In other words, no repropagation or near-cycle-traversal has occurred, and no non-Markovian update has been observed to fail (i.e., a singly blocked vertex which is not swap-eligible). Thus, H(t) ⊇ GOOD(t), since a singly blocked vertex may be swap-ineligible, but we may not observe this until some later time t′ ∈ [t, t + T_{m}]. Observe that

⋂_{t≤T_{pc}} H(t) = ⋂_{t≤T_{pc}} GOOD(t) = GOOD(T_{pc}).

To simplify our argument, let G(t) denote the intersection of the events H(t) and all the high probability events from Section 4. Let B(t) be the complementary “bad” event for event G(t).

Our approach is based on the observation that

E (H(X_{T_{pc}}, Y_{T_{pc}}))

≤ E (H(X_{T_{pc}}, Y_{T_{pc}}) | G(T_{pc}))Pr (G(T_{pc}))

+E (H(X_{T_{pc}}, Y_{T_{pc}}) | BAD(T_{pc}))Pr (BAD(T_{pc}))

+nPr (B(T_{pc}) \ BAD(T_{pc})).  (1)

The event B(T_{pc}) \ BAD(T_{pc}) is a subset of the event that some high probability event from Section 4 fails to hold. The probability of this event is at most n^{−5}. Thus, the nontrivial aspect of the analysis is to bound the first two summands on the right hand side. In the next three Lemmas, we will upper bound these quantities, showing that their sum is less than 1/2. Since H(X_{0}, Y_{0}) = 1, this will complete the proof of Lemma 8.

Lemma 13. For every ϵ, C_{pc} > 0 there exists C_{d} such that whenever G has maximum degree Δ ≥ C_{d} log n and girth g ≥ 9, k ≥ (1 + ϵ)Δ, T_{pc} = C_{pc}n, then

Pr(BAD(T_{pc})) < 4 exp(−5C_{pc}).

Proof. Recall that there are three ways for the event BAD(T_{pc}) to occur: traversing a cycle, repropagation, or a singly blocked vertex being ineligible for a swap. We’ll prove an upper bound of exp(−5C_{pc}) on each, conditioned on the non-occurrence of the earlier types of bad event.

We begin by bounding the probability the potential disagreement set M(T_{pc}) gets large. We then bound the probability of certain bad events by conditioning on M(T_{pc}) being small, and using the following observation, for D > 0,

Pr(BAD(T_{pc}))

< Pr (BAD(T_{pc}) | |M(T_{pc}) ∪ AUX(T_{pc})| > D)

+ Pr (|M(T_{pc}) ∪ AUX(T_{pc})| > D)

Large disagreement: For D > 0 we will prove

Pr (|M(t)| ≥ D) ≤ exp(−D exp(−C_{pc})). (2)

For 1 ≤ i ≤ D, let t_{i} be the time at which the i’th disagreement is generated (possibly counting the same vertex multiple times). Denote t_{0} = 0. Let η_{i} := t_{i} − t_{i−1} be the waiting time for the formation of the i’th disagreement. Conditioned on the evolution at all times in [0, t_{i}], the distribution of η_{i} is stochastically dominated by that of a Poisson random variable with rate iΔ/kn, since at all times prior to t_{i} we have |M(t)| ≤ i and thus the set M(t) increases with probability at most iΔ/kn. Being somewhat generous, let us assume each η_{i} is an independent Poisson random variable with rate iΔ/kn. Our problem is now to bound the probability that η_{1} + ⋯ + η_{D} < T_{pc}.

Now, consider the problem of collecting D coupons, when each coupon is generated by a Poisson process with rate Δ/kn. The delay between collecting the i’th coupon and the i + 1’st coupon is Poisson distributed with rate (D − i)Δ/kn. Hence the time to collect all D coupons has the same distribution as η_{1} + ⋯ + η_{D}. But the event that the total delay is less than T_{pc} is nothing but the intersection of the (independent) events that each coupon is hit in [0, T_{pc}]. The probability of this is at most

(1 − exp(−T_{pc}Δ/kn))^{D} < exp(−D exp(−C_{pc})).

A very similar bound can be established for |M(t) ∪ AUX(t)| (see the full version of this paper):

Pr (|M(t) ∪ AUX(t)| ≥ D) ≤ exp(−D exp(−10C_{pc})).

Setting D_{max} = 5C_{pc} exp(10C_{pc}), we have

Pr (|M(t) ∪ AUX(t)| ≥ D_{max}) ≤ exp(−5C_{pc}).

We can now condition on |M(t) ∪ AUX(t)| ≤ D_{max} for all t ≤ T_{pc} and add an extra term of exp(−5C_{pc}) into the upper bound on the probability of the bad event. This establishes the first upper bound. Locally Treelike/No Repropagation: A single argument can be used to establish the “locally treelike” and “no repropagation” conditions from the definition of the good event. Fix x_{0}, y_{0} and s_{x}_{,<t} = ((v(1), c_{x}(1)), …, (v(t − 1), c_{x}(t − 1))). Let A(t) be the event that, at time t, a disagreement propagates from parent vertex p ∈ M(t − 1), and there exists w ∈ V (M(t − 1)) ∪ AUX(t − 1) such that d(v(t), w) < d(p, w) < g/2, where d denotes shortest-path distance in G. Notice that both repropagation and violating the locally tree-like condition are special cases of A(t). Thus it will suffice to prove a suitable upper bound on Pr (A(t) | x_{0}, y_{0}, s_{x}_{,<t}).

Suppose p, w ∈ M(t − 1) are fixed, with d(p, w) < g/2. Then by definition of girth, there exists a unique neighbor of p which is closer to w than p is. The probability that at time t this closer vertex is chosen, together with p’s color, is 1/kn. Thus |M(t − 1) ∪ AUX(t − 1)|^{2}/kn is an upper bound on the probability of A(t). Assuming |M(t − 1) ∪ AUX(t − 1)| ≤ D_{max}, and taking a union bound over t ≤ T_{pc}, the probability that A(t) ever occurs is at most C_{pc}D_{max}^{2}/C_{d} log n, which can be made arbitrarily small by choosing C_{d} sufficiently large with respect to C_{pc} (and hence to D_{max}). Swaps failing:

It follows from part 3 of Theorem 11 that the probability of a swap failing at time t, given t ∈ M(t), is at most δ. Since there are at most D_{max} such times, the probability that a swap ever fails is at most δD_{max}. We can make δD_{max} arbitrarily small by choosing C_{d} sufficiently large with respect to C_{pc}. This completes the proof of Lemma 13.

When BAD(T_{pc}) holds we are using the basic coupling for the T_{pc} steps. The following Lemma bounds the distance in this case.

Lemma 14. For every ϵ > 0 there exist C_{pc}, C_{d} such that whenever G has maximum degree Δ ≥ C_{d} log n and girth g ≥ 9, k ≥ (1 + ϵ)Δ, T_{pc} = C_{pc}n then

E (H(X_{T_{pc}}, Y_{T_{pc}}) | BAD(T_{pc}))Pr (BAD(T_{pc})) < 1/4.

Proof. If we had (unconditionally) used the basic coupling for all T_{pc}-steps, then we claim, for all D > 0,

Pr (H(X_{T_{pc}}, Y_{T_{pc}})>D)≤ exp(−D exp(−C_{pc})). (3)

The proof is the same as for (2).

For D_{0} > 0, we have

E (H(X_{T_{pc}}, Y_{T_{pc}}) | BAD(T_{pc}))Pr (BAD(T_{pc}))
< ∑_{D≥D_{0}}Pr (H(X_{T_{pc}}, Y_{T_{pc}})≥D) + D_{0}Pr (BAD(T_{pc}))
< ∑_{D≥D_{0}} exp(−D exp(−C_{pc})) + 4D_{0} exp(−5C_{pc})

= \frac{exp(−D_{0} exp(−C_{pc}))}{1 − exp(− exp(−C_{pc}))} + 4D_{0} exp(−5C_{pc})
< exp(C_{pc} − D_{0} exp(−C_{pc})) + 4D_{0} exp(−5C_{pc}),

where the second inequality follows by (3) and Lemma 13.

Setting D_{0} = exp(2C_{pc}), the above quantity is clearly < 1/4 for all sufficiently large C_{pc}.

It remains to bound the expected Hamming distance when the good event GOOD(T_{pc}) holds.

Lemma 15. For every ϵ, C_{m} > 0 there exist C_{pc}, C_{d} such that whenever G has maximum degree Δ ≥ C_{d} log n and girth g ≥ 9, k ≥ (1 + ϵ)Δ, T_{pc} = C_{pc}n, then

E (H(X_{T_{pc}}, Y_{T_{pc}}) | G(T_{pc}))Pr (G(T_{pc})) < 1/4

Proof of Lemma 15. For 0 ≤ t ≤ T_{pc}, let H̃(t) be defined by

H̃(t) = \begin{cases}H(X_{t}, Y_{t}) & if G(t) \\ 0 & otherwise. \end{cases}

Note that H̃(0) = 1, and

H̃(T_{pc}) = E (H(X_{T_{pc}}, Y_{T_{pc}}) | G(T_{pc}))Pr (G(T_{pc})).

The broad outline of our proof is as follows. For the initial T_{m} steps of the coupling, where we are not considering any non-Markovian updates, we use the following easy bound (see, e.g., [10]). For arbitrary X_{t}, Y_{t} ∈ Ω,

E (H̃(t + 1))

≤ (1 + (3Δ − k)/nk)H̃(t) < (1 + 2/n)H̃(t). (4)

For the final T_{m} steps of our coupling, it is possible that the auxiliary vertices used for non-Markovian updates remain disagreements at time T_{pc}. (However, we are still guaranteed that these disagreements will not spread.) Given that a non-Markovian update occurs at time t, the expected number of auxiliary vertices involved is less than 20 (see the full version of this paper), conditioned on X_{t−1}, Y_{t−1}, with high probability. A pessimistic bound is thus

E (H̃(t + 1)) ≤ (1 + 21(3Δ − k)/nk)H̃(t)

< (1 + 42/n)H̃(t). (5)

For the middle T_{pc} − 2T_{m} steps of our coupling, we will prove that, when C_{d} is chosen sufficiently large,

E (H̃(t + 1)) ≤ (1 − δ/n)E (H̃(t)),  (6)

for a suitable constant δ (of the same order of magnitude as ϵ). From (4), (5) and (6) we then have

E (H̃(T_{pc}))

≤ (1 + 2/n)^{T_{m}}(1 + 42/n)^{T_{m}}(1 − δ/n)^{T_{pc}−2T_{m}}
< 1/4,  (7)

when C_{pc} is sufficiently large relative to δ and C_{m}.

Now let T_{m} < t < T_{pc} − T_{m} and condition on the good event G(t). In case a bad event occurs at time t + 1, such as traversing a cycle, or a non-Markovian update failing, then H̃(t + 1) = 0, which would be the best possible outcome. We will more or less ignore this possibility. Observe that a disagreement propagates with no swap possible or a nonblocking swap possible exactly when the attempted update (v(t), c(t)) for X_{t} satisfies:

1. The color c(t) is the same as the color of the parent of v(t) in Y_{t}^{t};

2. The parent of v(t) is colored differently in the two chains; and

3. No neighbors of v(t), excluding its parent, have color c(t).

4. G(t + 1) holds.

By part 2 of Theorem 11, the rate of this event is at most Δ exp(−β) + δΔ with high probability.

On the other hand, by part 1 of Theorem 11, disagreements are recolored to the same color in both chains with rate at least k exp(−β) − δΔ with high probability (again, ignoring the possibility that G(t + 1) fails to hold, which would be even better). Collecting terms, we now have the desired bound stated in inequality 6.

Lemma 8 now follows by combining the results of Lemmas 14 and 15 with Inequality (1).

5.2 Finishing off the proof

We can now easily prove our main theorem.

Proof of Theorem 1. Given any two initial colorings X_{0}, Y_{0} ∈ Ω, we begin by “burning in” both colorings for T_{b} = Cn log n steps. We now apply the path coupling technique (see [2]). Consider an arbitrary canonical ordering on V, say V = {v_{1} < v_{2} < ⋯ < v_{n}}, and let V_{i} = {v_{1}, …, v_{i}}.

For each 0 ≤ i ≤ n, we define Z_{T_{b}}^{i} as the interpolation between X_{T_{b}} and Y_{T_{b}} with respect to V_{i}, see Definition 7. The path Z_{T_{b}}^{0}, …, Z_{T_{b}}^{n} (with self-loops removed) is of length H(X_{T_{b}}, Y_{T_{b}}), where neighboring colorings on this path differ at a single vertex.

Compose the T_{pc}-step couplings guaranteed by Lemma 8 along this path. By the triangle inequality

E (H(X_{T_{b}+T_{pc}}, Y_{T_{b}+T_{pc}}) | X_{T_{b}}, Y_{T_{b}})

≤ ∑_{i=1}^{H(X_{T_{b}} ,Y_{T_{b}})} E (H (Z_{T_{b}+T_{pc}}^{i−1}, Z_{T_{b}+T_{pc}}^{i}) | Z_{T_{b}}^{i−1}, Z_{T_{b}}^{i}).

By Lemma 8, this expectation is at most n/2 with probability ≥ 1 − n^{−10} over the random choice of X_{T_{b}}, Y_{T_{b}}. Hence the unconditional expectation of H(X_{T_{b}+T} , Y_{T_{b}+T}) is upper bounded by n/2 + n^{−9}. Repeating this process of interpolation and composing partial couplings for O(log n) iterations, the result easily follows by standard techniques (e.g., see the proof of the path coupling theorem in [2]).

References

[1] D. J. Aldous. Random walks on finite groups and rapidly mixing Markov chains. In Séminaire de Probabilities XVII, 243–297. Springer-Verlag, 1983. Lecture Notes in Mathematics 986.

[2] R. Bubley and M. Dyer. Path coupling, Dobrushin uniqueness, and approximate counting. In Proceedings of the 38th Annual Symposium on Foundations of Computer Science, 223–231, 1997.

[3] G. R. Brightwell and P. Winkler. Random colorings of a Cayley tree. In Contemporary combinatorics, 247–276, János Bolyai Math. Soc., Budapest, 2002

[4] W. Doeblin. Exposé de lat theorie des chaînes simples constantes de Markov à un nombre fini d’états. Rev. Math. Union Interbalkanique, 2:77–105, 1938.

[5] D. Dubhashi and D. Ranjan. Balls and bins: a study in negative dependence. Random Structures and Algorithms, 13(2):99–124, 1998.

[6] M. Dyer and A. Frieze. Randomly colouring graphs with lower bounds on girth and maximum degree. In Proceedings of the 42nd Annual Symposium on Foundations of Computer Science, 579-587, 2001.

[7] M. Dyer and C. Greenhill On Markov chains for independent sets. J. Algorithms 35(1):17–49, 2000.

[8] M. Dyer, A. Sinclair, E. Vigoda, and D. Weitz. Mixing in Time and Space for Lattice Spin Systems: A Combinatorial View. In Proceedings of RANDOM 2002, 149-163, Lecture Notes in Computer Science 2483.

[9] T. P. Hayes. Randomly coloring graphs with girth at least five. In Proceedings of the 35th Annual ACM Symposium on Theory of Computer Science, 269-278, 2003.

[10] M. R. Jerrum. A very simple algorithm for estimating the number of k-colorings of a low-degree graph. Random Structures and Algorithms, 7(2):157–165, 1995.

[11] M. Luby and E. Vigoda Approximately counting up to four. In Proceedings of the 29th Annual ACM Symposium on Theory of Computer Science, 682-687, 1997.

[12] M. Molloy. The Glauber dynamics on colorings of a graph with high girth and maximum degree. In Proceedings of the 34th Annual ACM Symposium on Theory of Computer Science, 91-98, 2002.

[13] J. Salas and A. Sokal Absence of phase transition for antiferromagnetic Potts models via the Dobrushin uniqueness theorem. J. Statist. Phys. 86(3-4):551–579, 1997.

[14] E. Vigoda. Improved bounds for sampling colorings. J. Math. Phys. 41(3):1555-1569, 2000.