很多看似不相关的事物背后却有着千丝万缕的关系,比如今天故事的主角——酒鬼与赌徒。让我们从酒鬼在悬崖漫步这个荒诞的故事开始,算算他不幸掉下悬崖身亡的概率,然后在此基础上再向大家讲述酒鬼和赌徒背后那惊人的相通之处。
诡异的酒鬼徘徊
当一个喝大了的酒鬼在路上摇摇晃晃时,你是否会担心他还有能力避开一切障碍,成功找到家门而不是掉到某个下水沟里吗? 实际上,这正是非常有趣的酒鬼漫步问题,不妨让这个酒鬼的处境更夸张一些,设想他站在悬崖边,面前就是万丈深渊。如果他往后退一步远离悬崖的概率是 2/3 , 向前一步靠近悬崖的概率则是 1/3。那他摔下悬崖的概率是多少?
答案肯定不会是简单的 1/3。那不如先来看看酒鬼最初的几步会发生什么。下图是对这个酒鬼最初几步所有可能的轨迹的枚举。
从图中可以看到,达到0即意味着跌落悬崖。所以在 0 的那些概率的和便是酒鬼前六步掉下悬崖的概率。这个图本可继续下去,但随着步数的增多,完成它就充满了乏味的工作。
所以让我们把这个场景放到数轴上,换一种方式来看。如此一来醉鬼悬崖边漫步就相当于质点沿轴心运动这类问题了。酒鬼在这个数轴上随意地左右走动, 走到 x = 0 的位置意味着被吸收 ,也就是摔下了悬崖。
假设他向右一步的概率为 p,向左的概率为 1 - p。当他在 x = n(n>0) 的位置的时候,不是向右就是向左。记 P(n)为从 x = n 的位置出发,最后到达 x =0 被吸收的概率。酒鬼一开始在 x = 1 的位置,我们要求的就是他到 0 的概率。
当酒鬼走完第一步后,他要么到了 x = 0(此事件发生的概率是 1-p),要么到了 x = 2 的位置(此事件发生的概率是 p),他再从 x = 2 出发最终走到 x = 0 被吸收的概率就是 P(2)。这时我们可以得到方程
P(1) = 1 - p + p * P(2)
而自 x =2 走出并最终到达 x =0 的情况可以分解为两个阶段:先从 x = 2 到 x = 1(可以走任意步),然后从 x = 1到 x = 0(同样可以走任意步)。我们知道后一个的概率是 P(1),那么前一个呢?其实是一样的,也是 P(1),它可以看作后一种情况的平移。又因为这两个事件相互独立,所以
P(2) = P(1)² 代入上面的方程解得 P(1) = 1 或者 P(1) = (1-p)/p
注意到这里 p 表示的是酒鬼每次向x轴正方向前进一步的概率,也就是他站在悬崖边上向后退的概率。我们不妨根据这个概率的取值情况来对酒鬼悬崖漫步这个问题做个总结。
当 p 等于 0 或 1 时,这显然就成了必然事件,酒鬼一定掉下悬崖或者一定能安全地离开。
但有趣的是,即便当 p 不是 0,在它小于等于 1/2 时,这个酒鬼一样难逃失足的厄运。
当 p < 1/2时,P(1) > 1 当 p = 1/2时,P(1) = 1
众所周知,一个事件发生的概率不会超过 1。所以从上面可以看出,当 p ≤ 1/2 时,也就是这个酒鬼每步选择向后退的概率不足一半时,不管他能离开悬崖有多远,最终都必将粉身碎骨。
而如果 p 在 (1/2 , 1) 这个区间里,这时候酒鬼摔落悬崖的概率实际上是一个关于 p 的连续函数。我们可以做出 P(1) 的图像如下
现在让我们再回到最初的问题上。当酒鬼向后走的概率 2/3 时,我们可以很轻松地算出,他摔下悬崖的概率是 1/2。
从酒鬼掉下悬崖到赌徒破产
说到这里,主角之一酒鬼的故事差不多说完了,那他和赌徒有什么关系呢?
实际上把酒鬼徘徊应用到赌博中会得到一个不可思议的结论。假设一个赌徒的赌金是 n,每次的下注金额是 1,而每盘赌局输赢概率各是 1/2。如果一直赌下去的话,赌徒输光的概率是多少呢?
由前面的分析可知,他破产的概率就是前面定义的 P(n)。 P(n)是 P(1) 的 n 次方,而 P(1) 在酒鬼等概率地向两个方向迈步的时候等于 1,所以 P(n)=1 !这告诉我们,即使是公平赌局,你跟赌场玩,最后也一定会输光的!
这就是著名的赌徒破产问题(Gambler’s ruin)。关于它,死理性派曾经在 另一篇文章 中有过详细的讨论,不过作者采用的是另一种方法,并且和几位网友在回复中展开了精彩的辩论。
在那篇文章里,作者指出,去赌场赌钱无异于直接送钱给赌场老板。正所谓“久赌必输”,就算是一对一机会均等的赌局,要是一直赌下去的话,也总有一天会输光。具体分析如下。
显然,赌徒的钱越多,输光需要的局数也越多。当赌徒的赌金是 n 时,我们记输光的概率为 p(n)。因为每次赌局有一半的可能赢,一半的可能输,赢的时候赌金变成 n + 1,输的时候变成 n - 1,所以 p(n) = (p(n + 1) + p(n - 1))/2。当 n = 0 的时候,即使不用赌,所有东西也都输光了,所以 p(0) = 1。
由此,p 可以看作一个满足下列递推关系的数列
p(0) = 1 p(n+1) = 2 * p(n) - p(n-1), 也就是 p(n+1) - p(n) = p(n) - p(n-1)
容易验证 p(n) = n * p(1) - (n-1) 正好符合上面的递推关系。
又因为 p(n) ≥ 0,所以对于任意的 n,必定有 p(1) ≥ 1 - 1/n。因此 p(1) = 1。那么对于所有的 n,则有 p(n) = 1。这意味着,在无限次的赌博中,赌徒在某一次赌博中输光的概率是 1。
其实赌徒的赌博轨迹,可以用所谓的 马尔可夫链 来描述。把赌徒的赌金值视为不同的状态,而每次赌局则相当于在这些状态之间转移,赢钱时转移到钱多些的状态,输钱时转移到钱少些的状态。而破产的状态就像个陷阱,是跳不出的,因为已经没有赌本了。如果一条马尔可夫链有这样的“陷阱”状态,而每一个状态都有可能到达“陷阱”的话,在不断的转移中,总有一天会掉到“陷阱”里去。所谓“久赌必输”,其实说的就是这么一个道理。
胜算不过半?那全押了吧
上面已经说过,对于绝大多数赌局,长期来说,你几乎肯定会输。不过如果你一定要赌,假如策略对头,也许可以在领先的时候收手。
在赌场上孤注一掷一贯被认为是不理智的表现,但实际上当赌赢概率不足 1/2 时,孤注一掷才是最佳策略。假设每局赌赢的概率是 p(p < 1/2),某赌徒有赌金 1000 元,他想赚 1000 元就收手。如果他一次全押,显然,赌赢的概率就是 P。
那如果用看似更保险的每局押 100 元的方法呢?根据前面酒鬼断崖漫步的分析,可以算出这种方法赌赢的概率(下面的表达式可以跳过,不影响阅读):
这个式子不算直观。那让我们画出每盘赌赢的概率 p 从 0 增大到 1/2 时,孤注一掷赢的概率 p 和将赌金分开来押赢的概率 F(p) 的图像,来看看二者的比较吧。
可以看到,更“保险”的做法让赌徒最终获胜的机会大大降低,只有在游戏渐渐变得公平( p 趋向于 1/2 )的时候才和孤注一掷这个策略没有太大区别。当然,虽然数学上的分析是这样,但孤注一掷还需要超强的胆略。这也说明,赌场可不是什么容易混的地方,如果你不懂数学,在那里输的倾家荡产,都未必能知道怎么输的。所以,想玩转拉斯维加斯?还是先好好研究研究概率论吧。