白话大数据与机器学习
上QQ阅读APP看书,第一时间看更新

3.2 排列组合的应用示例

3.2.1 双色球彩票

双色球彩票在中国的历史不算短了,大概是从2003年2月就开始在中国联网发售。虽然有很多人都在诟病说双色球开奖的方式不够公平透明,但是还有相当多的彩民一直在执着地研究双色球开奖的规律(图3-6)。

图3-6 双色球

这里只从数学的角度来看一下双色球彩票的头奖和你花两块钱下注购买的彩票一致性的概率,也就是人们平时说的买一注然后就能中头奖的概率有多大。这里必须先明确一个前提,就是确实没有人对彩票购买和抽奖小球的抽出做干预,换而言之,就是你下的这一注是在完全不知道开奖结果的情况下买的,抽奖也是在每个球被抽出的概率一样的情况下进行的。

我们购买一注彩票的时候,首先选择红球,从01~33共33个号码中选择6个号码。再选择蓝球,从01~16共16个号码中选择1个号码。6红1蓝一共7个号码组成完整的一注彩票。

最终抽奖的时候也会是从01~33共33个红色号码中选择6个号码,再从01~16共16个蓝色号码中选择1个号码。6红1蓝一共7个号码组成完整的一注头奖彩票。

如果选择的6红1蓝和头奖的6红1蓝完全一致那就算中了头奖,奖金怎么算……这个大家去问福利彩票中心吧,咱们这里只算概率。

先算算挑选6红1蓝一共有多少种挑法。

首先先从33个红球中挑选6个红球,用组合的方式计算

也就是1107568种选法。

再从16个蓝色球中选1个,一共有16种选法。

这样6红1蓝的选法一共有1107568×16=17721088种。

举个形象点的例子,老天爷在想1到17721088中的一个整数,你也在想1到17721088中的一个整数,你们俩想的完全一样的概率有多大?没错,是1/17721088,大约是0.0000000564%的概率。

不少人说,这没关系,反正有一些破解方法。有哪些破解方法?支持以下两种方法的人比较多。

方法一:多买几种组合。

那就算算看,一共17721088种可能,全部买下来——也就是俗称的全餐彩票,一共要花35442176元人民币。奖池是不是在所有中头奖的人平分后还能至少分到手这么多不好说(加上二等奖、三等奖一共能领到多少钱都可以自己算)。按照比例缩小一些试试呢?比如买一半,那就是中奖概率变成1/2——要花17721088元,还有一半的可能性是不中。其他比例读者可以自己计算。每一种比例在降低投入的同时,也在降低中奖概率。所以这种方式并没有提高买彩票的投入产出比。

方法二:只买一种组合,坚持到底,就能提高胜率。

有这样思想的朋友估计是这么一个思路,就是这一次这种组合不中,由于每种组合概率一样,所以在多次随机过程里前面出现过的组合后面出现的概率就低,前面没出现过的组合后面出现的概率就高。有这样思路的朋友,想想这样一个事情,交通事故其实是一个典型的随机事件,平均每个月发生交通事故的数量是相对“固定”的,只是发生的地点、发生的时间、发生的车型、涉及的人可能不同而已。

那么如果要避免交通事故,就要先人为制造一些无害的交通事故,造够了次数,这个月就不会再发生交通事故了,大家也可以安心上路了。这个逻辑就变得顺理成章,但是事实真的会是这样吗?

这种随机产生的每一次结果之间其实是独立的概率,换句话说每一次结果是不会影响前后随机事件里产生的结果的,也不会影响到前后的随机事件的结果。在静态概型里,这个结论请大家牢记。也有人表示怀疑,说我明明在一些事情里看到前一件事发生后会影响后面事件发生的可能性,那这种事情怎么解释。这种事情,首先不是古典概型的范畴,如果要归类的话可以算作条件概率的研究范畴,条件概率在后文会详细讲解。

icon2

3.2.2 购车摇号

北京是一个以拥堵著称的城市,拥堵的问题也是由来已久,而且几乎是越来越严重。在万般无奈的情况下,专家们最后祭出了一个大招——摇号。

摇号是一个带有比较浓郁配给制色彩的手段。大概的形式就是,每个已经具备摇号资格的人登记一下身份证号码,所有登记过身份证号码的人都放在一个大“池子”里,然后每两个月通过“随机”的方式产生20000个号码,这20000个幸运儿就是中签者,就拥有了购买一辆汽油动力汽车的配额(图3-7)。

图3-7 汽车摇号

中签概率多大呢?有人想到直接用20000除以1420000就是自己中签的概率。但是为什么是这么算呢?有理论依据吗?下面试着推导一下。

以真实数据为例,2015年9月这个“池子”里大约有1420000个号,从里面选出20000个号,一个人中签的概率有多大?稍微想想看,这个数值也不会是,因为不是要求1420000个号里找出20000个号一组的不同组合。

在没有其他政策进行干预而将1420000个号码进行等概率选出的情况下,选出20000个号,而自己的号正好在其中。相当于用一个1420000面的骰子投掷一次选出一个号,然后把这个号抹掉,再用剩余的1419999个号做成一个1419999面的骰子,再投掷一次,选出一个号,然后把这个号再抹掉……一次一次下去,直到20000次为止。实际相当于这么一个过程。

想不清梦的话试试用小一点的数字找找感觉。

如果是有3个人参与摇号,摇出2个,是怎么计算呢?

按照这种扔骰子的方法来玩,假设我们有个3面的骰子(其实真的是没办法做出一个3个面的等概率骰子,我们就当真的能做出来好了)。第一次我被骰子选中的概率为1/3,还有2/3是没被选中的概率。在没选中的情况下,换2个面的骰子,这一次我被骰子选中的概率为1/2。

算算我能被选中的概率一共是多少吧,

如果是6个人参与摇号,摇出3个,是怎么计算呢?

仍然用扔骰子的方法,同理:

第一次,选中的概率为1/6,没选中的概率为5/6,现在该换5面的骰子了。

第二次,选中的概率为1/5,没选中的概率为4/5,现在该换4面的骰子了。

第三次,选中的概率为1/4,没选中的概率为3/4,结束。

被选中的概率是多少呢?

如果有兴趣可以继续用其他例子去算,我们现在直接说结论了,这种情况其实就是用掷骰子的次数除以最开始骰子的总面数,也就是一共选出的次数除以全样本空间的大小。20000/1420000这个答案是没有问题的,也就是中签率为1.4%左右,一年摇号6次的话,估计运气最差的人要11.8年才能抽中,听到这样的消息现在整个人都不好了。不过别忘了,每个月这个“池子”还在变大,究竟等多久可能只有老天知道了。我们这里只从理论上讲解了计算的原理,但是和实际的计算方法还是有区别的,毕竟实际的遴选规则也是在不断变化,例如对长时间未选中的号码加遴选权重,这样计算起来更为复杂一些。

icon2

3.2.3 德州扑克

七零后和八零后的朋友估计对香港影星周润发很熟悉,尤其是发哥在《赌神》系列中风流倜傥的表演给人留下很深的印象,其中最后发哥和大BOSS单挑基本玩的都是“梭哈”——英文名称Show Hand。梭哈和我们今天要说的德州扑克在牌点大小比较的规则上是非常近似的。

德州扑克是很多年轻人都喜欢的扑克竞技游戏,全称是Texas Hold’em Poker,中文简称德州扑克。这里研究一下各种牌型出现的概率。

对于不熟悉德州扑克规则的读者来说,还是有必要先简单描述一下德州扑克的规则。

一张台面至少2人,最多22人,一般是由2~10人参加。德州扑克一共有52张牌,没有王牌。每个玩家分2张牌作为“底牌”,5张由荷官(专业发牌的人)陆续朝上发出的公共牌。开始的时候,每个玩家会有2张面朝下的底牌。经过所有押注圈后,若仍不能分出胜负,游戏会进入“摊牌”阶段,也就是让所剩的玩家亮出各自的底牌以较高下,持大牌者获胜。

第一轮是在每位玩家只能看到自己2张底牌的情况下加注。

第二轮是在每位玩家能看到自己2张底牌,以及桌面上3张公共牌的情况下加注。

第三轮是在每位玩家能看到自己2张底牌,以及桌面上4张公共牌的情况下加注。

第四轮是在每位玩家能看到自己2张底牌,以及桌面上5张公共牌的情况下加注。

最多只会经历这4轮,一局游戏结束。

游戏的输赢就是看玩家自己的2张底牌与桌面上当前已开出的公共牌,一共挑选出5张,组成最“大”的牌,哪位玩家的牌组合最“大”,哪位玩家就获得胜利。

牌的组合大小怎么定义呢?

对博弈类游戏有所了解的读者可能会有一些常识性的体会——组合出现的可能性越小的通常牌越“大”。那德州扑克里都有哪些组合呢?

第一等:同花大顺。相同花色的A、K、Q、J、10(图3-8)。

第二等:同花顺。相同花色的5张牌相连。例如,红桃6、7、8、9、10,黑桃9、10、J、Q、K等(图3-9)。

图3-8 同花大顺

图3-9 同共顺

第三等:四条。4张相同点数的牌。例如,4张8,4张Q等(图3-10)。

第四等:满堂红(也叫葫芦)。3张相同点数的牌,再加2张相同点数的牌。例如,3张5和2张9,3张K和2张10等(图3-11)。

图3-10 四条

图3-11 满堂红

第五等:同花。5张相同花色的牌,但不是同花顺。例如,5张牌都是方块,5张牌都是梅花等(图3-12)。

第六等:顺子。5张点数相连的牌,但至少包含两种花色。例如,方块2、方块3、梅花4、红桃5、红桃6,红桃8、方块9、梅花10、红桃J、黑桃Q等(图3-13)。

图3-12 同花

图3-13 顺子

第七等:三条。3张相同点数的牌,再加2张不同点数的牌。例如,3张9和1张3、1张K,3张Q和1张A,1张6等(图3-14)。

第八等:两对。2张相同点数的牌作为一对,两对牌,再加1张单牌。例如,2张5、2张9、1张A,2张10、2张J、1张K等(图3-15)。

图3-14 三条

图3-15 两对

第九等:一对。2张相同点数的牌作为一对,一对牌,再加3张单牌。例如,2张10、1张7、1张8、1张9,2张A、1张K、1张9、1张5等(图3-16)。

图3-16 一对

第十等:高牌。高牌即单牌,不满足前面九等牌中任何一种的,就只能按照点数大小按顺序决定高低了。A比K大,K比Q大,以此类推,2最小。

这里试求一下,一个人自己摸牌(没有任何第二个玩家参与的情况下),前三等牌被摸到的概率有多大。

请注意,在没有开始摸牌之前,如果牌被洗过若干次(没有其他人为干扰因素),牌的发放是随机的。而一旦底牌发放以后,尤其是玩家自己看过牌以后,这个时候的概率计算和现在要讨论的这种概率计算是不一样的——显然,一个是完全随机的,一个是有一定条件的,条件就是刚刚看到的那两张底牌,而这种情况暂时不讨论。

那么这种情况下,整个选牌的过程相当于从整副牌52张中选出7张,并从中组合出最大牌的过程,即

7张牌的组合一共有133784560种。

1.同花大顺

在所有的组合中有多少是同花大顺的呢?同花大顺一共4种,分别是黑桃、红桃、梅花、方块的10、J、Q、K、A。7张牌里面,5张已经确定,另外2张怎么选都无所谓。以黑桃为例,黑桃的同花大顺选出后,其实还有47张牌没有发,挑出2张,即

同理,红桃、梅花、方块的同花大顺也是一样的,都是1081种组合,即同花大顺共计有4324种组合。因此概率是

2.同花顺

同花顺有多少种情况呢?以黑桃为例,假设A~5组成同花顺,黑桃6是不能发的,还剩下46张可以组合,则这种情况下组合数量为

2~6组成同花顺,7是不能发的,A可以发(A作为散牌),所以还是

以此类推,黑桃的组合为A~5,2~6,……,9~K,一共9种,那么黑桃一种花色的牌型种类就为

1035×9=9315

4种花色的组合数就是

9315×4=37260

得到结果概率为

网上还有一种算法:

这种算法是有问题的。错误发生的地方大概在这里:“以黑桃为例,A~5,2~6,……,9~K,一共9种,47张牌里挑出两张,计算:

那么黑桃的同花顺的牌型种数为

1081×9=9729

同理,红桃、梅花、方块的同花顺都有9729种组合,共计38916种组合,得到结果

这里一旦选好了5张牌作为“核心组合”以后,其他牌的选择其实不是自由的,因为有的牌配进来以后就发现这个一开始就认定的组合不是最后在台面上最大的牌。

3.四条

四条有多少种呢,计算方法类同,4张已经确定,还有48张没有发:

注意这里4张的组合有多少种——13种,所以四条可能出现的组合数量为

17296×13=224848

除一下得到结果

虽然看上去机会仍然很渺茫,但是比同花大顺和同花顺的概率还是大了不少,是不是?

其他的组合方式大家有兴趣可以自己慢慢去算,网上也有现成算好的对照表。

提示一下,两对牌这种情况比较难算,因为情况比较复杂。它复杂的地方在于在满足两对牌的情况下,还要将满足同花大顺、同花顺、四条、满堂红、同花、顺子、三条的情况全部剔除才行。两对牌的牌型为31433400种,概率为23.5%。还有一些其他形式的对照表,就是在手里底牌为已知固定组合的情况下,最终与公共牌组合成为各等牌的概率。这里温馨提醒一下各位牌友,刚刚我们计算的概率是在一个人自己摸牌的情况下产生的概率。一旦是5个人、10个人玩的时候就大不相同了。有一点是确定的,人越多,公共牌和其他玩家一起组成的牌的种类可能性也越多,“罕见组合”在一局中出现的可能性也比一个人自己摸牌要高很多,请一定注意哦。