问题描述

一枚不均匀的硬币,投出正面概率1/3, 投出反面概率2/3。甲乙交替投掷,先正后反则正面者胜。甲先手,求后手乙的胜率。


方法一:状态转移矩阵求解

复习马尔科夫链


  1. 定义
    马尔科夫链是一种随机过程,其核心特性是“无记忆性”——下一步的状态只依赖于当前状态,而与此前如何到达该状态的路径无关。
    换句话说,若 表示第 步所处的状态,则

  2. 转移矩阵
    如果状态空间有 种可能,记状态集合为 ,则可以用一个 转移概率矩阵 来描述:

  3. 吸收态与瞬时态

    • 吸收态(absorbing state):一旦进入该状态,就不再离开。矩阵中对应行在自身列上为 1,其余为 0。
    • 瞬时态(transient state):有可能迁移到其他状态,也可能最终被吸收。

    若将吸收态排在前面,矩阵 可分块表示为

    其中:

    • 单位矩阵,表示 个吸收态自我保持;
    • 是剩余瞬时态间的转移子矩阵;
    • 是从瞬时态到吸收态的转移子矩阵。
  4. 基本矩阵与吸收概率
    定义基本矩阵(fundamental matrix)

    它的第 元素给出“从瞬时态 最终到达瞬时态 的期望访问次数”。
    进一步,通过

    我们可计算“从每个瞬时态出发,最终被每个吸收态吸收的概率”。

    • 即表示「从瞬时态 开始,最后落入吸收态 」的概率。

应用到投硬币问题

  • 我们将“甲正/反”、“乙正/反”以及“甲胜”、“乙胜”六种可能当作马尔科夫链的状态。
  • “甲胜” 和 “乙胜” 为吸收态,其他四种(A, B, A′, B′)为瞬时态。
  • 用上述吸收马尔科夫链的理论,就能一步推出「从初始态(A 或 B)出发,最终被吸收到“乙胜”态的概率」,也就是乙的胜率。

记甲正反面为A/B,乙正反面A’/B’。

状态总共有6种:A, B, A’, B’, AB’, A’B。

其中AB’和A’B为吸收态,代表甲胜和乙胜。有状态转移矩阵:

AB’ A’B A B A’ B’
AB’ 1 0 0 0 0 0
A’B 0 1 0 0 0 0
A 2/3 0 0 0 1/3 0
B 0 0 0 0 1/3 2/3
A’ 0 2/3 1/3 0 0 0
B’ 0 0 1/3 2/3 0 0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from sympy import *

a = Rational(2, 3) # 反面概率
b = Rational(1, 3) # 正面概率

# 构造 6x6 状态转移矩阵 P
# 状态顺序: [AB', A'B, A, B, A', B']
P = Matrix([
[1, 0, 0, 0, 0, 0], # 吸收态 AB' (甲胜)
[0, 1, 0, 0, 0, 0], # 吸收态 A'B (乙胜)
[a, 0, 0, 0, b, 0], # 状态 A: 甲投反进入 AB',投正进入 A' 状态
[0, 0, 0, 0, b, a], # 状态 B: 甲投正进入 A',投反进入 B'
[0, a, b, 0, 0, 0], # 状态 A': 乙投反进入 A'B,投正进入 A
[0, 0, b, a, 0, 0] # 状态 B': 乙投正进入 AB',投反进入 B
])

# 吸收状态数量
r = 2 # 前两行/列为吸收态

# R: 从瞬时态到吸收态的子矩阵
R = P[r:, :r]
# Q: 瞬时态之间的转移子矩阵
Q = P[r:, r:]

# Fundamental matrix N = (I - Q)^{-1}
N = (eye(Q.rows) - Q).inv()
# B = N * R 给出从瞬时态到吸收态的吸收概率
B = N * R

# 计算乙的胜率:初始状态为 A (甲先投),投正(b)时用 B[0,1],投反(a)时用 B[1,1]
win_prob = b * B[0, 1] + a * B[1, 1]
print(win_prob) # 输出 乙胜率 = 9/20

可得乙胜率为


方法二:解方程组

记4个瞬时态到乙胜的概率

它们满足以下四个方程:


  1. 解释:从状态 A(甲投出正面)以概率 进入 A′,此后到达 A′B 的概率为


  2. 解释:从状态 B(甲投出反面):

    • 以概率 先投正到 A′,再走到 A′B 的概率是
    • 以概率 先投反到 B′,再走到 A′B 的概率是

  3. 解释:从状态 A′(乙投掷时):

    • 以概率 投反直接达到 A′B(乙胜);
    • 以概率 投正回到 A,再从 A 到 A′B 的概率是

  4. 解释:从状态 B′:

    • 以概率 投正到 AB′(甲胜),此时对乙胜率贡献 0(可省略);
    • 以概率 投反回到 B,再从 B 到 A′B 的概率是

可以有方程

可解得

乙得胜概率