参数设置
p = P(1→2)、q = P(2→1)。点击播放将 t 从 0 扫至 50,观察从初始分布到平稳 π 的指数收敛。
状态遷移图
两个圆代表状态 1 和 2。圆的大小与当前步骤 t 的概率成正比。箭头表示遷移概率 p (1→2) 和 q (2→1),自环为滞留概率 (1−p), (1−q)。
P_1(t) 的指数收敛
横轴为步骤 t (0~50),纵轴为状态 1 的概率 P_1(t)。水平虚线为平稳值 π_1,黄色标记为当前的 t。|1−p−q| 为特征值 λ_2,决定收敛速度。
理论和主要公式
将 2 状态马尔可夫链的遷移矩阵设为 $P = \begin{pmatrix} 1-p & p \\ q & 1-q \end{pmatrix}$。特征值为 $\lambda_1 = 1$ 和 $\lambda_2 = 1-p-q,平稳分布为
$$\pi_1 = \frac{q}{p+q}, \qquad \pi_2 = \frac{p}{p+q}$$
t 步骤后状态 1 的概率由特征值分解得出
$$P_1(t) = \pi_1 + (P_1(0) - \pi_1)\,(1-p-q)^t$$
99% 混合时间由 $|P_1(t)-\pi_1| / |P_1(0)-\pi_1| = 0.01$ 得 $t_{\text{mix}} = \ln(0.01) / \ln|1-p-q|$。当 p+q → 0 或 → 2 时,λ_2 → ±1,混合时间趋于无穷。
马尔可夫链模拟器简介
🙋
马尔可夫链是「未来仅由现在决定」的链吧。2 个状态有什么好玩的吗?
🎓
问得好。2 状态是最小规模,但平稳分布、特征值、混合时间这些马尔可夫链的核心概念都能写成闭形式——这在其他尺度是做不到的。例如 $\pi_1 = q/(p+q)$,代入 p=0.30, q=0.40 手工计算得 0.5714。本工具通过动画图表和收敛曲线,让你不仅看到数字,还看到「动的画面」,直观理解。
🙋
当把 p+q 拉近 1 时,收敛曲线瞬间变平。为什么?
🎓
$\lambda_2 = 1-p-q$ 是特征值。当 λ_2 → 0 时,λ_2^t 一步就几乎消失了。反之 p=q=0.01(都接近 0)则 λ_2 ≈ 0.98,那么 0.98^{10}=0.82,0.98^{50}=0.36,几乎保持初始分布。从 $t_{\text{mix}} = \ln(0.01)/\ln|\lambda_2|$ 可看出,|λ_2| 越接近 1,分母越接近 0,混合时间趋于无穷。
🙋
把 p+q 拉到 2 附近(比如都是 0.99),λ_2 ≈ -0.98 变负了。会发生什么?
🎓
很敏锐的观察。负特征值引入「振荡衰减」。P_1(t) 在 π_1 周围上下摆动,逐渐衰减。点播放按钮扫描时,你会看到收锯齿状的曲线。这是周期 2 马尔可夫链(双部分)的接近状态,真正的周期链不收敛到平稳分布。实际应用中,信号交替变化或延迟反馈系统会出现这种情况。
🙋
我听说 PageRank 也是马尔可夫链。有什么不同吗?
🎓
本质相同。PageRank 是数十亿个网页节点的超巨大马尔可夫链,每个网页是一个状态,超链接对应遷移概率。求的是平稳分布 π,它就是页面的「重要性排名」。本工具的 2×2 矩阵放大到 10^9 × 10^9,实现方式就是反复迭代 $\pi^{(t+1)} = \pi^{(t)} P$,这其实就是本工具里 $P_1(t) = \pi_1 + (P_1(0)-\pi_1)\lambda^t$ 在巨大维数上的应用。
常见问题
2 状态马尔可夫链「既约」需要 p>0 且 q>0,本工具滑块范围 0.01~0.99 保证了这一点。如果还「非周期」(有自环 1−p>0 或 1−q>0 即足够,本工具自动满足),根据 Perron-Frobenius 定理,特征值 1 是单重的,对应的左特征向量就是唯一的平稳分布 π。当 p+q=2 时陷入周期 2,不收敛(本工具限制 p+q≤1.98)。
弛豫时间定义为 $\tau_{\text{rel}} = 1/(1-|\lambda_2|)$,是概率差缩小到 1/e ≈ 0.368 的特征时间。混合时间 $t_{\text{mix}}$ 是具体的阈值(本工具用 1%)衰减的步数,两者有关系 $t_{\text{mix}} \approx \tau_{\text{rel}} \ln(1/\epsilon)$。本工具的 $t_{\text{mix}} = \ln(0.01)/\ln|\lambda_2|$ 是 ε=0.01 的精确离散步数,因对数底的微小差别,不同文献值可能略有偏差。
马尔可夫可靠性分析从「稼动⇄故障」的遷移概率求可用性(availability)。设故障率为 λ,修理率为 μ,则 A = μ/(λ+μ)——这正是本工具的 π_1 = q/(p+q),其中 p ↔ λ,q ↔ μ。与 FMEA/FTA 的树形组合概率法相比,马尔可夫模型处理时间演变(从过渡态到平稳态的收敛),是互补的。离散事件模拟和可靠性框图的后端也常出现这种模型。
N 状态时遷移矩阵变为 N×N,有 N 个特征值(其中必有 λ_1=1)。平稳分布求解 $\pi P = \pi$ 一般无闭形式,通常用幂迭代法 $\pi^{(t+1)} = \pi^{(t)} P$——PageRank 也是这样。混合时间由二大特征值 |λ_2|(谱隙)决定,$t_{\text{mix}} \approx \ln(1/\epsilon)/(1-|\lambda_2|)$。本工具的 2×2 是最小规模,所有概念都能手工验证,是学习的好起点。
实世界应用
可靠性工程·保全计划:制造生产线设备在「稼动」和「故障」间往复,简易模型中平均故障时间 MTTF = 1/p,平均修理时间 MTTR = 1/q,平稳稼动率(可用性)A = q/(p+q)。本工具设 p=0.05, q=0.50 得 A=0.909,即 90.9% 稼动率——这是工厂保全部门每天用的 KPI 数字。扩展到 3 状态(稼动·劣化·故障)可优化预防保全。
Web 搜索·PageRank:Google PageRank 是数百亿网页的超大规模马尔可夫链的平稳分布,用阻尼系数 0.85 的幂迭代法计算。链接结构就是遷移矩阵,平稳概率就是页面重要度排名——本工具的 $\pi P = \pi$ 推广到 10^11 维的算法。YouTube 推荐、Amazon 商品相关也是类似框架,用随机游走的平稳分布实现。
强化学习·MDP:马尔可夫决策过程(MDP)加入行为 a,用 Bellman 方程 V(s) = max_a [r(s,a) + γ Σ P(s'|s,a) V(s')] 求最优策略。Q-learning、SARSA、Deep Q-Network、AlphaGo、自动驾驶、ChatGPT 的 RLHF 都以 MDP 为基础。本工具是「无行为无奖励」的基础马尔可夫链,特征值分析是理解 MDP 的预备知识。
自然语言·隐马尔可夫模型(HMM):语音识别、词性标注、基因序列分析都用 HMM,它由隐状态的马尔可夫链加上每个状态的观测概率组成。Viterbi 算法(最大似然状态列)和 Baum-Welch(EM 训练)是常见算法,但底层的遷移矩阵特征值分析就是本工具框架。手机 T9 输入预测、DNA 甲基化分析也是这个应用。
常见误解和注意事项
最常见误解:「到达平稳分布后,状态就不变了」。实际是个体遍历持续发生概率性遷移,长期平均下来状态 1 的时间比例趋向 π_1,绝不是停滞。如 π_1=0.5714 意思是「100 步中约 57 步在状态 1」,每步仍在按 p, q 遷移。本工具的曲线 P_1(t) 是「无穷多条样本路径的集合平均」(期望值),不是单条样本路径(实现)。
其次误解:「马尔可夫性=无历史记忆」被误读为「丢失全部过去信息」。正确理解是 P(X_{t+1}|X_t, X_{t-1}, ...) = P(X_{t+1}|X_t),即「现在状态 X_t 凝聚了必要信息」,过去被「编码在」X_t 里。如股价简单随机游走是马尔可夫,但若状态设为 (X_t, ΔX_t)(含前日变化率),就是「增强信息的马尔可夫」,保留了更多结构。状态空间设计是应用的关键。
最后注意:「混合时间数值不可绝对依赖」。本工具的 $t_{\text{mix}} = \ln(0.01)/\ln|\lambda_2|$ 依赖 ε=0.01(1% 阈值)选择。改成 ε=0.05 则值缩至 65%,ε=0.001 则扩到 1.5 倍。实用上当「99% 收敛目安」,严格收敛证明需用全变异距离或 χ² 距离另行评估。MCMC(马尔可夫链蒙特卡洛)的预热(burn-in)期设置也需同样谨慎。