话说在很久很久很久以前,有一颗骰子。
骰子有六个面,每个面分别写着1,2,3,4,5,6.
不考虑每个面细微的差别,我们假设掷一次骰子,每面的概率都是1/6.
1.
有11个人,他们住在同一个宿舍里面。今天刚刚开完“大食会”,需要一个人去倒垃圾。
大家都很懒,没有人愿意去。于是,只好抽签。但他们手上,就只有一个上面所说的骰子。
问题:怎样用一个六面的骰子,做出一个公平的随机选择,使得11个人,每人被抽中的机会都是 1/11?
2
这是一个很好的问题,好就好在,他不需要很多的背景知识,却又有点难度。它可以用来考大学生,但小学生也能听得懂。
类似的题目,也出现过在许多私募机构招聘量化交易员的面试题当中。
我们看看怎样思考这个问题。
3
首先看看一些简单的情形。假设,题目中不是11个人,而是2个人。怎样用一个6面骰子,做出一个公平的随机选择?
答案很简单。
假设是甲乙两人。如果掷到1、2、3,就甲去。如果是4、5、6,就乙去。
如果是3个人呢?答案是类似的:假设是甲乙丙三人。如果掷到1、2,就甲;3、4,就乙;5、6,就丙。
如果是4个人呢?同样的方法不再有效。因为6是2、3的倍数,却不是4的倍数。你没有办法把6个号码,平均分配给4个人。
不过,还是有一个复杂的办法。
4
四个人,假设是a,b,c,d. 如果掷到1,就a;掷到2,就b;掷到3、4,就c;掷到5、6,就d。这样c、d会觉得不公平,因为每人有两个数字。
没关系,你可以再掷一次。这回,掷到1就c,2就d;3、4就a;5、6就b. 这样就公平了。两轮过后,如果有一个人连中两次,就是他了。如果有两个人各中一次,就用刚才2个人的办法,再来一次。
是复杂一点,好歹是个解法。而且看着也挺好玩。如果这是个商业比赛,用来搞搞气氛也不错。
5
如果是5个人,就不能掷两轮,而要掷5轮了。另外会有些细节的差别。反正总是可行的。
在上面的复杂解法,我们会问一个问题:为什么4个人用这种办法,是公平的?
如果要直接计算每个人被选到的概率,是比较繁琐的。要考虑几种情形。但要证明每人都是1/4却并不难。
首先,上面的规则对于每个人都是平等的。
其次,四个人的被抽中的机会率之和,肯定是1.
结合这两个,每人就是1/4.
6
如果是功力更加深厚的人,会问更“浅”的问题:为什么一个6面骰子,每一面的概率是1/6.
答案类似:因为每一面都一样,而且加起来是1, 所以每面都是1/6.
能够问出浅问题,得到深刻领悟的,才是真正的高手。
为什么说这个道理很深刻呢?
7
因为这个道理告诉我们,要做到每人1/4,你只需要想一个办法,满足:1. 让四个人一样, 2. 总会刚好选中一个人。
从这个角度出发,我们不难想到这种解法:
掷一次,如果是1,2,3,4,就分别选a,b,c,d. 如果是5,6, 就不算,重来。
这样,每人都必然是1/4,因为大家都是平等的。
这个规则比上面的简单,虽然,它有可能需要掷多几次(如果运气不好,一直都出5、6的话)。
更大的好处是:它非常容易推广。如果不是4个人而是5个人,那我们就把1,2,3,4,5分配给这5个人。如果掷到6,就重来。
那如果是11个人呢?
8
如果是11个人,就掷两次。这样一共会有6*6=36种可能性,而且每种均等。把其中33种分配给这11个人,每人3种。剩下的3种如果掷到,就重来。
9
利用对称性去解决数学问题,是非常非常重要的技巧。
但本文更想指出的是:很少人会去思考,为什么一个骰子每面的概率是1/6. 因为很少人会意识到:想清楚一个简单的问题,会对我们解决复杂的问题有帮助。
看到此处说明本文对你还是有帮助的,关于“一个骰子引发的故事”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!