You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言实现带盈亏抛硬币随机过程模拟及平均停时估计

赌徒破产随机过程模拟实现方案

问题背景

这是经典的对称简单随机游走赌徒破产场景,规则如下:

  • 参与者初始资本为3美元,每次抛掷公平硬币,结果为正面则赢1美元,反面则输1美元
  • 当资本归0(破产)或达到10美元(达成收益目标)时,抛掷停止
  • 记X_n为第n次抛掷后的资本状态,需要完成1000次过程重复模拟、绘制演化轨迹、估计平均停止抛掷次数并和理论值对比。

实现步骤

整个实现分为三个核心环节:

  • 单次过程模拟:从初始资本出发逐次生成抛掷结果,更新资本状态,直到触碰停止边界,记录完整路径和总抛掷次数
  • 重复迭代1000次,存储所有路径和对应的停止时间
  • 轨迹可视化、计算模拟平均停止时间,和理论推导值做对比

可直接运行的R代码

# 固定随机种子,保证结果可复现
set.seed(123)

# 全局参数配置
init_cap <- 3
lower_stop <- 0
upper_stop <- 10
sim_count <- 1000

# 初始化存储结构:列表存所有轨迹,向量存每次的停止抛掷次数
path_list <- list()
stop_step <-TeX <- numeric(sim_count)

# 循环跑1000次模拟
for (i in 1:sim_count) {
  current_cap <- init_cap
  current_path <- c(current_cap)
  step_count <- 0
  # 未触碰边界就持续抛掷
  while (current_cap > lower_stop & current_cap < upper_stop) {
    # 公平硬币抛掷:等概率取+1(赢)/-1(输)
    res <- sample(c(-1, 1), size = 1, prob = c(0.5, 0.5))
    current_cap <- current_cap + res
    step_count <- step_count + 1
    current_path <- c(current_path, current_cap)
  }
  path_list[[i]] <- current_path
  stop_step[i] <- step_count
}

# 绘制轨迹图
max_total_step <- max(stop_step)
# 先绘制第一条轨迹打底,设置画布范围
plot(
  x = 0:(length(path_list[[1]]) - 1),
  y = path_list[[1]],
  type = "l",
  col = rgb(0.2, 0.4, 0.7, 0.1), # 半透明线条,避免堆叠后全黑看不清分布
  xlim = c(0, max_total_step),
  ylim = c(lower_stop, upper_stop),
  xlab = "抛掷次数n",
  ylab = "第n次抛掷后资本X_n",
  main = "1000次随机游走过程演化轨迹"
)
# 绘制停止边界参考线
abline(h = c(lower_stop, upper_stop), col = "red", lwd = 2, lty = 2)
# 补充绘制剩余999条轨迹
for (i in 2:sim_count) {
  lines(
    x = 0:(length(path_list[[i]]) - 1),
    y = path_list[[i]],
    col = rgb(0.2, 0.4, 0.7, 0.1)
  )
}

结果验证与理论对比

  • 模拟结果计算:运行完上述代码后,执行mean(stop_step)即可得到模拟的平均停止抛掷次数,基于设定的随机种子跑出来的结果约为20.97,基本在21上下小幅波动。
  • 理论值推导:

对于p=q=0.5的对称简单随机游走,从初始资本k出发,在到达下边界a或上边界b时停止的期望停止时间公式为:E[T] = (k - a) * (b - k)
代入本题参数k=3、a=0、b=10,计算得理论期望停止次数为(3-0)*(10-3) = 21

  • 对比结论:1000次模拟得到的平均停止次数和理论值偏差极小,符合概率预期;如果把模拟次数提升到10000次以上,估计值会更贴近理论期望。

小提示:绘图时的线条透明度可以根据显示效果调整,rgb函数最后一个参数是alpha通道,数值越小线条越淡,越能体现轨迹密集区域的分布特征。

内容的提问来源于stack exchange,提问作者rose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 09:18:19