好長(zhǎng)一段時(shí)間了,身邊的朋友都是在揣著手機(jī)一直在搶紅包,都知道搶紅包是一件非常有趣的事,還會(huì)有人因?yàn)閾尲t包手氣差而生氣,其實(shí)我們是不知道微信紅包隨機(jī)的算法,其實(shí)微信紅包不單單是靠手氣搶大小的,它中間藏著很深的數(shù)據(jù)算法,只不過我們不知道而已,我們今天就來(lái)討論一下微信紅包的算法!小編精心為大家準(zhǔn)備了一下相關(guān)材料,大家可以好好的看一看下面柱形圖和指數(shù)分布柱形圖所得出的紅包獲取平均值,具體數(shù)據(jù)就在下文哦,感興趣的小伙伴們來(lái)看吧!
首先,我們來(lái)討論一下為什么要采用截尾正態(tài)分布。介紹一種非常直接的方法:如果我有50元,要發(fā)給25人。那么我用連續(xù)均勻分布隨機(jī)產(chǎn)生24個(gè)位于0到50之間的數(shù)字。這24個(gè)數(shù)字將整個(gè)0-50的區(qū)間劃分為25份,分別分給這25個(gè)人。事實(shí)真的是這樣嗎?學(xué)過序列統(tǒng)計(jì)的人應(yīng)該知道,由于這24個(gè)點(diǎn)是連續(xù)均勻分布產(chǎn)生的,因此他們的序列統(tǒng)計(jì)量也是連續(xù)均勻分布產(chǎn)生的,因此他們之間的間隔的分布是指數(shù)分布的。具體證明從略,
如果沒有序列統(tǒng)計(jì)的背景,我們也可以做一個(gè)模擬。我有60元錢,按照上述數(shù)據(jù)產(chǎn)生機(jī)理隨機(jī)分成60份(因此人均1元左右),反復(fù)操作10000次,對(duì)數(shù)據(jù)采取聚集后的歸一化處理。由于中心極限定理(Central Limit Theorem),該分布反應(yīng)整體分布(Population Distribution)。畫出柱形圖如下:
可見是符合指數(shù)分布的。
這種產(chǎn)生機(jī)理不好的地方在于:大多數(shù)人得到的錢非常少,而極少數(shù)人得到的錢卻非常多,因此可能有一個(gè)公平性的問題,而這可能會(huì)對(duì)抽取人的積極性產(chǎn)生影響。截尾正態(tài)分布能夠更好地避免這樣的問題,因?yàn)楦嗳说募t包大小會(huì)聚集在平均值附近,而且由于尾部更快的衰減,因此獲得特別大的紅包的概率也會(huì)相應(yīng)減小,有助于增加公平性與參與的積極性。這一點(diǎn)佐證了土豆的觀點(diǎn),盡管具體截尾的方位可能需要獲取更多的數(shù)據(jù)才有可能有一個(gè)準(zhǔn)確的預(yù)測(cè)。
以下是我的兩個(gè)樣本的柱形圖:
大家可以比照我的柱形圖與上面指數(shù)分布柱形圖。注意到:
1.更多的人獲得的紅包在均值附近;
2.獲取大于2.5元的紅包的概率幾乎為零(事實(shí)上,第一個(gè)錢包的最高值是2.06,第二個(gè)錢包的最高值是2.10。然而假設(shè)是指數(shù)分布的(或者說均勻連續(xù)分布的數(shù)據(jù)產(chǎn)生機(jī)理),那么在每個(gè)60元紅包中都會(huì)有一定量的抽取者抽到大于3甚至大于4元的紅包--這點(diǎn)我通過模擬也確認(rèn)了。
我進(jìn)一步對(duì)正態(tài)假設(shè)做了檢驗(yàn)
接下去我討論一下獲取錢包大小和搶錢包先后的關(guān)系。我的結(jié)論是,紅包大小和搶紅包先后沒有統(tǒng)計(jì)意義上的關(guān)聯(lián)。
如下是我的兩個(gè)樣本的紅包大小數(shù)量,我把他們按照時(shí)間順序進(jìn)行了排序,因此越靠右的人代表越后搶紅包的人。
其實(shí)先搶錢包還是后搶錢包對(duì)錢包大小的影響未必有很大的影響。事實(shí)上,我的兩個(gè)樣本中,搶到的錢數(shù)甚至是隨著時(shí)間推移逐漸減少的,盡管減少的量非常非常小。因此樓上土豆舉的例子中向上走的趨勢(shì)可能是樣本特性,不具有普適性。當(dāng)然了,我也只有兩個(gè)樣本,更進(jìn)一步的結(jié)論或許有待于更多人搜集并貢獻(xiàn)錢包的數(shù)據(jù)。
綜上所述,我的兩個(gè)主要結(jié)論如下:
1)紅包大小服從截尾正態(tài)分布,其好處是減少抽取紅包大小分布的方差,讓更多的人抽取的紅包在均值附近,同時(shí)仍給一小部分人抽取大紅包的機(jī)會(huì),總體來(lái)說增加了紅包抽取人的積極性和游戲的公平性;
2)抽取紅包大小與抽取紅包先后無(wú)相關(guān)性。一種可能的紅包產(chǎn)生機(jī)制是:當(dāng)發(fā)紅包者<準(zhǔn)備紅包>的時(shí)候,程序自動(dòng)依照截尾分布產(chǎn)生了相應(yīng)大小,相應(yīng)個(gè)數(shù)的紅包,然后隨機(jī)發(fā)給抽取紅包的人。同樣,這樣的一個(gè)隨機(jī)過程有助于增加游戲的公平性,也減少了紅包抽取人投機(jī)操作(亦即譬如故意等錢包半空的時(shí)候再抽取)的動(dòng)機(jī)。我在知乎上看到一位朋友談到她的騰訊工作的朋友確認(rèn)了紅包產(chǎn)生是在<準(zhǔn)備紅包>時(shí)就完成了的,因此也在一定程度上增強(qiáng)了我的這種推測(cè)的可信度。
哈哈,看了開淘網(wǎng)小編的介紹,我們都知道拼手氣的紅包算法是怎么回事了吧!原來(lái)紅包的大小和搶紅包的先后是沒有多大關(guān)系的。文章中對(duì)這方面制作出了具體的數(shù)據(jù)及圖形分析,紅包大小會(huì)聚集在平均值的附近,然后到尾部就好更快的衰減,所以獲得較大紅包的概率也就會(huì)相應(yīng)減小了,好了,今天的分享就到這里了,想要了解更多有趣的文章,請(qǐng)關(guān)注開淘網(wǎng)!
推薦閱讀:
微信信用卡還款到賬時(shí)間是多久?能及時(shí)到賬嗎?
查看更多相似文章