春節假期,你搶紅包了嗎?雖說搶紅包是圖個喜慶彩頭,不在乎金額多少,但同一個紅包搶出來的金額差距卻不小。拼手氣紅包到底有沒有規律可循?先搶和後搶有沒有區別?
系統隨機分錢
全憑運氣?
搶紅包剛出現的時候,用的邏輯是完全隨機分配。總金額和人數固定,系統隨機分錢,看似全憑運氣,但這種方式其實有個巨大漏洞:先搶的人往往更容易拿到大額紅包。舉個例子,發一個100元紅包分給10人。第一個人能搶的金額在0.01元到100元之間都有可能,把所有可能性算個平均值,他平均能拿50元。在數學上,這個“長期平均值”就叫數學期望。就好比給你一根繩子,閉着眼睛剪一刀,你最可能從中間剪斷。
如果第一個人只搶了10元,剩下90元給後面的人,那第二個人有可能搶到的金額範圍就變成了0.01到90元,期望直接降到了45元。越往後,剩餘的錢越少,期望就越低。先搶佔便宜,後搶喫大虧,這顯然不公平。
後搶的人更容易多得?
那怎樣才能既保留隨機性,又讓大家覺得公平呢?這就要用到紅包界的黃金法則——“二倍均值法”。這也是現在搶紅包背後的算法。
簡單說,就是給每個人的紅包設一個限額:最少0.01元,最多不超過剩餘金額平均值的兩倍。還是100元分給10人爲例:第一個人最多隻能搶100÷10×2=20元,相當於他的金額範圍是0.01到20元,再套用到最初的紅包算法,那他搶紅包的數學期望就是10元,而不是原來的50元;如果他運氣差只拿了1元,剩下99元分給9人,第二個人最多能搶99÷9×2="22"元,期望依然是11元左右。就算他手氣爆棚直接拿走了上限20元,那剩下的80元分給9個人,第二個人的上限就是80÷9×2≈17.78元,期望也穩定在8.89元左右。
你看,不管第一個人搶走多少,後面每個人的“期望”都始終圍繞着“剩餘人均錢數”打轉,不會出現斷崖式下跌。這就是“二倍均值法”最厲害的地方:它把所有人的“平均運氣”拉平了,看起來誰也不喫虧。而且因爲越到後面,剩餘人數越少,系統允許的上限就相對放開了。前面的人被規則限制,很難搶到大額;而後面的人,更容易一口“喫”掉剩下的錢。
其實,真實的搶紅包算法要更復雜一些。除了保障相對公平的金額分配外,平臺還要兼顧最小金額限制,高併發下的系統穩定性等各種細節問題。紅包或許有大小,但那份“搶”來的熱鬧與“拆”開的喜悅,纔是我們真正在乎的年味和祝福。
來源:央視新聞、新華網微信公衆號