利用鞅停時定理、構造勢能函數求解期望類問題

鞅、停時定理

鞅,用來描述一種 公平連續 隨機過程。首先來看定義,這裏只考慮離散意義下的鞅。

稱隨機過程 \(X=\{X_n,n\ge 0\}\),若

  1. \(E(|X_n|)\le\infty\)
  2. \(E(X_{n+1}|X_0,\cdots,X_n)=E(X_n)\)

稱隨機過程 \(Y=\{Y_n,n\ge 0\}\) 是關於 \(X\),若

  1. \(Y_n\) 僅僅與 \(X_0\cdots X_n\) 有關;
  2. \(E(Y_{n+1}|X_0\cdots X_n)=E(Y_n)\)

直觀來看,鞅就是一個隨機過程:在已知前面所有 \(s\) 時刻之前的觀測值,\(s\) 之後的期望與 \(s\) 時刻的期望相等。鞅描述了一種連續期望下的一種不動性。

隨機時刻:設取值爲 \(\N\cup\{\infty\}\) 的隨機變量 \(T\),及隨機過程 \(\{X_n,n\ge 0\}\),若 \(\forall n\ge 0\),事件 \(\{T=n\}\) 的示性函數 \(I_{\{T=n\}}\) 僅僅是關於 \(X_0,\cdots,X_n\) 的函數,則稱 \(T\) 是隨機過程 \(\{X_n,n\ge 0\}\) 的隨機時刻。

停時:隨機時刻 \(T\) 在不僅滿足定義,並且滿足 \(P(T<\infty)=1\),則稱 \(T\) 是隨機過程 \(\{X_n,n\ge 0\}\) 的停時。

停止過程:若 \(T\) 是對過程 \(\{X_n,n\ge 0\}\) 的一個隨機時刻,稱 \(X_{n\land T}\) 爲停止過程,其中 \(a\land b=\min\{a,b\}\)

不難證明停止過程也是關於 \(\{X_n,n\ge 0\}\)

停時定理:假設 \(M=\{M_n,n\ge 0\}\) 是關於 \(X=\{X_n,n\ge 0\}\) 的鞅,\(T\) 是停時,\(P(T<\infty)=1\),有 \(E(M_{n\land T})=E(M_0)\).

若滿足下列三個條件之一:

  1. \(|M_{n\land T}|\) 幾乎處處有界 \(\Leftrightarrow |M_{n\land T}|\le K\);(\(\rm bounded~in~space\)
  2. \(T\) 幾乎有限 \(\Leftrightarrow P(T\le K)=1\);(\(\rm bounded~in~time\)
  3. \(E(T)<\infty\),並且 \(E(|M_{n+1}-M_n|\mid X_0\cdots X_n)\le K\);(\(\rm bounded~in~increments\)

則有 \(E(M_T)=E(M_0)\) 成立。

猴子打字問題

給定字符集大小爲 \(m\),長度爲 \(n\) 的串 \(s\)。初始時,令字符串 \(t=\phi\),每次在 \(t\) 後面隨機加入一個字符。求 \(s\) 第一次成爲 \(t\) 後綴的期望時間。

常規做法:設 \(F(x)\) 表示不同長度下,\(s\) 第一次成爲 \(t\) 後綴的概率生成函數,\(G(x)\) 表示不同長度下,\(s\) 沒有成爲 \(t\) 後綴的概率生成函數。

\(G\) 後加任意一個字符,只會變成 \(F\)\(G\) 的一種,得到

\[xG(x)+1=F(x)+G(x)\Rightarrow G(x)=\frac{1-F(x)}{1-x} \]

\(G\) 後面添加 \(s\),有可能提前成爲 \(F\),成爲 \(F\) 之前加入的部分一定爲 \(\rm border\)。設 \(c(x)=\sum_{i=1}^n[s[1,i]=s[n-i+1,n]](\frac xm)^{n-i}\),得到

\[F(x)c(x)=G(x)\left(\frac xm\right)^n \]

聯立得到

\[F(x)(x^n+m^nc(x)(1-x))=x^n \]

期望爲 \(F'(1)\)。兩邊求導後代入 \(F(1)=1\)\(x=1\),即可得到結果爲 \(\sum_{i=1}^n[s[1,i]=s[n-i+1,n]]m^i\)

使用 停時定理 也可求解。

假設在每個時刻,有一個賭徒拿着 1 元錢入場,並押當前這一次隨機的字符爲 \(s_1\)。如果沒押中,輸光離場;押中了,資金變成 \(m\) 倍。下一次他押 \(s_2\),同樣按照剛剛的方法;下一次押 \(s_3\)\(s_4\)\(\cdots\),直到押中 \(s_n\) 爲止,此時他有 \(m^n\) 元錢,或者輸光離場。

不難發現每個賭徒在任何時候的 期望收益 爲 0,在第 \(t\) 個時刻後,設所有賭徒的 金額總和 期望爲 \(A_t\),則 \(\{A_t-t,t\ge 0\}\) 是鞅。

\(T=\min\{x:t[n-x+1,n]=s\}\),則 \(T\) 是一個停時,同時 \(0\le A_{t\land T}-t\land T\le \sum_{i=1}^nm^i-n\) 有界,由停時定理得到

\[E(A_T-T)=E(A_0-0) \]

\[E(A_0-0)=E(A_0)=0 \]

\[E(T)=E(A_T)=\sum_{i=1}^n[s[1,i]=s[n-i+1,n]]m^i \]

\(E(A_T)\) 的意義爲:\(T\) 到來時(即結束時),所有賭徒的金額總和。顯然上式成立。

勢能函數

我們發現求解這類問題的關鍵,就是選取一個好的鞅,利用停時定理求解方程。這時,構造一個好的 勢能函數 將會大有功用。

給定隨機序列 \(A=\{A_n,n\ge 0\}\)\(T\) 爲停時,求 \(E(T)\)

構造勢能函數 \(\Phi(A)\),滿足:

  1. \(E(\Phi(A_{n+1})-\Phi(A_n)|A_0,\cdots,A_n)=-1\)
  2. \(\Phi(A_T)\) 爲常數,且 \(\Phi(A_i)=\Phi(A_T)\) 當且僅當 \(i=T\)

構造序列 \(X_n=\Phi(A_n)+n\),則 \(X=\{X_n,n\ge 0\}\) 是關於 \(A\) 的鞅。

利用停時定理,得到:\(E(X_T)=E(X_0)\),即 \(E(\Phi(A_T)+T)=E(\Phi(A_0))\Rightarrow E(T)=E(\Phi(A_0))-\Phi(A_T)\)

CF1025G Company Acquisitions

給定 \(n\) 個節點,每個節點要麼爲根,要麼父親爲根;

現在有一種操作:等概率選取兩個 不同的根 \(x\)\(y\)(關心順序),將 \(y\) 的所有孩子變成根(有可能沒有),\(y\) 的父親設成 \(x\)

該操作當且僅當只剩下一個根時結束。

詢問期望操作數,對 \(10^9+7\) 取模。\(n \le 500\)

做法:設一棵有 \(x\) 個孩子的樹的勢能爲 \(f(x)\),當前局面勢能 \(\Phi(A)=\sum_{a_i\in A}f(a_i)\)。對於操作,假設兩棵樹的孩子分別爲 \(x\)\(y\),操作完成以後,對於先後狀態的變化關係,根據 \(x\rightarrow y\)\(y\rightarrow x\) 的概率各佔一半,利用上面的公式,我們可以列出

\[\Phi(A_{n+1})-\Phi(A_n)=-1\Rightarrow\left(\frac12(f(x+1)+yf(0))+\frac12(f(y+1)+xf(0))\right)-(f(x)+f(y))=-1 \]

由於是勢能,我們不關心 \(f(0)\) 的值,不妨設 \(f(0)=0\),得到

\[f(x)+f(y)=\frac12f(x+1)+\frac12f(y+1)+1 \]

\[\Rightarrow f(x+1)+f(y+1)=(2f(x)-1)+(2f(y)-1) \]

由於對於任意 \(x,y\) 方程均成立,我們可以寫出

\[f(x+1)=2f(x)-1 \]

解得 \(f(x)=1-2^x\)

依據停時定理,最後求起末狀態的勢能差即可。

CF850F Rainbow Balls

袋子裏有 \(n\) 種顏色的球,第 \(i\) 種顏色有 \(a_i\) 個。

每次操作:等概率取出兩個球 \(x\)\(y\)(有序),將 \(y\) 的顏色變成 \(x\) 的顏色。操作直到所有球顏色相同時停止。

期望多少次操作後停止。答案對 \(10^9+7\) 取模。

\(n\le 2500\)\(a_i\le 10^5\)

常規做法:設 \(f_i\) 表示當下某種顏色的球有 \(i\) 個,該顏色能成爲成爲最終所有球的顏色時的期望次數。首先 \(f_i\) 是條件期望,由全期望公式,答案就是

\[\sum_{i=1}^np_{a_i}f_{a_i} \]

\(p_{a_i}\) 表示某種顏色有 \(a_i\) 個,其能成爲最終顏色的概率。

第一步,我們要求解 \(p_i\)。假設 \(s=\sum_{i=1}^na_i\),不難列出

\[p_i=\frac{i(s-i)}{s(s-1)}(p_{i-1}+p_{i+1})+\left(1-\frac{2i(s-i)}{s(s-1)}\right)p_i \Rightarrow 2p_i=p_{i-1}+p_{i+1} \]

易知 \(\{p\}\) 成等差,代入 \(p_0=0\)\(p_s=1\) 得到 \(p_i=\frac is\)

現在列期望的方程。由條件期望得到

\[f_i=\frac{p_{i-1}}{p_i}\frac{i(s-i)}{s(s-1)}f_{i-1}+\frac{p_{i+1}}{p_i}\frac{i(s-i)}{s(s-1)}f_{i+1}+\left(1-\frac{p_{i-1}}{p_i}\frac{i(s-i)}{s(s-1)}-\frac{p_{i+1}}{p_i}\frac{i(s-i)}{s(s-1)}\right)f_i+1 \]

\[\Rightarrow 2if_i=(i-1)f_{i-1}+(i+1)f_{i+1}+\frac{s(s-1)}{s-i} \]

\(g_i=if_i-(i-1)f_{i-1}\),有 \(g_{i+1}=g_i-\frac{s(s-1)}{s-i}\) 成立,再令 \(h_i=g_{i+1}-g_{i}=-\frac{s(s-1)}{s-i}\),則 \(g_n=g_1+\sum_{i=1}^{n-1}h_i\)\(nf_n=\sum_{i=1}^ng_i=ng_1+\sum_{i=1}^{n-1}(n-i)h_i\),代入 \(f_s=0\) 得到

\[sg_1=sf_1=s(s-1)^2\Rightarrow f_1=(s-1)^2 \]

剩餘部分線性遞推即可。複雜度 \(\mathcal O(\max a_i\log P)\)

勢能法:定義 \(f(x)\) 表示同種顏色有 \(x\) 個球的勢能,當前局面勢能 \(\Phi(A)=\sum_{a_i\in A}f(a_i)\)。對於操作:我們有 \(\frac{a_i(a_i-1)}{s(s-1)}\) 的概率選出來兩個相同顏色的球,有 \(\frac{a_ia_j}{s(s-1)}\) 的概率將 \(i\) 變成 \(j\)

於是有

\[\Phi(A_{n+1})=\frac1{s(s-1)}\left(\sum_ia_i(a_i-1)\Phi(A_n)+\sum_{i\ne j}a_ia_j(\Phi(A_n)-f(a_i)-f(a_j)+f(a_i+1)+f(a_j-1))\right) \]

\[\Rightarrow \Phi(A_{n+1})-\Phi(A_n)=\sum_{i\ne j}\frac{a_ia_j}{s(s-1)}(f(a_i+1)+f(a_j-1)-f(a_i)-f(a_j)) \]

\[\Rightarrow \Phi(A_{n+1})-\Phi(A_n)=\sum_{i\ne j}\frac{a_ia_j}{s(s-1)}(f(a_i+1)+f(a_i-1)-2f(a_i))=-1 \]

最後一步利用 \((i,j)\)\((j,i)\) 對調部分項得到。

繼續

\[\sum_i\frac{a_i(s-a_i)}{s(s-1)}(f(a_i+1)+f(a_i-1)-2f(a_i))=-1 \]

\[\Rightarrow\sum_ia_i\left(1+\frac{s-a_i}{s-1}(f(a_i+1)+f(a_i-1)-2f(a_i))\right)=0 \]

我們希望這個式子恆成立,於是直接令

\[1+\frac{s-a_i}{s-1}(f(a_i+1)+f(a_i-1)-2f(a_i))=0 \]

\[(f(x+1)-f(x))-(f(x)-f(x-1))=-\frac{s-1}{s-x} \]

似曾相識?!基本上跟上面一樣了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章