1024程序員節(jié)貧富差距題目解析

大家1024節(jié)快樂呀?(? ̄▽ ̄)?
最近有很多朋友在評(píng)論區(qū)或者私信問我題,發(fā)生甚么事了?我一看,啊↘↗原來是之前出的算法題被B站選為1024節(jié)的題目了,這道題目是這樣的:(鏈接)

這個(gè)題目來源于一個(gè)社會(huì)財(cái)富分配游戲:假設(shè)有1萬人,每個(gè)人初始財(cái)富值相等,每輪游戲每個(gè)人都要隨機(jī)地、等概率地給1萬人當(dāng)中的一個(gè)人1塊錢,這樣在絕對(duì)公平的交易規(guī)則下,財(cái)富的分布會(huì)出現(xiàn)什么現(xiàn)象?

模擬的結(jié)果是,即使在公平的交易規(guī)則下,財(cái)富分布的方差也會(huì)越來越大。如果統(tǒng)計(jì)第n輪游戲后最窮和最富者的差距,畫出來是一個(gè)正比于根號(hào)n的函數(shù):

然后小編征集題目時(shí),我就打算把這道題目發(fā)給小編了。
但是甲方提出了新的要求,就是這個(gè)題目必須編程也能做,手動(dòng)推理也能做,于是我就把游戲的人數(shù)改成了只有貍子和粉絲兩人(所以大家才會(huì)看到題目的表述有點(diǎn)拗口,因?yàn)轭}目是從1萬人改的(捂臉))
在只有兩人的情況下,記貍子財(cái)富減粉絲財(cái)富等于x,每輪游戲后,x有1/2的概率不變,有1/4的概率+1,有1/4的概率-1(如果你想不清楚這一點(diǎn)的話,就把四種情況都列舉一遍就可以了)
貍給貍,粉給粉,不變
貍給貍,粉給貍,+1
貍給粉,粉給粉,-1
貍給粉,粉給貍,不變
所以x是個(gè)一維上的隨機(jī)游走(帶1/2的回合停留,這不影響x的函數(shù)規(guī)律),學(xué)過隨機(jī)游走的同學(xué)可以選出答案是根號(hào)n。
題目里用的表述是x是最窮和最富的差距,這個(gè)當(dāng)然還是題目經(jīng)過一次改版的歷史遺留問題,不過不影響答案,我模擬過結(jié)果都是根號(hào)n。
然后,如果玩家真的采用編程的方法而不是推理的解法的話,人數(shù)只有2人反而不利于這類玩家,人數(shù)越少得到根號(hào)n的規(guī)律反而需要更長(zhǎng)時(shí)間的模擬,而且沒有1萬人模擬時(shí)那么光滑?╮(╯_╰)╭

橙色:貍子的財(cái)富,藍(lán)色:粉絲的財(cái)富,綠色:貧富差距
好了大家放過我吧(逃