自在学

我们与你共同进步

  • 分类课程
  • 文章
  • 工作台
  • 订阅

  • 关于我们
  • 隐私政策
  • 使用条款

探索

  • 分类课程
  • 文章
  • 工作台
  • 订阅

网站信息

  • 关于我们
  • 隐私政策
  • 使用条款

加入社区

自在学学习社区微信二维码

微信扫码,交流学习

株洲市自在学教育科技有限公司© 2025 - 2026 版权所有

© 2025 - 2026 株洲市自在学教育科技有限公司 版权所有

湘公网安备43020302000292号|湘ICP备2025148919号-1
分类课程工作台文章订阅
分类课程工作台文章价格

随机过程 I:随机系统、马尔可夫链与 Poisson 过程

  1. 01随机过程语言:状态、时间与路径
  2. 02离散时间 Markov 链:矩阵与多步概率
  3. 03状态分类与吸收链:首达、命中与停留时间
  4. 04平稳分布、周期性与遍历性
  5. 05连续时间 Markov 链:等待与生成矩阵
  6. 06Poisson 过程:从局部条件到计数分布
  7. 07更新过程:叠加、稀释与非指数间隔
  8. 08基础排队模型:M/M/1 与 Little 定律
  9. 09更新报酬与综合建模
  10. 10离散鞅直观:公平游戏与停止
正在加载课程章节内容
课程数学随机过程 I:随机系统、马尔可夫链与 Poisson 过程状态分类与吸收链:首达、命中与停留时间

03 状态分类与吸收链:把“最终会到哪里”算出来

一条链在几个状态之间反复游走。你想知道的可能不是第 10 步在哪里,而是“从这里出发,最终能不能到达目标?”“到达两个出口中的哪一个,概率分别是多少?”“如果目标一定会到,平均还要等几步?”

我会从下一步可能落在哪里写起。例如一台设备下一步仍在维修,这一步照样消耗时间;如果它进入了报废状态,之后就不可能再恢复运行。把这些去向分清,成功概率和等待时间的方程就有了依据。本章沿着这条思路研究状态分类与吸收链:每次写下一个系数,都能回到图上指出它对应哪条边。

可达、沟通与闭合结构

设 PPP 是时间齐次的离散时间马尔可夫链的转移矩阵。若存在某个 n≥0n\ge0n≥0,使得

pij(n)>0, p_{ij}^{(n)}>0,pij(n)​>0,

就说从状态 iii 可以到达状态 jjj,记作 i⇝ji\leadsto ji⇝j。允许 n=0n=0n=0,所以每个状态都能在零步到达自己。

若 i⇝ji\leadsto ji⇝j 且 j⇝ij\leadsto ij⇝i,称 i,ji,ji,j 相互沟通,记作 i↔ji\leftrightarrow ji↔j。沟通关系把状态空间分成沟通类。一个沟通类已经包含了所有能彼此往返的状态,不能任意漏掉其中一个。如果从这个类中出发不能以正概率走到类外,就称它是闭沟通类。检查时只需看有没有向外的一步边:若所有一步去向都留在类内,走再多步也出不去。闭类像一间没有出口的房间:链可以在内部移动,却不会跳出去。

两个彼此隔开的闭沟通类,每个类内部可往返

上图蓝色的两个状态可以相互往返,橙色的两个也可以;两个组之间没有边,因此它们都是闭类。现在试着加一条单向边,情况就会变。

考虑状态 S={1,2,3,4}S=\{1,2,3,4\}S={1,2,3,4},其中 1↔21\leftrightarrow21↔2,3↔43\leftrightarrow43↔4,并存在边 2→32\to32→3,但没有从 3,43,43,4 回到 1,21,21,2 的路径。于是 {1,2}\{1,2\}{1,2} 和 {3,4}\{3,4\}{3,4} 是沟通类,{3,4}\{3,4\}{3,4} 是闭类,而 {1,2}\{1,2\}{1,2} 不是闭类。分类时看的是“是否存在一条正概率路径”,不是比较某条边的概率大小。

首达时间与首返时间

对目标集合 A⊆SA\subseteq SA⊆S,定义首达时间

τA=inf⁡{n≥0:Xn∈A}. \tau_A=\inf\{n\ge0:X_n\in A\}.τA​=inf{n≥0:Xn​∈A}.

也可以把检查的起点推到第 1 步,定义

TA=inf⁡{n≥1:Xn∈A}, T_A=\inf\{n\ge1:X_n\in A\},TA​=inf{n≥1:Xn​∈A},

如果初始状态在目标外,这两个时间相同;区别出现在一开始就在目标内的情形。两种定义都约定空集合的下确界为 ∞\infty∞,表示永远没到。当初始状态已经在 AAA 时,τA=0\tau_A=0τA​=0;TAT_ATA​ 从第 1 步起检查,不要求先离开 AAA。如果下一步仍在 AAA,它就是 1。自环也算一次正时间的返回,不能把它漏掉。

对单个状态 jjj,Tj=inf⁡{n≥1:Xn=j}T_j=\inf\{n\ge1:X_n=j\}Tj​=inf{n≥1:Xn​=j} 在从 jjj 本身出发时叫首返时间;从其他状态出发,它是到达 jjj 的首达时间。用从自身出发的首返概率定义:

状态 iii 若从 iii 出发最终以概率 1 返回 iii,称为常返;否则称为暂态。

周期另外描述允许返回的时间位置,下面用所有正概率返时时刻的最大公因数来定义。它不等于常返性,也不等于平均首返时间。

对有限状态链,图的闭合结构足以判断常返性:闭沟通类内的状态常返,非闭沟通类内的状态暂态。我们来看看“有限”究竟帮了什么忙。

固定闭类中的一个状态 jjj。从类里每个状态出发,都能选一条正概率路径到 jjj;从 jjj 自身则选一条正长度的返回路径。状态只有有限个,所以这些路径的长度有一个共同上界 LLL,路径概率有一个正的共同下界 δ\deltaδ。无论现在落在类中哪里,接下来至多 LLL 步内碰到 jjj 的机会至少为 δ\deltaδ。按长度为 LLL 的时间段反复看,连续 kkk 段都没碰到的概率至多 (1−δ)k(1-\delta)^k(1−δ)k,它趋于零。闭合保证过程不会跑到没有这种保证的类外,因此最终返回的概率为 1。

相反,从非闭类中的状态 iii 可以沿一条不重复经过 iii 的路径走出该类;一旦走出,就再也不能回到 iii,否则外部状态也应属于原沟通类。这条路径概率为正,所以有正概率不再返回,iii 暂态。把每个沟通类缩成一个点,类与类之间不可能构成有向环;在有限张图上沿出口走,总能找到没有出口的类。再用刚才的有限路径下界,就知道过程以概率 1 最终进入某个闭类。无限状态时未必存在共同的 L,δL,\deltaL,δ,不能直接沿用这段证明。

同一条路径从第0步和第1步开始检查,会得到不同的首达与首返时刻

周期的计算不等于等待时间

若状态 iii 的可能返时时刻集合为 {n≥1:pii(n)>0}\{n\ge1:p_{ii}^{(n)}>0\}{n≥1:pii(n)​>0},周期是这些时刻的最大公因数。例如只能在偶数步返回,周期至少为 2;若既能 2 步又能 3 步返回,最大公因数为 1,状态非周期。周期描述“时间格点结构”,不告诉我们平均要等多久;平均首返时间还需要进一步计算。

这里取的是所有满足 pii(n)>0p_{ii}^{(n)}>0pii(n)​>0 的 n≥1n\ge1n≥1。若一个状态根本没有正时间返回路径,本章不为这个空集合指定周期;不要把它误判成周期 1。比如只有 1→2→1 的两步循环,所有返回长度都是偶数,周期为 2。若还加上 1→3→4→1 的三步循环,就已经有返回长度 2 与 3,最大公因数只能是 1。最短返回仍是两步,却已非周期。

两步和三步返回路径共存,使返时时刻的最大公因数为1

同一沟通类内,有返回路径的状态周期相同。若 iii 到 jjj 有一条 rrr 步路径,jjj 回 iii 有一条 sss 步路径,那么 r+sr+sr+s 是 iii 的返回长度;在中间插入任意一条 jjj 的 nnn 步返回路径,r+n+sr+n+sr+n+s 也是。于是 d(i)d(i)d(i) 整除两者之差 nnn,也就整除 d(j)d(j)d(j)。交换两状态再说一次,便得到二者相等。

不要把“能从 i 到 j”理解成“最终一定会从 i 到 j”。可达性只要求存在一条正概率路径;另一条路径可能把链带入一个永远回不来的闭类。首达概率是数值问题,沟通关系是结构问题,两者相关但不相同。

首步分析:首达概率方程从哪里来

令目标集合为 AAA,定义

hi=Pi(τA<∞), h_i=\mathbb P_i(\tau_A<\infty),hi​=Pi​(τA​<∞),

其中 Pi\mathbb P_iPi​ 表示初始状态为 iii 的概率。若 i∈Ai\in Ai∈A,已经到达目标,所以边界条件是

hi=1,i∈A. h_i=1,\qquad i\in A.hi​=1,i∈A.

若 i∉Ai\notin Ai∈/A,按第一步到达的状态 jjj 分解:

hi=∑j∈SPi(X1=j)Pi(τA<∞∣X1=j)=∑j∈Spijhj.\begin{aligned} h_i &=\sum_{j\in S}\mathbb P_i(X_1=j)\mathbb P_i(\tau_A<\infty\mid X_1=j)\\ &=\sum_{j\in S}p_{ij}h_j. \end{aligned}hi​​=j∈S∑​Pi​(X1​=j)Pi​(τA​<∞∣X1​=j)=j∈S∑​pij​hj​.​

第一行是全概率公式;第二行使用马尔可夫性:走到 jjj 后,之后能否到达目标只由当前状态 jjj 决定。于是对目标外状态得到线性方程

hi=∑j∉Apijhj+∑j∈Apij,i∉A. h_i=\sum_{j\notin A}p_{ij}h_j+\sum_{j\in A}p_{ij}, \qquad i\notin A.hi​=j∈/A∑​pij​hj​+j∈A∑​pij​,i∈/A.

这是写方程时最容易漏掉的地方:目标状态的 hjh_jhj​ 虽然等于 1,但不能把它从求和里消失而忘记贡献;它正是第二项 ∑j∈Apij\sum_{j\in A}p_{ij}∑j∈A​pij​ 的来源。

方程有解,还要选对那个解

只写 hi=∑jpijhjh_i=\sum_jp_{ij}h_jhi​=∑j​pij​hj​,不一定能唯一确定答案。例如 0、1 都各自吸收,而目标是 {1}\{1\}{1}。已知 h1=1h_1=1h1​=1,另一个方程却只是 h0=h0h_0=h_0h0​=h0​,填 0 或 1 都满足代数等式。根据事件,永远停在 0 的路径当然到不了 1,所以真正的 h0=0h_0=0h0​=0。有限状态也可能遇到这种不唯一,关键在边界是否把失败结局说清楚。

一般说来,首达概率是这些边界方程的最小非负解。这个说法可以用短时间问题推出。令

hi[m]=Pi(τA≤m).h_i^{[m]}=\mathbb P_i(\tau_A\le m).hi[m]​=Pi​(τA​≤m).

第 0 步,目标内为 1,目标外为 0;目标外递推为 hi[m+1]=∑jpijhj[m]h_i^{[m+1]}=\sum_jp_{ij}h_j^{[m]}hi[m+1]​=∑j​pij​hj[m]​。时间越长,已命中的事件只会扩大,故 hi[m]h_i^{[m]}hi[m]​ 递增到 hih_ihi​。若 xxx 是任何满足边界方程的非负解,第 0 步已有 x≥h[0]x\ge h^{[0]}x≥h[0];用非负的转移概率逐步相乘,归纳得到 x≥h[m]x\ge h^{[m]}x≥h[m]。取极限就有 x≥hx\ge hx≥h。因此不能从一族形式解中随便挑一个“看起来像概率”的向量。

例题一:两条出口的首达概率

状态 000 和 333 都是吸收状态,内部状态为 1、2,转移规则为

P=(10000.200.50.300.400.60001).P=\begin{pmatrix} 1&0&0&0\\ 0.2&0&0.5&0.3\\ 0&0.4&0&0.6\\ 0&0&0&1 \end{pmatrix}.P=​10.200​000.40​00.500​00.30.61​​.

求从状态 1 出发最终吸收到状态 3 的概率。设

hi=Pi(最终先到达 3 而不是 0), h_i=\mathbb P_i(\text{最终先到达 3 而不是 0}),hi​=Pi​(最终先到达 3 而不是 0),

这是一个“目标为 3、另一吸收态为失败边界”的首达问题。

目标和失败边界都明确,首步方程比直接枚举任意长度的路径更稳健;因为内部只有两个状态,解一个二元线性方程组即可。

先写边界:到达 3 后成功,所以 h3=1h_3=1h3​=1;到达 0 后已经不可能再先到 3,所以 h0=0h_0=0h0​=0。这两个值不是算出来的,而是由题目中的吸收结构决定的。
从状态 1 首步可能到 0、2、3,因此 h1=0.2h0+0.5h2+0.3h3=0.5h2+0.3h_1=0.2h_0+0.5h_2+0.3h_3=0.5h_2+0.3h1​=0.2h0​+0.5h2​+0.3h3​=0.5h2​+0.3。从状态 2 首步可能到 1、3,因此 h2=0.4h1+0.6h3=0.4h1+0.6h_2=0.4h_1+0.6h_3=0.4h_1+0.6h2​=0.4h1​+0.6h3​=0.4h1​+0.6。每一项都是“首步概率 × 首步后成功概率”。
代入第二式:h1=0.5(0.4h1+0.6)+0.3=0.2h1+0.6h_1=0.5(0.4h_1+0.6)+0.3=0.2h_1+0.6h1​=0.5(0.4h1​+0.6)+0.3=0.2h1​+0.6。所以 0.8h1=0.60.8h_1=0.60.8h1​=0.6,得到 h1=0.75h_1=0.75h1​=0.75,再得 h2=0.4×0.75+0.6=0.9h_2=0.4\times0.75+0.6=0.9h2​=0.4×0.75+0.6=0.9。
检查范围:0≤h1,h2≤10\le h_1,h_2\le10≤h1​,h2​≤1,而 h2=0.4h1+0.6h_2=0.4h_1+0.6h2​=0.4h1​+0.6 表示从 2 出发要么直接成功,要么回 1 后继续;代入结果确实比 h1h_1h1​ 大。结论是从状态 1 出发最终在 3 吸收的概率为 0.75,在 0 吸收的概率为 0.25;两者和为 1,也验证了没有遗漏吸收结局。

状态0与3吸收,状态1和2的全部转移与首步方程

吸收链的矩阵方程

本节的吸收链是有限状态链,至少有一个吸收状态,且每个非吸收状态都能沿正概率路径到达某个吸收状态。仅仅“矩阵中有一个吸收态”还不够:其余地方可能有另一个封闭循环,永远不吸收。

在上述条件下,从每个内部状态各选一条通往吸收态的有限路径,取长度上界 LLL 与正的概率下界 δ\deltaδ,就得到 Pi(τA>kL)≤(1−δ)k\mathbb P_i(\tau_A>kL)\le(1-\delta)^kPi​(τA​>kL)≤(1−δ)k。这既保证最终吸收,也给出有限的平均吸收时间。对于取非负整数值的等待时间,把“还没停止”的指标从第 0 步起相加,就有 τA=∑n≥01{τA>n}\tau_A=\sum_{n\ge0}\mathbf1_{\{\tau_A>n\}}τA​=∑n≥0​1{τA​>n}​,取期望后按每 LLL 项分组可得

EiτA=∑n≥0Pi(τA>n)≤L∑k≥0(1−δ)k=Lδ<∞.\mathbb E_i\tau_A=\sum_{n\ge0}\mathbb P_i(\tau_A>n)\le L\sum_{k\ge0}(1-\delta)^k=\frac L\delta<\infty.Ei​τA​=n≥0∑​Pi​(τA​>n)≤Lk≥0∑​(1−δ)k=δL​<∞.

把非吸收的暂态状态排在前面,吸收状态排在后面,矩阵可以写成规范形

P=(QR0I). P=\begin{pmatrix}Q&R\\0&I\end{pmatrix}.P=(Q0​RI​).

其中 QQQ 描述暂态到暂态的一步转移,RRR 描述暂态到吸收态的一步转移,III 表示吸收后留在原吸收态。

令 BBB 为“从每个暂态出发最终吸收到各吸收态”的概率矩阵。首步分析对所有暂态状态同时写出:

B=QB+R. B=QB+R.B=QB+R.

移项得到

(I−Q)B=R. (I-Q)B=R.(I−Q)B=R.

在这个有限吸收模型里,QnQ^nQn 的第 iii 行之和就是第 nnn 步仍未吸收的概率,它被上述分段几何界控制,因此 Qn→0Q^n\to0Qn→0 且各项级数收敛。有限部分和满足 (I−Q)(I+Q+⋯+Qm)=I−Qm+1(I-Q)(I+Q+\cdots+Q^m)=I-Q^{m+1}(I−Q)(I+Q+⋯+Qm)=I−Qm+1;令 mmm 趋于无穷,就得到

N=(I−Q)−1=I+Q+Q2+⋯ N=(I-Q)^{-1}=I+Q+Q^2+\cdotsN=(I−Q)−1=I+Q+Q2+⋯

存在,称为基本矩阵。于是

B=NR. B=NR.B=NR.

注意 QQQ 的行和可以小于 1,少掉的质量进入了吸收部分,不能把 QQQ 重新归一化成一个完整转移矩阵。

这个无穷级数也有清楚的概率意义:(Qn)ij(Q^n)_{ij}(Qn)ij​ 是从暂态 iii 出发,经过 nnn 步仍在暂态部分并位于 jjj 的概率;把指标变量 1{n<τA,Xn=j}\mathbf1_{\{n<\tau_A, X_n=j\}}1{n<τA​,Xn​=j}​ 从 n=0n=0n=0 起相加,就是吸收前在 jjj 的总访问次数。每项的期望为 (Qn)ij(Q^n)_{ij}(Qn)ij​,非负项允许把期望与求和交换,所以总期望是 NijN_{ij}Nij​。初始时刻也计一次,吸收时刻不计入暂态访问;这就是级数里不能少掉 III 的原因。矩阵公式既可以用来计算,也帮助解释为什么逆矩阵会出现。

同时重排行列后,转移矩阵分成暂态块Q和出口块R

例题二:用矩阵法同时求两个出口概率

沿用上一题,暂态顺序取 (1,2)(1,2)(1,2),吸收态顺序取 (0,3)(0,3)(0,3)。则

Q=(00.50.40),R=(0.20.300.6).Q=\begin{pmatrix}0&0.5\\0.4&0\end{pmatrix}, \qquad R=\begin{pmatrix}0.2&0.3\\0&0.6\end{pmatrix}.Q=(00.4​0.50​),R=(0.20​0.30.6​).

上一题只求一个成功概率,递推方程最直观;现在同时求两个吸收出口,矩阵法一次给出整张结果表,也更容易迁移到更多状态。

计算 I−Q=(1−0.5−0.41)I-Q=\begin{pmatrix}1&-0.5\\-0.4&1\end{pmatrix}I−Q=(1−0.4​−0.51​)。其行列式为 1−0.2=0.81-0.2=0.81−0.2=0.8,因此 N=(I−Q)−1=10.8(10.50.41)=(1.250.6250.51.25). N=(I-Q)^{-1}=\frac1{0.8}\begin{pmatrix}1&0.5\\0.4&1\end{pmatrix}=\begin{pmatrix}1.25&0.625\\0.5&1.25\end{pmatrix}. N=(I−Q)−1=0.81​(10.4​0.51​)=(1.250.5​0.6251.25​).
相乘得到 B=NR=(1.250.6250.51.25)(0.20.300.6)=(0.250.750.10.9).B=NR=\begin{pmatrix}1.25&0.625\\0.5&1.25\end{pmatrix} \begin{pmatrix}0.2&0.3\\0&0.6\end{pmatrix} =\begin{pmatrix}0.25&0.75\\0.1&0.9\end{pmatrix}.B=NR=(1.250.5​0.6251.25​)(0.20​0.30.6​)=(0.250.1​0.750.9​). 第一行对应从状态 1 出发,分别在 0、3 吸收的概率;第二行对应从状态 2 出发。
检查每行和为 1:0.25+0.75=10.25+0.75=10.25+0.75=1,0.1+0.9=10.1+0.9=10.1+0.9=1。同时与首步递推的 h1=0.75,h2=0.9h_1=0.75,h_2=0.9h1​=0.75,h2​=0.9 一致。矩阵的列顺序是 (0,3)(0,3)(0,3),如果交换吸收态顺序,结果列也必须同步交换。

期望吸收时间:方程的每个 1 从哪里来

令 ti=Ei[τA]t_i=\mathbb E_i[\tau_A]ti​=Ei​[τA​]。这一段仍取 AAA 为全部吸收状态,沿用刚才的有限吸收条件。目标集合 AAA 中的状态已经到达,因此

ti=0,i∈A. t_i=0,\qquad i\in A.ti​=0,i∈A.

对 i∉Ai\notin Ai∈/A,第一步一定会消耗 1 个时间单位。第一步到 jjj 后,还需要平均 tjt_jtj​ 步,所以

ti=1+∑j∈Spijtj=1+∑j∉Apijtj.\begin{aligned} t_i &=1+\sum_{j\in S}p_{ij}t_j\\ &=1+\sum_{j\notin A}p_{ij}t_j. \end{aligned}ti​​=1+j∈S∑​pij​tj​=1+j∈/A∑​pij​tj​.​

第二行使用了边界条件 tj=0t_j=0tj​=0(当 j∈Aj\in Aj∈A)。在暂态子空间中写成列向量:

t=1+Qt,(I−Q)t=1,t=N1. t=\mathbf 1+Qt, \qquad (I-Q)t=\mathbf1, \qquad t=N\mathbf1.t=1+Qt,(I−Q)t=1,t=N1.

也可以从每条路径来数:吸收发生在第 τA\tau_AτA​ 步,那么此前的时刻恰好是 0,1,…,τA−10,1,\ldots,\tau_A-10,1,…,τA​−1,总共 τA\tau_AτA​ 个。把各暂态的访问次数加起来再取期望,就得到 ti=∑jNijt_i=\sum_jN_{ij}ti​=∑j​Nij​,与首步方程一致。

这里的常数 1 不能漏掉。若写成 t=Qtt=Qtt=Qt,得到的只能是零解,完全没有反映“至少要走一步”这个事实。若每步耗时不同,也可以把 1 换成每个状态对应的一步成本向量,得到成本到吸收的推广。

例题三:期望吸收时间与概率一起检查

对上面的 QQQ,求从状态 1、2 出发的期望吸收时间。

已经算出基本矩阵 NNN,直接用 t=N1t=N\mathbf1t=N1 能同时求两种初始状态,并且可以和首步方程相互检查。

令 1=(1,1)T\mathbf1=(1,1)^\mathsf T1=(1,1)T。由上题的 NNN, t=(1.250.6250.51.25)(11)=(1.8751.75). t=\begin{pmatrix}1.25&0.625\\0.5&1.25\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}=\begin{pmatrix}1.875\\1.75\end{pmatrix}. t=(1.250.5​0.6251.25​)(11​)=(1.8751.75​).
手工写方程可检查第一行:t1=1+0.5t2=1+0.875=1.875t_1=1+0.5t_2=1+0.875=1.875t1​=1+0.5t2​=1+0.875=1.875;第二行:t2=1+0.4t1=1+0.75=1.75t_2=1+0.4t_1=1+0.75=1.75t2​=1+0.4t1​=1+0.75=1.75。两种方法一致。
解释结果:从状态 1 出发平均 1.875 步吸收,从状态 2 出发平均 1.75 步吸收。虽然状态 2 到成功出口的概率更高,但“吸收到任意出口”的时间取决于它在暂态之间来回的结构;平均时间不是成功概率的简单函数。

路径1到2到1到3中,暂态访问次数之和等于三步吸收时间

递推法、矩阵法与模拟:怎样选工具

同一个吸收问题可以有多种表示,但方法选择应由问题结构决定:

  • 只有一个目标、状态图小、需要看清边界来源时,用首步递推。它最适合讲清每个系数为什么出现。
  • 有多个吸收出口,或要同时求所有起点的结果时,用规范形、基本矩阵和线性方程组。矩阵法减少重复书写,也暴露状态排序错误。
  • 状态很多、矩阵稀疏或只需要数值近似时,解线性系统通常比显式计算 (I−Q)−1(I-Q)^{-1}(I−Q)−1 更稳定;概念上仍然是在解 (I−Q)x=b(I-Q)x=b(I−Q)x=b,不必真的求逆矩阵。
  • 模拟适合检查数量级和直觉,不替代方程推导。随机模拟的结果会有误差,尤其是小概率吸收出口需要更多重复次数。

在正文模型里,从 1 出发的成功概率是 0.750.750.75,平均吸收时间是 1.8751.8751.875。模拟前把这两个数写下来,逐步走一条路径,数一数吸收前在 1、2 各停了几次,再运行一批路径。平均时间应该和两种暂态平均访问次数之和一致,却不必在有限次模拟中恰好等于理论值。修改转移行后,如果内部形成了不通向出口的闭类,实验会指出吸收条件失效;达到模拟步数上限的路径也要单独列出,不能当作已经吸收来计算完整平均时间。

迁移:目标集合、成本与非吸收情形

首步分析并不只用于“到两个吸收出口”。若目标是集合 AAA,把所有 AAA 内状态设成边界即可;若 A,BA,BA,B 不相交,问从状态 iii 到 BBB 前是否先到 AAA,就把 AAA 设为成功边界、BBB 设为失败边界。若尚未停止时,在状态 iii 记一次非负成本 cic_ici​,停止时刻及其后不再记成本,则总成本是 ∑n=0τA−1cXn\sum_{n=0}^{\tau_A-1}c_{X_n}∑n=0τA​−1​cXn​​。在有限吸收条件下,成本向量有界,期望有限,并满足

vi=ci+∑jpijvj, v_i=c_i+\sum_jp_{ij}v_j,vi​=ci​+j∑​pij​vj​,

在目标上设 vi=0v_i=0vi​=0,相应内部矩阵方程为 (I−Q)v=c(I-Q)v=c(I−Q)v=c,所以 v=Ncv=Ncv=Nc。例如正文模型在状态 1、2 每步分别花费 2、5 个单位,从 1 出发的平均总成本为 1.25×2+0.625×5=5.6251.25\times2+0.625\times5=5.6251.25×2+0.625×5=5.625。它也满足 v1=2+0.5v2v_1=2+0.5v_2v1​=2+0.5v2​、v2=5+0.4v1v_2=5+0.4v_1v2​=5+0.4v1​。不要把成本不相同的问题仍写成 N1N\mathbf1N1。首步分析的核心不是“吸收”这个词,而是把第一次动作从剩余问题中分离出来。

非吸收链也可以写首达方程,但要小心:目标可能以小于 1 的概率到达,期望首达时间可能是无穷大;不能因为方程有一个形式解,就自动声称目标必达或期望有限。有限闭类结构和首达概率边界必须先判断。例如正文模型若只把 {3}\{3\}{3} 当作目标,从 1 出发有 0.250.250.25 的概率永远停在 0,因而 E1[τ{3}]=∞\mathbb E_1[\tau_{\{3\}}]=\inftyE1​[τ{3}​]=∞;1.8751.8751.875 是到 {0,3}\{0,3\}{0,3} 的平均时间,不能换个目标后继续沿用。若允许无穷值,期望首达时间仍是时间首步方程的最小非负解:反复代入所得前 mmm 项为 ∑n=0m−1Pi(τA>n)\sum_{n=0}^{m-1}\mathbb P_i(\tau_A>n)∑n=0m−1​Pi​(τA​>n),任意非负解都不小于它;令 mmm 增大,正好得到 EiτA\mathbb E_i\tau_AEi​τA​。这里零概率去向的项按零贡献处理,不用 0⋅∞0\cdot\infty0⋅∞ 做普通实数运算。

先把目标设为 {0,3}\{0,3\}{0,3},观察两个出口的时间边界都为零。只保留 3 时,预测哪些起点的平均首达时间会变成无穷大,再让实验显示原因。换成 {2}\{2\}{2},状态 1 可能在碰到 2 之前就去了出口,命中概率又要重算。最后恢复两个出口、把成本改成 (2,5)(2,5)(2,5),比较时间方程中的常数 1 与成本方程中的不同常数:矩阵可以复用,右边的量却已经换了。

路径有先后要求时,把必要的历史留下

仍用正文的四状态链,从 1 出发,改问“在吸收到 3 之前,是否已经经过状态 2”。直接走 1→3 虽然成功到达 3,却不符合这次的顺序要求。单独记录当前状态 1 还不够:一直没到过 2 时,和已经走过 1→2→1 时,后续成功事件的条件不同。

加入一个标记,记录“是否访问过 2”。标记为 1 之后不再擦掉,这时最终到 3 的成功概率就是前面算过的 h1=0.75,h2=0.9h_1=0.75,h_2=0.9h1​=0.75,h2​=0.9。从未访问 2 的状态 1 出发,记成功概率为 g1g_1g1​;下一步到 0 失败,到 3 也因顺序不符而失败,只有到 2 才进入“已访问”的一层。因此

g1=0.2×0+0.5h2+0.3×0=0.45.g_1=0.2\times0+0.5h_2+0.3\times0=0.45.g1​=0.2×0+0.5h2​+0.3×0=0.45.

把当前状态和访问标记合起来,便能用同样的首步方程处理新问题。扩张状态并不意味着一定要把完整历史保存下来;本题只需要一个是或否的记录。如果原图中所有到 3 的路径本来就必须经过 2,额外的顺序条件便没有筛掉任何路径,这时两事件反而相同。练习里会让你检查这种情形。

自测与练习

1
若 h_i 表示从 i 出发最终到达目标集合 A 的概率,i∈A 时的边界值是什么?
2
关于吸收链的基本矩阵 N=(I−Q)^{-1},下列哪些说法正确?
3
只要状态 i 可以到达目标 j,就一定有从 i 出发最终到达 j 的概率 1。

巩固:写出首步方程

  1. 状态 0 是吸收目标,状态 1 每步以 0.3 到 0、以 0.7 留在 1。令 hih_ihi​ 为最终到达 0 的概率,写出边界和状态 1 的方程,并求 h1h_1h1​。

边界为 h0=1h_0=1h0​=1。从状态 1 首步分析得 h1=0.3h0+0.7h1h_1=0.3h_0+0.7h_1h1​=0.3h0​+0.7h1​,所以 0.3h1=0.30.3h_1=0.30.3h1​=0.3,h1=1h_1=1h1​=1。这说明虽然每一步都有 0.7 的概率暂时留在 1,但不断重复后最终离开的概率为 1。

  1. 若目标集合为 A={2,3}A=\{2,3\}A={2,3},状态 1 一步到 1、2、3 的概率分别为 0.2、0.5、0.3,写出 h1=P1(τA<∞)h_1=\mathbb P_1(\tau_A<\infty)h1​=P1​(τA​<∞) 的首步方程。为什么不能把 h2,h3h_2,h_3h2​,h3​ 当作未知量继续求?

因为 2、3 已在目标集合中,边界为 h2=h3=1h_2=h_3=1h2​=h3​=1。首步方程为 h1=0.2h1+0.5×1+0.3×1=0.2h1+0.8h_1=0.2h_1+0.5\times1+0.3\times1=0.2h_1+0.8h1​=0.2h1​+0.5×1+0.3×1=0.2h1​+0.8。它们是边界值,不是需要继续从目标外递推的内部变量;若把它们当普通未知量,会丢失“已经到达目标”的事件定义。

变式:分类与周期

  1. 某链的状态图中只有边 1→2、2→1、2→3、3→3、4→4,且每条列出的边概率均为正,未列出的边概率为 0。找出沟通类、闭类,并判断状态 1、3、4 的常返/暂态性质。

沟通类是 {1,2}\{1,2\}{1,2}、{3}\{3\}{3}、{4}\{4\}{4}。因为从 2 可以到 3,却没有从 3 回到 1 或 2,{1,2}\{1,2\}{1,2} 不是闭类;{3}\{3\}{3} 和 {4}\{4\}{4} 都是闭类。有限闭类中的状态常返,所以 3、4 常返;状态 1 属于会流向闭类而不能返回的暂态类,因此为暂态。状态 1 与 2 是否有自环并不影响这个常返/暂态判断,但会影响周期计算。

  1. 一个状态只能在 2、4、6、… 步返回,但也确实存在 2 步和 4 步返回。它的周期是多少?如果又发现存在 3 步返回,周期会怎样改变?

只有偶数步返回时,可能返时时刻的最大公因数是 gcd⁡(2,4,6,…)=2\gcd(2,4,6,\ldots)=2gcd(2,4,6,…)=2,所以周期为 2。若还存在 3 步返回,周期变为 gcd⁡(2,3,4,…)=1\gcd(2,3,4,\ldots)=1gcd(2,3,4,…)=1,状态变为非周期。周期是返时时刻的最大公因数,不是最小返时时刻。

迁移:两种边界与期望时间

  1. 一条链的内部状态为 1、2,吸收态为 0、3,且
Q=(0.30.40.20.5),R=(0.3000.3),Q=\begin{pmatrix}0.3&0.4\\0.2&0.5\end{pmatrix}, \qquad R=\begin{pmatrix}0.3&0\\0&0.3\end{pmatrix},Q=(0.30.2​0.40.5​),R=(0.30​00.3​),

其中吸收态顺序为 (0,3)(0,3)(0,3)。求从状态 1 出发最终在 3 吸收的概率,以及从状态 1 出发的期望吸收时间。要求写明使用的方程或矩阵。

先算 I−Q=(0.7−0.4−0.20.5)I-Q=\begin{pmatrix}0.7&-0.4\\-0.2&0.5\end{pmatrix}I−Q=(0.7−0.2​−0.40.5​),行列式为 0.35−0.08=0.270.35-0.08=0.270.35−0.08=0.27,所以

N=(I−Q)−1=10.27(0.50.40.20.7).N=(I-Q)^{-1}=\frac1{0.27}\begin{pmatrix}0.5&0.4\\0.2&0.7\end{pmatrix}.N=(I−Q)−1=0.271​(0.50.2​0.40.7​).

吸收概率矩阵 B=NRB=NRB=NR。从状态 1 到吸收态 3 的概率是 B1,3=0.40.27×0.3=49≈0.4444B_{1,3}=\frac{0.4}{0.27}\times0.3=\frac{4}{9}\approx0.4444B1,3​=0.270.4​×0.3=94​≈0.4444。期望吸收时间的第一分量为 t1=(N1)1=0.5+0.40.27=103≈3.3333t_1=(N\mathbf1)_1=\frac{0.5+0.4}{0.27}=\frac{10}{3}\approx3.3333t1​=(N1)1​=0.270.5+0.4​=310​≈3.3333 步。检查:暂态行和分别为 0.7、0.7,确实每步有正概率进入吸收部分;结果应为有限正数。

  1. 对第 5 题,比较“最终到 3”和“先经过 2,再最终到 3”两事件。从 1 出发时它们相同吗?随后只把 RRR 的第一行改成 (0.1,0.2)(0.1,0.2)(0.1,0.2),QQQ 与 RRR 的第二行保持不变,再计算这两个概率。

原模型中状态 1 没有直接到 3 的边,进入 3 的最后一步必从 2 出发,因此两事件相同,概率都是 4/94/94/9,不能仅因为题目多写了“先经过”就断定必须换答案。

修改后新增了从 1 直接到 3 的机会,两事件才分开。普通成功概率满足 h1=0.3h1+0.4h2+0.2h_1=0.3h_1+0.4h_2+0.2h1​=0.3h1​+0.4h2​+0.2、h2=0.2h1+0.5h2+0.3h_2=0.2h_1+0.5h_2+0.3h2​=0.2h1​+0.5h2​+0.3,解得 h1=22/27,h2=25/27h_1=22/27,h_2=25/27h1​=22/27,h2​=25/27。对尚未访问 2 的状态 1,直接到 3 不合顺序,所以 g1=0.3g1+0.4h2g_1=0.3g_1+0.4h_2g1​=0.3g1​+0.4h2​,得到 g1=100/189g_1=100/189g1​=100/189。差额 22/27−100/189=2/722/27-100/189=2/722/27−100/189=2/7,正好对应在状态 1 自环若干次后直接跳到 3、始终没去过 2 的路径总概率 0.2/(1−0.3)0.2/(1-0.3)0.2/(1−0.3)。

  1. 沿用第 5 题的 QQQ,但在两个内部状态每步成本分别为 2、5,进入吸收态后不再收费。求从 1 出发的平均总成本,并解释基本矩阵第一行中 50/2750/2750/27 和 40/2740/2740/27 分别表示什么。若忘记计入初始时刻,会少算多少?

由已算的 NNN,从 1 出发吸收前在 1、2 的期望访问次数分别为 50/27,40/2750/27,40/2750/27,40/27。每次访问按对应成本计费,所以平均总成本为 2(50/27)+5(40/27)=100/92(50/27)+5(40/27)=100/92(50/27)+5(40/27)=100/9。这些是包含第 0 步的期望次数,不必是整数。初始状态确定为 1,若漏掉第 0 步就恰好少收 2,而不是少收一个平均成本。

  1. 状态 0、2 各自吸收,状态 1 一步到 0、1、2 的概率依次为 0.2,0.5,0.30.2,0.5,0.30.2,0.5,0.3。以 2 为唯一目标,写出全部首达概率方程。说明为什么只靠方程有多个非负解,怎样选出实际概率,并判断从 1 出发到 2 的平均首达时间是否有限。

方程是 h2=1h_2=1h2​=1、h0=h0h_0=h_0h0​=h0​、h1=0.2h0+0.5h1+0.3h_1=0.2h_0+0.5h_1+0.3h1​=0.2h0​+0.5h1​+0.3,所以 h1=0.4h0+0.6h_1=0.4h_0+0.6h1​=0.4h0​+0.6。最小非负解取 h0=0h_0=0h0​=0,得 h1=0.6h_1=0.6h1​=0.6;事件解释也一样:到 0 就永远不可能再到 2。从 1 出发有 0.40.40.4 的概率永远不到 2,因此该首达时间期望为无穷大。若改问到 {0,2}\{0,2\}{0,2},时间方程变为 t1=1+0.5t1t_1=1+0.5t_1t1​=1+0.5t1​,答案是 2。两种停止目标必须区分。

  1. 四状态链只有这些正概率边:A→B、B→A、B→C、C→D、D→A。找出从 A 返回的两个循环长度,据此判断整个链的周期。若再添加 D→B,并相应调整 D 行概率以保持和为 1,周期怎样变化?

原来有 A→B→A 的两步循环与 A→B→C→D→A 的四步循环。只列出这两个长度还不够排除别的返回长度;把状态分成 {A,C}\{A,C\}{A,C} 与 {B,D}\{B,D\}{B,D},每步必换组,故所有返回长度都为偶数。有两步返回,周期便是 2。整个状态空间相互沟通,其他状态同周期。添加 D→B 后,B→C→D→B 给出三步循环,而 B→A→B 仍是两步循环,所以周期变成 gcd⁡(2,3)=1\gcd(2,3)=1gcd(2,3)=1。

上一章离散时间 Markov 链:矩阵与多步概率下一章平稳分布、周期性与遍历性