三国杀中的概率学问题4——曹冲

前言

这篇文章是围绕曹冲的称象技能展开的一些数学上的讨论,将涉及到积分、概率论等知识,并会做很多拓展。
值得说明的是,本文受到了这篇文章的一些启发。

连续情形1

先来看一个连续情形的问题。

问题一:假设每张牌的点数是0~1的随机数。我们重复翻开牌堆顶的牌,直到所有牌的点数和大于1为止。求翻开牌数的数学期望。

我们用概率论的方式来理解这个问题。每张牌的点数可以看成一个随机变量,第 i i i张牌的点数表示的随机变量为 ξ i \xi_i ξi。由题意得, ξ i \xi_i ξi服从标准均匀分布,即 ξ i \xi_i ξi~ U ( 0 , 1 ) U(0,1) U(0,1)。且这些随机变量相互独立。

E E E为翻开牌数的数学期望。我们来考虑如何求 E E E

要摸到第 i i i张牌,只需要前 i i i张牌的点数和小于等于1,即 ∑ i = 1 i ξ i ≤ 1 \sum_{i=1}^i{\xi_i}\leq1 i=1iξi1

那么我们有 P ( ∑ i = 1 n ξ i ≤ 1 ) P(\sum_{i=1}^n{\xi_i}\leq1) P(i=1nξi1)的概率摸到第 n n n张牌。

再加上最后一张使得点数和大于1的牌,我们得到

E = 1 + ∑ n = 1 ∞ P ( ∑ i = 1 n ξ i ≤ 1 ) E=1+\sum_{n=1}^\infty{P(\sum_{i=1}^n{\xi_i}\leq1)} E=1+n=1P(i=1nξi1)

那么我们现在需要计算 P ( ∑ i = 1 n ξ i ≤ 1 ) P(\sum_{i=1}^n{\xi_i}\leq1) P(i=1nξi1)

Y n = ∑ i = 1 n ξ i Y_n=\sum_{i=1}^n{\xi_i} Yn=i=1nξi,那么 Y n Y_n Yn其实就是 n n n个服从标准均匀分布的随机变量的和。有意思的是,刚好有一种分布就是这么定义的。它就是欧文-霍尔分布。

欧文-霍尔分布的分布函数为 F Y n ( x ) = 1 n ! ∑ k = 0 ⌊ x ⌋ ( − 1 ) k C n k ( x − k ) n F_{Y_n}(x)=\frac{1}{n!}\sum_{k=0}^{\lfloor x \rfloor}{(-1)^kC_n^k (x-k)^n} FYn(x)=n!1k=0x(1)kCnk(xk)n

看起来非常复杂,但是我们只需要 x = 1 x=1 x=1时的结果就行了。代入 x = 1 x=1 x=1,得

F Y n ( 1 ) = 1 n ! F_{Y_n}(1)=\frac{1}{n!} FYn(1)=n!1

那么 P ( ∑ i = 1 n ξ i ≤ 1 ) = F Y n ( 1 ) = 1 n ! P(\sum_{i=1}^n{\xi_i}\leq1)=F_{Y_n}(1)=\frac{1}{n!} P(i=1nξi1)=FYn(1)=n!1

于是 E = 1 + ∑ n = 1 ∞ P ( ∑ i = 1 n ξ i ≤ 1 ) = 1 + ∑ n = 1 ∞ 1 n ! = e ≈ 2.718 E=1+\sum_{n=1}^\infty{P(\sum_{i=1}^n{\xi_i}\leq1)}=1+\sum_{n=1}^\infty{\frac{1}{n!}}=e \approx2.718 E=1+n=1P(i=1nξi1)=1+n=1n!1=e2.718

连续情形2

问题2:假设每张牌的点数是0~1的随机数。我们同时亮出4张牌,然后尽可能地拿最多牌,同时保证拿到的牌的点数和小于等于1。求获得牌数的数学期望。

这个时候已经越来越接近原始的称象问题了。我们令 E E E表示获得牌数的数学期望。

我们令 P i P_i Pi表示四张牌中,任意 i i i张牌的点数和都大于1的概率。

那么 1 − P i 1-P_i 1Pi就表示四张牌中,存在 i i i张牌,其点数和小于1。也就是说,我们有 1 − P i 1-P_i 1Pi的概率摸到第 i i i张牌。

于是,得到 E = ∑ i = 1 4 1 − P i E=\sum_{i=1}^{4}{1-P_i} E=i=141Pi

那么问题就转化成了求 P i P_i Pi

显然, P 1 = 0 P_1=0 P1=0,因为任意一张牌的点数都小于等于1。

P 4 P_4 P4也很好求,利用上面的欧文霍尔分布的分布函数即可。

P 4 = P ( ∑ i = 1 4 ξ i > 1 ) = 1 − P ( ∑ i = 1 4 ξ i ≤ 1 ) = 1 − F Y 4 ( 1 ) = 1 − 1 4 ! = 23 24 P_4=P(\sum_{i=1}^4{\xi_i}>1)=1-P(\sum_{i=1}^4{\xi_i}\leq1)=1-F_{Y_4}(1)=1-\frac{1}{4!}=\frac{23}{24} P4=P(i=14ξi>1)=1P(i=14ξi1)=1FY4(1)=14!1=2423

P 2 P_2 P2 P 3 P_3 P3相对来说,比较难求。

P 2 P_2 P2可以转化成求被下列函数包围的体积:

{ 0 ≤ x 1 , x 2 , x 3 , x 4 ≤ 1 x 1 + x 2 > 1 x 1 + x 3 > 1 x 1 + x 4 > 1 x 2 + x 3 > 1 x 2 + x 4 > 1 x 3 + x 4 > 1 \begin{cases} 0\leq x_1,x_2,x_3,x_4\leq1 \\ x_1+x_2>1 \\ x_1+x_3>1 \\ x_1+x_4>1 \\ x_2+x_3>1 \\ x_2+x_4>1 \\ x_3+x_4>1 \\ \end{cases} 0x1,x2,x3,x41x1+x2>1x1+x3>1x1+x4>1x2+x3>1x2+x4>1x3+x4>1

二维和三维情况可以通过画图的方法来做,但是这是四维空间,于是我们用积分来计算。

P 2 = ∫ 0 1 ∫ 1 − x 1 1 ∫ 1 − m i n ( x 1 , x 2 ) 1 ∫ 1 − m i n ( x 1 , x 2 , x 3 ) 1 d x 1 d x 2 d x 3 d x 4 = ∫ 0 1 ∫ 1 − x 1 1 ∫ 1 − m i n ( x 1 , x 2 ) 1 m i n ( x 1 , x 2 , x 3 ) d x 1 d x 2 d x 3 P_2=\int_0^1\int_{1-x_1}^1\int_{1-min(x_1,x_2)}^1\int_{1-min(x_1,x_2,x_3)}^1dx_1dx_2dx_3dx_4=\int_0^1\int_{1-x_1}^1\int_{1-min(x_1,x_2)}^1{min(x_1,x_2,x_3)}dx_1dx_2dx_3 P2=011x111min(x1,x2)11min(x1,x2,x3)1dx1dx2dx3dx4=011x111min(x1,x2)1min(x1,x2,x3)dx1dx2dx3

通过编写如下的matlab代码,我们算出 P 2 = 1 8 P_2=\frac{1}{8} P2=81

integral3(@(x,y,z)min(min(x,y),z),0,1,@(x)1-x,1,@(x,y)1-min(x,y),1)

四张牌的情况下, P 2 = 1 8 P_2=\frac{1}{8} P2=81。事实上, n n n张牌的情况下,任意两张牌点数大于1的概率为 1 2 n − 1 \frac{1}{2^{n-1}} 2n11

计算 P 3 P_3 P3跟计算 P 2 P_2 P2类似,也是转化为求体积的问题,用积分进行求解。

P 3 = ∫ 0 1 ∫ 0 1 ∫ m a x ( 1 − x 1 − x 2 , 0 ) 1 ∫ m a x ( 1 − m i n ( x 1 + x 2 , x 1 + x 3 , x 2 + x 3 ) , 0 ) 1 d x 1 d x 2 d x 3 d x 4 = ∫ 0 1 ∫ 0 1 ∫ m a x ( 1 − x 1 − x 2 , 0 ) 1 1 − m a x ( 1 − m i n ( x 1 + x 2 , x 1 + x 3 , x 2 + x 3 ) , 0 ) d x 1 d x 2 d x 3 P_3=\int_0^1 \int_0^1 \int_{max(1-x_1-x_2,0)}^1\int_{max(1-min(x_1+x_2,x_1+x_3,x_2+x_3),0)}^1dx_1dx_2dx_3dx_4=\int_0^1 \int_0^1 \int_{max(1-x_1-x_2,0)}^1{1-max(1-min(x_1+x_2,x_1+x_3,x_2+x_3),0)}dx_1dx_2dx_3 P3=0101max(1x1x2,0)1max(1min(x1+x2,x1+x3,x2+x3),0)1dx1dx2dx3dx4=0101max(1x1x2,0)11max(1min(x1+x2,x1+x3,x2+x3),0)dx1dx2dx3

matlab代码如下:

integral3(@(x,y,z)1-max(1-min(min(x+y,x+z),y+z),0),0,1,0,1,@(x,y)1-x-y,1)

求得 P 3 = 23 36 P_3=\frac{23}{36} P3=3623

事实上,在 n n n张牌的情况下,任意3张牌点数和大于1的概率为 2 ∗ 4 n − 2 − 3 n − 2 6 n − 2 \frac{2*4^{n-2}-3^{n-2}}{6^{n-2}} 6n224n23n2

值得说明的是,matlab的代码只能求出积分的数值解,这里是为了方便起见,人为凭借经验转换成了分数的形式。

最终,我们求出 P 1 = 0 , P 2 = 1 8 , P 3 = 23 36 , P 4 = 23 24 P_1=0,P_2=\frac{1}{8},P_3=\frac{23}{36},P_4=\frac{23}{24} P1=0,P2=81,P3=3623,P4=2423

E = ∑ i = 1 4 1 − P i = 41 18 ≈ 2.278 E=\sum_{i=1}^{4}{1-P_i}=\frac{41}{18}\approx2.278 E=i=141Pi=18412.278

离散情形

三国杀中的概率学问题4——曹冲_第1张图片
现在我们来看曹冲的技能称象。

问题3:每张牌的点数为1-13的整数,且随机出现。我们同时亮出4张牌,然后尽可能地拿最多牌,同时保证拿到的牌的点数和小于等于13。求获得牌数的数学期望。

题目中有两个13,将这两个13记为 m m m,令 m → ∞ m\to \infty m,就是连续情形2,数学期望就是 41 18 \frac{41}{18} 1841。现在我们来求解一下离散情形。

方法一

我们先用数学方法解一下这个问题。

我们令 E E E表示获得牌数的数学期望。

我们令 P i P_i Pi表示四张牌中,任意 i i i张牌的点数和都大于13的概率。

跟上面的公式相同, E = ∑ i = 1 4 1 − P i E=\sum_{i=1}^{4}{1-P_i} E=i=141Pi

由于每张牌的点数最大就是13,所以任意一张牌的点数大于13的概率为0,即 P 1 = 0 P_1=0 P1=0

P 2 P_2 P2的计算

P 2 P_2 P2的计算比较有难度。

我们假设4张牌中点数最小的牌的点数为 i i i

1 ≤ i ≤ 6 1\leq i\leq6 1i6,那么其它三张牌必须要大于 13 − i 13-i 13i,于是其它三张牌的取值范围为 ( 13 − i , 13 ] (13-i,13] (13i,13],每张牌有 i i i种取法,三张牌共有 i 3 i^3 i3种取法。由于最小的牌可以在4个位置的任意一个位置,所以答案要乘以4,即 ∑ i = 1 6 4 ∗ i 3 \sum_{i=1}^6 {4*i^3} i=164i3

7 ≤ i ≤ 13 7\leq i\leq13 7i13,那么其实这四张牌都大于等于7即可。于是方案数为 7 4 7^4 74

于是, P 2 = ∑ i = 1 6 4 ∗ i 3 + 7 3 1 3 4 = 4165 28561 ≈ 0.1458 P_2=\frac{\sum_{i=1}^6 {4*i^3}+7^3}{13^4}=\frac{4165}{28561}\approx0.1458 P2=134i=164i3+73=2856141650.1458

稍微拓展一下,把题目中的亮出4张牌,改为亮出 n n n张牌,把题目中的两个13改成 m m m,看看 P 2 P_2 P2又将如何计算。

我们假设 n n n张牌中最小的点数为 i i i

1 ≤ i ≤ ⌊ m 2 ⌋ 1\leq i \leq \lfloor\frac{m}{2}\rfloor 1i2m时,其它 n − 1 n-1 n1张牌的范围是 ( m − i , m ] (m-i,m] (mi,m],即每张牌有 i i i种取法,于是 n − 1 n-1 n1张牌有 i n − 1 i^{n-1} in1种取法。由于最小值所在的位置可以是 n n n个位置中的任意位置,故要再乘以 n n n,所以一共有 n ∑ i = 1 ⌊ m 2 ⌋ i n − 1 n\sum_{i=1}^{\lfloor\frac{m}{2}\rfloor}{i^{n-1}} ni=12min1种取法。

⌊ m 2 ⌋ < i ≤ m \lfloor\frac{m}{2}\rfloor2m<im时,那么其实这 n n n张牌可以在 ( ⌊ m 2 ⌋ , m ] (\lfloor\frac{m}{2}\rfloor,m] (⌊2m,m]的范围内任意取,于是共有 ( m − ⌊ m 2 ⌋ ) n (m-\lfloor\frac{m}{2}\rfloor)^n (m2m)n种取法。

于是, P 2 = n m n ∑ i = 1 ⌊ m 2 ⌋ i n − 1 + ( m − ⌊ m 2 ⌋ ) n m n P_2=\frac{n}{m^n}\sum_{i=1}^{\lfloor\frac{m}{2}\rfloor}{i^{n-1}}+\frac{(m-\lfloor\frac{m}{2}\rfloor)^n}{m^n} P2=mnni=12min1+mn(m2m)n

让我们计算一下 P 2 P_2 P2 m → ∞ m\to\infty m时的极限。

补充一个知识, l i m m → ∞ ∑ i = 1 m i n m n + 1 = 1 n + 1 lim_{m\to\infty}\sum_{i=1}^m{\frac{i^n}{m^{n+1}}}=\frac{1}{n+1} limmi=1mmn+1in=n+11

于是得到, l i m m → ∞ P 2 = l i m m → ∞ n m n ∑ i = 1 m 2 i n − 1 + ( m − m 2 ) n m n = 1 2 n + 1 2 n = 1 2 n − 1 lim_{m\to\infty}P_2=lim_{m\to\infty}\frac{n}{m^n}\sum_{i=1}^{\frac{m}{2}}{i^{n-1}}+\frac{(m-\frac{m}{2})^n}{m^n}=\frac{1}{2^n}+\frac{1}{2^n}=\frac{1}{2^{n-1}} limmP2=limmmnni=12min1+mn(m2m)n=2n1+2n1=2n11

这个结论跟之前连续情形2的结论是一致的。

P 3 P_3 P3的计算

比起 P 2 P_2 P2的计算, P 3 P_3 P3的计算更加复杂。要是不感兴趣,可以直接跳过这一节。

整体思路是对于4张牌中点数小于等于4的牌数进行枚举。

①若没有牌点数小于等于4,则每张牌的范围都是 [ 5 , 13 ] [5,13] [5,13],任意三张牌的和都大于等于15,显然满足条件。此时的方案数为 9 4 = 6561 9^4=6561 94=6561

②若只有一张牌点数小于等于4,则设它的点数为 i i i。现在问题变成了,剩下三张牌中,任意两张牌的点数和大于 13 − i 13-i 13i的方案数有多少种。那么这可以套用 P 2 P_2 P2的计算思想。设次小值的点数为 j j j

5 ≤ j ≤ ⌊ 13 − i 2 ⌋ 5\leq j\leq \lfloor\frac{13-i}{2}\rfloor 5j213i,剩下两张牌的取值范围即为 ( 13 − i − j , 13 ] (13-i-j,13] (13ij,13],即 ( i + j ) 2 (i+j)^2 (i+j)2种取法。再考虑上最小值和次小值的位置,即为 A 4 2 ( i + j ) 2 A_4^2(i+j)^2 A42(i+j)2

⌊ 13 − i 2 ⌋ < j ≤ 13 \lfloor\frac{13-i}{2}\rfloor213i<j13,则这三张牌可以在 ( ⌊ 13 − i 2 ⌋ , 13 ] (\lfloor\frac{13-i}{2}\rfloor,13] (⌊213i,13]内任取,共有 ( 13 − ⌊ 13 − i 2 ⌋ ) 3 (13-\lfloor\frac{13-i}{2}\rfloor)^3 (13213i)3种方案。考虑到最小值的位置有4种取法,即为 4 ∗ ( 13 − ⌊ 13 − i 2 ⌋ ) 3 4*(13-\lfloor\frac{13-i}{2}\rfloor)^3 4(13213i)3种方案。

于是这种情况的总方案数为 A 4 2 ∑ i = 1 4 ∑ j = 5 ⌊ 13 − i 2 ⌋ ( i + j ) 2 + 4 ∑ i = 1 4 ( 13 − ⌊ 13 − i 2 ⌋ ) 3 = 12 ∗ ( 6 2 + 7 2 + 7 2 + 8 2 ) + 4 ∗ ( 7 3 + 8 3 + 8 3 + 9 3 ) = 10760 A_4^2\sum_{i=1}^4\sum_{j=5}^{\lfloor\frac{13-i}{2}\rfloor}(i+j)^2+4\sum_{i=1}^4{(13-\lfloor\frac{13-i}{2}\rfloor)^3}=12*(6^2+7^2+7^2+8^2)+4*(7^3+8^3+8^3+9^3)=10760 A42i=14j=5213i(i+j)2+4i=14(13213i)3=12(62+72+72+82)+4(73+83+83+93)=10760

③若有2张牌点数都小于等于4,则假设这两张牌点数和为 i i i。那么剩下两张牌的点数的范围就是 ( 13 − i , 13 ] (13-i,13] (13i,13],方案数即为 i 2 i^2 i2

再考虑两张牌点数和为 i i i,且两张牌的点数都小于等于4的情况数。由于情况比较少,可以直接枚举。

2=1+1
3=1+2=2+1
4=1+3=2+2=3+1
5=1+4=2+3=3+2=4+1
6=2+4=3+3=4+2
7=3+4=4+3
8=4+4

情况数为 4 − ∣ 5 − i ∣ 4-|5-i| 4∣5i

这两张牌需要找两个位置,有 C 4 2 C_4^2 C42种方法。

于是,总方案数为 C 4 2 ∑ i = 2 8 ( 4 − ∣ 5 − i ∣ ) i 2 = 6 ∗ ( 1 ∗ 2 2 + 2 ∗ 3 2 + 3 ∗ 4 2 + 4 ∗ 5 2 + 3 ∗ 6 2 + 2 ∗ 7 2 + 1 ∗ 8 2 ) = 2640 C_4^2\sum_{i=2}^8{(4-|5-i|)i^2}=6*(1*2^2+2*3^2+3*4^2+4*5^2+3*6^2+2*7^2+1*8^2)=2640 C42i=28(4∣5i)i2=6(122+232+342+452+362+272+182)=2640

④若点数小于等于4的牌数大于等于3,则显然不符合题意。

综上,总方案数为 9 4 + A 4 2 ∑ i = 1 4 ∑ j = 5 ⌊ 13 − i 2 ⌋ ( i + j ) 2 + 4 ∑ i = 1 4 ( 13 − ⌊ 13 − i 2 ⌋ ) 3 + C 4 2 ∑ i = 2 8 ( 4 − ∣ 5 − i ∣ ) i 2 = 19961 9^4+A_4^2\sum_{i=1}^4\sum_{j=5}^{\lfloor\frac{13-i}{2}\rfloor}(i+j)^2+4\sum_{i=1}^4{(13-\lfloor\frac{13-i}{2}\rfloor)^3}+C_4^2\sum_{i=2}^8{(4-|5-i|)i^2}=19961 94+A42i=14j=5213i(i+j)2+4i=14(13213i)3+C42i=28(4∣5i)i2=19961

于是, P 3 = 19961 1 3 4 ≈ 0.6989 P_3=\frac{19961}{13^4}\approx0.6989 P3=134199610.6989

顺带提一句,若每张牌的点数范围是 1 − m 1-m 1m n n n张牌中任意3张牌点数和大于 m m m的概率为 P 3 = 1 m n [ ( m − ⌊ m 3 ⌋ ) n + A n 2 ∑ i = 1 ⌊ m 3 ⌋ ∑ j = ⌊ m 3 ⌋ + 1 ⌊ m − i 2 ⌋ ( i + j ) n − 2 + n ∑ i = 1 ⌊ m 3 ⌋ ( m − ⌊ m − i 2 ⌋ ) n − 1 + C n 2 ∑ i = 2 2 ⌊ m 3 ⌋ i n − 2 ( ⌊ m 3 ⌋ − ∣ i − ⌊ m 3 ⌋ − 1 ∣ ) ] P_3=\frac{1}{m^n}[(m-\lfloor\frac{m}{3}\rfloor)^n+A_n^2\sum_{i=1}^{\lfloor\frac{m}{3}\rfloor}\sum_{j=\lfloor\frac{m}{3}\rfloor+1}^{\lfloor\frac{m-i}{2}\rfloor}{(i+j)^{n-2}}+n\sum_{i=1}^{\lfloor\frac{m}{3}\rfloor}(m-\lfloor\frac{m-i}{2}\rfloor)^{n-1}+C_n^2\sum_{i=2}^{2\lfloor\frac{m}{3}\rfloor}i^{n-2}(\lfloor\frac{m}{3}\rfloor-|i-\lfloor\frac{m}{3}\rfloor-1|)] P3=mn1[(m3m)n+An2i=13mj=3m+12mi(i+j)n2+ni=13m(m2mi)n1+Cn2i=223min2(⌊3mi3m1∣)]

l i m m → ∞ P 3 = 2 ∗ 4 n − 2 − 3 n − 2 6 n − 2 lim_{m\to\infty}P_3=\frac{2*4^{n-2}-3^{n-2}}{6^{n-2}} limmP3=6n224n23n2

由于过于复杂,这里只给出结论,不作证明。

P 4 P_4 P4的计算

P 4 P_4 P4表示四张牌点数和大于13的概率。正难则反,我们计算四张牌点数和小于等于13的概率。我们假设四张牌的点数分别为 i , j , k , l i,j,k,l i,j,k,l我们可以列出式子

1 − P 4 = 1 1 3 4 ∑ i = 1 10 ∑ j = 1 11 − i ∑ k = 1 12 − i − j ∑ l = 1 13 − i − j − k 1 = ∑ i = 1 10 ∑ j = 1 11 − i ∑ k = 1 12 − i − j ( 13 − i − j − k ) 1-P_4=\frac{1}{13^4}\sum_{i=1}^{10}\sum_{j=1}^{11-i}\sum_{k=1}^{12-i-j}\sum_{l=1}^{13-i-j-k}{1}=\sum_{i=1}^{10}\sum_{j=1}^{11-i}\sum_{k=1}^{12-i-j}(13-i-j-k) 1P4=1341i=110j=111ik=112ijl=113ijk1=i=110j=111ik=112ij(13ijk)

利用公式
{ ∑ i = 1 n i = n ( n + 1 ) 2 ∑ i = 1 n i 2 = n ( n + 1 ) ( 2 n + 1 ) 6 ∑ i = 1 n i 3 = [ n ( n + 1 ) 2 ] 2 \begin{cases} \sum_{i=1}^n{i}=\frac{n(n+1)}{2} \\ \sum_{i=1}^n{i^2}=\frac{n(n+1)(2n+1)}{6} \\ \sum_{i=1}^n{i^3}=[\frac{n(n+1)}{2}]^2 \end{cases} i=1ni=2n(n+1)i=1ni2=6n(n+1)(2n+1)i=1ni3=[2n(n+1)]2

可以求出 1 − P 4 = 715 28561 1-P_4=\frac{715}{28561} 1P4=28561715

于是得到 P 4 = 27846 28561 ≈ 0.9750 P_4=\frac{27846}{28561}\approx0.9750 P4=28561278460.9750

综上, E = ∑ i = 1 4 1 − P i = 4 − ∑ i = 1 4 P i = 4 − 0 − 4165 1 3 4 − 19961 1 3 4 − 27846 1 3 4 = 62272 28561 ≈ 2.1803 E=\sum_{i=1}^{4}{1-P_i}=4-\sum_{i=1}^4P_i=4-0-\frac{4165}{13^4}-\frac{19961}{13^4}-\frac{27846}{13^4}=\frac{62272}{28561}\approx2.1803 E=i=141Pi=4i=14Pi=4013441651341996113427846=28561622722.1803

最终,我们通过一系列复杂的计算,终于通过数学方法计算出了曹冲称象的数学期望,为2.1803张牌。

方法二

通过数学方法的证明及其繁琐,但是用编程求解却非常简单。这里给出编程求解的代码。

p=zeros(1,4);
for i=1:13
    for j=1:13
        for k=1:13
            for l=1:13
                if i+j>13 && i+k>13 && i+l>13 && j+k>13 && j+l>13 && k+l>13
                    p(2)=p(2)+1;
                end
                if i+j+k>13 && i+j+l>13 && i+k+l>13 && j+k+l>13
                    p(3)=p(3)+1;
                end
                if i+j+k+l>13
                    p(4)=p(4)+1;
                end
            end
        end
    end
end
p=p./13^4
E=4-sum(p)


根据 E = ∑ i = 1 4 1 − P i E=\sum_{i=1}^{4}{1-P_i} E=i=141Pi,通过枚举的方式,很容易计算出 P i P_i Pi。通过一个非常简单的代码,一个困难的问题就迎刃而解。但是,这个代码的复杂度是 O ( m n ) O(m^n) O(mn)的,当 m m m或者 n n n稍微大一点,这个代码的复杂度就会很大。

总结

本文从曹冲的技能出发,提出并解决了2个连续情形的问题,且第二个连续情形是称象技能的一个极限情况。而且我们发现,其实极限情况的数学期望2.278,而离散情况的数学期望是2.1803,相差并不大。

在解决离散情形时,我们通过一个简单的公式 E = ∑ i = 1 4 1 − P i E=\sum_{i=1}^{4}{1-P_i} E=i=141Pi,使得代码非常简洁。如果直接做的话,代码写起来还是挺复杂的。

在面对一些问题时,一些人总是不满足于计算机的解法,试图通过数学的方法给出一些公式。我也是其中之一。所以我用数学的方式给出了一种解法,虽然这种解法称不上简洁,但是也在一定程度上给出了更大范围内的通用公式。虽然解决实际问题绰绰有余,但总是有人享受解决这些数学问题的乐趣。

你可能感兴趣的:(三国杀中的概率学问题,数学,概率学,游戏)