微信红包随机金额生成算法模拟及应用

2019-04-14 13:16张志雄张静之赵春锋
教育教学论坛 2019年10期

张志雄 张静之 赵春锋

摘要:构造了微信红包随机金额的模拟算法,并验证了模拟算法的有效性。通过模拟算法,产生了大量微信红包随机金额数据,分析这些数据表明:(1)微信红包随机金额呈正态分布,是在红包份数较少的情况下,表现出的一种巧合,在红包份数较多的情况下,随机金额并不符合正态分布;(2)对一个微信随机红包,概率上,每个人抢到的红包金额是相等的,即抢红包的先后次序对抢到金额的多寡没有影响;(3)对一个微信随机红包,越晚产生的随机金额,其波动范围越大,即先抢红包的人,抢到平均金额的可能性比较高,后抢的人,要么抢到较小的金额,要么抢到较大的金额。

关键词:微信红包;微信随机红包模拟算法;正态性检验

中图分类号:C812;O213     文献标志码:A     文章编号:1674-9324(2019)10-0051-03

一、微信红包随机金额模拟算法的构造

在作者之前的研究中,得出了微信红包随机金额所具有的一些数值特征:(1)对一个随机红包,产生的第一份随机金额,不会超过此红包平均金额的2倍,之后产生的每份随机金额,不会超过剩余平均金额的2倍;(2)对一个随机红包,其所有随机金额构成的数据样本,大致符合正态分布的特征。

二、微信随机红包模拟算法有效性检验

根据微信红包随机金额的数值特征可知,一个微信随机红包所有份数的随机金额构成的数据样本,大致符合正态分布。根据这个特征,对本文构造的微信红包随机金额模拟算法进行有效性检验。

设红包总金额为100元,用模拟算法生成了份数分别为8、10、15、20、25、30、35、40、45和50的大量随机金额数据。采用W检验法检验每个红包随机金额的正态性。

检验结果表明:红包份数较小时,模拟随机金额数据一般都符合正态分布;当红包份数大于30时,开始有部分模拟红包的随机金额不符合正态分布。模拟红包数据的表现与实际微信红包随机金额的数值分析结果完全相同。这表明,本文提出的微信红包随机金额模拟算法是有效的,其产生的随机金额与微信红包自身产生的随机金额已无法分辨出差异。

通过模拟算法产生了大量的、不同种类的随机金额数据,并用W检验法进行正态性检验。结果表明:每个微信红包所有份随机金额构成的数据样本,并不符合正态分布。之前的研究得出了随机金额符合正态分布的结论,这只是在红包份数较小的情况下,样本数据表现出的一种巧合。同样地,关于微信红包随机金额数据符合截尾正态分布的观点,就更加不准确了。一般来说,概率分布的检验需要较大的数据样本,小样本数据的分布检验,不管采用什么方法,都不能可靠地做出符合某种分布的检验,这是概率分布检验方法的天生缺陷。

这表明,微信红包每份随机金额满足不大于2倍剩余平均金额的产生规则,并不是构建正态分布数据的方法。正态分布现象在现实中虽然广泛存在,但微信红包随机金额确实不符合正态分布。

三、微信随机红包模拟算法的应用

1.通过模拟算法检验抢红包先后次序的机会均等性。微信随机红包金额的随机性,使得每份随机金额不可避免地有大有小,自然就涉及抢红包的策略,是先抢好呢,还是晚抢好呢?这即是,抢红包的先后次序,或随机金额产生的先后顺序,是否会显著地影响抢到金额的多少。如果微信随机红包算法不能保证任何次序上产生的随机金额在概率上相等,那么就确实可以在抢红包的过程中,通过采取恰当的占位策略,取得抢红包的优势。

为此,通过模拟算法产生了总金额为100元和份数为10的随机红包,重复产生次数分别为:100次、500次、1000次、2000次、5000次和10000次。然后,对不同重复次数的模拟红包,分别计算了第1份随机金额到第10份随机金额的期望。通过期望来衡量先后次序对抢到金额的影响,即判断不同位置上抢红包的机会均等性。

这里,M的取值分别是100、500、1000、2000、5000和10000,的取值是1到10。

计算得到的期望用柱状图表示,见图1。由图1可见,重复次数为100时,不同位置的期望有显著差异。随着重复次数的增加,不同位置上期望值的差异越来越小,且都越来越趋近红包总平均金额10元。这即是表明,在概率上,抢红包的次序对抢到的金额多少沒有显著影响,先抢和后抢的效果是一样的,都抢到该红包的总平均金额。

模拟过程还表明,当红包重复产生的次数比较少时,不同位置上随机金额的期望与红包总的平均值——10元之间有显著差异,且最大期望或最小期望随机地出现在第1到第10的任意位置上。所以,即便是在单次抢红包的情况下,也不能凭借抢红包的先后次序位置来获得显著优势。

通过对模拟算法产生的随机金额数据的分析表明,微信红包随机金额的产生方案还是很公平的,先抢或后抢获得的金额在统计意义上没有显著差异,即不同位置上抢红包的机会是均等的。

2.通过模拟算法讨论抢红包先后次序对抢到金额的影响。为了考察抢红包先后次序对抢到金额的影响,进一步计算了不同重复次数下,不同位置上随机金额的方差。第i份红包x_i的方差,用样本数据的方差无偏估计量来描述:

方差计算结果用柱状图表示,见图2。由图2可见,在红包重复产生次数较少的情况下,如100次和500次,各个位置上的方差呈现忽大忽小的变化,没有显著的规律。随着重复次数的增多,方差呈现出逐步增大的显著特征,而且,最后两个位置上的方差几乎相等。这即是表明,在概率上,第1份随机金额的波动范围较小,之后的随机金额,波动范围逐步增大,且最后两份随机金额的波动范围大致相同。

从抢红包的角度来看,这即是表明,先抢红包的人,抢到平均金额的概率比较高,而后抢的人,更有可能抢到较大的金额或较小的金额,即获得金额的波动范围较大。

四、结束语

根据微信随机红包金额所表现出的数值特征,本文构造了微信随机红包的模拟算法。通过模拟算法,对微信随机红包中一些让人普遍感兴趣的问题进行了定量分析,并得到了可信的结果:微信红包随机金额,并不符合正态分布;对一个微信随机红包,从概率上讲,抢红包的先后次序不会显著地影响抢到金额的多少,即抢红包的机会是均等的;对一个微信随机红包,不同位置上抢红包的唯一差别是抢到的随机金额的波动范围不一样,先抢红包的人,抢到平均金额的可能性比较高,后抢的人,要么抢到较小的随机金额,要么抢到较大的随机金额。