countable-state markov chain

对于为什么叫 countable-state,我一直不理解。。。。明明state是infinite的=。=不过一旦在infinite的情况下,很多东西就要改变了。

还是从state说起

在markov chain中,我们对每个state都分成了2类:recurrent和transient,并且证明了如果markov chain为ergodic,必然会收敛。这个简单的东西放在这里就不简单了。
还是以掷硬币为例,正面的1分,反面扣1分。这个过程用markov chain描绘的话如下:

我们可以直观的看到,当 $p\neq1-p$ 时,整个链条要不向左,要不向右无限扩展。但是这个markov chain的period为2,我们做个截断,让他变成1:

但是如果 $p>\dfrac{1}{2}$ 的话,整个链条仍然会无限扩展,依然没有稳定状态。而 $p=\dfrac{1}{2}$ 时,停留在每个state的概率都趋向于0。这是一个很特殊的状态,被称为 null-recurrent。

为了对countable-state markov chain的state进行定义,我们引入以前提过的first-passage-time probability的概念,其定义为 $f_{ij}(n)=Pr\left\{X_n=j,X_{n-1}\neq j,X_{n-2}\neq j...X_1\neq j | X_0 = i\right\}$ 。当然了 $i=j$ 是允许的。

在first-passage-time的基础上,引入 $F_{ij}(n) = \sum_{m=1}^n f_{ij}(m)$

我们可以定义 rv $T_{ij}$ 为从state i出发,第一次到达state j。 则 $f_{ij}$ 可以视为 $T_{ij}$ 的PMF,而 $F_{ij}$ 可以视为 $T_{ij}$ 的分布函数。

在此基础上,我们可以对state进行定义:state j is recurrent if $F_{jj}(\infty) = 1$ ;is transient if $F_{jj}(\infty) < 1$

根据 $F_{ij}(n)$ 的定义,可知
$F_{ij}(n) = P_{ij} + \sum_{k\neq j}P_{ik}F_{kj}(n-1)$

$n\to\infty$ 时,等式依然成立,因此我们联立多个方程就可以求解。当然,理论上来说,无论如何 $F_{ij}(n)=1$ 都是可行解。但是当state为transient时,还存在一组“非1解”(+ _ +) 。

我们令 $N_{jj}(t)$ 表示从state j出发,在t时间内到达 state j的次数。则下面四个描述是等价的:

  • state j is recurrent
  • $\lim_{t\to\infty} N_{jj}(t) = \infty$ WP1
  • $\lim_{t\to\infty} E[N_{jj}(t)] = \infty$
  • $\lim_{t\to\infty} \sum_{1\le n\le t} P_{jj}^n = \infty$

有了上面的结论,很容易证明当state i和j互相可达,state j为recurrent时,state i也是recurrent ($\sum_{n=1}^\infty P_{ii}^n \ge \sum_{n=1}^\infty P_{ii}^{m+n+k}\ge P_{ik}^mP_{kj}^k\sum_{n=1}^\infty P_{kk}^n$)。
所以对于 countable-state markov chain 来说,一个class中所有的state都是transient或者recurrent的。

对于同处于一个recurrent class的state i和j来说, $F_{ij}(\infty) = 1$

证明:令 $\alpha$ 表示从 i到j的概率。则从state i 出发第一次回到state i 而不经过state j的概率必不大于 $1-\alpha$ ;第二次必不大于 $(1-\alpha)^2$ … 第n次 必不大于 $(1-\alpha)^n$ 。当 $n\to\infty$ 时,必有 $F_{ij}(\infty) = 1$

对于处于同一个recurrent class的state i和j,若 $i\neq j$ ,则 $N_{ij}(t)$ 为delay renewal process。我们令 $\bar{T}_{ij}$ 表示state i到j的first-passage time的期望。则 $\bar{T}_{ij} = 1 + \sum_{i=1}^\infty (1-F_{ij}(n))$ 。直观上看,如果 $F_{ij}(\infty)=1$$\bar{T}_{ij}$ 必然为finite。但是在讨论birth-death markov chain时,我们会发现存在 $F_{ij}(\infty)=1$$\bar{T}_{ij} = \infty$ 的情况。因此recurrent state有必要进行分类。

我们将 $F_{jj}(\infty)=1, \bar{T}_{jj} < \infty$ 的state j称为 positive-recurrent;$F_{jj}(\infty)=1, \bar{T}_{jj} = \infty$ 的state j称为 null-recurrent。

我们可以看到 $T_{jj}$ 是IID rv,所以 $N_{jj}(T)$ 可以视为renewal process。根据renewal process的性质,可知:
$$\lim_{t\to\infty} \dfrac{N_{jj}(t)}{t} = \dfrac{1}{\bar{T}_{jj}}\\ \lim_{t\to\infty} E\Big[\dfrac{N_{jj}(t)}{t}\Big] = \dfrac{1}{\bar{T}_{jj}}$$

根据Blackwell’s theorem,有
$\lim_{n\to\infty} Pr\left\{X_{n\lambda} = j | X_0 = j\right\} = \dfrac{\lambda}{\bar{T}_{jj}}$
而在markov chain中, $\lambda$ 就是period。

上面的结论对于 $N_{ij}$ 同样成立

在markov chain中,同一个class中所有的state都是一样的,即都是positive-recurrent,null-recurrent或者transient。前面我能已经证明了recurrent和transient的情况,因此这里我们只需要证明positive-recurrent和null-recurrent。

首先证明positive-recurrent的情况。令 $R(t) =1$ 当t时刻在state i。根据renewal-reward process,有
$\dfrac{1}{\bar{T}_{ii}} = \lim_{t\to\infty}\dfrac{1}{t}\int^t_0R(\tau)d\tau = \dfrac{E[R_n]}{\bar {T}_{jj}}$
第一个等号成立是因为我们可以将 $\lim_{t\to\infty}\dfrac{1}{t}\int^t_0R(\tau)d\tau$ 视为停留在state i的时间占总时间的比值,而我们在前面计算出了这个比值。显而易见,当state j为positive-recurrent时,$T_{jj} < \infty$,故 $T_{ii} < \infty$ 。反之也成立。

对于停留时间的比例这种东西,敏感的人可能会将它和 $\pi_j$ 对应。对于 irreducible的markov chain来说,确实如此。irreducible markov chain就是所有的state都在同一个recurrent class里面。

证明:令 $\pi_j$ 为markov chain的初始概率分布,$\tilde{N}(t)$ 为在时间1到t之间出现在state j的次数。则
$$(1/t)E[\tilde{N}(t)] = (1/t)\sum_{1\le n\le t} Pr\left\{X_n=j\right\} = \pi_j\\ \pi_j = (1/t)E[\tilde{N}_j(t)] = \sum_i \pi_iE[N_{ij}(t)]\ge \sum_{i\le M} \pi_iE[N_{ij}(t)]\\ E[N_{ij}(t)] \le E[N_{ij}(T_{ij}+t)] = 1+E[N_{jj}]\\ \Rightarrow \pi_j \le 1/t + E[N_{jj}(t)/t]\\ \Rightarrow \lim_{t\to\infty}\pi_j = \pi_j \le \lim_{t\to\infty} (1/t + E[N_{jj}(t)/t])=1/\bar{T}_{jj}\\ \lim_{t\to\infty}\pi_j = \pi_j \ge \lim_{t\to\infty}\sum_{i\le M} \pi_iE[N_{ij}(t)] = \sum_{i\le M} \pi_i/T_{jj} \ge 1/T_{jj}\\ \Rightarrow \pi_j = 1/T_{jj}$$

Age of renewal process

我们用下图的markov chain 描绘renewal的interval

其中 $P_{n,n+1} = Pr\left\{W>n+1\right\}/Pr\left\{W>n\right\}$$Pr\left\{W>n\right\}$ 表示interval大于n个时间单元, $Pr\left\{W>0\right\} =1$


$$\begin{aligned} \pi_n &= \pi_{n-1}P_{n-1, n} = \pi_{n-2}P_{n-2,n-1}P_{n-1, n}= \pi_0P_{0,1}...P_{n-1, n}\\ &= \pi_0\dfrac{Pr\left\{W>1\right\}Pr\left\{W>2\right\}...Pr\left\{W>n\right\}}{Pr\left\{W>0\right\}Pr\left\{W>1\right\}...Pr\left\{W>n-1\right\}} = \pi_0Pr\left\{W>n\right\} \end{aligned}$$


$$\pi_0 = \dfrac{1}{\sum_{n=0}^\infty Pr\left\{W>n\right\}} = \dfrac{1}{E[W]}\\ \pi_n = \dfrac{Pr\left\{W>n\right\}}{E[W]}$$

birth-death markov chain

birth-death markov chain如下图所示:

从state i转移到 state i+1的次数可以表示为 $\pi_ip_i$ ,其中 $\pi_i$ 为系统稳定时在state i的概率。类似的,将state i+1转移到 state i的次数表示为 $\pi_{i+1}q_i$ 。若系统存在稳定状态,则 $\pi_ip_i = \pi_{i+1}q_i$

$\rho_i=p_i/q_{i+1}$ ,则有 $\pi_j = \rho_i\pi_i$ 。故
$$\pi_i = \pi_0\prod_{j=0}^{i-1}\rho_i\\ \pi_0 = \dfrac{1}{1+\sum_i^{\infty}\prod_{j=0}^{i-1}\rho_i}$$

Reversible markov chain

根据markov chain的定义有:
$$Pr\left\{X_{n+1}|X_n,X_{n-1}...X_0\right\} = Pr\left\{X_{n+1}|X_n\right\}\\ Pr\left\{X_{n+k}, X_{n+k-1}, ...X_{n+1}|X_n,X_{n-1}...X_0\right\} = Pr\left\{X_{n+k}, X_{n+k-1}, ...X_{n+1}|X_n\right\}$$
$A^+$ 表示 state $X_{n+1}$$X_{n+k}$ 的任意事件; $A^-$ 表示 state $X_{1}$$X_{n-1}$ 的任意事件。则:
$$Pr\left\{A^+|X_n, A^-\right\} = Pr\left\{A^+|X_n\right\}\\ Pr\left\{A^+, A^-|X_n\right\} = Pr\left\{A^+|X_n\right\}Pr\left\{A^-|X_n\right\}\\ Pr\left\{A^-|X_n, A^+\right\} = Pr\left\{A^+|X_n\right\}\\ \Rightarrow Pr\left\{X_{n-1}|X_n\right\} = \dfrac{Pr\left\{X_n|X_{n-1}\right\}Pr\left\{X_{n-1}\right\}}{Pr\left\{X_n\right\}}$$
很容易发现, $Pr\left\{X_{n-1}|X_n\right\}$ 是随 $n$ 而改变的。因此backward markov chain不一定为homogeneous(即满足 $Pr\left\{X_{n+1}|X_n\right\}=Pr\left\{X_1|X_0\right\}$)。对于steady-state来说, $Pr\left\{X_{n+1}=j\right\} = Pr\left\{X_n=j\right\} = \pi_j$ 。此时,
$Pr\left\{X_{n-1} = j|X_n = i\right\} = P_{ji}\pi_j/\pi_i$
如果我们令 $P_{ij}^*$ 表示backward markov chain的转移概率,则有 $\pi_i P_{ij}^* = \pi_j P_{ji}$ 。而对于steady-state markov chain来说,必有 $\pi_i P_{ij} = \pi_j P_{ji}$ 。故我们可以推出 $P_{ij}^* = P_{ij}$

对于irreducible markov chain来说,如果对于所有的 $i,j$ 都有 $\pi_i P_{ij} = \pi_j P_{ji}$$\pi_i$ 就是其steady-state的分布;而它本身则是reversible。
假设irreducible markov chain的转移概率为 $P_{ij}$$\pi_i$ 是和为1的正数集合,$P_{ij}^*$ 是转移概率,如果有
$\pi_iP_{ij} = \pi_jP_{ji}^*$
$\pi_i$ 是steady-state分布, $P_{ij}^* {}$ 是backward chain的转移概率。

M/M/1 queue

现用 markov chain 建模M/M/1 queue。假设 arrival rate为 $\lambda$ ,departure rate 为 $\mu$ 。还是将时间划分多个无穷小的等分,每等分的时间为 $\delta$ 。则M/M/1 queue可以表示为:

这被称为M/M/1 sample-time Markov chain

根据上节的描述,则有:
$$\rho = \lambda / \mu < 1\\ \pi_i = \pi_0 \rho ^i \\ \Rightarrow \pi_i = (1-\rho) \rho^i$$

而这个chain本身就是birth-death chain。当 $\rho <1$ 时,它是reversible。左移和右移的过程有一些相似点:

  1. 都可以被视为 M/M/1 chain
  2. 左移的arrival可以被视为右移的departure

由此我们可以总结出:

  • departure也是 Bernoulli
  • $n\delta$ 时刻的状态 $X_n$ 与之前的departure没有关系。

这被称为Burke’s theorem。Burke’s theorem并不需要 $\mu$ 对于所有的state保持一致,因此对于任何birth-death chain来说,只要arrival和当前的state无关(比如G/G/m queue),就可以使用。

#Branching process
Branching process是一种特殊的markov chain,其 $X_{n+1},X_n$ 的关系为:
$$\begin{equation} \label{eq:branch} X_{n+1} = \sum_{k=1}^{X_n} Y_{k,n} \end{equation}$$
其中 $Y_{k,n}$ 为rv , $p_j = Pr\left\{Y_{k,n}= j\right\}$$P_{ij} = Pr\left\{X_{n+1}= j|X_{n}= i\right\} = Pr\left\{\sum_{k=1}^iY(k,n) = j\right\}$

看上去很复杂,其实过程很简单。假设有一种生物只能活一年,每年可以自交(ˉ▽ˉ;)产生后代。我们在第一年养一只,然后每年统计种群的个数。在这个问题中,每个个体产生后代的数量就是 $Y_{k,n}$$k,\ n$分别表示个体的标号以及时间。 而我们最关注的问题就是这个种群会不会灭绝,也就是 $X_n=0$

在前面我们将 $F_{ij}(n)$ 定义为 $X_0=i$ 在n时刻前访问state j的概率。因此我们的问题可以形式化为 $F_{i0}(n)$ 。每个个体时候产生后代是独立的,因此有 $F_{i0}(n) = {F_{10}(n)}^i$ 。所以显然,我们需要计算出 $F_{10}(n)$
$F_{10}(n)= P_{10} + \sum_{k=1}^\infty P_{1k}[F_{10}(n-1)]^k = \sum_{k=0}^\infty P_{1k}[F_{10}(n-1)]^k$
$h(z) = \sum_k P_{1k}z^k$ ,则 $F_{10}(n) = h(F_{10}(n-1))$ 。通过函数,我们可以找到 $h(z)$ 的一些性质:

  • $h(z) = z$ 必有解 $z = 1$
  • $h'(1) = \sum_k kP_{1k} = \bar{Y}$
  • $h''(z) \ge 0 \text{ for } 0\le z\le 1$
  • $h(0) = P_{10} = p_0$

通过上面的结论,可以发现 $h(z)$ 为凸函数,所以我们可以画出其图像:

我们可以看到当 $\bar{Y} < 1$ 时, $F_{10}(\infty) = 1$

由 \ref{eq:branch} 可知:
$E[X_n] = \bar{Y}E[X_{n-1}] = {\bar{Y}}^nE[X_0]$
通过期望,我们可以看到上面的结论。但是需要注意的是,通过这种方式并不能真实的反映出 $E[X_n]$ 。对于 $\bar{Y} = 1, X_0=1$ 来说, $E[X_n]=1$ 但是 $h(\infty)$ 是无限趋向于1的。在这种情况下,种群内个体数量极少的可能性极大,但是通过期望,我们看不到这一点。

Round-robin and process sharing

在排队过程中,如果我们优先处理服务时间较短的客户,那么整体的delay(即renewald的 $U(t)$ )就会下降。实际场景往往不允许这种事情发生。计算机系统中也面临这种问题,而通常的处理方法是Round-robin,即处理A一会,然后处理B。。。轮流一圈之后继续处理A。而每个任务的处理时间 $\delta$ 都是一样的,即处理A $\delta$ 之后处理B。。。。

process sharing也是一样的,不过其 $\delta = 1/m$$m$ 为任务数量。

下面我们证明通过Round-robin可以降低队伍的平均delay。令 $W_i$ 表示第 $i$ 个任务所需的服务时间, $f(j) = Pr\left\{W_j = j\delta\right\}, \bar{F}(j)= Pr\left\{W_j > j\delta\right\}$ ,则用户在j次服务之后还需要一次服务的概率 $g(j) = f(j+1)/\bar{F}(j)$

这里还需要 state s。我们将s定义为 $s = (m, z_1, z_2...z_m)$ ,其中m为用户数, $z_i\delta$ 是第 $i$ 个用户的总服务时间。

我们在已知state $X_n$ 的情况下,可能会发现下面几种情况:

  1. 来了新用户(概率为 $\lambda\delta$),被首先处理
  2. 队首用户接受服务,时长为 $\delta$
  3. 该用户可能离开
  4. 该用户不离开,转到队尾。

总结一下,就是4种情况:

  1. 没人来没人走, 概率记为 $P_{s,r(s)}$
  2. 有人来没人走, 概率记为 $P_{s,a(s)}$
  3. 没人来有人走, 概率记为 $P_{s,d(s)}$
  4. 有人来了就走, 概率记为 $P_{s,s}$

则有:
$$\begin{aligned} P_{s,r(s)} &= (1-\lambda\delta)[1-g(z_1)] \quad r(s)=(m,z_2...z_m,z_1+1)\\ P_{s,d(s)} &= (1-\lambda\delta)g(z_1)\quad d(s)=(m-1, z_2...z_m,1)\\ P_{s,a(s)} &= \lambda\delta[1-f(1)]\quad a(s)=(m+1,z_1, z_2...z_m,1)\\ P_{s,s} &= \lambda\delta f(1) \end{aligned}$$

现在我们通过backward chain找到steady-state的分布。backward的过程中,有几点需要注意:

  • 原来的队尾成了队首
  • $z_i\delta$ 是第 $i$ 个用户还需要的服务时间

通过这种转换,我们可以求出$P^*$
$$P_{r(s),s}^* = 1-\lambda\delta \\ P_{a(s),s}^* = 1-\lambda\delta \\ P_{d(s),s}^* = \lambda\delta f(z_1+1) \\ P_{s,s}^* = 1-\lambda\delta f(1) \\$$
通过 $\pi_iP_{ij} = \pi_j P^*_{ji}$ ,带入上式( $d(s)$ 的式子 ),可以求出:
$\pi_s = \dfrac{\lambda\delta}{1-\lambda\delta} \bar{F}(z_1)\pi_{d(s)}$
注意到我们可以通过 $\pi_{d(s)}, \pi_{d(d(s))}$ 的递推关系,得到:
$\pi_s = \Big(\dfrac{\lambda\delta}{1-\lambda\delta}\Big)^2 \bar{F}(z_1)\bar{F}(z_2)\pi_{d(d(s))} = ... =\Big(\dfrac{\lambda\delta}{1-\lambda\delta}\Big)^m \Big(\prod_{j=1}^m\bar{F}(z_j)\Big)\pi_{\emptyset}$
当然,如果你不嫌麻烦,可以带到上面剩下的3个式子里面一一验证,应该是可以通过的。
我们定义 $P_m = \sum_{z1, z_2...z_m}\pi(m, z_1, z_2,...,z_m)$ 为系统中存在m个用户的概率。则
$P_m = \Big(\dfrac{\lambda\delta}{1-\lambda\delta}\Big)^m \Big(\prod_{j=1}^m\sum_{i=1}^\infty\bar{F}(i)\Big)\pi_{\emptyset}$
又因为 $\delta \sum_{i=1}^\infty\bar{F}(i) = E[W]-\delta$$P_m = \Big(\dfrac{\lambda}{1-\lambda\delta}\Big)^m \Big(E[W]-\delta\Big)^m\pi_{\emptyset}$ 。令 $\rho = \Big(\dfrac{\lambda}{1-\lambda\delta}\Big) \Big(E[W]-\delta\Big)$ ,则 $\pi_{\emptyset} = 1-\rho, P_m = \rho^m(1-\rho)$
除了 $\rho$ 的值不一样外,这和 M/M/1 queue 是一样的,得证

对于process sharing的过程来说,过程是一样的,只是 $\delta\to\infty$ 而已。