Markov-chain Monte Carlo algorithms for studying cycle...
Transcript of Markov-chain Monte Carlo algorithms for studying cycle...
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Markov-chain Monte Carlo algorithms forstudying cycle spaces, with some
applications to graph colouring
Tim Garoni
Department of Mathematics and StatisticsUniversity of Melbourne (?)
April 20, 2011Monash Discrete Maths Seminar
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Collaborators/References
1. Qingquan Liu, Youjin Deng, TGLoop models in three dimensions,in preparation.
2. Qingquan Liu, Youjin Deng, TG, and Jesús SalasIrreducible Markov-chain Monte Carlo algorithm for zero-temperature Pottsantiferromagnets,in preparation.
3. Qingquan Liu, Youjin Deng, and TG,Worm Monte Carlo study of the honeycomb-lattice loop model,Nucl. Phys. B 846, 283-315 (2011).
4. Wei Zhang, TG, and Youjin Deng,A worm algorithm for the fully-packed loop model,Nucl. Phys. B 814, 461-484 (2009).
5. Youjin Deng, TG, and Alan D. Sokal,Dynamic Critical Behavior of the Worm Algorithm for the Ising Model,Phys. Rev. Lett. 99, 110601 (2007).
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models◮ Basics of the Markov-chain Monte Carlo method
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models◮ Basics of the Markov-chain Monte Carlo method◮ Worm algorithm for O(n)-loop models
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models◮ Basics of the Markov-chain Monte Carlo method◮ Worm algorithm for O(n)-loop models◮ Proof of irreducibility in fully-packed limit
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models◮ Basics of the Markov-chain Monte Carlo method◮ Worm algorithm for O(n)-loop models◮ Proof of irreducibility in fully-packed limit
◮ Antiferromagnetic Potts models at zero temperature
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models◮ Basics of the Markov-chain Monte Carlo method◮ Worm algorithm for O(n)-loop models◮ Proof of irreducibility in fully-packed limit
◮ Antiferromagnetic Potts models at zero temperature◮ Review of Wang-Swendsen-Kotecký (WSK) algorithm
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models◮ Basics of the Markov-chain Monte Carlo method◮ Worm algorithm for O(n)-loop models◮ Proof of irreducibility in fully-packed limit
◮ Antiferromagnetic Potts models at zero temperature◮ Review of Wang-Swendsen-Kotecký (WSK) algorithm◮ (Non)-irreducibility of WSK algorithm at zero temperature
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Outline
◮ Loops & Worms◮ O(n)-loop models◮ Basics of the Markov-chain Monte Carlo method◮ Worm algorithm for O(n)-loop models◮ Proof of irreducibility in fully-packed limit
◮ Antiferromagnetic Potts models at zero temperature◮ Review of Wang-Swendsen-Kotecký (WSK) algorithm◮ (Non)-irreducibility of WSK algorithm at zero temperature◮ Using worm algorithm instead
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Loop models◮ Consider a finite graph G
◮ Physicists love the honeycomb lattice◮ (Regular map of type {6, 3} on the torus)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Loop models◮ Consider a finite graph G
◮ Physicists love the honeycomb lattice◮ (Regular map of type {6, 3} on the torus)
◮ Take state space to be C(G)◮ Cycle space of G◮ {A ⊂ E : (V ,A) has no odd vertices}◮ = all disjoint unions of loops on G when
∆(G) ≤ 3
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Loop models◮ Consider a finite graph G
◮ Physicists love the honeycomb lattice◮ (Regular map of type {6, 3} on the torus)
◮ Take state space to be C(G)◮ Cycle space of G◮ {A ⊂ E : (V ,A) has no odd vertices}◮ = all disjoint unions of loops on G when
∆(G) ≤ 3◮ Assign probabilities via
φG,n,x(A) =nc(A) x |A|
ZG,n,x, A ∈ C(G)
◮ c(A) is cyclomatic number, |A| the number of bonds
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Loop models◮ Consider a finite graph G
◮ Physicists love the honeycomb lattice◮ (Regular map of type {6, 3} on the torus)
◮ Take state space to be C(G)◮ Cycle space of G◮ {A ⊂ E : (V ,A) has no odd vertices}◮ = all disjoint unions of loops on G when
∆(G) ≤ 3◮ Assign probabilities via
φG,n,x(A) =nc(A) x |A|
ZG,n,x, A ∈ C(G)
◮ c(A) is cyclomatic number, |A| the number of bonds◮ Mathematical physics want to compute expectations wrt φG,n,x(·)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Loop models◮ Consider a finite graph G
◮ Physicists love the honeycomb lattice◮ (Regular map of type {6, 3} on the torus)
◮ Take state space to be C(G)◮ Cycle space of G◮ {A ⊂ E : (V ,A) has no odd vertices}◮ = all disjoint unions of loops on G when
∆(G) ≤ 3◮ Assign probabilities via
φG,n,x(A) =nc(A) x |A|
ZG,n,x, A ∈ C(G)
◮ c(A) is cyclomatic number, |A| the number of bonds◮ Mathematical physics want to compute expectations wrt φG,n,x(·)
◮ As |V | → ∞ such models display critical phenomena: correlationson all scales, fractals,. . .
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Loop models◮ Consider a finite graph G
◮ Physicists love the honeycomb lattice◮ (Regular map of type {6, 3} on the torus)
◮ Take state space to be C(G)◮ Cycle space of G◮ {A ⊂ E : (V ,A) has no odd vertices}◮ = all disjoint unions of loops on G when
∆(G) ≤ 3◮ Assign probabilities via
φG,n,x(A) =nc(A) x |A|
ZG,n,x, A ∈ C(G)
◮ c(A) is cyclomatic number, |A| the number of bonds◮ Mathematical physics want to compute expectations wrt φG,n,x(·)
◮ As |V | → ∞ such models display critical phenomena: correlationson all scales, fractals,. . .
◮ If G is large its infeasible to calculate ZG,n,x =∑
A∈C(G) nc(A) x |A|
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Loop models◮ Consider a finite graph G
◮ Physicists love the honeycomb lattice◮ (Regular map of type {6, 3} on the torus)
◮ Take state space to be C(G)◮ Cycle space of G◮ {A ⊂ E : (V ,A) has no odd vertices}◮ = all disjoint unions of loops on G when
∆(G) ≤ 3◮ Assign probabilities via
φG,n,x(A) =nc(A) x |A|
ZG,n,x, A ∈ C(G)
◮ c(A) is cyclomatic number, |A| the number of bonds◮ Mathematical physics want to compute expectations wrt φG,n,x(·)
◮ As |V | → ∞ such models display critical phenomena: correlationson all scales, fractals,. . .
◮ If G is large its infeasible to calculate ZG,n,x =∑
A∈C(G) nc(A) x |A|
◮ So how can we sample from φG,n,x(·)?
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
◮ Defines a Markov chain X1,X2, . . . on S◮ P(X0 = s) = α(s)◮ P(Xn+1 = s′|Xn = s) = P(s → s′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
◮ Defines a Markov chain X1,X2, . . . on S◮ P(X0 = s) = α(s)◮ P(Xn+1 = s′|Xn = s) = P(s → s′)
◮ Probability vector π is a stationary distribution if π P = π
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
◮ Defines a Markov chain X1,X2, . . . on S◮ P(X0 = s) = α(s)◮ P(Xn+1 = s′|Xn = s) = P(s → s′)
◮ Probability vector π is a stationary distribution if π P = π◮ Don’t need to know Z to prove stationarity
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
◮ Defines a Markov chain X1,X2, . . . on S◮ P(X0 = s) = α(s)◮ P(Xn+1 = s′|Xn = s) = P(s → s′)
◮ Probability vector π is a stationary distribution if π P = π◮ Don’t need to know Z to prove stationarity
◮ Detailed balance (πsPss′ = πs′Ps′s) implies stationarity
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
◮ Defines a Markov chain X1,X2, . . . on S◮ P(X0 = s) = α(s)◮ P(Xn+1 = s′|Xn = s) = P(s → s′)
◮ Probability vector π is a stationary distribution if π P = π◮ Don’t need to know Z to prove stationarity
◮ Detailed balance (πsPss′ = πs′Ps′s) implies stationarity◮ P is irreducible if s ↔ s′ for all s, s′ ∈ S
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
◮ Defines a Markov chain X1,X2, . . . on S◮ P(X0 = s) = α(s)◮ P(Xn+1 = s′|Xn = s) = P(s → s′)
◮ Probability vector π is a stationary distribution if π P = π◮ Don’t need to know Z to prove stationarity
◮ Detailed balance (πsPss′ = πs′Ps′s) implies stationarity◮ P is irreducible if s ↔ s′ for all s, s′ ∈ S◮ If P is irreducible it has a unique stationary distribution π
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Elementary theory of finite Markov chains◮ Consider:
◮ A finite set S (state space)◮ A stochastic matrix P : S × S → [0, 1] (transition matrix)◮ A probability vector α : S → [0, 1] (initial distribution)
◮ Defines a Markov chain X1,X2, . . . on S◮ P(X0 = s) = α(s)◮ P(Xn+1 = s′|Xn = s) = P(s → s′)
◮ Probability vector π is a stationary distribution if π P = π◮ Don’t need to know Z to prove stationarity
◮ Detailed balance (πsPss′ = πs′Ps′s) implies stationarity◮ P is irreducible if s ↔ s′ for all s, s′ ∈ S◮ If P is irreducible it has a unique stationary distribution π
Theorem (Ergodic Theorem)If P is irreducible with stationary distribution π then for any initialdistribution
1N
N∑
n=1
f (Xn) −−−−→N→∞
∑
s∈S
π(s) f (s) a.s.
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case◮ E.g. Ising model on G = (V ,E)
◮ S = {−1, 1}V
◮ π(σ) ∝ e−H(σ)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case◮ E.g. Ising model on G = (V ,E)
◮ S = {−1, 1}V
◮ π(σ) ∝ e−H(σ)
◮ Simplest Ψ for Ising model is
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case◮ E.g. Ising model on G = (V ,E)
◮ S = {−1, 1}V
◮ π(σ) ∝ e−H(σ)
◮ Simplest Ψ for Ising model is◮ Pick v ∈ V uniformly at random
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case◮ E.g. Ising model on G = (V ,E)
◮ S = {−1, 1}V
◮ π(σ) ∝ e−H(σ)
◮ Simplest Ψ for Ising model is◮ Pick v ∈ V uniformly at random
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case◮ E.g. Ising model on G = (V ,E)
◮ S = {−1, 1}V
◮ π(σ) ∝ e−H(σ)
◮ Simplest Ψ for Ising model is◮ Pick v ∈ V uniformly at random◮ Propose σv → −σv
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case◮ E.g. Ising model on G = (V ,E)
◮ S = {−1, 1}V
◮ π(σ) ∝ e−H(σ)
◮ Simplest Ψ for Ising model is◮ Pick v ∈ V uniformly at random◮ Propose σv → −σv
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Metropolized Chains◮ We want a transition matrix P in detailed balance with π◮ Suppose we have a symmetric transition matrix Ψ
◮ Construct P from Ψ by introducing acceptance probabilities◮ Accept proposed transitions Ψ(s → s′) with probability a(s → s′)◮ P(s → s′) = a(s → s′)Ψ(s → s′)◮ Demanding P be in detailed balance with π implies
π(s) a(s → s′)Ψ(s → s′) = π(s′) a(s′ → s)Ψ(s′ → s)
◮ a(s → s′) = min(1, π(s′)/π(s)) is maximal solution
◮ Irreducibility of P needs to be checked case-by-case◮ E.g. Ising model on G = (V ,E)
◮ S = {−1, 1}V
◮ π(σ) ∝ e−H(σ)
◮ Simplest Ψ for Ising model is◮ Pick v ∈ V uniformly at random◮ Propose σv → −σv
◮ Local moves from S → S easy to construct
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
◮ Proposal matrix
Ψn,x [(A,u, v) → (A△uu′,u′, v)] =1
2 d(u)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
◮ Proposal matrix
Ψn,x [(A,u, v) → (A△uu′,u′, v)] =1
2 d(u)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
◮ Proposal matrix
Ψn,x [(A,u, v) → (A△uu′,u′, v)] =1
2 d(u)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
◮ Proposal matrix
Ψn,x [(A,u, v) → (A△uu′,u′, v)] =1
2 d(u)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
◮ Proposal matrix
Ψn,x [(A,u, v) → (A△uu′,u′, v)] =1
2 d(u)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
◮ Proposal matrix
Ψn,x [(A,u, v) → (A△uu′,u′, v)] =1
2 d(u)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm chains◮ Local moves on C(G) not so obvious◮ Enlarge C(G) to include two defects (odd vertices)◮ Move the defects via random walk
◮ Let ∂A be the set of all odd vertices in (V ,A)◮ State space of worm algorithm is
S(G) = {(A,u, v) : ∂A = {u, v}}
◮ When u = v we take ∂A = ∅
◮ Proposal matrix
Ψn,x [(A,u, v) → (A△uu′,u′, v)] =1
2 d(u)
◮ Use Metropolis to construct Pn,x in detailed balance with
πn,x(A,u, v) ∝ nc(A) x |A|
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm transition matrix
Pn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
min(1, x n) uu′ 6∈ A and u ↔ u′ in (V ,A)min(1, x) uu′ 6∈ A and u 6↔ u′ in (V ,A)min(1,1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
min(1,1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm transition matrix
Pn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
min(1, x n) uu′ 6∈ A and u ↔ u′ in (V ,A)min(1, x) uu′ 6∈ A and u 6↔ u′ in (V ,A)min(1,1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
min(1,1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ Let πn,x = restriction of πn,x to {(A,u, v) ∈ S : u = v} = C(G)×V
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm transition matrix
Pn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
min(1, x n) uu′ 6∈ A and u ↔ u′ in (V ,A)min(1, x) uu′ 6∈ A and u 6↔ u′ in (V ,A)min(1,1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
min(1,1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ Let πn,x = restriction of πn,x to {(A,u, v) ∈ S : u = v} = C(G)×V◮ πn,x(A, v , v) = φn,x(A)/V◮ So 〈X 〉πn,x = 〈X 〉φn,x for all X : C(G) → R
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm transition matrix
Pn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
min(1, x n) uu′ 6∈ A and u ↔ u′ in (V ,A)min(1, x) uu′ 6∈ A and u 6↔ u′ in (V ,A)min(1,1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
min(1,1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ Let πn,x = restriction of πn,x to {(A,u, v) ∈ S : u = v} = C(G)×V◮ πn,x(A, v , v) = φn,x(A)/V◮ So 〈X 〉πn,x = 〈X 〉φn,x for all X : C(G) → R
◮ Only observe Pn,x chain when u = v
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm transition matrix
Pn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
min(1, x n) uu′ 6∈ A and u ↔ u′ in (V ,A)min(1, x) uu′ 6∈ A and u 6↔ u′ in (V ,A)min(1,1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
min(1,1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ Let πn,x = restriction of πn,x to {(A,u, v) ∈ S : u = v} = C(G)×V◮ πn,x(A, v , v) = φn,x(A)/V◮ So 〈X 〉πn,x = 〈X 〉φn,x for all X : C(G) → R
◮ Only observe Pn,x chain when u = v
◮ Get new chain, Pn,x , in detailed balance with πn,x
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Induced Markov chain on subspace
◮ Consider an irreducible P on a finite state space S
◮ In detailed balance with π
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Induced Markov chain on subspace
◮ Consider an irreducible P on a finite state space S
◮ In detailed balance with π
◮ Only observe the process when s ∈ Σ ⊆ S
S
Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Induced Markov chain on subspace
◮ Consider an irreducible P on a finite state space S
◮ In detailed balance with π
◮ Only observe the process when s ∈ Σ ⊆ S
◮ New process is irreducible Markov chain on Σ
S
Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Induced Markov chain on subspace
◮ Consider an irreducible P on a finite state space S
◮ In detailed balance with π
◮ Only observe the process when s ∈ Σ ⊆ S
◮ New process is irreducible Markov chain on Σ
◮ Transition matrix is
(P)ss′ := (P)ss′ +
∞∑
n=0
∑
s0,s1,...,sn∈Σ
(P)ss0
n∏
l=1
(P)sl−1sl (P)sns′
S
Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Induced Markov chain on subspace
◮ Consider an irreducible P on a finite state space S
◮ In detailed balance with π
◮ Only observe the process when s ∈ Σ ⊆ S
◮ New process is irreducible Markov chain on Σ
◮ Transition matrix is
(P)ss′ := (P)ss′ +
∞∑
n=0
∑
s0,s1,...,sn∈Σ
(P)ss0
n∏
l=1
(P)sl−1sl (P)sns′
S
Σ
◮ P is in detailed balance with
πs =πs∑
s′∈Σ πs′
, s ∈ Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Rejection-free algorithm◮ We don’t care about states in Σ := S \ Σ
S
Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Rejection-free algorithm◮ We don’t care about states in Σ := S \ Σ
◮ Therefore we can safely avoid rejections when (A,u, v) ∈ Σ
S
Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Rejection-free algorithm◮ We don’t care about states in Σ := S \ Σ
◮ Therefore we can safely avoid rejections when (A,u, v) ∈ Σ
S
Σ
◮ Use rejection-free chain instead
(P ′)ss′ :=
(P)ss′ s ∈ Σ(P)ss′
1 − (P)sss ∈ Σ, s′ 6= s
0 s ∈ Σ, s′ = s
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Rejection-free algorithm◮ We don’t care about states in Σ := S \ Σ
◮ Therefore we can safely avoid rejections when (A,u, v) ∈ Σ
S
Σ
◮ Use rejection-free chain instead
(P ′)ss′ :=
(P)ss′ s ∈ Σ(P)ss′
1 − (P)sss ∈ Σ, s′ 6= s
0 s ∈ Σ, s′ = s
◮ P ′ is in detailed balance with
π′s =
{πs s ∈ Σ
(1 − (P)ss)πs s ∈ Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Rejection-free algorithm◮ We don’t care about states in Σ := S \ Σ
◮ Therefore we can safely avoid rejections when (A,u, v) ∈ Σ
S
Σ
◮ Use rejection-free chain instead
(P ′)ss′ :=
(P)ss′ s ∈ Σ(P)ss′
1 − (P)sss ∈ Σ, s′ 6= s
0 s ∈ Σ, s′ = s
◮ P ′ is in detailed balance with
π′s =
{πs s ∈ Σ
(1 − (P)ss)πs s ∈ Σ
◮ P ′ is in detailed balance with π′s = πs = πs∑
s′∈Σ πs′, s ∈ Σ
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching◮ n = 0 corresponds to uniformly sampling Hamiltonian cycles
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching◮ n = 0 corresponds to uniformly sampling Hamiltonian cycles◮ n = 1 corresponds to uniformly sampling dimer coverings
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching◮ n = 0 corresponds to uniformly sampling Hamiltonian cycles◮ n = 1 corresponds to uniformly sampling dimer coverings◮ n = 1 corresponds to dual Ising model
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching◮ n = 0 corresponds to uniformly sampling Hamiltonian cycles◮ n = 1 corresponds to uniformly sampling dimer coverings◮ n = 1 corresponds to dual Ising model◮ n = 2 related to q > 2 Potts models (more later. . . )
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching◮ n = 0 corresponds to uniformly sampling Hamiltonian cycles◮ n = 1 corresponds to uniformly sampling dimer coverings◮ n = 1 corresponds to dual Ising model◮ n = 2 related to q > 2 Potts models (more later. . . )
◮ The simple worm algorithm is absorbing when x = +∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching◮ n = 0 corresponds to uniformly sampling Hamiltonian cycles◮ n = 1 corresponds to uniformly sampling dimer coverings◮ n = 1 corresponds to dual Ising model◮ n = 2 related to q > 2 Potts models (more later. . . )
◮ The simple worm algorithm is absorbing when x = +∞◮ Rejection-free algorithm remains valid
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Fully-packed loopsLet G be bicubic and take x → ∞
◮ State space is
F(G) := {A ∈ C(G) : |A| = |V |}
◮ Assign probabilities via
φG,n(A) ∝ nc(A), A ∈ F(G)
◮ c(A) is cyclomatic number
◮ F(G) is subset of cycle space with maximal |A| (= |V |)◮ A ∈ F(G) iff (V ,A) is a 2-factor iff E \ A is a perfect matching◮ n = 0 corresponds to uniformly sampling Hamiltonian cycles◮ n = 1 corresponds to uniformly sampling dimer coverings◮ n = 1 corresponds to dual Ising model◮ n = 2 related to q > 2 Potts models (more later. . . )
◮ The simple worm algorithm is absorbing when x = +∞◮ Rejection-free algorithm remains valid
◮ n = 1 similar to Jerrum & Sinclair’s perfect matching algorithm
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
◮ If (A, v , v) ∈ R(G) then A ∈ F(G)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
◮ If (A, v , v) ∈ R(G) then A ∈ F(G)◮ Let Pn be the restriction of P′
n,∞ to R(G)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
◮ If (A, v , v) ∈ R(G) then A ∈ F(G)◮ Let Pn be the restriction of P′
n,∞ to R(G)
◮ Pn is in detailed balance with φn(A) ∝ nc(A)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Worm algorithm for fully-packed loops
P ′n,∞ allows the following transitions:
◮ If dA(u) = dA(v) = 2 then◮ Move one of the defects across uu′ 6∈ A
◮ If dA(u) = dA(v) = 3 then◮ Delete one of the occupied edges at u or v
◮ If dA(u) = 1 and dA(v) = 3 then◮ Add one of the two vacant edges at u
◮ R(G) = {(A,u, v) ∈ S(G) : |A| ≥ |V |} is closed under P ′n,∞
◮ If (A, v , v) ∈ R(G) then A ∈ F(G)◮ Let Pn be the restriction of P′
n,∞ to R(G)
◮ Pn is in detailed balance with φn(A) ∝ nc(A)
◮ Pn is irreducible
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducible
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
u w
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
u w
◮ If u 6= v then Pn always lets us to do the following:
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
u w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
u′ w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
u′ w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
u′′
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
u′′
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge◮ We can prove that (A, v , v) ↔ (A, v ′, v ′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge◮ We can prove that (A, v , v) ↔ (A, v ′, v ′)◮ We can move defect to a v ′ adjacent to a vacant B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v ′
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge◮ We can prove that (A, v , v) ↔ (A, v ′, v ′)◮ We can move defect to a v ′ adjacent to a vacant B-edge
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v ′
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge◮ We can prove that (A, v , v) ↔ (A, v ′, v ′)◮ We can move defect to a v ′ adjacent to a vacant B-edge◮ Add vacant B-edge and start again
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Pn is irreducibleWe show (A,u, v) ↔ (B,w ,w) for any fixed B ∈ F(G) and w ∈ V
v ′
w
◮ If u 6= v then Pn always lets us to do the following:◮ If du(A) = 1 add one of the missing B-edges at u◮ If du′(A) = dv (A) = 3 delete the occupied non-B-edge at u′
◮ New state has either one more B-edge or one less non-B-edge◮ We can prove that (A, v , v) ↔ (A, v ′, v ′)◮ We can move defect to a v ′ adjacent to a vacant B-edge◮ Add vacant B-edge and start again
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ V
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
v v ′
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)◮ Then move second defect along Pv v ′ so (A, v , v) ↔ (A′′, v ′, v ′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)◮ Then move second defect along Pv v ′ so (A, v , v) ↔ (A′′, v ′, v ′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)◮ Then move second defect along Pv v ′ so (A, v , v) ↔ (A′′, v ′, v ′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)◮ Then move second defect along Pv v ′ so (A, v , v) ↔ (A′′, v ′, v ′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)◮ Then move second defect along Pv v ′ so (A, v , v) ↔ (A′′, v ′, v ′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)◮ Then move second defect along Pv v ′ so (A, v , v) ↔ (A′′, v ′, v ′)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Lemma: (A, u, u) ↔ (A, v , v) for all A ∈ F(G) and u, v ∈ VWe show that (A, v , v) ↔ (A, v ′, v ′) for each v ′ ∼ v
◮ Lemma: There always exists an odd path Pv v ′ from v to v ′ ∼ vwhich alternates vacant, occupied,. . . , vacant
v v ′ vv ′
◮ Can move first defect along Pv v ′ so (A, v , v) ↔ (A′, v ′, v)◮ Then move second defect along Pv v ′ so (A, v , v) ↔ (A′′, v ′, v ′)
◮ But each edge is traversed (flipped) exactly twice so A′′ = A
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
◮ Independently colour each cycle,alternating red, blue
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
◮ Independently colour each cycle,alternating red, blue
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
◮ Independently colour each cycle,alternating red, blue
◮ Colour vacant edges green
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
v
u
w x
◮ Independently colour each cycle,alternating red, blue
◮ Colour vacant edges green
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
v
u
w x
◮ Independently colour each cycle,alternating red, blue
◮ Colour vacant edges green◮ Ared ∪ Agreen ∈ F(G)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
v
u
w x
◮ Independently colour each cycle,alternating red, blue
◮ Colour vacant edges green◮ Ared ∪ Agreen ∈ F(G)
◮ u, v , w all connected in Ared ∪ Agreen
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
v
u
w
t
x
◮ Independently colour each cycle,alternating red, blue
◮ Colour vacant edges green◮ Ared ∪ Agreen ∈ F(G)
◮ u, v , w all connected in Ared ∪ Agreen
◮ So u, v , w all in same cyclev u . . . t w v ∈ Ared ∪ Agreen
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
v
u
w
t
x
◮ Independently colour each cycle,alternating red, blue
◮ Colour vacant edges green◮ Ared ∪ Agreen ∈ F(G)
◮ u, v , w all connected in Ared ∪ Agreen
◮ So u, v , w all in same cyclev u . . . t w v ∈ Ared ∪ Agreen
◮ Cycle must be even◮ alternates green, red, . . . , green, red
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Colouring LemmaLemmaLet G be a finite bicubic graph. For every A ∈ F(G) and every v ∈ V,there is a path to each neighbor such that the edges alternate vacant,occupied, . . . , vacant
Proof.
v
u
w x
v
u
w
t
x
◮ Independently colour each cycle,alternating red, blue
◮ Colour vacant edges green◮ Ared ∪ Agreen ∈ F(G)
◮ u, v , w all connected in Ared ∪ Agreen
◮ So u, v , w all in same cyclev u . . . t w v ∈ Ared ∪ Agreen
◮ Cycle must be even◮ alternates green, red, . . . , green, red
◮ v u . . . t w is the desired path
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Potts models and Wang-Swendsen-Kotecký algorithm◮ q-state Potts model on graph G = (V ,E)
◮ Spin configurations σ ∈ {1, 2, . . . , q}V with q ∈ {2, 3, . . .}◮ H(σ) = −β
∑uv∈E δ(σu , σv )
◮ P(σ) ∝ e−H(σ)
◮ |β| = 1/T
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Potts models and Wang-Swendsen-Kotecký algorithm◮ q-state Potts model on graph G = (V ,E)
◮ Spin configurations σ ∈ {1, 2, . . . , q}V with q ∈ {2, 3, . . .}◮ H(σ) = −β
∑uv∈E δ(σu , σv )
◮ P(σ) ∝ e−H(σ)
◮ |β| = 1/T
◮ β > 0 is ferromagnetic, β < 0 is antiferromagnetic
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Potts models and Wang-Swendsen-Kotecký algorithm◮ q-state Potts model on graph G = (V ,E)
◮ Spin configurations σ ∈ {1, 2, . . . , q}V with q ∈ {2, 3, . . .}◮ H(σ) = −β
∑uv∈E δ(σu , σv )
◮ P(σ) ∝ e−H(σ)
◮ |β| = 1/T
◮ β > 0 is ferromagnetic, β < 0 is antiferromagnetic◮ When β = −∞ we uniformly sample q-vertex colourings
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Potts models and Wang-Swendsen-Kotecký algorithm◮ q-state Potts model on graph G = (V ,E)
◮ Spin configurations σ ∈ {1, 2, . . . , q}V with q ∈ {2, 3, . . .}◮ H(σ) = −β
∑uv∈E δ(σu , σv )
◮ P(σ) ∝ e−H(σ)
◮ |β| = 1/T
◮ β > 0 is ferromagnetic, β < 0 is antiferromagnetic◮ When β = −∞ we uniformly sample q-vertex colourings◮ The Swendsen-Wang (SW) cluster algorithm (ferromagnetic):
◮ Introduce auxiliary edge variables ω ∈ {0, 1}E
◮ Consider joint (Edwards-Sokal) model P(σ, ω)◮ Update spins using P(σ|ω) then update bonds using P(ω|σ)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Potts models and Wang-Swendsen-Kotecký algorithm◮ q-state Potts model on graph G = (V ,E)
◮ Spin configurations σ ∈ {1, 2, . . . , q}V with q ∈ {2, 3, . . .}◮ H(σ) = −β
∑uv∈E δ(σu , σv )
◮ P(σ) ∝ e−H(σ)
◮ |β| = 1/T
◮ β > 0 is ferromagnetic, β < 0 is antiferromagnetic◮ When β = −∞ we uniformly sample q-vertex colourings◮ The Swendsen-Wang (SW) cluster algorithm (ferromagnetic):
◮ Introduce auxiliary edge variables ω ∈ {0, 1}E
◮ Consider joint (Edwards-Sokal) model P(σ, ω)◮ Update spins using P(σ|ω) then update bonds using P(ω|σ)
◮ Wang-Swendsen-Kotecký (WSK)◮ Extension of SW to treat antiferromagnetic Potts
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Potts models and Wang-Swendsen-Kotecký algorithm◮ q-state Potts model on graph G = (V ,E)
◮ Spin configurations σ ∈ {1, 2, . . . , q}V with q ∈ {2, 3, . . .}◮ H(σ) = −β
∑uv∈E δ(σu , σv )
◮ P(σ) ∝ e−H(σ)
◮ |β| = 1/T
◮ β > 0 is ferromagnetic, β < 0 is antiferromagnetic◮ When β = −∞ we uniformly sample q-vertex colourings◮ The Swendsen-Wang (SW) cluster algorithm (ferromagnetic):
◮ Introduce auxiliary edge variables ω ∈ {0, 1}E
◮ Consider joint (Edwards-Sokal) model P(σ, ω)◮ Update spins using P(σ|ω) then update bonds using P(ω|σ)
◮ Wang-Swendsen-Kotecký (WSK)◮ Extension of SW to treat antiferromagnetic Potts
◮ WSK at T = 0 equivalent to “Kempe changes”◮ Each cluster is a Kempe chain
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithmµ = ν =
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithmµ = ν =
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
◮ Freeze all the σv 6∈ {µ, ν}
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
◮ Freeze all the σv 6∈ {µ, ν}
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
◮ Freeze all the σv 6∈ {µ, ν}◮ For each edge uv with with σu 6= σv , σu = µ and σv = ν
◮ Draw a bond with probability p = 1 − e−1/T and identify clusters
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm C1 C2
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
◮ Freeze all the σv 6∈ {µ, ν}◮ For each edge uv with with σu 6= σv , σu = µ and σv = ν
◮ Draw a bond with probability p = 1 − e−1/T and identify clusters
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm C1 C2
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
◮ Freeze all the σv 6∈ {µ, ν}◮ For each edge uv with with σu 6= σv , σu = µ and σv = ν
◮ Draw a bond with probability p = 1 − e−1/T and identify clusters
◮ For each cluster Ci flip the colouring with probability 1/2
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm C1 C2
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
◮ Freeze all the σv 6∈ {µ, ν}◮ For each edge uv with with σu 6= σv , σu = µ and σv = ν
◮ Draw a bond with probability p = 1 − e−1/T and identify clusters
◮ For each cluster Ci flip the colouring with probability 1/2
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
WSK algorithm
◮ Uniformly at random, choose two of the q possible colorsµ, ν ∈ {1,2 . . . q}
◮ Freeze all the σv 6∈ {µ, ν}◮ For each edge uv with with σu 6= σv , σu = µ and σv = ν
◮ Draw a bond with probability p = 1 − e−1/T and identify clusters
◮ For each cluster Ci flip the colouring with probability 1/2
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Rigorous results for WSK algorithm
◮ Irreducible on all graphs when T > 0◮ Irreducible on all graphs G when T = 0 and q ≥ ∆(G) + 1◮ Irreducible on all bipartite graphs when T = 0◮ Non-irreducible at T = 0:
◮ q = 4 on triangular lattice (on torus) (Mohar & Salas 2009)◮ q = 3 on kagome lattice (on torus) (Mohar & Salas 2010)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Rigorous results for WSK algorithm
◮ Irreducible on all graphs when T > 0◮ Irreducible on all graphs G when T = 0 and q ≥ ∆(G) + 1◮ Irreducible on all bipartite graphs when T = 0◮ Non-irreducible at T = 0:
◮ q = 4 on triangular lattice (on torus) (Mohar & Salas 2009)◮ q = 3 on kagome lattice (on torus) (Mohar & Salas 2010)
◮ Worm algorithm for honeycomb-lattice fully-packed loop modelcan be used to simulate both these models
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
◮ Gives dynamics on coloured loop states
Pcolor [a → a′] =1
2c(A′)Pworm
2 [A → A′]
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
◮ Gives dynamics on coloured loop states
Pcolor [a → a′] =1
2c(A′)Pworm
2 [A → A′]
◮ Uniformly sample 3-edge-colorings of honeycomb lattice
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
◮ Gives dynamics on coloured loop states
Pcolor [a → a′] =1
2c(A′)Pworm
2 [A → A′]
◮ Uniformly sample 3-edge-colorings of honeycomb lattice◮ Uniformly sample 3-vertex-colorings of kagome lattice
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
◮ Gives dynamics on coloured loop states
Pcolor [a → a′] =1
2c(A′)Pworm
2 [A → A′]
◮ Uniformly sample 3-edge-colorings of honeycomb lattice◮ Uniformly sample 3-vertex-colorings of kagome lattice◮ Uniformly sample 4-vertex-colorings on triangular lattice (Baxter)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
◮ Gives dynamics on coloured loop states
Pcolor [a → a′] =1
2c(A′)Pworm
2 [A → A′]
◮ Uniformly sample 3-edge-colorings of honeycomb lattice◮ Uniformly sample 3-vertex-colorings of kagome lattice◮ Uniformly sample 4-vertex-colorings on triangular lattice (Baxter)
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
◮ Gives dynamics on coloured loop states
Pcolor [a → a′] =1
2c(A′)Pworm
2 [A → A′]
◮ Uniformly sample 3-edge-colorings of honeycomb lattice◮ Uniformly sample 3-vertex-colorings of kagome lattice◮ Uniformly sample 4-vertex-colorings on triangular lattice (Baxter)◮ Both models display critical phenomena
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Zero-temperature Potts antiferromagnets
Use n = 2 worm algorithm to simulate coloured loop configurations
◮ Independently color each cycle,alternating red, blue, red, . . .
◮ Gives dynamics on coloured loop states
Pcolor [a → a′] =1
2c(A′)Pworm
2 [A → A′]
◮ Uniformly sample 3-edge-colorings of honeycomb lattice◮ Uniformly sample 3-vertex-colorings of kagome lattice◮ Uniformly sample 4-vertex-colorings on triangular lattice (Baxter)◮ Both models display critical phenomena◮ Wang-Swendsen-Kotecký algorithm proved non-irreducible
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ φH,n,x(Aσ) = 2µH∗,β(σ)
◮ Aσ := {ij ∈ E : σi∗ 6= σj∗}
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ φH,n,x(Aσ) = 2µH∗,β(σ)
◮ Aσ := {ij ∈ E : σi∗ 6= σj∗}
◮ x > 1 implies antiferromagnetic β
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ φH,n,x(Aσ) = 2µH∗,β(σ)
◮ Aσ := {ij ∈ E : σi∗ 6= σj∗}
◮ x > 1 implies antiferromagnetic β
◮ x = +∞ corresponds to β = −∞
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ φH,n,x(Aσ) = 2µH∗,β(σ)
◮ Aσ := {ij ∈ E : σi∗ 6= σj∗}
◮ x > 1 implies antiferromagnetic β
◮ x = +∞ corresponds to β = −∞
◮ Both models are critical in this limit
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ φH,n,x(Aσ) = 2µH∗,β(σ)
◮ Aσ := {ij ∈ E : σi∗ 6= σj∗}
◮ x > 1 implies antiferromagnetic β
◮ x = +∞ corresponds to β = −∞
◮ Both models are critical in this limit
◮ Can use worm to simulate AF Ising on △-lattice at T = 0
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ φH,n,x(Aσ) = 2µH∗,β(σ)
◮ Aσ := {ij ∈ E : σi∗ 6= σj∗}
◮ x > 1 implies antiferromagnetic β
◮ x = +∞ corresponds to β = −∞
◮ Both models are critical in this limit
◮ Can use worm to simulate AF Ising on △-lattice at T = 0◮ Single-spin-flip algorithms non-irreducible at T = 0
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Triangular-lattice Ising antiferromagnetLoops form boundaries of Ising spin domains on dual lattice
◮ Exact correspondence when n = 1 and x = e−2β
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ φH,n,x(Aσ) = 2µH∗,β(σ)
◮ Aσ := {ij ∈ E : σi∗ 6= σj∗}
◮ x > 1 implies antiferromagnetic β
◮ x = +∞ corresponds to β = −∞
◮ Both models are critical in this limit
◮ Can use worm to simulate AF Ising on △-lattice at T = 0◮ Single-spin-flip algorithms non-irreducible at T = 0◮ Tailor-made cluster algorithms non-irreducible at T = 0
Loops & Worms Fully-packed Loops & Worms WSK Worm & Potts Summary
Summary
◮ Worm algorithms provide a simple way to simulatehoneycomb-lattice loop models
◮ Proven valid for all n, x > 0, including x = +∞
◮ For n = 1,2 also provide provably irreducible algorithms forcertain critical antiferromagnetic models
◮ Cluster algorithms fail for these models
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Structure of the defect clusterPartition R(G) according to structure of defect cluster
R = E ∪ T ∪ D ∪Θ
b b
b
u,v
(A,u, v) ∈ E
Cycle
b b
b
bb
uv
(A,u, v) ∈ D
Dumbbell
b b
b
bb
uv
(A,u, v) ∈ T
Tadpole
b b
b
b
b
u
v
(A,u, v) ∈ Θ
Theta graph
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Worm algorithm for fully-packed loop model
◮ Transition matrix:
Pn[(A,u, v) → (A△uu′,u′, v)] = Pn[(A, v ,u) → (A△uu′, v ,u′)]
=
1/2 (A,u, v) ∈ E ,
1/2 (A,u, v) ∈ T ,
1/6 (A,u, v) ∈ Θ,
n/2(n + 2) (A,u, v) ∈ D and uu′ is a bridge,1/2(n + 2) (A,u, v) ∈ D and uu′ is not a bridge.
◮ Stationary distribution:
πn(A,u, v) =nc(A)
Zn
1/3 (A,u, v) ∈ E ,
1/3 (A,u, v) ∈ T ,
(n + 2)/3n (A,u, v) ∈ D,
1/n (A,u, v) ∈ Θ.
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Connectivity checkingPn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
F (x n) uu′ 6∈ A and u ↔ u′ in (V ,A)F (x) uu′ 6∈ A and u 6↔ u′ in (V ,A)F (1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
F (1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ So far we have glossed over an important caveat:
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Connectivity checkingPn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
F (x n) uu′ 6∈ A and u ↔ u′ in (V ,A)F (x) uu′ 6∈ A and u 6↔ u′ in (V ,A)F (1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
F (1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ So far we have glossed over an important caveat:◮ If n 6= 1 we need to compute c(A△uu′)− c(A) at each iteration
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Connectivity checkingPn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
F (x n) uu′ 6∈ A and u ↔ u′ in (V ,A)F (x) uu′ 6∈ A and u 6↔ u′ in (V ,A)F (1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
F (1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ So far we have glossed over an important caveat:◮ If n 6= 1 we need to compute c(A△uu′)− c(A) at each iteration
◮ But c(A) = |A| − |V |+ k(A)◮ k(A) is the number of components in (V ,A)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Connectivity checkingPn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
F (x n) uu′ 6∈ A and u ↔ u′ in (V ,A)F (x) uu′ 6∈ A and u 6↔ u′ in (V ,A)F (1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
F (1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ So far we have glossed over an important caveat:◮ If n 6= 1 we need to compute c(A△uu′)− c(A) at each iteration
◮ But c(A) = |A| − |V |+ k(A)◮ k(A) is the number of components in (V ,A)
◮ Dynamic connectivity-checking algorithms are known◮ Log-time for queries and updates (Holm, de Lichtenberg & Thorup)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Connectivity checkingPn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
F (x n) uu′ 6∈ A and u ↔ u′ in (V ,A)F (x) uu′ 6∈ A and u 6↔ u′ in (V ,A)F (1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
F (1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ So far we have glossed over an important caveat:◮ If n 6= 1 we need to compute c(A△uu′)− c(A) at each iteration
◮ But c(A) = |A| − |V |+ k(A)◮ k(A) is the number of components in (V ,A)
◮ Dynamic connectivity-checking algorithms are known◮ Log-time for queries and updates (Holm, de Lichtenberg & Thorup)
◮ Simultaneous Breadth-First-Search (BFS) much simpler◮ Polynomial-time with small (known) exponent (k -arm)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Connectivity checkingPn,x [(A,u, v) → (A△uu′,u′, v)] = Pn,x [(A, v ,u) → (A△uu′, v ,u′)]
=1
2 d(u)
F (x n) uu′ 6∈ A and u ↔ u′ in (V ,A)F (x) uu′ 6∈ A and u 6↔ u′ in (V ,A)F (1/n x) uu′ ∈ A and u ↔ u′ in (V ,A \ uu′)
F (1/x) uu′ ∈ A and u 6↔ u′ in (V ,A \ uu′)
◮ So far we have glossed over an important caveat:◮ If n 6= 1 we need to compute c(A△uu′)− c(A) at each iteration
◮ But c(A) = |A| − |V |+ k(A)◮ k(A) is the number of components in (V ,A)
◮ Dynamic connectivity-checking algorithms are known◮ Log-time for queries and updates (Holm, de Lichtenberg & Thorup)
◮ Simultaneous Breadth-First-Search (BFS) much simpler◮ Polynomial-time with small (known) exponent (k -arm)
◮ If n > 1 the “colouring method” avoids the issue entirely
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method◮ Consider a finite graph G = (V ,E)
◮ Let K (A) denote the set of connected components of (V ,A)◮ Define a “generalized random-cluster model”
PW (A) ∝∏
C∈K (A)
W (C) A ⊆ E
◮ W (·) ≥ 0 assigns a weight to each connected subgraph of G
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method◮ Consider a finite graph G = (V ,E)
◮ Let K (A) denote the set of connected components of (V ,A)◮ Define a “generalized random-cluster model”
PW (A) ∝∏
C∈K (A)
W (C) A ⊆ E
◮ W (·) ≥ 0 assigns a weight to each connected subgraph of G◮ If W (C) = q v |E(C)| this is just the Fortuin-Kasteleyn (FK) model
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method◮ Consider a finite graph G = (V ,E)
◮ Let K (A) denote the set of connected components of (V ,A)◮ Define a “generalized random-cluster model”
PW (A) ∝∏
C∈K (A)
W (C) A ⊆ E
◮ W (·) ≥ 0 assigns a weight to each connected subgraph of G◮ If W (C) = q v |E(C)| this is just the Fortuin-Kasteleyn (FK) model◮ Loop model corresponds to
W (C) =
{n x |E(C)| C is a cycle or isolated vertex0 otherwise
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method◮ Consider a finite graph G = (V ,E)
◮ Let K (A) denote the set of connected components of (V ,A)◮ Define a “generalized random-cluster model”
PW (A) ∝∏
C∈K (A)
W (C) A ⊆ E
◮ W (·) ≥ 0 assigns a weight to each connected subgraph of G◮ If W (C) = q v |E(C)| this is just the Fortuin-Kasteleyn (FK) model◮ Loop model corresponds to
W (C) =
{n x |E(C)| C is a cycle or isolated vertex0 otherwise
◮ Simulate PW by introducing auxiliary vertex variables (colours)◮ Like SW, choose bonds conditioned on colours & vice versa
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
2. Choose a new bond configuration on Gα using any Markov chainfor which Wα is stationary
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
2. Choose a new bond configuration on Gα using any Markov chainfor which Wα is stationary
◮ Trick is to choose at least one Wα which is easy to simulate
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
2. Choose a new bond configuration on Gα using any Markov chainfor which Wα is stationary
◮ Trick is to choose at least one Wα which is easy to simulate◮ Can update other Wα′ by “doing nothing” (identity matrix)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
2. Choose a new bond configuration on Gα using any Markov chainfor which Wα is stationary
◮ Trick is to choose at least one Wα which is easy to simulate◮ Can update other Wα′ by “doing nothing” (identity matrix)◮ FK model: take Wα = 1 (percolation is easy to simulate)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
2. Choose a new bond configuration on Gα using any Markov chainfor which Wα is stationary
◮ Trick is to choose at least one Wα which is easy to simulate◮ Can update other Wα′ by “doing nothing” (identity matrix)◮ FK model: take Wα = 1 (percolation is easy to simulate)◮ Loop model: take Wα = 1 (Ising is easy to simulate using worm)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
2. Choose a new bond configuration on Gα using any Markov chainfor which Wα is stationary
◮ Trick is to choose at least one Wα which is easy to simulate◮ Can update other Wα′ by “doing nothing” (identity matrix)◮ FK model: take Wα = 1 (percolation is easy to simulate)◮ Loop model: take Wα = 1 (Ising is easy to simulate using worm)◮ Get algorithms for q > 1 FK and n > 1 loop models
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
The colouring method (2)◮ Introduce (vertex) m-colourings σ ∈ {1,2, . . .m}V
◮ For each colour α define a new weight function Wα so that
W (C) =
m∑
α=1
Wα(C) and Wα(C) ≥ 0
1. Given A ⊆ E let C be coloured α with P(σC = α) = Wα(C)/W (C)
2. Choose a new bond configuration on Gα using any Markov chainfor which Wα is stationary
◮ Trick is to choose at least one Wα which is easy to simulate◮ Can update other Wα′ by “doing nothing” (identity matrix)◮ FK model: take Wα = 1 (percolation is easy to simulate)◮ Loop model: take Wα = 1 (Ising is easy to simulate using worm)◮ Get algorithms for q > 1 FK and n > 1 loop models
◮ No connectivity-checking needed
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
SW for antiferromagnetic Ising
SW for antiferromagnetic Ising model on finite graph G = (V ,E)
P(σ,n) ∝∏
ij∈E
[(1 − p) δωij ,0 + p(1 − δσi ,σj )δωij ,1]
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring◮ Use two independent Ising variables on each face, σ, τ
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring◮ Use two independent Ising variables on each face, σ, τ
◮ Union of red and vacant edges= spin domain for σ
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring◮ Use two independent Ising variables on each face, σ, τ
− − − −− − − −
− − − −− − − −
− − − −− − − −
− − − −
+ + ++ +
+ + ++ +
+ + ++ +
+ + +◮ Union of red and vacant edges
= spin domain for σ
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring◮ Use two independent Ising variables on each face, σ, τ
− − − − −− − − −
− − − − −− − − −
− − − − −− − − −
− − − − −
+ ++ +
+ ++ +
+ ++ +
+ +◮ Union of red and vacant edges
= spin domain for σ◮ Union of blue and vacant edges
= spin domain for τ
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring◮ Use two independent Ising variables on each face, σ, τ
+− −+ −− +− −+ −− +−
−− +− −+ −− +− −+
+− −+ −− +− −+ −− +−
−− +− −+ −− +− −+
+− −+ −− +− −+ −− +−
−− +− −+ −− +− −+
+− −+ −− +− −+ −− +−◮ Union of red and vacant edges
= spin domain for σ◮ Union of blue and vacant edges
= spin domain for τ◮ Combine the σ and τ configurations
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring◮ Use two independent Ising variables on each face, σ, τ
+− −+ −− +− −+ −− +−
−− +− −+ −− +− −+
+− −+ −− +− −+ −− +−
−− +− −+ −− +− −+
+− −+ −− +− −+ −− +−
−− +− −+ −− +− −+
+− −+ −− +− −+ −− +−◮ Union of red and vacant edges
= spin domain for σ◮ Union of blue and vacant edges
= spin domain for τ◮ Combine the σ and τ configurations◮ −− = 1, −+ = 2, +− = 3, ++ = 4
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Mapping 3-edge colorings to dual 4-vertex colorings
◮ Randomly color the cycles ⇐⇒ proper edge 3-coloring◮ Use two independent Ising variables on each face, σ, τ
3 2 1 3 2 1 3
1 3 2 1 3 2
3 2 1 3 2 1 3
1 3 2 1 3 2
3 2 1 3 2 1 3
1 3 2 1 3 2
3 2 1 3 2 1 3◮ Union of red and vacant edges
= spin domain for σ◮ Union of blue and vacant edges
= spin domain for τ◮ Combine the σ and τ configurations◮ −− = 1, −+ = 2, +− = 3, ++ = 4
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Markov-chain Monte Carlo
◮ Markov chain◮ State space S, with |S| < ∞◮ Transition matrix P◮ Stationary distribution π
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Markov-chain Monte Carlo
◮ Markov chain◮ State space S, with |S| < ∞◮ Transition matrix P◮ Stationary distribution π
◮ Observables (random variables) X , Y , . . .
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Markov-chain Monte Carlo
◮ Markov chain◮ State space S, with |S| < ∞◮ Transition matrix P◮ Stationary distribution π
◮ Observables (random variables) X , Y , . . .
◮ Simulate Markov chain s0P−→ s1
P−→ s2
P−→ . . . with st ∈ S
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Markov-chain Monte Carlo
◮ Markov chain◮ State space S, with |S| < ∞◮ Transition matrix P◮ Stationary distribution π
◮ Observables (random variables) X , Y , . . .
◮ Simulate Markov chain s0P−→ s1
P−→ s2
P−→ . . . with st ∈ S
◮ Get time series X0,X1,X2, . . . with Xt = X (st)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Markov-chain Monte Carlo
◮ Markov chain◮ State space S, with |S| < ∞◮ Transition matrix P◮ Stationary distribution π
◮ Observables (random variables) X , Y , . . .
◮ Simulate Markov chain s0P−→ s1
P−→ s2
P−→ . . . with st ∈ S
◮ Get time series X0,X1,X2, . . . with Xt = X (st)
◮ Define the autocorrelation function
ρX (t) :=〈XsXs+t〉π − 〈X 〉2
π
varπ(X )
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Markov-chain Monte Carlo
◮ Markov chain◮ State space S, with |S| < ∞◮ Transition matrix P◮ Stationary distribution π
◮ Observables (random variables) X , Y , . . .
◮ Simulate Markov chain s0P−→ s1
P−→ s2
P−→ . . . with st ∈ S
◮ Get time series X0,X1,X2, . . . with Xt = X (st)
◮ Define the autocorrelation function
ρX (t) :=〈XsXs+t〉π − 〈X 〉2
π
varπ(X )◮ Stationary process – start “in equilibrium”
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Integrated autocorrelation times
◮ The integrated autocorrelation time
τint,X :=12
∞∑
t=−∞
ρX (t)
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Integrated autocorrelation times
◮ The integrated autocorrelation time
τint,X :=12
∞∑
t=−∞
ρX (t)
◮ If X̂ is the sample mean of {Xt}Tt=1 then we have
var(X̂ ) ∼ 2 τint,Xvar(X )
T, T → ∞
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Integrated autocorrelation times
◮ The integrated autocorrelation time
τint,X :=12
∞∑
t=−∞
ρX (t)
◮ If X̂ is the sample mean of {Xt}Tt=1 then we have
var(X̂ ) ∼ 2 τint,Xvar(X )
T, T → ∞
◮ 1 “effectively independent” observation every 2 τint,X steps
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Exponential autocorrelation times
◮ ρX (t) typically decays exponentially as t → ∞
◮ The exponential autocorrelation time
τexp,X := lim supt→∞
t− log |ρX (t)|
and τexp := supX
τexp,X
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Exponential autocorrelation times
◮ ρX (t) typically decays exponentially as t → ∞
◮ The exponential autocorrelation time
τexp,X := lim supt→∞
t− log |ρX (t)|
and τexp := supX
τexp,X
◮ Typically τexp,X = τexp < ∞ and τint,X ≤ τexp for all X
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Exponential autocorrelation times
◮ ρX (t) typically decays exponentially as t → ∞
◮ The exponential autocorrelation time
τexp,X := lim supt→∞
t− log |ρX (t)|
and τexp := supX
τexp,X
◮ Typically τexp,X = τexp < ∞ and τint,X ≤ τexp for all X
◮ Start the chain with arbitrary distribution α
◮ Distribution at time t is αP t
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Exponential autocorrelation times
◮ ρX (t) typically decays exponentially as t → ∞
◮ The exponential autocorrelation time
τexp,X := lim supt→∞
t− log |ρX (t)|
and τexp := supX
τexp,X
◮ Typically τexp,X = τexp < ∞ and τint,X ≤ τexp for all X
◮ Start the chain with arbitrary distribution α
◮ Distribution at time t is αP t
LemmaαP t tends to π with rate bounded by e−t/τexp
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Critical slowing-down
◮ Near a critical point the autocorrelation times typically diverge like
τ ∼ ξz
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Critical slowing-down
◮ Near a critical point the autocorrelation times typically diverge like
τ ∼ ξz
◮ More precisely, we have a family of exponents:zexp, and zint,X for each observable X .
FPL transition matrix Colouring vs connectivity-checking Details. . . Autocorrelations, critical slowing down . . .
Critical slowing-down
◮ Near a critical point the autocorrelation times typically diverge like
τ ∼ ξz
◮ More precisely, we have a family of exponents:zexp, and zint,X for each observable X .
◮ Different algorithms for the same model can have very different z◮ E.g. d = 2 Ising model
◮ Glauber (Metropolis) algorithm z ≈ 2◮ Swendsen-Wang algorithm z ≈ 0.2