毕啸天,是清华大学化工系博士,他突然火了。 因为他常常一本正经地去研究一些看起来不正经的事,比如怎么抢到微信群最大红包,我们一起来看看他那些不太正经的研究吧!
怎么抢到最大红包
春节抢红包大家都玩过,现在抢红包已经是我们每年过年的一个全民竞技体育了。
但有段时间我发现了一个奇怪的现象,就是不管别人发多大的红包,抢到我手里的每次都只有几分钱。而往往是抢红包比较晚的那些人,他们可以抢到一个比较大的红包。
这不科学吧?难道微信红包先抢和后抢的规律是不一样的?想到这个想法我非常地兴奋,我觉得如果我最后能找到这个规律的话,我就能抢到我所有的同学都破产为止。
马上开始实验了。
我在周围借来了四部手机,
连上我自己的一部,
总共是五部手机,
建了个五人群开始发红包。
(提醒:解析看不懂的、没时间看的,可以直接快进看结果哈)
发红包之前我先做了这么一个先导实验:N个人抢N+1分钱。
大家都学过抽屉原理,N个人抢N+1分钱就应该有一个人抢到2分钱,剩下的人都抢到1分钱。但实际做出来实验结果不是这样的,永远只有最后那个人才能抢到那个2分钱。
我做了非常多次实验,结果肯定是对的。这个东西我把它命名为末位红包抽屉原理。也就是N个人抢N+1分钱,则必有最后一个人抢到2分钱。这个收益率很可怕,他的收益率达到了前面一个人的两倍。
这个结果虽然很简单,但是它反映出来一个现象:
微信红包的内部算法肯定不是均匀的,
先抢后抢一定是有区别的,
而且貌似后抢会占一点点优势。
究竟是不是这样呢?我做了进一步的实验。
我用5个人抢50块钱的红包,
发了150次,
然后统计了每一次这5个人的数据,
得到这样750个数据。
我把750个数据做在一张表上面。
大家可以看出来,很惊讶的一个结果:
5个人抢50块钱的红包,第一个人从来没有超过20块钱。
做了150次,所以统计规律肯定是没有问题的。
第二个人从来没有超过过25块钱,等到第三第四第五的人他们能抢到的钱数慢慢才上去。
也就说第一个人可能只能抢到0到20,第四第五的人才能抢到0到50中间的任一个数字。
后来经过我仔细地研究,我终于发现了微信红包内部的算法规则是什么,每个人当前能抢到的金额服从一个0.01到当前剩余均值两倍的左开右闭区间的均匀分布。
什么意思呢?大概是说,5个人抢50块钱,那平均每个人能抢到10块钱。这个时候,第一个人抢的时候,他就只能抢到0—10×2也就是20块钱。你想第一个人多不巧,他只抢到了2块钱。那接下来的问题就变成了4个人抢48块钱,这个时候平均每个人能抢到12块钱。12的两倍是24,第二个人最大能抢到就变成24块钱。所以这个区间是一个不断放大的过程。
最后等我发现了这个规律之后,你就可以做一些很无聊的脑洞。
比如说你可以编程给自己发红包。
然后有一天我就给自己发了五千万个红包,得出来这样一个规律。
在五千万个红包下面这个规律就非常地明显了。你可以看到第1个人永远不会超过20,后面的这个规律分布在慢慢平缓下来。
此外,通过编程你还可以统计一个现象,就是最佳手气,这是很多人关注的一个点。最佳手气在各个人各个位置的概率是均等的吗?其实也不是。最后我发现最佳手气的概率在5个人抢的时候是依次递减的。
然后我的脑洞又发散了一下,我说难道5个人是这样,那几个人抢都是这样吗?于是我又做了一个编程,很无聊,就给自己发了两亿个红包。最后做出来这样一张图。
这张图可以说是微信抢红包里面包罗万象,它把所有的情况都概括了。它统计出了从3个人抢到27个人抢,如果你愿意的话,我可以统计到任何多个人抢。从3个人到27个人,不同的人在抢红包的时候,每一个位置抢到手气最佳的概率这个变化究竟是什么样子的。
从这张图的最后我大概得出一个结论:
通常抢红包的人比较多的时候,应该是越往后往往抢到手气最佳的概率越大。
所以以后我看到红包都先憋一会儿,
我等你们先把前面的小红包都抢走了,
憋到后面我再去把那个大的捞回来。
后来在这种思想的指导下,
我就再也没有抢到过红包。