Monte Carlo Method

  • (P)Problem
    • Universe $U$, subset $S\subseteq U$ where $\rho=\frac{|S|}{|U|}$
    • Assume a uniform sampler for elements
    • Estimate $Z=|S|$
  • Monte Carlo Method (for estimating)
    • Sample $X_1,X_2,\cdots,X_N$ uniformly and independently from $U$
    • $Y_i=[X_i\in S]$
    • counting: $\hat Z=\frac{|U|}{N}\sum_{i=1}^NY_i$
  • $\epsilon$-approx estimator: $(1-\epsilon)Z\leq\hat Z\leq(1+\epsilon)Z$
  • Estimator Theorem(Naive): $N\geq\frac{4}{\epsilon^2\rho}\ln\frac{2}{\delta}=\Theta(\frac{1}{\epsilon^2\rho}\ln\frac{1}{\delta})\Rightarrow P(\hat Z$ is $\epsilon$-approx of $|S|)\geq 1-\delta$
  • Monte Carlo Method (for sampling)
    • rejection sampling: inefficient if $\rho$ is small

Counting DNF Solutions

  • (P)Counting DNF Solutions: #$\text{P}$-hard
    • Input: DNF formula $\phi:{T,F}^n\rightarrow{T,F},U={T,F}^n$
    • Output: $Z=|\phi^{-1}(T)|,S=\phi^{-1}(T)$
    • $\rho=\frac{|S|}{|U|}$ can be exponentially small
  • (P)Union of Sets
    • Input: $m$ sets $S_1,S_2,\cdots,S_m$, estimate $|\bigcup_{i=1}^mS_i|$
    • Output: $|\bigcup_{i=1}^mS_i|$
  • Coverage Algorithm: $\rho\geq \frac{1}{m}$
    • $U={(x,i)|x\in S_i}$ (multiset union)
    • $\overline{S}={(x,i^*)|x\in S_{i^*}\text{ and }x\in S_i\Rightarrow i^*\leq i}$
    • Sample unifomr $(x,i)\in U$
      • Sample $i\in{1,2,\cdots,m}$
      • Sample uniform $x\in S_i$
    • check if $(x,i)\in\overline{S}$
      • $x\in S_i$
      • and $\forall j<i,x\not\in S_j$
  • Counting by Coverage Algorithm: $|U|=\sum_i|S_i|$
  • Sampling by Coverage Algorithm: Rejection Sampling

Markov Chain

$${X_t|t\in T},X_t\in\Omega$$

  • discrete time: $T={0,1,\cdots}$
  • discrete space: $\Omega$ is finite
  • state $X_t\in\Omega$
  • chain: stochastic process in discrete time and discrete state space
  • Markov property(memoryless): $X_{t+1}$ depends only on $X_t$

$$ P[X_{t+1}=y|X_0=x_0,\cdots,X_{t-1}=x_{t-1},X_t=x]=P[X_{t+1}=y|X_t=x] $$

  • Markov chain(memoryless): discrete time discrete space stochastic process with Markov property
  • homogeneity: transition does not depend on time
  • homogenous Markov chain $\mathfrak{M} = (\Omega,P)$: $P[X_{t+1}=y|X_t=x]=P_{xy}$
    • transition matrix $P$ over $\Omega\times\Omega$
    • (row-)stochastic matrix $P\mathbf{1}=\mathbf{1}$
    • distribution $p^{(t)}(x)=P[X_t=x]$
    • $p^{(t+1)}=p^{(t)}P$
  • stationary distribution $\pi$ of matrix $P$: $\pi P=\pi$
  • Perron-Frobenius Theorem

Fundamental Theorem of Markov Chain

If a finite Markov chain is irreducible and ergodic(aperiodic), then $\forall$ initial distribution $\pi^{(0)},\lim_{t\rightarrow\infty}\pi^{(0)}P^t=\pi$ where $\pi$ is a **unique** stationary distribution

  • finite: the stationary distribution $\pi$ exists
  • irreducible: the stationary distribution is unique
    • all pairs of states communicate
    • Special case
      • not connected: $\pi=\lambda\pi_A+(1-\lambda)\pi_B$
      • weak connected(absorbing case): $\pi=(0,\pi_B)$
  • aperiodicity: distribution converges to $\pi$
    • period of state $x$: $d_x=\gcd{t|P^t_{x,x}>0}$
    • aperiodic: all states have period $1$
    • if $\forall x\in\Omega,P(x,x)>0$(self-loop), then a chain is aperiodic
    • $x$ and $y$ communicate $\Rightarrow$ $d_x=d_y$

If Markov chain is infinite: positive recurrent

Random Walk

  • random walk: Markov Chain Sample on stationary distribution $\pi$
  • Fundamental Theorem of Markov Chain on Graph
    • irreducible: $G$ is connected
    • aperiodic: $G$ is non-bipartite
  • uniform random walk (on undirected graph) $\mathfrak{M} = (V,P)$
    • Strategy: At each step, uniformly at random move to a neighbor $v$ of current vertex
    • necessary condition for stationary distribution: $\pi(u)=\frac{\text{deg(u)}}{2|E|}$

$$P(u,v)=\begin{cases}\frac{1}{\text{deg}(u)} & uv\in E\newline 0&uv\not\in E\end{cases}$$

  • lazy random walk $\mathfrak{M} = (V,\frac{1}{2}(I+P))$
    • Strategy: At each step, uniformly at random move to a neighbor $v$ of current vertex with probability $\frac{1}{2}$, otherwise do nothing
    • $\pi P=\pi\Rightarrow \pi\frac{1}{2}(I+P)=\pi$

$$P(u,v)=\begin{cases}\frac{1}{2} & u=v\newline \frac{1}{2\text{deg}(u)} & uv\in E\newline 0&uv\not\in E\end{cases}$$


  • Rank $r(v)$:importance of a page
    • pointed by more high-rank pages
    • high-rank page have greater influence
    • pages pointing to few others have greater influence
  • $d_+(u)$: out-degree
  • $r(v)=\sum_{u:(u,v)\in E}\frac{r(u)}{d_+(u)}$
  • random walk: $P(u,v)=[(u,v)\in E]\frac{1}{d_+(u)}$
  • stationary distribution: $rP=r$


  • Detailed Balance Equation: $\pi(x)P(x,y)=\pi(y)P(y,x)$
  • time-reversible Markov chain: $\exists\pi,\forall x,y\in\Omega,\pi(x)P(x,y)=\pi(y)P(y,x)$
    • time-reversible: when start from $\pi$, $(X_0,X_1,\cdots,X_n)\sim(X_n,X_{n-1},\cdots,X_0)$
    • $\forall x,y\in\Omega,\pi(x)P(x,y)=\pi(y)P(y,x)\Rightarrow \pi$ is a stationary distribution
  • Analyze $\pi$ for a given $P$ (Random walk on graph)
    • $u=v,u\not\sim v$: DBE holds
    • $u\sim v$: $\pi(u)\propto\frac{1}{P(u,v)}\propto\text{deg}(u),\Delta=\max_v\text{deg}(v)$
  • Design $P$ to make $\pi$ uniform distribution

$$ P(u,v)=\begin{cases} 1-\frac{\text{deg}(u)}{2\Delta} & u=v\newline \frac{1}{2\Delta} & uv\in E\newline 0 & o.w. \end{cases} $$


  • Problem setting
    • Given a Markov chain with transition matrix $Q$
    • Goal: a new Markov chain $P$ with stationary distribution $\pi$
  • Detailed Balance Equation with acceptance ratio: $\pi(i)Q(i,j)\alpha(i,j)=\pi(j)Q(j,i)\alpha(j,i)$
    • $P(i,j)=Q(i,j)\alpha(i,j)$
    • $\alpha(i,j)=\pi(j)Q(j,i)$
  • Original MCMC
    • (proposal) propose $y\in\Omega$ with probability $Q(x,y),x$ is current state
    • (accept-reject sample) accept the proposal and move to $y$ with probability $\pi(y)$
    • run above $T$ times and return
  • mixing time $T$: time to be close to the stationary distribution
    • 前沿研究

Metropolis Algorithm

  • Metroplis-Hastings Algorithm (symmetric case)
    • (proposal) propose $y\in\Omega$ with probability $Q(x,y),x$ is current state
    • (filter) accept the proposal and move to $y$ with probability $\min{1,\frac{\pi(y)}{\pi(x)}}$
  • New Transition Matrix (Meet Detailed Balance Equation)

$$P(x,y)=\begin{cases} Q(x,y)\min{1,\frac{\pi(x)}{\pi(y)}}& x\neq y\newline 1-\sum_{y\neq x}P(x,y) & x=y\end{cases} $$

  • Metropolis Algorithm (M-H for sampling uniform random CSP solution)
    • Initially, start with an arbitrary CSP solution $\sigma=(\sigma_1,\cdots,\sigma_n)$
    • (proposal) pick a variable $i\in[n]$ and value $c\in[q]$ uniformly at random
    • (filter) accept the proposal and change $\sigma_i$ to $c$ if it does not violate any constraint

Gibbs Sampling

  • For $A(x_1,y_1),B(x_1,y_2)$, we have

$$ \pi(A)\pi(y_2|x_1)=\pi(x_1,y_1)\pi(y_2|x_1)=\pi(x_1)\pi(y_1|x_1)\pi(y_2|x_1)\newline =\pi(x_1,y_2)\pi(y_1|x_1)=\pi(B)\pi(y_1|x_1)$$

Let $P(A,B)$ be the marginal distribution on their corrdinate of the same value, then DBE condition holds.

  • Goal: Sample a random vector $X=(X_1,\cdots,X_n)$ according to a joint distribution $\pi(x_1,\cdots,x_n)$
  • Gibbs Sampling
    • Initially, start with an arbitrary possible $X$
    • run following after $T$ steps:
      • pick a variable $i\in[n]$ uniformly at random
      • resample $X_i$ according to the marginal distribution of $X_i$ conditioning on the current values of $(X_1,\cdots,X_{i-1},X_{i+1},\cdots,X_n)$

Glauber Dynamics

  • Glauber Dynamics for CSP
    • Initially, start with an arbitrary CSP solution; at each step, the current CSP solution is $\sigma$
    • pick avarible $i\in[n]$ uniformly at random
    • change value of $\sigma_i$ to a uniform value $c$ among all $\sigma$’s available values $c$, namely changing $\sigma_i$ to $c$ won’t violate any constraint