春节假期,你抢红包了吗?虽说抢红包是图个喜庆彩头,不在乎金额多少,但同一个红包抢出来的金额差距却不小。拼手气红包到底有没有规律可循?先抢和后抢有没有区别?
抢红包刚出现时采用的是完全随机分配的逻辑,总金额和人数固定,系统随机分钱。看似全凭运气,但这种方式有个巨大漏洞:先抢的人往往更容易拿到大额红包。例如,发一个100元红包给10人,第一个人能抢的金额在0.01元到100元之间,平均值为50元。如果第一个人只抢了10元,剩下90元给后面的人,第二个人的期望值就降到了45元。越往后,剩余的钱越少,期望值就越低。这种情况下,先抢占便宜,后抢吃亏,显然不公平。
为了既保留随机性又让大家觉得公平,现在抢红包使用了一种称为“二倍均值法”的算法。简单来说,就是给每个人的红包设一个限额:最少0.01元,最多不超过剩余金额平均值的两倍。以100元分给10人为例,第一个人最多只能抢20元,他的金额范围是0.01到20元,数学期望是10元。如果他只拿了1元,剩下99元分给9人,第二个人最多能抢22元,期望依然是11元左右。即使第一个人拿了20元,剩下的80元分给9个人,第二个人的上限也是约17.78元,期望值稳定在8.89元左右。
这种方法确保了不管第一个人抢走多少,后面每个人的期望值都始终围绕着“剩余人均钱数”波动,不会出现断崖式下跌。这样,所有人的“平均运气”被拉平了,看起来谁也不吃亏。而且因为越到后面,剩余人数越少,系统允许的上限相对放开。前面的人受规则限制,很难抢到大额;而后面的人,更容易一口“吃”掉剩下的钱。
实际上,真实的抢红包算法更加复杂,除了保障相对公平的金额分配外,平台还要考虑最小金额限制、高并发下的系统稳定性等各种细节问题。红包或许有大小,但那份“抢”来的热闹与“拆”开的喜悦,才是我们真正在乎的年味和祝福。
(网站咨询与信息版权问题处理:wfxxw@foxmail.com)