不管是刚开始那种完全随机分配的算法,还是现在采用的新逻辑,发红包的人心里都有本账。就拿发一个100元的红包给10个人来说吧,第一个人能拿到的金额可能在0.01元到100元之间浮动,算个平均数大概能拿50元。这就是所谓的数学期望,就好比闭着眼睛从中间剪断一根绳子。可问题在于,要是第一个人运气不好只抢了10元,剩下的90元分摊到后面9个人头上,第二个人能抢到的范围就变成了0.01到90元,这时候的期望值直接就掉到了45元。越是往后剩下的钱越少,大家能拿到的平均值也就越低。这么一来先抢的占便宜后抢的吃亏,显然不太公平。 为了避免这种情况出现,现在的算法变成了后面的人更容易吃掉剩下的钱。这个算法的核心就是“二倍均值法”。还是拿100元分给10人来举例:第一个人能抢的上限是100除以10再乘以2,也就是20元,这么算下来他的平均期望值就变成了10元。哪怕他手气差只拿了1元走了,后面的9个人还有99元可以分;这时候第二个人的上限就变成了99除以9再乘以2,大概是22元。如果他还是运气爆棚直接拿走了20元的上限,剩下的80元分给9个人,第二个人的上限又变成了80除以9再乘以2大约是17.78元。 你看不管前面的人怎么抢,后面每个人的期望值始终都围绕着“剩余人均钱数”转,不会出现那种一下子断崖式下跌的情况。这就把大家的“平均运气”给拉平了。因为越是往后人数越少系统允许的上限也就越高,前面的人被规则限制很难抢到大额;反倒是后面的人更容易直接把剩下的钱一口吃掉。当然了,真实的抢红包算法比这还要复杂不少,平台还得兼顾最小金额限制还有高并发下的系统稳定性等各种问题。 虽然红包有大小之分,但那份抢红包时的热闹劲儿和拆开之后的喜悦才是我们最在乎的年味和祝福。今年春节你一共抢到了多少红包呢?