NBA 2016-17赛季,总决赛已经进入赛点阶段,随着昨天结束的第4场比赛,骑士队以137-116战胜勇士队,总决赛的大比分变成了1-3,骑士队落后,勇士队只用再赢得1场比赛,就可以荣获冠军,相反,骑士队要夺冠,需要连赢3局,按照比赛安排,后面的三场比赛中,骑士队只有1个主场,而勇士队有2个,从比分和主场优势来说,勇士队占据了绝佳的优势。
相信大家还记得去年这个时候,依然是这两只球队,上演了同样的一幕,大比分也是1比3,主客场顺序也保持一致,而最终骑士队奇迹般的完成了逆转,以4比3的比分夺得了总冠军。时隔一年,面对同样的境遇,骑士队会让历史重演吗,而勇士队会重蹈覆辙吗?
我们先来看一下历史数据,喜欢看NBA的同学都知道,美国的赛事在数据方面都非常全面,比如某个球员的得分数、篮板数、赛季命中率,以及球队的夺冠数、进入季后赛的次数、本赛季与对手之间的胜率等,而这里我们要关注的是,在历史上,以1比3落后的球队中,有多少完成了反败为胜,我在google上找到了这样的数据,历史上一共有190场1比3落后的球队,其中最后胜利的有9支,只有4.2%的概率,而这9支球队中,有6支具有主场优势,所以从历史的角度来看,最终骑士夺冠的概率不会高于4.2%。
通过历史数据来预测未来是一个很好的办法,在计算机领域,很多应用都是这样实现的,例如淘宝中的推荐系统,通过你的历史购买的记录,可以判断你的喜好,从而向你推荐你很可能会购买的物品。除了历史数据,我们还可以通过未来进行推断,概率论就是这样的方法,例如著名的分赌本问题,就是一个典型的例子:
1654年,职业赌徒德·梅累向法国数学家帕斯卡(B.Pascal,1623-1662)提出一个使他苦恼很久的分赌本问题:甲、乙两赌徒赌技相同,各出赌注50法郎,每局中无平局。他们约定,谁先赢三局则得到全部100法郎的赌本。当甲赢了两局,乙赢了一局时,因故要中止赌博。现问这100法郎如何分才算公平?
帕斯卡与另一位法国数学家费马(Fermat, 1601~1665)在一系列通信中就这一问题展开了讨论。事实上,很容易设想出以下两种分法:
- 平分赌本,甲得50法郎,乙得50法郎;
- 因为甲赢了2局,乙赢了1局,所以甲得2/3,乙得1/3。
由于第2种分法照顾了甲多赢一局的事实,所以第2种分法更为公平,但这都是通过历史数据来决定的,更为公平的分法是通过甲、乙最终赢的概率,假设乙最终赢得赌局,则他要在第4、5局都取得胜利,因为他们赌技相同,所以乙最终赢的概率是1/4,而甲则为1-1/4=3/4,通过这个思路来分赌本,甲得3/4,乙得1/4。为什么说这种方法更为公平呢?因为
它既照顾了已赌结果,又包括了再赌下去的一种“期望”
同样的思路,如果我们要计算骑士队赢球的概率,假设每一场骑士赢的概率都是1/2,他们要夺冠,需要连胜3场,则概率是 1/2 × 1/2 × 1/2 = 1/8,即12.5%,因为没考虑到两支球队之间的球技差异和主客场因素,所以这个概率比历史概率要高。
我们可以写个程序计算一下这个概率的正确性,程序的思路是,定义一个函数,计算在1比3的条件下,假设后面任何一支球队赢的概率都是1/2,谁先胜4场谁先获得冠军,让这个函数执行100000次,计算每支球队获得冠军的次数,用这个次数比上总次数100000,就是获得冠军的概率:
把这个程序执行了3次,概率基本都在0.125附近
$ python championProb.py
0.12456
$ python championProb.py
0.12316
$ python championProb.py
0.12756
通过计算看来骑士夺冠的概率并没有历史上显示的那么低,尤其在再胜1场的情况下,概率还会不断升高,祝骑士好运。