势函数和鞅的停时定理

前置芝士

鞅:

鞅是一类特殊的随机过程,假设我们从一开始就在观察一场赌博游戏,现在已经得到了前t秒的观测值,那么当第t+1 秒观测值的期望等于第t秒的观测值时,我们称这是一个公平赌博游戏。

具体来说,对于一个随机过程 A 1 , A 2 , . . . {A_1,A_2,...} A1,A2,...,如果 E ( A n + 1 ∣ A 0 , A 2 , . . A n ) = A n E(A_{n+1}|A_0,A_2,..A_n)=A_n E(An+1A0,A2,..An)=An,我们称该随机过程为鞅。

鞅的停时定理:

设时停时间(在不知道随机过程的中间状态下停止的时刻)为t,则 E ( t ) = E ( 0 ) E(t)=E(0) E(t)=E(0)

这个E到底是什么,由具体的情境而定,但是只要一个随机过程是一个鞅,它就有该结论

势函数

接下来我们考虑一个很常见的问题:

对于一个随机过程 A 1 , A 2 , . . . {A_1,A_2,...} A1,A2,...,如果其终止状态 A t A_t At是确定的,求 E [ t ] E[t] E[t],即时停时刻的期望(注意这里我们不要求该随机过程是一个鞅

为此,我们引入一个势函数 ϕ ( X ) \phi(X) ϕ(X)

并且 ϕ ( x ) \phi(x) ϕ(x)满足如下性质:

  • ∀ n < t , E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 \forall nn<t,E(ϕ(An+1)ϕ(An)A0,A1,...An)=1,即势能不断降低
  • E ( ϕ ( A t ) ) = C E(\phi(A_t))=C E(ϕ(At))=C,是一个常值

那么如果我们令 X t = ϕ ( A t ) + t X_t=\phi(A_t)+t Xt=ϕ(At)+t,则 E ( X n + 1 − X n ∣ x 0 , x 1 . . . x n ) = E ( ϕ ( A n + 1 ) − ϕ ( A n ) + 1 ∣ x 0 , x 1 . . . x n ) = E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ x 0 , x 1 . . . x n ) + 1 = 0 E(X_{n+1}-X_n|x_0,x_1...x_n)=E(\phi(A_{n+1})-\phi(A_n)+1|x_0,x_1...x_n)=E(\phi(A_{n+1})-\phi(A_n)|x_0,x_1...x_n)+1=0 E(Xn+1Xnx0,x1...xn)=E(ϕ(An+1)ϕ(An)+1∣x0,x1...xn)=E(ϕ(An+1)ϕ(An)x0,x1...xn)+1=0

我们发现随机过程 X t X_t Xt就是一个鞅了

那么由鞅的停时原理, E ( X t ) = E ( X 0 ) E(X_t)=E(X_0) E(Xt)=E(X0),即 E ( ϕ ( A t ) + t ) = E ( ϕ ( A 0 ) + 0 ) E(\phi(A_t)+t)=E(\phi(A_0)+0) E(ϕ(At)+t)=E(ϕ(A0)+0),也即 E ( ϕ ( A t ) ) + E ( t ) = E ( ϕ ( A 0 ) ) E(\phi(A_t))+E(t)=E(\phi(A_0)) E(ϕ(At))+E(t)=E(ϕ(A0))

所以我们得到 E ( t ) = E ( ϕ ( A 0 ) ) − E ( ϕ ( A t ) ) E(t)=E(\phi(A_0))-E(\phi(A_t)) E(t)=E(ϕ(A0))E(ϕ(At)),根据我们之前定义的性质, E ( ϕ ) A t E(\phi)A_t E(ϕ)At为一个常值,而 E ( ϕ ( A 0 ) ) E(\phi(A_0)) E(ϕ(A0))显然也是一个常值,所以只要能找到这个满足条件的势函数,就能很方便的求出 E ( t ) E(t) E(t)

这里我们只是在随机过程 X t X_t Xt中应用了停时定理,对原本的随机过程 A t A_t At并没有做什么限制

接下来结合具体的题目来讨论一下如何构造这样的一个势函数

CF1349D

大意:

有n个人在玩传球游戏,一开始第 i i i个人有 a i a_i ai个球。每一次传球,等概率随机选中一个球,设其当前拥有者为 i i i i i i将这个球等概率随机传给另一个人 j ( j ≠ i ) j(j\neq i) j(j=i)。当某一个人拥有所有球时,停止游戏。问游戏停止时的期望传球次数。

记球的总数为m

不妨记状态 A t = ( a t , 1 , a t , 2 . . . a t , n ) A_t=(a_{t,1},a_{t,2}...a_{t,n}) At=(at,1,at,2...at,n),一个n维向量,分别表示 在时刻t,第i个人手中球的数量,显然它唯一地表示了某一个时刻的全局状态

也就是说,我们现在就把这个游戏过程抽象成了一个随机过程 A 0 , A 1 . . . . A_0,A_1.... A0,A1....,并且其停时为t。那么按照之前所说,我们需要去定义一个势函数 ϕ ( A t ) \phi(A_t) ϕ(At),为了计算方便,我们可以将 ϕ \phi ϕ具体到A的每一维向量,不妨记为 ϕ ( A t ) = ∑ i = 1 n f ( a t , i ) \phi(A_t)=\sum_{i=1}^{n}f(a_{t,i}) ϕ(At)=i=1nf(at,i),这里f是什么我们并不知道,但是如果我们知道了f,其实也就是相当于构造出了这个势能函数

这里再把我们定义的 ϕ \phi ϕ的性质再放一下


ϕ ( x ) \phi(x) ϕ(x)满足如下性质:

  • ∀ n < t , E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 \forall nn<t,E(ϕ(An+1)ϕ(An)A0,A1,...An)=1,即势能不断降低
  • E ( ϕ ( A t ) ) = C E(\phi(A_t))=C E(ϕ(At))=C,是一个常值

那么我们首先来考虑第一个性质,为了方便,不妨先考虑 E ( ϕ ( A n + 1 ) ∣ A 0 , A 1 , . . . A n ) E(\phi(A_{n+1})|A_0,A_1,...A_n) E(ϕ(An+1)A0,A1,...An)

发现传球过程就是一个 M a r k o v Markov Markov过程,并且该时刻的状态只与上一个时刻的状态有关,所以 E ( ϕ ( A n + 1 ) ∣ A 0 , A 1 , . . . A n ) = E ( ϕ ( A n + 1 ) ∣ A n ) E(\phi(A_{n+1})|A_0,A_1,...A_n)=E(\phi(A_{n+1})|A_n) E(ϕ(An+1)A0,A1,...An)=E(ϕ(An+1)An)

考虑一次转移的所有可能

i传球给j的概率是 a t , i m 1 n − 1 \large \frac{a_{t,i}}{m}\frac{1}{n-1} mat,in11

E ( ϕ ( A n + 1 ) ∣ A n ) = ∑ i = 1 n ∑ j ≠ i a t , i m 1 n − 1 [ f ( a t , i − 1 ) + f ( a t , j + 1 ) + ∑ k ∉ ( i , j ) f ( a t , k ) ] E(\phi(A_{n+1})|A_n)=\sum_{i=1}^{n}\sum_{j\neq i}\frac{a_{t,i}}{m}\frac{1}{n-1}[f(a_{t,i}-1)+f(a_{t,j}+1)+\sum_{k\notin(i,j)}f(a_{t,k})] E(ϕ(An+1)An)=i=1nj=imat,in11[f(at,i1)+f(at,j+1)+k/(i,j)f(at,k)]

= ∑ i = 1 n a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) =\sum_{i=1}^{n}\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}) =i=1nmat,if(at,i1)+m(n1)mat,if(at,i+1)+m(n1)(mat,i)(n2)f(at,i)

根据我们定义的性质 E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=-1 E(ϕ(An+1)ϕ(An)A0,A1,...An)=1

E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A n ) E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=E(\phi(A_{n+1})-\phi(A_n)|A_n) E(ϕ(An+1)ϕ(An)A0,A1,...An)=E(ϕ(An+1)ϕ(An)An)

= ( ∑ i = 1 n a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) ) − ∑ f ( a t , i ) = − 1 =(\sum_{i=1}^{n}\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}))-\sum f(a_{t,i})=-1 =(i=1nmat,if(at,i1)+m(n1)mat,if(at,i+1)+m(n1)(mat,i)(n2)f(at,i))f(at,i)=1

所以 ∑ f ( a t , i ) = ( ∑ i = 1 n a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) ) + 1 \sum f(a_{t,i})=(\sum_{i=1}^{n}\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}))+1 f(at,i)=(i=1nmat,if(at,i1)+m(n1)mat,if(at,i+1)+m(n1)(mat,i)(n2)f(at,i))+1

那么我们可以把末尾的1分配到每一个和式里面去,这样左右的形式就统一了

所以 ∑ f ( a t , i ) = ∑ i = 1 n [ a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) + a t , i n ] \sum f(a_{t,i})=\sum_{i=1}^{n}[\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}}{n}] f(at,i)=i=1n[mat,if(at,i1)+m(n1)mat,if(at,i+1)+m(n1)(mat,i)(n2)f(at,i)+nat,i]

那么不妨记 f ( a ) = a m f ( a − 1 ) + m − a m ( n − 1 ) f ( a + 1 ) + ( m − a ) ( n − 2 ) m ( n − 1 ) f ( a ) + a n 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}{n} f(a)=maf(a1)+m(n1)maf(a+1)+m(n1)(ma)(n2)f(a)+na

这样和式还是成立的,我们也成功抽象出了f函数

再转化一下, f ( a + 1 ) = m + a n − 2 a m − a f ( a ) − a ( n − 1 ) m − a ( f ( a − 1 ) + 1 ) f(a+1)=\frac{m+an-2a}{m-a}f(a)-\frac{a(n-1)}{m-a}(f(a-1)+1) f(a+1)=mam+an2af(a)maa(n1)(f(a1)+1)

代入边界条件 a = 0 a=0 a=0时,有 f ( 1 ) = f ( 0 ) f(1)=f(0) f(1)=f(0),所以我们可以设 f ( 1 ) = f ( 0 ) = 0 f(1)=f(0)=0 f(1)=f(0)=0,毕竟势函数的初值并不重要

这样就得到了f,也就是相当于得到了势函数 ϕ ( x t ) = ∑ i f ( x t , i ) \phi(x_t)=\sum_{i}f(x_{t,i}) ϕ(xt)=if(xt,i)

然后考虑势函数的第二个性质: E ( ϕ ( A t ) ) = C E(\phi(A_t))=C E(ϕ(At))=C是一个常值

显然 E ( ϕ ( A t ) ) = ∑ i f ( a t , i ) = f ( m ) + ( n − 1 ) f ( 0 ) E(\phi(A_t))=\sum_{i}f(a_{t,i})=f(m)+(n-1)f(0) E(ϕ(At))=if(at,i)=f(m)+(n1)f(0)是一个常值

所以根据我们的结论, E ( t ) = E ( ϕ ( A 0 ) ) − E ( ϕ ( A t ) ) = ∑ i f ( a 0 , i ) − f ( m ) − ( n − 1 ) f ( 0 ) = ∑ i f ( a 0 , i ) − f ( m ) E(t)=E(\phi(A_0))-E(\phi(A_t))=\sum_{i}f(a_{0,i})-f(m)-(n-1)f(0)=\sum_{i}f(a_{0,i})-f(m) E(t)=E(ϕ(A0))E(ϕ(At))=if(a0,i)f(m)(n1)f(0)=if(a0,i)f(m)

这样我们就非常方便的得到了停时的期望

不妨来看一个近一点的例子

杭电多校09 Coins

大意:

n个人,每个人手中初始有 a i a_i ai个硬币,每次随机选择两个人,第一个人给第二个人一个硬币,如果某个人手中没有硬币了,则立即退出游戏,不再回来。当某一个人拥有全部硬币时,游戏结束

问停时的期望

题意与上一题十分相像,但是该题存在人数不固定的情况,所以我们描述游戏局面的时候要稍微改变一下

还是令 m = ∑ a i m=\sum a_i m=ai

A t = ( a t , 1 , a t , 2 . . . a t , h t ) A_t=(a_{t,1},a_{t,2}...a_{t,h_t}) At=(at,1,at,2...at,ht)来描述第t个时刻的局面,其中 h t h_t ht表示当前的剩余人数,显然它不是一个固定的值。但是我们能保证 ∀ i ≤ h t , a t , i > 0 \forall i\leq h_t,a_{t,i}>0 iht,at,i>0

仿照上一题的思路,我们令 ϕ ( A t ) = ∑ i = 1 n f ( a t , i ) \phi(A_t)=\sum_{i=1}^{n}f(a_{t,i}) ϕ(At)=i=1nf(at,i)作为势函数,尝试确定f

E ( ϕ ( A n + 1 ) ∣ A n ) = ∑ i = 1 h t ∑ j ≠ i 1 h t ( h t − 1 ) [ f ( a t , i − 1 ) + f ( a t , j + 1 ) + ∑ k ∉ ( i , j ) f ( a t , k ) ] E(\phi(A_{n+1})|A_n)=\sum_{i=1}^{h_t}\sum_{j\neq i}\frac{1}{h_t(h_t-1)}[f(a_{t,i}-1)+f(a_{t,j}+1)+\sum_{k\notin(i,j)}f(a_{t,k})] E(ϕ(An+1)An)=i=1htj=iht(ht1)1[f(at,i1)+f(at,j+1)+k/(i,j)f(at,k)]

= ∑ i = 1 h t 1 h t f ( a t , i − 1 ) + 1 h t f ( a t , i + 1 ) + h t h t − 2 f ( a t , i ) =\sum_{i=1}^{h_t}\frac{1}{h_t}f(a_{t,i}-1)+\frac{1}{h_t}f(a_{t,i}+1)+\frac{h_t}{h_t-2}f(a_{t,i}) =i=1htht1f(at,i1)+ht1f(at,i+1)+ht2htf(at,i)

代入 E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=-1 E(ϕ(An+1)ϕ(An)A0,A1,...An)=1,也就是 E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A n ) = − 1 E(\phi(A_{n+1})-\phi(A_n)|A_n)=-1 E(ϕ(An+1)ϕ(An)An)=1(显然这里当前局面也只与上一个局面有关),有

∑ i = 1 h t f ( a t , i ) = [ ∑ i = 1 h t 1 h t f ( a t , i − 1 ) + 1 h t f ( a t , i + 1 ) + h t h t − 2 f ( a t , i ) ] + 1 \sum_{i=1}^{h_t} f(a_{t,i})=[\sum_{i=1}^{h_t}\frac{1}{h_t}f(a_{t,i}-1)+\frac{1}{h_t}f(a_{t,i}+1)+\frac{h_t}{h_t-2}f(a_{t,i})]+1 i=1htf(at,i)=[i=1htht1f(at,i1)+ht1f(at,i+1)+ht2htf(at,i)]+1

= ∑ i = 1 h t ( 1 h t f ( a t , i − 1 ) + 1 h t f ( a t , i + 1 ) + h t h t − 2 f ( a t , i ) + 1 h t ) =\sum_{i=1}^{h_t}(\frac{1}{h_t}f(a_{t,i}-1)+\frac{1}{h_t}f(a_{t,i}+1)+\frac{h_t}{h_t-2}f(a_{t,i})+\frac{1}{h_t}) =i=1ht(ht1f(at,i1)+ht1f(at,i+1)+ht2htf(at,i)+ht1)

抽象出 f ( a ) = 1 h f ( a − 1 ) + 1 h f ( a + 1 ) + h h − 2 f ( a ) + 1 h f(a)=\frac{1}{h}f(a-1)+\frac{1}{h}f(a+1)+\frac{h}{h-2}f(a)+\frac{1}{h} f(a)=h1f(a1)+h1f(a+1)+h2hf(a)+h1

f ( a + 1 ) − f ( a ) = f ( a ) − f ( a − 1 ) − 1 f(a+1)-f(a)=f(a)-f(a-1)-1 f(a+1)f(a)=f(a)f(a1)1

g ( a ) = f ( a ) − f ( a − 1 ) , 有 g ( a ) = g ( 0 ) − a g(a)=f(a)-f(a-1),有g(a)=g(0)-a g(a)=f(a)f(a1),g(a)=g(0)a,则 f ( a ) = f ( 0 ) + a g ( 0 ) − a ( a + 1 ) 2 f(a)=f(0)+ag(0)-\frac{a(a+1)}{2} f(a)=f(0)+ag(0)2a(a+1)

f ( 0 ) = g ( 0 ) = 0 f(0)=g(0)=0 f(0)=g(0)=0,则 f ( a ) = − a ( a + 1 ) 2 f(a)=-\frac{a(a+1)}{2} f(a)=2a(a+1)

所以 E ( t ) = E ( ϕ ( A 0 ) ) − E ( ϕ ( A t ) ) = ∑ i = 1 n f ( a 0 , i ) − f ( m ) E(t)=E(\phi(A_0))-E(\phi(A_t))=\sum_{i=1}^{n}f(a_{0,i})-f(m) E(t)=E(ϕ(A0))E(ϕ(At))=i=1nf(a0,i)f(m)

未完待续

你可能感兴趣的:(学习笔记,数学,算法,学习)