鞅与停时定理

其实这是一篇正经的科普文章。

一些约定#

  • 随机过程:对一个参数集随机的一组变量集合,参数集通常是时间 T,若 tTXt 为随机变量,那么 {Xt|tT} 就是一个随机过程。
  • 条件概率P(A|B),即 A 事件在 B 事件条件下发生的概率。
  • 条件期望E(A|B),类比条件概率,即 A 事件在 B 事件条件下的期望。
  • 几乎一定:事件 A 几乎一定发生,当且仅当 P(A)=1A 不发生的情况集合可能非空,但它们的概率为 0。样本空间有限时,“几乎一定”和“一定”通常没有区别;但是当样本空间无限时,就有区别了。比如 [0,1] 中均匀随机一个实数 x,则 P(x>0)=1,可以说选出的 x 几乎一定大于 0,但理论上确实可以存在 x=0 的样本。

离散时间鞅#

一个离散时间鞅为一个以时间为参数集合的随机过程,即随机过程 {X0,X1,},满足对于任意时刻 nN,均有:

  • E(|Xn|)<
  • E(Xn+1Xn|X0,X1,,Xn)=0

第二个条件看起来不知所云,其实意思就是当 X0,X1,,Xn 已经确定时,Xn+1 的期望等于 Xn。类似一个公平赌博游戏,若我们已经得到了前 n 场赌博后你所拥有的财产(观测值),那么要求第 n+1 场的观测值的期望等于第 n 场的观测值(不亏不赚),才能满足公平赌博游戏的定义(所以公平赌博游戏其实差不多就是鞅www)。

同时不难发现鞅的线性加减、增减常数都不影响其鞅的性质。

停时#

关于随机过程 {X0,X1,} 的停时为一个非负的随机变量 T(可能为 ,即操作无限进行),满足对任意时刻 n,你可以通过观测 X0,X1,,Xn 的取值得出 nT大小关系/等量关系。即 [n=T],[n<T],[n>T] 三个随机变量的取值仅与 X0,X1,,Xn 有关。

对于随机过程 {X0,X1,},对应带停时为 T 的随机过程 {X0¯,X1¯,} 的定义为:

Xn¯={XnnTXTn>T

{X1¯,X2¯,} 为将 {X0,X1,}T 之后的项全部覆盖为 T 后的随机过程,可以看作在时刻 T 终止随机操作。(所以停时也可以理解为操作的停止时间。)

由于 Xn¯nTXn¯=Xn 期望不变,而 n>T 时我们钦定它期望不变,所以满足鞅期望观测值不变的性质,所以 {X1¯,X2¯,} 也是一个鞅。

鞅的停时定理#

T 为离散时间鞅 {X0,X1,} 的停时,且 T 几乎一定有限,当下面三个条件之一成立时,有 E(XT)=E(X0)

  • T 几乎一定有界,即存在常数 KP(TK)=1
  • E(|Xi+1Xi|) 几乎一定有界,且 E(T) 有限,即存在常数 K 使得 P(E(|Xi+1Xi|)K)=1
  • Xi¯ 几乎一定有界,即存在常数 K 使得 P(|Xi¯|K)=1

为了帮助理解,给出下面若干例子:

  • 数轴上从 0 开始随机向右游走,每次走 12 的距离,走过一个常数 K 后停止。那么 T 一定有界,满足第一个条件。
  • [0,1] 中随机选择实数,直到选出非 0 数为止。T 几乎一定有界,满足第一个条件。
  • 数轴上从 0 开始随机左右游走,每次走 1 的距离,走到区间 [K,K]K 为常数) 边界后停止。由于 Xn¯ 有界 [K,K],满足第三个条件。
  • 你在读这篇文章,假设你每次随机向目前阅读位置的后面跳一个位置然后开始读,读完为止。那么很显然 Xn¯ 有界(文章长度),也满足第三个条件。
  • 第二个条件是大多数题目所包含的(比如让你求停时的期望,每次操作带有的变化量有界等等)。

势能分析#

考虑经典模型:

假设现在有随机过程 {X0,X1,}T 为其停时,给定初始状态 X0,终止状态 XT¯,求 E(T)

考虑构造势能函数 φ(X),同时描述了时间状态两个变量:

  • E(φ(Xn+1)φ(Xn)|X0,X1,,Xn)=1
  • φ(XT) 为常数,且 i<T,φ(Xi)=φ(XT)

第一个限制保证了每个时刻,势能的变化量期望为 1,那么 E(φ(X0))E(φ(Xn))=n;第二个限制保证了末状态势能唯一,也就是保证末状态为第一个满足终止条件的状态的需要。

构造 Yi=φ(Xi)+i,根据定义,{Y0,Y1,} 为一个离散时间鞅。那么根据停时定理,可以得到 E(YT)=E(Y0),即 E(φ(XT)+T)=E(φ(X0)),即 E(T)=E(φ(X0))E(φ(XT)),根据定义右边两项都是常数值,于是就能方便地求出 E(T)

有的地方也把 φ 取相反数,那么就是每次期望 +1,期望停时为初状态的势能减去末状态的势能。

对于一般题目来讲,构造关于题面中状态有关量为自变量的函数,然后根据第一条限制解函数方程/递推,并使用鞅与停时定理求出期望停时即可。

势能具有相对性,这允许我们对于一些常数 C,钦定 f(C) 的值。这通常会使函数方程大大简化。

CF1025G Company Acquisitions#

定义整个局面 X 的势能函数为 φ(X),由于我们只关心每个点跟在屁股后面的点的个数,定义单个点 u 的势能为 f(cu)cu 为局面 X 下跟在 u 后的点的个数,f 为关于 c 的函数,令 φ(X)=uf(cu)

XX 的势能变化量只和每次随机选出来的两个点 u,vc 有关,令 cu=x,cv=y

E(φ(X))E(φ(X))=1E(φ(X))=E(φ(X))112(f(x+1)+yf(0))+12(f(y+1)+xf(0))=(f(x)+f(y))1

我们令 f(0)=0

12f(x+1)+12f(y+1)=f(x)+f(y)1

要求对任意 x,y 均成立,那么一个简单的想法是直接拆两半:

12f(x+1)=f(x)12

结合 f(0)=0 得到:

f(x)=12x

那么答案就是 (uf(cu))f(n),复杂度 O(n)

CF1479E School Clubs#

我们只关心每个组内的人数,所以依旧令局面 X 的势能值 φ(X)=i=1mf(ai) 为各个组势能之和,一组的势能定义为其人数 aif 值。

每次操作,将随机发电的那个人所在的组拎出来,设为第 i 组:

  • 这个人新开了一个组:φ(X)=φ(X)f(ai)+f(ai1)+f(1)
  • 这个人回到了原来的组:φ(X)=φ(X)
  • 这个人跑到了其他组,设为 j 组:φ(X)=φ(X)f(ai)f(aj)+f(ai1)+f(aj+1)

然后就是一些 Dirty Work 了:

E(φ(X)φ(X)|X)=i=1mai2n(f(ai)+f(ai1)+f(1)+ainφ(X)+jiajn(f(ai)f(bi)+f(ai1)+f(bi+1)))=i=1mai2n((2ain)f(ai)+(2ain)f(ai1)+f(1)+ji(f(aj+1)f(aj)))=12f(1)+i=1nai2n((32ain)f(ai)+(2ain)f(ai1)+(1ain)f(ai+1))=1

不妨设 f(1)=2

i=1nai2n2((3n2ai)f(ai)+(2nai)f(ai1)+(nai)f(ai+1))=0

(3n2a)f(a)+(2na)f(a1)+(na)f(a+1)=0

然后 O(n) 递推 f 的值即可。这是能过的。

posted @   Arghariza  阅读(304)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示
主题色彩