一類概率期望問題的殺器:勢函數和鞅的停時定理


考慮隨機事件序列$\{A_0, A_1, A_2, \dots\}$,隨機變量$T$為其停時。我們希望求$\mathbb{E}[T]$,但一般情況下是比較困難的。

可以考慮構造勢函數$\phi(A)$,滿足

  1. $ \mathbb{E}[\, \phi(A_{t+1})-\phi(A_t) \mid A_t, A_{t-1}, \dots, A_1, A_0 \,] = -1. $
  2. $ \phi(A_T) $為常數。

令$X_t = \phi(A_t)+t$,則

$$ \mathbb{E}[\, X_{t+1}-X_t \mid X_t, X_{t-1}, \dots, X_1, X_0 \,] = 0, $$

即$\{X_0, X_1, X_2, \dots\}$是鞅。若$T$也是$\{X_0, X_1, X_2, \dots\}$的停時,則根據停時定理,我們有

$$ \mathbb{E}[X_T] = \mathbb{E}[X_0], $$

$$ \mathbb{E}[T] = \phi(A_0)-\phi(A_T). $$

這即是我們本文主要討論的方法。

 

例題1

CodeForces 1349D. Slime and Biscuits

有$n$個人在玩傳球游戲,一開始第$i$個人有$a_i$個球。每一次傳球,等概率隨機選中一個球,設其當前擁有者為$i$,$i$將這個球等概率隨機傳給另一個人$j(j \neq i)$。當某一個人擁有所有球時,停止游戲。問游戲停止時的期望傳球次數。

 

解:

記球的總數為

$$ m = \sum_{i=1}^n a_i. $$

我們用$A_t = (a_{t,1}, a_{t,2}, \dots, a_{t,n})$來描述$t$次傳球后的游戲狀態。初始狀態為$A_0 = (a_{0,1}, a_{0,2}, \dots, a_{0,n})$。

考慮構造勢函數

$$ \phi(A_t) = \sum_{i=1}^n f(a_{t,i}). $$

注意到傳球游戲是一個Markov過程,即$A_{t+1}$只取決於$A_t$,則

$$ \mathbb{E}[\,\phi(A_{t+1})\mid A_t, \dots, A_0 \,] = \mathbb{E}[\,\phi(A_{t+1})\mid A_t \,].  $$

上式中的期望可考慮枚舉所有傳球可能,即以$\frac {a_{t,i}} {m} \cdot \frac 1 {n-1}$的概率,$i$會將球傳給$j(j \neq i)$,從而

$$ \begin{aligned} \mathbb{E}[\,\phi(A_{t+1})\mid A_t \,] & = \sum_{i} \sum_{j\neq i} \frac {a_{t,i}} {m(n-1)} \left[ f(a_{t,i}-1)+f(a_{t,j}+1)+\sum_{k \notin \{i,j\}} f(a_{t,k}) \right] \\
& = \sum_i \left[ \frac {a_{t,i}} m f(a_{t,i}-1) + \frac {m-a_{t,i}} {m(n-1)} f(a_{t,i}+1) + \frac {(m-a_{t,i})(n-2)} {m(n-1)} f(a_{t,i}) \right]. \end{aligned} $$

令$\mathbb{E}[\,\phi(A_{t+1})-\phi(A_t)\mid A_t \,] = -1$可得

$$ \sum_i f(a_{t,i}) = \sum_i \left[ \frac {a_{t,i}} m f(a_{t,i}-1) + \frac {m-a_{t,i}} {m(n-1)} f(a_{t,i}+1) + \frac {(m-a_{t,i})(n-2)} {m(n-1)} f(a_{t,i}) + \frac {a_{t,i}} m \right]. $$

於是,我們可取

$$ f(a) = \frac a m f(a-1) + \frac {m-a} {m(n-1)} f(a+1) + \frac{(m-a)(n-2)}{m(n-1)} f(a) + \frac a m. $$

一些邊界問題的處理如下:令$a = 0$帶入上式可得$f(0) = f(1)$,故可取$f(0) = f(1) = 1$,遞推式為

$$ f(a+1) = \left[ \frac {m(n-1)} {m-a} - (n-2) \right] f(a) - \frac {a(n-1)} {m-a} \left( f(a-1)+1 \right). $$

另一方面,我們注意到$\phi(A_T) = f(m)+(n-1)f(0)$為常數,故可應用停時定理,得

$$ \mathbb{E}[T] = \sum_{i} f(a_{0,i}) - \left(f(m)+(n-1)f(0)\right). $$

 

例題2

CodeForces 850F. Rainbow Balls

有$n$種不同顏色的球,其中第$i$種顏色的球有$a_i$個。每次從所有球中等概率隨機選出一個球A,再從所有球中等概率隨機選出另一個球B,將球B染成球A的顏色;直到所有球的顏色都相同為止。問染色次數的期望。

 

解:

記球的總數為

$$ m = \sum_{i=1}^n a_i. $$

我們用$A_t = (a_{t,1}, a_{t,2}, \dots, a_{t,n})$來描述$t$次染色后的狀態。

考慮構造勢函數

$$ \phi(A_t) = \sum_{i=1}^n f(a_{t,i}). $$

考慮所有染色可能,即

  1. 以$\frac {a_{t,i}} {m} \cdot \frac {a_{t,j}} {m-1}$的概率,將球$j(j \neq i)$染成球$i$的顏色;
  2. 以$\sum_i \frac {a_{t,i}(a_{t,i}-1)} {m(m-1)}$的概率,不發生任何變化。

從而

$$ \begin{aligned} \mathbb{E}\left[\,\phi(A_{t+1})\mid A_t\,\right] & = \sum_{i} \sum_{j \neq i} \frac {a_{t,i}a_{t,j}} {m(m-1)} \left[ f(a_{t,i}+1) + f(a_{t,j}-1) + \sum_{k \notin \{i,j\}} f(a_{t,k}) \right] + \sum_i \frac {a_{t,i}(a_{t,i}-1)} {m(m-1)} \sum_k f(a_{t,k}) \\ & = \sum_i \left[ \frac {a_{t,i}(m-a_{t,i})} {m(m-1)} \left( f(a_{t,i}+1) + f(a_{t,i}-1) \right) + \left(1-\frac {2a_{t,i}(m-a_{t,i})} {m(m-1)} \right) f(a_{i,t}) \right]. \end{aligned} $$

令$\mathbb{E}[\,\phi(A_{t+1})-\phi(A_t)\mid A_t \,] = -1$可得

$$ \sum_{i} f(a_{t,i}) = \sum_i \left[ \frac {a_{t,i}(m-a_{t,i})} {m(m-1)} \left( f(a_{t,i}+1) + f(a_{t,i}-1) \right) + \left(1-\frac {2a_{t,i}(m-a_{t,i})} {m(m-1)} \right) f(a_{i,t}) + \frac {a_{t,i}} {m} \right], $$

$$ \sum_i \left[ \frac {a_{t,i}(m-a_{t,i})} {m(m-1)} \left( f(a_{t,i}+1) + f(a_{t,i}-1) - 2f(a_{t,i}) \right) + \frac {a_{t,i}} {m} \right] = 0. $$

於是,我們可取

$$ \frac {a(m-a)} {m(m-1)} \left( f(a+1) + f(a-1) - 2f(a) \right) + \frac {a} {m} = 0, $$

$$ f(a+1)+f(a-1)-2f(a) = -\frac{m-1}{m-a}. $$

令$g(a) = f(a)-f(a-1)$,上式化為

$$ g(a+1) - g(a) = -\frac{m-1}{m-a}. $$

於是

$$ g(x) = g(0)-\sum_{a=0}^{x-1} \frac{m-1}{m-a}. $$

$$ f(x) = f(0)+\sum_{a=1}^x g(a) = f(0) + \sum_{a=1}^x \left[ g(0)-\sum_{b=0}^{a-1} \frac{m-1}{m-b} \right] = f(0)+xg(0)-(m-1)x+(m-1)(m-x)\sum_{b=0}^{x-1} \frac {1} {m-b}. $$

為方便起見,我們取$f(0) = 0, g(0) = m-1$,則

$$ f(x) = (m-1)(m-x)\sum_{b=0}^{x-1}\frac {1} {m-b}. $$

特別地,$f(m) = 0$。

另一方面,$\phi(A_T) = f(m) + (n-1)f(0) = 0$ 為常數,故可應用停時定理得

$$ \mathbb{E}[T] = \phi(A_0)-\phi(A_T) = \sum_{i} f(a_{0, i}). $$

 

例題3

CodeForces 1025G. Company Acquisitions

有$n$個人,一開始每個人都未被領導。每次修改領導情況:等概率隨機選擇一個未被領導的人$x$,再等概率隨機選擇另一個未被領導的人$y$,令$x$被$y$領導,並且所有原來被$x$領導的人的狀態變為未被領導。直到只剩下一個人未被領導(即其他所有人都被這個人領導)為止。問修改領導情況的期望次數。

 

解:我們把被同一個人領導的所有人加上領導者一起稱為一個【小組】。我們用$A = \{ a_{t,1}, a_{t,2}, \dots, a_{t, m_t} \}$來描述$t$次修改領導后的狀態,其中$m_t$表示$t$次修改領導后小組的個數,於是我們有

$$ \sum_{i=1}^{m_t} a_{t, i} = n. $$

考慮構造勢函數

$$ \phi(A_t) = \sum_{i=1}^{m_t} f(a_{t, i}). $$

考慮每次修改領導的所有可能,即以$\frac 1 {m_t(m_t-1)}$的概率,第$i$個小組的領導進入第$j(j \neq i)$組,並且第$i$個小組的組員(非領導人員)被拆散成$(a_{t,i}-1)$個只有1個人的小組。從而

$$ \begin{aligned} \mathbb{E}\left[\,\phi(A_{t+1})\mid A_t\,\right] & = \sum_{i} \sum_{j \neq i} \frac 1 {m_t(m_t-1)} \left[ (a_{t,i}-1) f(1) + f(a_{t, j}+1) + \sum_{k \notin \{i,j\}} f(a_{t,k}) \right] \\ & = \sum_i \left[ \frac 1 {m_t} f(a_{t,i}+1) + \left(1 - \frac 2 {m_t}\right) f(a_{t,i}) \right] +  \frac{n-m_t}{m_t} f(1). \end{aligned} $$

令$\mathbb{E}[\,\phi(A_{t+1})-\phi(A_t)\mid A_t \,] = -1$可得

$$ \sum_i f(a_{t,i}) = \sum_i \left[ \frac 1 {m_t} f(a_{t,i}+1) + \left(1 - \frac 2 {m_t}\right) f(a_{t,i}) + \frac{n-m_t}{m_t^2} f(1) + \frac 1 {m_t} \right]. $$

我們可取

$$ f(a) = \frac 1 m f(a+1) + \left(1 - \frac 2 m \right) f(a) + \frac {n-m} {m^2} f(1) + \frac 1 m $$

對任意$m$恆成立。整理后可得

$$ f(a+1)-2f(a) + \frac{n-m}{m} f(1) + 1 = 0. $$

令$f(1) = 0$,且滿足遞推式$f(a+1) = 2f(a)-1$即滿足上式,解為

$$ f(a) = 1-2^{a-1}. $$

另一方面,$\phi(A_T) = f(n) = 1-2^{n-1}$ 為常數,故可應用停時定理得

$$ \mathbb{E}[T] = \phi(A_0) - \phi(A_T) = \sum_{i} \left( 1-2^{a_{0, i}-1} \right) - \left( 1-2^{n-1} \right). $$

 

例題4:

CodeForces 1479E. School Clubs (Problem by myself)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM