有一个经典的概率问题:平均需要抛掷多少次硬币,才会首次出现连续的 n 个正面?它的答案是 2^(n+1) – 2 。取 n=2 的话,我们就有这样的结论:平均要抛掷 6 次硬币,才能得到两个连续的正面。或许这个期望次数比你想象中的要多吧。我们不妨试着来验证一下这一结果。由简单的递推可得,所有 1 都不相邻的 k 位 01 串有 Fk+2 个,其中 Fi 表示 Fibonacci 数列中的第 i 项。而“抛掷第 k 次才出现连续两个正面”的意思就是, k 位 01 串的末三位是 011 ,并且前面 k – 3 位中的数字 1 都不相邻。因此,在所有 2^k 个 k 位 01 串中,只有 Fk-1 个是满足要求的。因此,我们要求的期望值就等于 ∑ (k=2..∞) k * Fk-1 / 2^k 。这个无穷级数就等于 6 。我怎么算的呢?我用 Mathematica 算的。
显然,当 n 更大的时候,期望值的计算更加复杂。而简单美妙的结论让我们不由得开始思考,这个问题有没有什么可以避免计算的巧妙思路?万万没有想到的是,在赌博问题的研究中,概率论帮了不少大忙;而这一回,该轮到赌博问题反过来立功了。
设想有这么一家赌场,赌场里只有一个游戏:猜正反。游戏规则很简单,玩家下注 x 元钱,赌正面或者反面;然后庄家抛出硬币,如果玩家猜错了他就会输掉这 x 元,如果玩家猜对了他将得到 2x 元的回报(也就是净赚 x 元)。
让我们假设每一回合开始之前,都会有一个新的玩家加入游戏,与仍然在场的玩家们一同赌博。每个玩家最初都只有 1 元钱,并且他们的策略也都是相同的:每回都把当前身上的所有钱都押在正面上。运气好的话,从加入游戏开始,庄家抛掷出来的硬币一直是正面,这个玩家就会一直赢钱;如果连续 n 次硬币都是正面朝上,他将会赢得 2^n 元钱。这个 2^n 就是赌场老板的心理承受极限——一旦有人赢到了 2^n 元钱,赌场老板便会下令停止游戏,关闭赌场。让我们来看看,在这场游戏中存在哪些有趣的结论。
首先,连续 n 次正面朝上的概率虽然很小,但确实是有可能发生的,因此总有一个时候赌场将被关闭。赌场关闭之时,唯一赚到钱的人就是赌场关闭前最后进来的那 n 个人。每个人都只花费了 1 元钱,但他们却赢得了不同数量的钱。其中,最后进来的人赢回了 2 元,倒数第二进来的人赢回了 4 元,倒数第 n 进来的人则赢得了 2^n 元(他就是赌场关闭的原因),他们一共赚取了 2 + 4 + 8 + … + 2^n = 2^(n+1) – 2 元。其余所有人初始时的 1 元钱都打了水漂,因为没有人挺过了倒数第 n + 1 轮游戏。
另外,由于这个游戏是一个完全公平的游戏,因此赌场的盈亏应该是平衡的。换句话说,有多少钱流出了赌场,就该有多少的钱流进赌场。既然赌场的钱最终被赢走了 2^(n+1) – 2 元,因此赌场的期望收入也就是 2^(n+1) – 2 元。而赌场收入的唯一来源是每人 1 元的初始赌金,这就表明游戏者的期望数量是 2^(n+1) – 2 个。换句话说,游戏平均进行了 2^(n+1) – 2 次。再换句话说,平均抛掷 2^(n+1) – 2 次硬币才会出现 n 连正的情况。
sf
赞~~~~Orz
地板~~
想起来算法理论里面的均摊分析,这个应该是记账法。
这个问题在 李碩彥 (http://www.ie.cuhk.edu.hk/people/bobli.html)主页上“數學與工程的對話”系列里的5和6中有详细的讨论。
你太牛了 我感觉自己好像越来越智障了
好吧,我还是喜欢直接用数学解。。。
而且赌场的模型也是有可能用简单的数学直觉想到吧,并不一定是赌场作为背景
mark.
不应该说”因此赌场的盈亏应该是平衡的”吧?
应该是”因此赌场的盈亏应该是期望平衡的”?
恕我愚钝,我觉得扔k次才能首次出现连续两个正面的概率不是
1/ 2^k么?那这个期望值为什么不是∑(k=2..∞) k *1/ 2^k ?望高人解答。
果断OTZ
10楼:
扔k次才能首次出现两个正面的概率不是1/2^k,而是大于1/2^k:
假设仍了6次才首次出现两个正面的结果可能是:反 反 反 反 正 正, 也可能是:反 反 正 反 正 正。这两个事件的可能性已经是2/2^6了
膜拜mac
我为什么不能回帖呢?
用递推公式可以很简单求解,但我的解法怎么发不上去呢?
直接求也很简单,不过大牛的解法确实奥妙
ym一下matrix67.再发个我的解法
若Tn为首次出现连续的n个正面的期望投掷数,实际上有
Tn = Tn-1 + 1 + 0.5 * Tn
-> Tn = 2 * Tn-1 + 2
另外,我以前用生成函数分析了n=2的情况,还求出了方差为22. 等下我尝试一下看能不能搞出n的一般情形。
有意思
前面的sss正和同学是不是要发的就是这个…看来我old了
祥瑞~我发的与求解无关的帖就能发上去,但只要给了解法,就发不上去。ORZ
atyuwen,我的解法最终结果与你一样,但看不到你的解法的逻辑
我试试分块发吧:
设平均抛f(n)次才首次出现n个连续正面,则首次出现n+1次连续正面等价于:
首次出现n个连续正面,然后以1/2概率出现第n+1个正面或以1/2概率出现一个反面,然后相当于重新开始。
一发到公式那段,就发不上去了。
故有:f(n+1)=
(f(n)+1)/2+
(f(n)+1+f(n+1))/2
即f(n+1)=2f(n)+2
解得f(n)=2^(n+k)-2
显然f(0)=0,故k=1
因此f(n)=2^(n+1)-2
我还以为这样的地方也有中喧部呢
楼主好见识
Orz
思维逆向 的确收到意想不到的结果 。
看了http://www.cnblogs.com/atyuwen/archive/2010/09/12/coin.html没怎么看懂,逻辑上有点跟不上,不过看过sss正和的讲解后,发现忒简单了,就是一个算法的递归。。着重是要得出递推关系式。
那个式子手算确实很好算的。。。
算确实很好算
只要给了解法,就发不上去。ORZ
发不上去
这样的地方也有中喧部呢
我发的与求解无关的帖就能发上去,但只要给了解法,就发不上去
有道理,
为啥只有最后n个人赚到钱呢。。。
martingale..
现在学校正好学概率,看完之后,我不禁说出声来:我了个去。
很牛。赞一个。。。
如果用要鞅来刻画就更直观了,公平赌博其实就是鞅。(N-k)+(2^k-1)+…(2-1)=0 N=2^(k+1)-2
这方法算确实很好算
这个算法非常直观啊。不过我没想明白的是首次出现连续两个正面平均需要抛六次硬币这个期望大于平均抛四次就可以得到一正一负这个现象应该理解为一正一负这个组合相比与首次出现连续两个正面组合是出现概率更大还是出现得更早?
“最后进来的人赢回了 2 元,倒数第二进来的人赢回了 4 元,倒数第 n 进来的人则赢得了 2^n 元”,但是最后进来的人拿回了2元,赢得的钱只有1元,还有自己的1元呢。倒是第n进来的人赢得了2^n-1元吧?
原文中“最后进来的人赢回了 2 元,倒数第二进来的人赢回了 4 元,倒数第 n 进来的人则赢得了 2^n 元”,但是最后进来的人通过比赛拿回了2元,其中有自己带来的1元,所以赢得的钱只有1元。倒数第n进来的人赢得2^n-1元吧?
写成
T(n) = (T(n-1) + 1)*1/2 + (T(n-1) + 1 + T(n))*1/2
更好理解
情况1: (T(n-1) + 1)*1/2指连续了n-1个正面后有1/2的概率再抛出一个正面,这样就形成连续n个正面,公式中的1指的是最后一次抛掷
情况2: 连续了n-1个正面后有1/2的概率抛出一个反面,这导致这n次抛掷全部失败了,整个重新开始了,要形成连续n个正面还需要抛T(n)次,所以公式为(T(n-1) + 1 + T(n))*1/2
这个终于看懂了,就是条件期望公式
E(X) = E(X|A)P(A) + E(X|~A)P(~A)
其中事件A为第N次抛出正面
What a pleasure to find someone who idiftinees the issues so clearly