问题概述
水平相同的两个赌徒A和B,约定先胜 t t t局的人赢得赌注,在赌博中的某时刻,两赌徒中止赌博,此时A胜 r r r局,B胜 s s s局,应如何合理分配赌注?
问题分析
公平起见,最常见的分堵赌注方式即为计算如果继续进行赌博,两个人分别获胜的概率,依据获胜概率来分赌注,即若记两人分别取得最后胜利的概率为 p A , p B p_A,p_B pA,pB满足 p A + p B = 1 p_A+p_B=1 pA+pB=1,则两人应按照 p A : p B p_A:p_B pA:pB的比例分赌注。因此,接下来的目标为分别计算两人的获胜概率。为了描述问题方便起见,假设 r ⩾ s r\geqslant s r⩾s,并记每场赌博A获胜的概率为 p = 0.5 p=0.5 p=0.5。
问题解答
显然,赌博最少会在 t − r t-r t−r次后结束,即A赢了这之后的所有赌博,最终取得胜利。而最多,赌博会在 2 t − r − s − 1 2t-r-s-1 2t−r−s−1次后结束,即将整场赌博打满,最终A、B分别赢得 t t t或 t − 1 t-1 t−1场。
思路一
记 t − r ⩽ i ⩽ 2 t − r − s − 1 t-r\leqslant i\leqslant2t-r-s-1 t−r⩽i⩽2t−r−s−1,可以考虑分别计算赌博在 i i i场后结束,A、B分别获胜的概率 p A ( i ) p_A(i) pA(i)和 p B ( i ) p_B(i) pB(i),最后分别对其求和即可得到A、B分别最终获胜的概率。
先考虑A。显然,当 i = t − r i=t-r i=t−r时, p A ( t − r ) = p t − r , p_A(t-r)=p^{t-r}, pA(t−r)=pt−r, 表示A连续获胜 i i i轮。
当
i
=
t
−
r
+
1
i=t-r+1
i=t−r+1时,若要赌博在i场时恰好结束,并且A获胜,则A要继续赢
t
−
r
t-r
t−r次,B赢1次。注意到B赢得一次不可能在最后一次出现,否则在前一次A已经取胜,即确定A在最后一次获胜。因此有
p
A
(
t
−
r
)
=
p
t
−
r
(
1
−
p
)
(
t
−
r
t
−
r
−
1
)
.
p_A(t-r)=p^{t-r} (1-p) \binom{t-r}{t-r-1}.
pA(t−r)=pt−r(1−p)(t−r−1t−r).
当
i
i
i取更一般的值时,若要赌博在i场时恰好结束,并且A获胜,则A要继续赢
t
−
r
t-r
t−r次,B赢
i
−
(
t
−
r
)
i-(t-r)
i−(t−r)次。同时有B赢的不可能在最后一次出现,否则在前一次A已经取胜,即确定A在最后一次获胜。因此有
p
A
(
i
)
=
p
t
−
r
(
1
−
p
)
i
−
t
+
r
(
i
−
1
t
−
r
−
1
)
.
p_A(i)=p^{t-r} (1-p)^{i-t+r} \binom{i-1}{t-r-1}.
pA(i)=pt−r(1−p)i−t+r(t−r−1i−1).
记
n
=
t
−
r
n=t-r
n=t−r表示A要获胜还需要赢的次数,并注意到
p
=
0.5
p=0.5
p=0.5,上式化简为
p
A
(
i
)
=
p
i
(
i
−
1
n
−
1
)
,
n
⩽
i
⩽
2
t
−
r
−
s
−
1.
p_A(i)=p^{i}\binom{i-1}{n-1},\text{ }n\leqslant i\leqslant2t-r-s-1.
pA(i)=pi(n−1i−1), n⩽i⩽2t−r−s−1.
对于B,注意到,在
i
⩾
t
−
s
i\geqslant t-s
i⩾t−s之后B才可能获胜。记
m
=
t
−
s
m=t-s
m=t−s,表示B要获胜还需要赢的次数,与A类似有
p
B
(
i
)
=
p
i
(
i
−
1
m
−
1
)
,
m
⩽
i
⩽
2
t
−
r
−
s
−
1.
p_B(i)=p^{i}\binom{i-1}{m-1},\text{ }m\leqslant i\leqslant2t-r-s-1.
pB(i)=pi(m−1i−1), m⩽i⩽2t−r−s−1.
由此,我们得出A、B分别获胜的概率分别为 p A = ∑ i = n 2 t − r − s − 1 p A ( i ) = ∑ i = n n + m − 1 p i ( i − 1 n − 1 ) , p_A = \sum_{i=n}^{2t-r-s-1}p_A(i) = \sum_{i=n}^{n+m-1}p^{i}\binom{i-1}{n-1}, pA=i=n∑2t−r−s−1pA(i)=i=n∑n+m−1pi(n−1i−1),
p B = ∑ i = m 2 t − r − s − 1 p B ( i ) = ∑ i = m n + m − 1 p i ( i − 1 m − 1 ) . p_B = \sum_{i=m}^{2t-r-s-1}p_B(i) = \sum_{i=m}^{n+m-1}p^{i}\binom{i-1}{m-1}. pB=i=m∑2t−r−s−1pB(i)=i=m∑n+m−1pi(m−1i−1).
思路二
A的获胜条件也可以直接抽象为:若A在每一把赌博中获胜的概率均为
p
(
=
0.5
)
p(=0.5)
p(=0.5),A需要在B赢
m
m
m次之前赢
n
n
n次,其中
n
,
m
n,m
n,m定义均与之前相同,分别表示A、B要取胜所需的最少次数。而这个条件,等价于如下条件:如果赌博不会终止,则A需要在接下来的
n
+
m
−
1
n+m-1
n+m−1次中赢得至少
n
n
n次。这个结果的概率可以直接使用二项分布求解,即赢
i
(
n
⩽
i
⩽
n
+
m
−
1
)
i(n\leqslant i\leqslant n+m-1)
i(n⩽i⩽n+m−1)次的概率为
p
i
(
1
−
p
)
n
+
m
−
1
−
i
(
n
+
m
−
1
i
)
p^{i} (1-p)^{n+m-1-i} \binom{n+m-1}{i}
pi(1−p)n+m−1−i(in+m−1),因此A最终获胜的概率为其求和,即
p
A
=
∑
i
=
n
n
+
m
−
1
p
i
(
1
−
p
)
n
+
m
−
1
−
i
(
n
+
m
−
1
i
)
,
p_A = \sum_{i=n}^{n+m-1}p^{i} (1-p)^{n+m-1-i} \binom{n+m-1}{i},
pA=i=n∑n+m−1pi(1−p)n+m−1−i(in+m−1),
其实质为次数为
n
+
m
−
1
n+m-1
n+m−1的二项式的后
m
m
m项之和。类似得B获胜概率为
p
B
=
∑
i
=
m
n
+
m
−
1
(
1
−
p
)
i
p
n
+
m
−
1
−
i
(
n
+
m
−
1
i
)
。
p_B = \sum_{i=m}^{n+m-1}(1-p)^{i} p^{n+m-1-i} \binom{n+m-1}{i}。
pB=i=m∑n+m−1(1−p)ipn+m−1−i(in+m−1)。
在 p B p_B pB中做代换 j = n + m − 1 − i j=n+m-1-i j=n+m−1−i,可以验证 p A + p B = ∑ i = n n + m − 1 p i ( 1 − p ) n + m − 1 − i ( n + m − 1 i ) + ∑ i = m n + m − 1 ( 1 − p ) i p n + m − 1 − i ( n + m − 1 i ) = ∑ i = n n + m − 1 p i ( 1 − p ) n + m − 1 − i ( n + m − 1 i ) + ∑ j = 0 n − 1 p j ( 1 − p ) n + m − 1 − j ( n + m − 1 j ) = ∑ i = 0 n + m − 1 p i ( 1 − p ) n + m − 1 − i ( n + m − 1 i ) = [ p + ( 1 − p ) ] n + m − 1 = 1. \begin{aligned} p_A + p_B &= \sum_{i=n}^{n+m-1}p^{i} (1-p)^{n+m-1-i} \binom{n+m-1}{i} + \sum_{i=m}^{n+m-1}(1-p)^{i} p^{n+m-1-i} \binom{n+m-1}{i}\\ &=\sum_{i=n}^{n+m-1}p^{i} (1-p)^{n+m-1-i} \binom{n+m-1}{i} + \sum_{j=0}^{n-1}p^{j} (1-p)^{n+m-1-j} \binom{n+m-1}{j}\\ &=\sum_{i=0}^{n+m-1}p^{i} (1-p)^{n+m-1-i} \binom{n+m-1}{i}\\ &=[p+(1-p)]^{n+m-1}=1. \end{aligned} pA+pB=i=n∑n+m−1pi(1−p)n+m−1−i(in+m−1)+i=m∑n+m−1(1−p)ipn+m−1−i(in+m−1)=i=n∑n+m−1pi(1−p)n+m−1−i(in+m−1)+j=0∑n−1pj(1−p)n+m−1−j(jn+m−1)=i=0∑n+m−1pi(1−p)n+m−1−i(in+m−1)=[p+(1−p)]n+m−1=1.
两种思路的比较
下面证明两种思路得到的两种
p
A
p_A
pA的表达式是等价的,即证明
∑
i
=
n
n
+
m
−
1
p
n
(
1
−
p
)
i
−
n
(
i
−
1
n
−
1
)
=
∑
i
=
n
n
+
m
−
1
p
i
(
1
−
p
)
n
+
m
−
1
−
i
(
n
+
m
−
1
i
)
.
\sum_{i=n}^{n+m-1}p^{n} (1-p)^{i-n} \binom{i-1}{n-1} = \sum_{i=n}^{n+m-1}p^{i} (1-p)^{n+m-1-i} \binom{n+m-1}{i}.
i=n∑n+m−1pn(1−p)i−n(n−1i−1)=i=n∑n+m−1pi(1−p)n+m−1−i(in+m−1).
注意到上式两端都有 p n p^n pn项,消去即证 ∑ i = n n + m − 1 ( 1 − p ) i − n ( i − 1 n − 1 ) = ∑ i = n n + m − 1 p i − n ( 1 − p ) n + m − 1 − i ( n + m − 1 i ) . \sum_{i=n}^{n+m-1} (1-p)^{i-n} \binom{i-1}{n-1} = \sum_{i=n}^{n+m-1}p^{i-n} (1-p)^{n+m-1-i} \binom{n+m-1}{i}. i=n∑n+m−1(1−p)i−n(n−1i−1)=i=n∑n+m−1pi−n(1−p)n+m−1−i(in+m−1).
注意到上式左侧为
1
−
p
1-p
1−p的多项式,因此考虑记
q
=
1
−
p
q=1-p
q=1−p,将右端的
p
p
p项展开,证明对应项系数相等。
右端
=
∑
i
=
n
n
+
m
−
1
q
n
+
m
−
1
−
i
(
1
−
q
)
i
−
n
(
n
+
m
−
1
i
)
=
q
m
−
1
(
n
+
m
−
1
n
)
+
q
m
−
2
(
1
−
q
)
(
n
+
m
−
1
n
+
1
)
+
⋯
+
(
1
−
q
)
m
−
1
(
n
+
m
−
1
n
+
m
−
1
)
.
\begin{aligned} \text{右端} &=\sum_{i=n}^{n+m-1}q^{n+m-1-i}(1-q)^{i-n} \binom{n+m-1}{i}\\ &=q^{m-1}\binom{n+m-1}{n}+q^{m-2}(1-q)\binom{n+m-1}{n+1}+\cdots+(1-q)^{m-1}\binom{n+m-1}{n+m-1}. \end{aligned}
右端=i=n∑n+m−1qn+m−1−i(1−q)i−n(in+m−1)=qm−1(nn+m−1)+qm−2(1−q)(n+1n+m−1)+⋯+(1−q)m−1(n+m−1n+m−1).
将上式中的 ( 1 − q ) (1-q) (1−q)的次幂展开,得到 右端 = q m − 1 ( n + m − 1 n ) + [ q m − 2 − q m − 1 ] ( n + m − 1 n + 1 ) + … [ q 2 ( m − 3 0 ) − q 3 ( m − 3 1 ) + ⋯ + ( − q ) m − 3 ( m − 1 m − 3 ) ] ( n + m − 1 n + m − 3 ) + [ q − q 2 ( m − 2 1 ) + q 3 ( m − 2 2 ) − ⋯ + ( − q ) m − 2 ( m − 1 m − 2 ) ] ( n + m − 1 n + m − 2 ) + [ 1 − q ( m − 1 1 ) + q 2 ( m − 1 2 ) + q 3 ( m − 1 3 ) − ⋯ + ( − q ) m − 1 ( m − 1 m − 1 ) ] ( n + m − 1 n + m − 1 ) . \begin{aligned} \text{右端}=q^{m-1}\binom{n+m-1}{n} &+\\ \left[q^{m-2}-q^{m-1}\right] \binom{n+m-1}{n+1} &+\\ \ldots&\\ \left[q^2\binom{m-3}{0}-q^3\binom{m-3}{1}+\cdots +(-q)^{m-3}\binom{m-1}{m-3}\right] \binom{n+m-1}{n+m-3} &+\\ \left[q-q^2\binom{m-2}{1}+q^3\binom{m-2}{2}-\cdots +(-q)^{m-2}\binom{m-1}{m-2}\right] \binom{n+m-1}{n+m-2} &+\\ \left[1-q\binom{m-1}{1}+q^2\binom{m-1}{2}+q^3\binom{m-1}{3}-\cdots +(-q)^{m-1}\binom{m-1}{m-1}\right] \binom{n+m-1}{n+m-1} &.\\ \end{aligned} 右端=qm−1(nn+m−1)[qm−2−qm−1](n+1n+m−1)…[q2(0m−3)−q3(1m−3)+⋯+(−q)m−3(m−3m−1)](n+m−3n+m−1)[q−q2(1m−2)+q3(2m−2)−⋯+(−q)m−2(m−2m−1)](n+m−2n+m−1)[1−q(1m−1)+q2(2m−1)+q3(3m−1)−⋯+(−q)m−1(m−1m−1)](n+m−1n+m−1)++++.
上式中易得
q
k
(
0
⩽
k
⩽
m
−
1
)
q^{k}(0\leqslant k\leqslant m-1)
qk(0⩽k⩽m−1)的系数
a
k
a_k
ak为
a
k
=
∑
i
=
0
k
(
−
1
)
i
(
m
−
k
−
1
+
i
i
)
(
n
+
m
−
1
n
+
m
−
1
−
k
+
i
)
=
∑
i
=
0
k
(
−
1
)
i
(
m
−
k
−
1
+
i
i
)
(
n
+
m
−
1
k
−
i
)
.
\begin{aligned} a_k=&\sum_{i=0}^{k}(-1)^{i}\binom{m-k-1+i}{i}\binom{n+m-1}{n+m-1-k+i}\\ =&\sum_{i=0}^{k}(-1)^{i}\binom{m-k-1+i}{i}\binom{n+m-1}{k-i}. \end{aligned}
ak==i=0∑k(−1)i(im−k−1+i)(n+m−1−k+in+m−1)i=0∑k(−1)i(im−k−1+i)(k−in+m−1).
由上指标反转公式,得 ( − 1 ) i ( m − k − 1 + i i ) = ( k − m i ) . (-1)^{i}\binom{m-k-1+i}{i}=\binom{k-m}{i}. (−1)i(im−k−1+i)=(ik−m).
由范德蒙德卷积,进而有,
a
k
=
∑
i
=
0
k
(
k
−
m
i
)
(
n
+
m
−
1
k
−
i
)
=
(
n
+
k
−
1
k
)
.
a_k=\sum_{i=0}^{k}\binom{k-m}{i}\binom{n+m-1}{k-i}=\binom{n+k-1}{k}.
ak=i=0∑k(ik−m)(k−in+m−1)=(kn+k−1).
在上式中, 左侧 = ∑ k = 0 m − 1 q k ( n + k − 1 n − 1 ) . \text{左侧}=\sum_{k=0}^{m-1}q^k\binom{n+k-1}{n-1}. 左侧=k=0∑m−1qk(n−1n+k−1).
显然有对应项系数相等。因此,两种思路中得到得A获胜概率表达式是等价的。同理可得,B的表达式也是等价的。
仿真实验
下面带入具体数据,进行仿真,以检验上述求解的正确性。假设赌徒A和B的胜率相同,即每一局的A和B都有 p = 0.5 p=0.5 p=0.5的机会赢得胜利,假设先胜 s = 20 s=20 s=20局的人赢得赌注,并假设在A胜 r = 10 r=10 r=10局且B胜 s = 7 s=7 s=7局的时候中止赌博。
使用Matlab随机数产生器模拟赌博结果,产生的随机数大于0.5则认为单局赌博A获胜,否则B获胜。模拟得到下表。
仿真次数 | 100 | 1000 | 10000 | 100000 | 1000000 |
---|---|---|---|---|---|
A获胜频率 | 0.79 | 0.723 | 0.7340 | 0.73602 | 0.738237 |
而计算出的理论结果为 p A = 0.738266468048096 p_A = 0.738266468048096 pA=0.738266468048096
可见,随着模拟次数的增加,A获胜的比率逐渐接近理论计算概率。这也侧面说明理论计算的正确性。
代码
仿真
clear
t = 20;
r = 10;
s = 7;
ma = t*2-r-s-1;
p = 1/2;
tot = 1000000;
vina = 0;
vinb = 0;
for i = 1:tot
sa = r;
sb = s;
while sa<t && sb<t
if(rand()>0.5)
sa = sa + 1;
else
sb = sb + 1;
end
end
if sa==t
vina = vina + 1;
else
vinb = vinb + 1;
end
end
[vina/tot]
计算
t = 20;
r = 10;
s = 7;
ma = t*2-r-s-1;
p = 0.5;
a_left = t - r;
b_left = t - s;
[P(a_left,b_left, p),P(b_left,a_left, 1-p)]
function sum = P(n,m,p)
sum = 0;
for k= n:n+m-1
sum = sum + nchoosek(n+m-1,k)*p^(k)*(1-p)^(n+m-1-k);
end
end