拜托,面试别再问我抢红包概率了!!!

一个拼手气红包,N个人抢,如何快速实现?

:发时计算,抢时分配:

(1)发红包的时候,一次计算,提前分好;

(2)抢的时候,一个一个领走;

此时,每个人抢到大包和小包的概率是相同的,整体具备公平性。

 

有没有可能,抢一次计算一次,抢一次计算一次?

:不太可能。

如果抢一次计算一次,第一个人抓一把,第二个人将剩下的抓一把,总体来说,后抢的人不公平。

 

如何实施计算呢?

:切面条法。

一根面条,随机分成5根,闭上眼睛剁4刀就行了。用计算机来实现,就是在(0,1)内随机4个不相同的值。

 

切面条法存在什么问题?

:随机分,可能导致贫富差距过大。

例如,假设红包总金额是1,那么领得最多的人可以得到0.38元,而最少的可能只有0.03元,要差10倍之多。

画外音:注意,这是单次贫富差距。

 

能否增加一个杠杆,调节红包间差距?

:狄利克雷分布。

在众多随机变量分布中,狄利克雷分布非常符合我们的场景,它有一个 α 控制参数:

(1)α=1时,即上文的切面条法;

(2)α 逐步增大,切出来的面条越均匀;

 

除了一次性的抢红包,红包接力玩法呢?


什么是红包接力玩法?

:红包接力的规则是,群里先由一人发红包,群内的人抢,“手气最佳”的那个人继续发新一轮的红包,不断往复循环。

 

如果一直这么玩下去,会有什么结果呢?

“闷声发大财”?

“错过了几个亿”?

“共同富裕”?

“寡头垄断”?

 

现在用试验来模拟红包接力的游戏:

(1)假设有一个50人的群;

(2)假设每人初始金额为50元;

(3)假设每次红包金额是20元;

(4)假设每次发给10个人;

(5)假设“手气最佳”开始发下一轮;

(6)假设发完红包,即扣除20元,之后余额变成了负值,就破产退出游戏。

 

试验将 α 设为2,并让红包接力100次,最后的模拟结果为:

(1)有2位朋友不幸破产;

(2)资产最多的有92.20元,几乎翻了一倍;


分析试验结果:

(1)破产的玩家都是“手气最佳”次数太多,导致入不敷出;

(2)资产最多的玩家属于“闷声发大财”,从未获得过“手气最佳”。

 

当然,概率面前人人平等,没有谁能预知自己抽中红包后会是最大的还是最小的,所以从对称性的角度考虑,个人选择的结果是完全随机的。

 

但是,从整个群的角度来看,有一个指标却在悄悄发生变化,那就是这个群的“贫富差距”

画外音:注意,这不是单次贫富差距,是随着轮数增多的贫富差距。

 

在游戏最开始的时候,群友的资金都是一样的,在若干次迭代之后,群友的贫富差距被拉大了,那么:

(1)如何量化这种贫富差距?
(2)随着游戏的继续,贫富差距会有怎样的变化?
 

如何量化贫富差距?

:基尼系数(Gini Coefficient)。

 

基尼系数通常被用来衡量一个国家居民收入的公平性,其取值在0到1之间,越大表示贫富差距越大,即少部分的人掌握了这个经济体大部分的收入。

 

观察每一轮结束之后,基尼系数的变化,结果如下:


可以看出,随着接力的进行,基尼系数的整体趋势是在不断变大的,意味着贫富差距会随着游戏的进行变得越来越大。

 

这其实也很好理解:总是会有人因为拿了太多“手气最佳”而破产,这样财富会在越来越少的人中间进行分配,所以相应地贫富差距就拉大了。

 

基尼系数的趋势,和什么有关呢?
:在游戏的模型中,有一个参数 α 用来控制红包金额分配的“公平”程度。

画外音:α 越大,单次分割就越平均。

 

调整一下α 值,再来观察基尼系数的变化趋势。


上图:红线 α=2,绿线 α=20

 

可以看出,红线和绿线虽然有所重叠,但总体来看绿线的取值要比红线更大,也就是说:单次红包分配越“公平”,多次分配后,贫富差距反而会越大。

 

听起来可能有些反直觉,但其实也合情合理:

(1)如果红包的分配是绝对公平的,那么第一名得到的金额就将是2元,而下一轮又必须送出20元,亏得多,穷得快;

(2)如果红包金额的波动性很大,第一名就会得到更多,也就更不容易破产;

 

所以说,一个规则是否真的“公平”,不能只看其表面。今天就到这里,希望大家有收获。

 

作业题,1块钱随机分成n份儿:

(1)最大值的期望是多少?
(2)最小值的期望是多少?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章