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

如何计算特定场景下的失败概率及最大可承载用户规模

问题通用解法与计算公式

核心模型定义

这个问题本质是二项分布的逆求解问题,相关参数定义如下:

  • n:待求的最大可承载群体规模(即每小时可支持的玩家数量)
  • p:单个独立事件的发生概率(即单用户单次游戏的获胜概率)
  • x:最多允许的事件发生次数(即最多允许的用户获胜次数,超过即判定失败/奖池耗尽)
  • y:可接受的失败概率上限(单位%,即奖池耗尽的最大允许概率)

我们的目标是找到最大的整数n,满足:n个独立用户参与时,事件发生次数超过x的概率 ≤ y/100,等价于二项分布累积概率满足:P(k ≤ x) ≥ 1 - y/100,其中k为实际发生的事件次数,服从参数为(n,p)的二项分布。

通用求解方法

该问题没有封闭的代数解析式,可通过两种方式求解:

1. 精确迭代法

从n=x(最少需要x个用户才有可能出现x次事件)开始逐步增大n的取值,每次计算二项累积分布值,直到累积值刚好小于1 - y/100,此时的前一个n值就是最大可承载规模,结果完全精确。

2. 正态近似法(适合n较大的场景)

当n足够大时,二项分布(n,p)可近似为正态分布N(np, np(1-p)),引入连续性修正后可以得到近似不等式:

Φ( (x + 0.5 - np)/sqrt(np(1-p)) ) ≥ 1 - y/100

其中Φ为标准正态分布的累积分布函数,z为标准正态分布的1 - y/100分位数(比如y=5%时,对应分位数z≈1.645),解该二次不等式后向下取整即可得到近似的最大n值,误差通常在可接受范围内。

你的场景计算示例

你给出的场景参数为:p=0.2,x=10,y=5
用精确迭代法计算可得:

  • n=37时,P(k ≤ 10) ≈ 0.959 > 0.95,满足奖池耗尽概率低于5%的要求
  • n=38时,P(k ≤ 10) ≈ 0.947 < 0.95,不满足要求
    因此该场景下最多可支持37名玩家同时参与,和正态近似法的计算结果一致。

常用工具实现代码示例

以下是R语言的实现代码,可直接代入不同参数计算结果:

# 自定义求解函数,p为单次概率、x为最大允许次数、y为失败概率上限(百分比数值)
cal_max_n <- function(p, x, y) {
  threshold <- 1 - y/100
  n <- x
  while(pbinom(x, n, p) >= threshold) {
    n <- n + 1
  }
  return(n - 1)
}

# 代入你的场景参数计算
cal_max_n(p=0.2, x=10, y=5)

运行上述代码返回结果为37,和手动计算结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:42:00