Distributed Algorithms for MCMC Sampling Yitong Yin Nanjing University Shonan Meeting No. 162: Distributed Graph Algorithms
Outline • Distributed Sampling Problem • Gibbs Distribution (distribution defined by local constraints) • Algorithmic Ideas MCMC • Local Metropolis Algorithm • LOCAL Jerrum-Valiant-Vazirani • Local Rejection Sampling MCMC • Distributed Simulation of Metropolis (with ideal parallelism) MCMC: Markov chain Monte Carlo
Single-Site Markov Chain Start from an arbitrary coloring ∈ [ q ] V at each step: for a uniform random vertex v v propose a random color c ∈ [ q ] ; v change v ’s color to c if it’s proper; Metropolis Algorithm ( q -coloring)
Single-Site Markov Chain in 1960s Each vertex holds an independent rate- 1 Poisson clock. When the clock at v rings: ring! v propose a random color c ∈ [ q ] ; v change v ’s color to c if it’s proper; Metropolis Algorithm ( q -coloring) discrete time continuous time T θ ( nT ) sequential steps
Distributed Simulation of Continuous-Time Process Goal : Give a distributed algorithm that perfect simulates the time T continuous Markov chain. (Have the same behavior given the same random bits.) do NOT allow adjacent vertices update their colors in the same round: O( Δ T ) rounds [Feng, Hayes, Y. ’19]: O( T + log n ) rounds w.h.p. (under some mild condition)
2-Phase Paradigm for each vertex : v ∈ V Phase I : • locally generate all update times 0 < t 1 < t 2 < ⋯ < t M v < T and proposed colors ; c 1 , c 2 , …, c M v ∈ [ q ] • send the initial color and all to all neighbors; ( t i , c i ) 1 ≤ i ≤ M v Phase II : • For do: i = 1,2,…, M v once having received enough information : resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors;
for each vertex v ∈ V : • For do: i = 1,2,…, M v once having received enough information : resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors; t 7 “enough info” to resolve t 6 t 5 the i -th update at v : ( t v i , c v i ) t 4 t 3 curr-color = all adjacent updates before � t v t 2 ✗ i t 1 ✓ have been resolved and received by v u 0 ∃ a path v 1 , v 2 , …, v L v #rounds > L T > t v 1 i 1 > t v 2 i 2 > ⋯ > t v L i L > 0 which occurs w.p. < (e T / L ) L #rounds = O( ∆ T + log n ) w.h.p.
Resolve Update In Advance “enough info” to resolve the i -th update at v : ( t , c ) c ∉ ⋃ : “ Accept! ” If S u ( t ) u ∼ v t 7 t 6 t } S u ( t ) t 5 : set of possible colors t 4 t 3 curr-color = of u at time t t 2 ✗ t 1 ✓ u 0 v c =
Resolve Update In Advance “enough info” to resolve the i -th update at v : ( t , c ) c ∉ ⋃ : “ Accept! ” If S u ( t ) u ∼ v t 7 t 6 t 5 t } t 4 t 3 S u ( t ) : set of possible colors curr-color = t 2 ✓ of u at time t t 1 ✓ u 0 v If ∃ u ∼ v s.t. S u ( t ) = { c } : c = “ Reject! ”
to resolve the i -th update at v : ( t , c ) Construct � for every neighbor u of v ; S u ( t ) c ∉ ⋃ upon : S u ( t ) u ∼ v send “ Accept! ” to all neighbors and i++ ; upon ∃ u ∼ v s.t. S u ( t ) = { c } : send “ Reject! ” to all neighbors and i++ ; upon receiving “ Accept! ” or “ Reject! ” from neighbor u : update � accordingly; S u ( t ) t 7 t 6 t } S u ( t ) t 5 : current set of t 4 t 3 curr-color = possible colors of t 2 ✗ u at time t t 1 ✓ u 0 v
to resolve the i -th update at v : ( t , c ) Construct � for every neighbor u of v ; S u ( t ) c ∉ ⋃ upon : S u ( t ) u ∼ v send “ Accept! ” to all neighbors and i++ ; upon ∃ u ∼ v s.t. S u ( t ) = { c } : send “ Reject! ” to all neighbors and i++ ; upon receiving “ Accept! ” or “ Reject! ” from neighbor u : update � accordingly; S u ( t ) #paths ≤ ∆ L #round > L ∃ a path : v 1 , v 2 , …, v L Pr < O ( { T > t v 1 i 1 > t v 2 i 2 > ⋯ > t v L L i L > 0 qL ) T along the path: “good events” do not happen q>C ∆ #rounds = O( T + log n ) w.h.p. for constant C >0
The Metropolis Algorithm Each vertex holds an independent rate- 1 poisson clock. Start from an arbitrary X ∈ [ q ] V When the clock at v rings: ring! v v let b=X v and propose a random c ∈ [ q ] ; change X v to c with prob. f v ; b , c ( X N ( v ) ) Metropolis filter: b , c : [ q ] N ( v ) → [0,1] f v b ∈ [ q ] : current color of v c ∈ [ q ] : proposed color of v
2-Phase Paradigm for each vertex : v ∈ V Phase I : • locally generate all update times 0 < t 1 < t 2 < ⋯ < t M v < T and proposed colors ; c 1 , c 2 , …, c M v ∈ [ q ] • send the initial color and all to all neighbors; ( t i , c i ) 1 ≤ i ≤ M v Phase II : • For do: i = 1,2,…, M v once having received enough information : resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors;
to resolve the i -th update at v : ( t , c ) to execute the • For do: i = 1,2,…, M v Metropoli filter once having received enough information : ^ resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors; t 7 t 6 t } t 5 S u ( t ) : set of possible colors t 4 t 3 curr-color = of u at time t t 2 ✗ t 1 ✓ u ∀ τ ∈ ⨂ 0 S u ( t ) u ∼ v v curr-color = b proposal = c f v gives a biased coin b , c ( τ ) Idea: Couple all these coins!
to resolve the i -th update at v : ( t , c ) Construct � for every neighbor u of v ; S u ( t ) let b be v ’s current color and: ; P 𝖡𝖽𝖽 ≜ τ ∈⨁ u ∼ v S u ( t ) f b , c ( τ ) min P 𝖲𝖿𝗄 ≜ 1 − ; τ ∈⨁ u ∼ v S u ( t ) f b , c ( τ ) max sample a uniform random ; β ∈ [0,1] upon : β ≤ P 𝖡𝖽𝖽 send “ Accept! ” to all neighbors and i++ ; upon : β ≥ 1 − P 𝖲𝖿𝗄 send “ Reject! ” to all neighbors and i++ ; upon receiving “ Accept! ” or “ Reject! ” from neighbor u : update � accordingly and recalculate and ; P 𝖡𝖽𝖽 P 𝖲𝖿𝗄 S u ( t )
Universal Distributed Simulation of Metropolis Algorithm Metropolis Algorithm: let b=X v and propose a random c ∈ [ q ] ; continuous-time T change X v to c with prob. ; f v b , c ( X N ( v ) ) Lipschitz condition: ∃ constant C >0 : b , c ] < C ∀ ( u , v ) ∈ E , ∀ a , a ′ � , b ∈ [ q ] : 𝔽 c [ δ u , a , a ′ � f v Δ where δ u , a , a ′ � f v b , c ≜ | f v b , c ( σ ) − f v max b , c ( τ ) | σ , τ 𝖾𝗃𝗀𝗀𝖿𝗌 𝗉𝗈𝗆 , 𝖻𝗎 u σ u = a , τ u = b #rounds = O( T + log n ) w.h.p.
Necessary condition model Lipschitz condition for mixing ∃ constant C> 0 q ≥ ∆ +2 q -coloring q>C ∆ ∃ constant C> 0 1 − e − 2 | β | < 2 Ising model with 1 − e − 2 | β | < C temperature β Δ Δ ∃ constant C> 0 λ < ( Δ − 1) Δ− 1 hardcore model e ≈ with fugacity λ λ < C ( Δ − 2) Δ Δ − 2 Δ
Summary • Universal distributed perfect simulation of Metropolis algorithms, with ideal parallelism under mild Lipschitz condition for Metropolis filter. • Open problem : distributed simulation of general class of single-site Markov chains.
Outline • Distributed Sampling Problem • Gibbs Distribution (distribution defined by local constraints) • Algorithmic Ideas [Feng, Hayes, Y., ’19] • Local Metropolis Algorithm [Feng, Sun, Y., PODC’17] • LOCAL Jerrum-Valiant-Vazirani [Feng, Y., PODC’18] • Local Rejection Sampling [Feng, Vishnoi, Y., STOC’19] • Distributed Simulation of Metropolis
Local Computation Locally Checkable Labeling ( LCL ) problems: • CSPs with local constraints. • Construct a feasible solution: vertex/edge coloring, Lovász local lemma • Find local optimum: MIS, MM • Approximate global optimum: network G ( V , E ) maximum matching, minimum vertex cover, minimum dominating set Quest: “Find a solution to the locally defined problem.”
“What can be sampled locally?” • CSP with local constraints. • Sample a uniform random solution. • Distribution µ (over solutions) described by local rules. • uniform LCL solution • Ising model / RBM / network G ( V , E ) tensor network… Quest: “Generate a sample from the locally defined distribution.”
Markov Random Fields • Each vertex corresponds to a network G ( V , E ): variable with finite domain [ q ] . • Each edge ( u , v ) ∈ E imposes a X v ∈ [ q ] binary constraint: A u,v v u A u , v : [ q ] 2 → {0,1} • Gibbs distribution µ : ∀ σ ∈ [ q ] V : μ ( σ ) ∝ ∏ X ∈ [ q ] V follows µ A u , v ( σ u , σ v ) ~ ( u , v ) ∈ E • local conflict colorings: [Fraigniaud, Heinrich, Kosowski ’16]
Markov Random Fields • Gibbs distribution µ : network G ( V , E ): μ ( σ ) ∝ ∏ ∀ σ ∈ [ q ] V : A u , v ( σ u , σ v ) ( u , v ) ∈ E X v ∈ [ q ] • vertex q -coloring: A u,v v u 1 0 A u , v = 1 0 ⋱ 0 • independent set: A u , v = [ 0 ] 1 1 X ∈ [ q ] V follows µ ~ 1 • local conflict colorings: A u , v ∈ {0,1} q × q [Fraigniaud, Heinrich, Kosowski ’16]
Recommend
More recommend