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