拜託,面試別再問我搶紅包概率了!!!

一個拼手氣紅包,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)最小值的期望是多少?

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