牛顿-皮普斯问题

维基百科,自由的百科全书
跳转至: 导航搜索

牛顿-皮普斯问题是一个掷骰子的概率问题。塞缪尔·皮普斯1693年向艾萨克·牛顿咨询怎样在赌局中下注赢面更大,在信中他问道:下列三种情形哪一种概率最高:

  • A.6个正常的骰子独立投掷,至少出现1个6.
  • B.12个正常的骰子独立投掷,至少出现2个6.
  • C.18个正常的骰子独立投掷,至少出现3个6.[1]

概率解[编辑]

利用二项分布,三个投掷实验的概率分别为:[2]

P(A)=1-\left(\frac{5}{6}\right)^{6} = \frac{31031}{46656} \approx 0.6651\, ,
P(B)=1-\sum_{x=0}^1\binom{12}{x}\left(\frac{1}{6}\right)^x\left(\frac{5}{6}\right)^{12-x}
= \frac{1346704211}{2176782336} \approx 0.6187\, ,
P(C)=1-\sum_{x=0}^2\binom{18}{x}\left(\frac{1}{6}\right)^x\left(\frac{5}{6}\right)^{18-x}
= \frac{15166600495229}{25389989167104} \approx 0.5973\, .

该类问题的通项公式,一般的,若P(N)是投掷6n个骰子得到至少n个6的概率,则:

P(N)=1-\sum_{x=0}^{n-1}\binom{6n}{x}\left(\frac{1}{6}\right)^x\left(\frac{5}{6}\right)^{6n-x}\, .

n变大时,P(N)会逐渐趋近于极限值1/2.

编程计算法[编辑]

R语言中,该问题可以用如下方法解:

p <- as.numeric(1/6)
s <- c(1, 2, 3)
for (i in s)
{
   x <- 0
   n <- 6*i
   for(j in 0:(i-1)) {x <- x + dbinom(j, n, p) }
   print(paste("Probability of at least ", i, " six in ", n, " fair dice: ", 1-x, sep=""))
}

结果会显示为:

[1] "Probability of at least 1 six in 6 fair dice: 0.665102023319616"
[1] "Probability of at least 2 six in 12 fair dice: 0.618667373732309"
[1] "Probability of at least 3 six in 18 fair dice: 0.597345685947723"

参考文献[编辑]

  1. ^ Isaac Newton as a Probabilist, Stephen Stigler, University of Chicago
  2. ^ MathWorldNewton-Pepys Problem 的资料,作者:埃里克·韦斯坦因