有优惠券收集者问题的一般形式的公式吗?


10

我偶然发现了优惠券收集者的问题,并试图为通用化制定一个公式。

如果有N不同的对象,你想收集至少每个任何副本人(其中),什么是你应该有多少个随机购买对象的期望?正常的优惠券收集器问题有和。Ñ = Ñ ķ = 1kmmNm=Nk=1

集合中有12个不同的乐高人物。我想收集10个(任意10个)图形中的每个图形的3个副本。我可以一次随机购买。在我每10个拥有3份副本之前,我应该期望购买多少个?


3
我不记得曾见过针对该特定概括的公式,但对于诸如此类的一次性特定问题,我倾向于使用模拟。
Glen_b-恢复莫妮卡2015年

Answers:


5

这不容易计算,但只要不能太大。(此数字计算收集优惠券时需要跟踪的可能状态。)(m+kk)

让我们从模拟开始,以了解答案。在这里,我收集了100万次乐高数据。该图中的黑线跟踪收集至少十个不同数字中的三个所需的购买次数的频率。

数字

灰带是每个计数的大约两侧95%置信区间。它的下面是一条红色曲线:这是真实值。

n=12k=3m=10x0i0x1i1x2i2x3i3ijk=0k=tj=0kxjij

i0i0/ni1/n

x0i0x1i1x2i2x3i31n(i0x0i01x1i1+1x2i2x3i3++i3x0i0x1i1x2i21x3i3).

(x1Dx0+x2Dx1+x3Dx2+x3Dx3)/nx012=x0np(n+kk)j=0kxjijpi3t(m+1)(n+kk)

6nk=2161017

n = 12;
threshold = 10;
k = 3;

(* Draw one object randomly from an urn with `n` of them *)
draw[p_] := 
  Expand[Sum[Subscript[x, i] D[#, Subscript[x, i - 1]], {i, 1, k}] + 
      Subscript[x, k] D[#, Subscript[x, k]] & @ p];

(* Find the chance that we have collected at least `k` each of `threshold` objects *)
f[p_] := Sum[
  Coefficient[p, Subscript[x, k]^t] /. 
   Table[Subscript[x, i] -> 1, {i, 0, k - 1}], {t, threshold, n}]

(* Compute the chances for a long series of draws *)
q = f /@ NestList[draw[#]/n &, Subscript[x, 0]^n, 6 n k];

结果大约需要两秒钟的时间来计算(比模拟要快!)是由抽奖次数索引的概率数组。以下是其差异的图表,它们是根据计数来结束购买的概率:

图2

这些正是第一个图中用于绘制红色背景曲线的数字。(卡方检验表明模拟与该计算没有显着差异。)

1q50.7619549386733

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.