微信红包问题matlab,微信红包先抢后抢差距居然这么大?有人做了个实验

五、微信究竟怎么设计的抢红包?

按照正常的套路,抢红包最简单的办法不就是把红包的总钱数随机分给几个人么……但是微信偏不这么搞,就是一定要让第一个人抽到的钱只能在0.01元到20元之间。

对于5个人抢50块红包而言,20元是个什么数?

在一篇《微信红包的架构设计简介》的文章中提到这可能是“平均值的2倍”(也就是说,每个能抢到的钱最多是当前剩余金额的平均值的2倍)

虽然不明白微信为什么要搞这套规则,但是我们不妨拿数据检验一下这个规则对不对!

(以下为理论推导,文科生可快进)

(1)检验第一个人抢到的金额是否服从均匀分布

简化:抢红包问题本身是(¥0.01,¥0.02,…)的离散分布,在此为检验均匀分布,将其作为连续分布近似处理。

首先对每个人作为首抢时的数据分析,进行Kolmogorov-Smirnov检验,利用累积分布函数检验第一个人抽到的金额是否服从均匀分布。假设检验均通过,得到类似“毕导第一个抢时,毕导抢到的金额确定是均匀分布”的结论。

(2)检验是否有人品因素的干扰

看五人分别作为首抢时是否有个人因素导致抢到金额有分布上的差异,进行Anderson-Darling k-样本检验,发现其实没有。所以抢红包次数足够多的前提下,不存在脸帝光环。

(3)抢到的金额是多少到多少的均匀分布?

最小值肯定是0了,因为实际中已经知道有人不管红包金额多大都只能抢到1分钱。

根据统计推断的点估计理论中的极大似然估计知道,参数的极大似然估计是最大值。我们的210组抢红包数据中,第一个人最大就抢到过19.88元。

但是极大似然估计往往低估了,采用贝叶斯估计的方法。先验分布选共轭的帕累托分布,后验均值是mN/(N-1)=210/(210-1)*19.88=19.975。

基本可以在统计学意义上断定,均匀分布的右端点是20。

(4)后面抢的人也服从0.01~剩余均值2倍的均匀分布吗?

根据第一个人的均匀分布可以递推出第二个人的分布密度函数,进一步用类似方法检验第二个人抢的金额是否符合这个密度函数。检验同样通过,第二个人的金额服从0.01~剩余均值2倍的均匀分布。当然从算法的简洁性上来说,微信也不太可能给第一个抢和后抢设置不同的算法规则。因此我们有一定的理由相信微信红包是按这个规则设计的。

至此基本可以给出微信设计的抢红包规则了:

每个人能抢到的金额服从0.01到2倍剩余均值之间的均匀分布。

我们5个人抢50块:

第一个人最多能抢到2*50/5=20元,比如他抢了5元,此时剩下45元。

第二个人最多能抢到2*45/4=22.5元,比如他抢了12元,此时剩下33元。

第三个人最多能抢到2*33/3=22元,比如他抢了17元,此时剩下16元。

第四个人最多能抢到2*16/2=16元,他和第五个人分这16元。

下面要考虑的问题是:这种规则产生的红包,是否会导致先抢后抢均值相等,而后抢的方差更大?

(以下是一大段的理论推导,文科生可快进)

将问题抽象为n个人抢一个S元的红包。

640ee9f58516f6f79c4540a7c9f82808.png

证毕,在微信红包的“0.01~2倍剩余均值均匀分布”算法下,先抢后抢的均值相同,越往后抢方差越大。最后两个人同分布。

六、闲得蛋疼

现在既然我们已经知道了微信红包的算法原理……那就可以编程给自己发红包看规律了……

出于礼貌,我用matlab给自己发了五万个红包。五个人抢红包金额分布图是这样的(纵坐标太大隐去了……)

bafe1feea955e587946029b54be00faf.png

abb88f739059ce784173f99c9fd18d71.png

不同先后顺序抢到的金额汇总(五万次模拟)

结果一切尽在掌握之中!均值相同,标准差变大,第一个人有最多的“手气最佳”!

由于最近真的有人拉我玩“手气最佳发红包”的游戏,吓得我赶紧给自己发了一千万个红包研究理论规律。

毕竟这个游戏里只抢不发闷声发大财是坠吼滴,一抽到手气最佳之前抢的钱都白费了。

0a30095944dcd455dabdf4fe361a040f.png

不同先后顺序下抢到的手气最佳、最差(一千万次模拟)

看来先后顺序对抽到“手气最佳”是有决定性影响的!

5个人抢红包的时候,越先抽,抽到“手气最佳”的概率越大!第1个人抢到手气最佳的概率是21.6%,而最后俩人的概率只有19.2%!相反,第1个人抢到手气最差的概率是16.6%,最后俩人的概率高达23.5%!

不过只有5个人抢的时候有这个规律。

当参与抢红包的人数变化时,“手气最佳”的概率随着先抢后抢顺序变化的规律也是不一样的。

07e75d207c33eb592762ddb4a31b6087.png

所以一帮人玩“手气最佳发红包”的游戏时,

3~5人时“手气最佳”概率是随抢的顺序而降低的,所以果断要憋到后面再抢!

6~15人时概率是先降低后增加的,所以要看准技巧和时机,挤在中间的位置抢!

16人以上时基本是越往后概率越高,尽量先抢!最后两个人拿到“手气最佳”的概率极高!

七、结论

fcaf812b31d27491d9b75ae14ba030d9.png

373deea7e6c3eb26b1e58ca8c3e12cd2.png

2e6cfaa3629c6e54642e2394de8fb327.png

c3adf718947550e54f55e71481054bac.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值