「学习笔记」鞅与停时原理

综合来看,这种方法所适用的赛题中,所定义的随机过程一般有两个特点:各个部分相
对独立,且一次操作不会带来太大的变化。如果题目满足这两个特点,那么基于鞅论的解
法往往能得到关于终态的很多信息。——彭博《鞅与一类关于停时的概率与期望问题》

这类题目需要的条件是终点无法转移,否则势能就不好定义了。


随机过程:在随机的背景下,时刻 \(i\) 会有状态 \(X_i\),把它们依次记录下来就获得了随机过程。

鞅:称随机过程 \(X=\{X_n,n\geqslant 0\}\) 是鞅,当且仅当 \(\forall X \geqslant 0,E(X_n)<+\infty\),并且 \(\forall n\geqslant 0,E(X_{n+1}|X_{0}...X_{n})=X_n\)

根据鞅的定义,可以得到停时原理:对于任意停时 \(t\)(在这个时间结束观测,在不知晓中间的随机过程时讨论停时状态的期望),有 \(E(X_t)=X_0\)

鞅的应用要结合势能函数。考虑随机过程 \(\{X_0,X_1,...\}\),如何在不知道中间随机过程的情况下,对于一个给定状态 \(X_t\),如何求出 \(E(t)\)?我们构造一个函数 \(\Phi(X)\),满足:\(E(\Phi(X_{n+1})-\Phi(X_n)|\{X_0,...,X_n\})=-1\),以及 \(\Phi(X_i)\) 为常值,且独一无二。

我们令 \(B_i=\Phi(X_i)+i\),易知 \(\{B\}\) 是一个鞅,根据停时原理 \(E(B_t)=B_0 \Rightarrow E(\Phi(X_t)+t)=\Phi(X_0)\Rightarrow E(t)=\Phi(X_0)-\Phi(X_t)\)


CF1025G Company Acquisitions
注意到状态中每个联通块其实是相对独立的,所以构造势能函数 \(\Phi(X)=\sum f(d_i)\),其中 \(d_i\) 为第 \(i\) 个点的度数。

所以 \(f(x)+f(y)-1=\frac 1 2(f(x+1)+yf(0))+\frac 1 2(f(y+1)+xf(0))\)

所以 \(f(x)+f(y)-1=\frac 1 2 f(x+1)+\frac 1 2 f(y+1)\)

我们说过 \(f(x)\)\(f(y)\) 独立,所以式子应该也是独立的,不难看出 \(f(x+1)=2f(x)-1=-2^x+1\)。所以就做完了,时间复杂度只需要线性。


CF850F Rainbow Balls

先介绍一下当时做这个题的做法。停时原理的式子懒得补了,反正得到的后面的 \(f\) 递推式都是一样的。

好抽象的题。不妨看成枚举哪个颜色活到最后,令 \(f_i\) 为当前颜色有 \(i\) 个球的期望时间贡献。

\(s=\sum a_i\)\(p=\frac {i(s-i)} {s(s-1)}\) 即第一个球选到 \(a_i\),第二个球选到其他球的概率。那么 \(f_i=pf_{i-1}+pf_{i+1}+(1-2p)f_i+g_i\),其中 \(g_i\) 为当前颜色有 \(i\) 个球,且当前颜色活到最后的概率。

很妙啊。相当于只计算这个球活到最后的对答案的期望贡献,而这就是我们要的答案。

那么化简就是 \(f_i=2f_{i-1}-f_{i-2}-\frac {s-1} {s-i+1}\)

考虑边界,\(f_0=0\),那么 \(f_2=2f_1-1\),根据数感我们移项 \(f_i-f_{i-1}=f_{i-1}-f_{i-2}-\frac {s-1} {s-i+1}\),相当于是二阶差分,算每一项的贡献,那么 \(f_s-f_1=-(s-1)(s-2)+(s-1)(f_1-1)\),又 \(f_s=1\),所以 \(f_1=\frac {(s-1^2)} {s}\)

然后递推即可。答案即为 \(\sum f_{a_i}\)


CF1349D Slime and Biscuits

\(all=\sum a_i\)

\(\sum_{i=1}^n f(a_i)=1+\sum_{i=1}^n \frac {a_i} {all}(f(a_i-1)+\frac {(n-2)\sum_{j\neq i}f(a_j)} {n-1}+\frac {\sum_{j\neq i}f(a_j+1)} {n-1})\).

还是考虑上面的套路,拆分一下这个式子,那么就会出现 \(1\) 怎么分的问题。

很多人分成 \(\sum \frac {a_i} {all}\),但实际上分成 \(\frac 1 n\) 也是可以的。

那么 \(f(x)=\frac 1 n + \frac {x} {all}f(x-1)+\frac {all-x} {all}*\frac {(n-2)f(x)+f(x+1)} {n-1}\)

直接递推即可。注意到 \(x=0\) 时,\(f(-1)\) 的系数为 \(0\),所以才是可行的,而这类题基本都是这样,所以这种方法挺有普适性的。


posted @ 2023-05-13 11:57  Saintex  阅读(186)  评论(8编辑  收藏  举报