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

求m人购票抽奖场景中第i个人获得第n等奖的概率

嘿,这个问题挺有意思的,我来一步步拆解给你看:

问题核心拆解

首先,我们可以把这个抽奖过程等价理解为:每次从所有票里抽一张,如果抽到已经获奖的人的票就作废,直到抽到未获奖的人,这个人就是下一个获奖者,直到所有人都拿到奖项。本质上,我们要算的是第i个人在所有获奖者中排第n位的概率。

关键观察与递归公式

先从简单的情况入手:

  • 当n=1时,第i个人拿一等奖的概率很直观,就是他的票数占总票数的比例:P(m, 1, i) = t_i / (t₁ + t₂ + ... + t_m),这里总票数记为T = Σt_j。

对于n>1的情况,我们可以用递归的思路:要让i拿第n等奖,必须先有n-1个不同的人在他之前获奖。具体来说:

  1. 第一个获奖的是某个j≠i,概率是t_j / T;
  2. 之后问题简化为:剩下m-1个人(去掉j),总票数变成T - t_j,求i在这m-1个人里拿第n-1等奖的概率。

所以递归公式就是:

P(m, n, i) = Σ_{j≠i} [ (t_j / T) * P(m-1, n-1, i) ]

这里的P(m-1, n-1, i)是去掉j后的子问题概率,总票数为T - t_j,其他人的票数不变。

展开后的求和表达式

把递归公式展开,我们可以得到更直接的求和形式:第i个人拿第n等奖的概率,等于所有可能的「n-1个非i的人先获奖」的排列情况的概率之和。

具体来说,对于任意一组n-1个不同的非i的人(记为集合S),我们计算所有S中元素的排列顺序对应的概率,再乘以第n次抽中i的概率,最后对所有这样的集合S求和:

P(i, n) = t_i * Σ_{S⊆[m]\{i\}, |S|=n-1} [ ( Σ_{σ是S的排列} ( product_{k=1到n-1} t_{σ(k)} / (T - Σ_{l=1到k-1} t_{σ(l)}) ) ) / (T - Σ_{s∈S} t_s) ]

举个例子验证:当m=3,n=2时,i拿二等奖的概率就是:

(t_j / T) * (t_i / (T - t_j)) + (t_k / T) * (t_i / (T - t_k))

这和我们手动计算的结果一致,完全符合直觉。

特殊情况验证

当所有人的票数都相等(比如t_j=1),总票数T=m,此时每个位置的概率都是1/m,这和我们的公式计算结果一致——毕竟每个人只有一张票,抽奖顺序就是随机排列,每个位置的概率均等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:47:32