Glauber dynamics on proper colorings mixes in for
ProvedMarkovMixing.glauber_colorings_mixingLet be a graph on vertices with maximum degree , and fix a number of colors . A -coloring of the vertices is proper when adjacent vertices receive distinct colors, and the Glauber dynamics on proper colorings picks a uniform vertex and re-samples its color from the uniform distribution on the colorings that agree with the current one elsewhere — that is, uniformly among the colors legal at that vertex. Its stationary distribution is uniform over proper colorings. For a tolerance , the mixing time is the first with , where is the total variation distance.
The theorem (Theorem 14.8 of Levin–Peres–Wilmer, the capstone of Chapter 14) asserts: if , then for every ,
With a bit more than twice as many colors as the maximum degree, the dynamics mixes in order steps. This is the flagship application of path coupling: colorings differing at one vertex are coupled by matching their proposed recolorings, and the single-edge contraction rate falls out of counting the disagreeing proposals.
import Definitions.Def_mm_transport import Mathlib.Analysis.SpecialFunctions.Log.Basic
namespace MarkovMixing
/-- **Theorem 14.8** (LPW), the capstone of Chapter 14: for the Glauber
dynamics on proper `q`-colorings of a graph with `n` vertices and maximum
degree `Δ`, if `q > 2Δ`, then
`t_mix(ε) ≤ ⌈((q−Δ)/(q−2Δ)) n (log n − log ε)⌉`. -/
theorem glauber_colorings_mixing {Vv : Type*} [Fintype Vv] [DecidableEq Vv]
[Nonempty Vv] (G : SimpleGraph Vv) [DecidableRel G.Adj] (q : ℕ)
(hq : 2 * G.maxDegree < q) (ε : ℝ) (hε : 0 < ε) (hε1 : ε < 1) :
(mixingTime (coloringGlauber G q)
(uniformDist {c : Vv → Fin q // IsProperColoring G c}) ε : ℝ) ≤
⌈((q : ℝ) - G.maxDegree) / ((q : ℝ) - 2 * G.maxDegree) *
(Fintype.card Vv) *
(Real.log (Fintype.card Vv) - Real.log ε)⌉₊ := by
sorry
end MarkovMixing