智能手机红包接力玩法:结果惊人,你是闷声赚大钱还是错过几个亿?

2024-08-05
来源:网络整理

如果你有一部智能手机,如果你在上面安装了一些软件,那么今年的春节你可能会在这样的场景中度过:

这也引发了不少网友的感慨:

最近几天,一个叫“红包接力”的游戏在不少群里流行起来。大致规则是:群里一个人先发红包,然后大家开始争抢,发红包金额最大的人继续发新一轮红包,然后循环往复。

说到这儿,你可能会问,如果继续这样玩下去,结果会怎样?我们会悄悄赚到大钱,还是错失数十亿?我们会最终实现“共同富裕”,还是沦为“寡头垄断”?要回答这些问题,我们不妨用统计模拟的方法,做一些随机实验。结果可能会让你大吃一惊。

红包初级模型-切面方法

要进行模拟实验,我们需要设置红包发放机制。但由于微信红包算法并不公开,我们必须从观察到的现象出发,“逆向”一个模型,让它尽可能与观察到的结果一致。其实,这就是科学方法的本质:我们可能永远不知道宇宙的“源代码”,但我们可以为宇宙建立一个足够好的模型。

微信红包是逐个抢的,所以很容易给人一种印象,红包里有一堆钱,第一个人闭着眼睛抢一把,第二个人再抢一把,以此类推。但如果真的这样,后面的人总体上会吃亏。这既不公平,也不符合现实生活的观察。

因此,更合理的做法是一开始就把所有的钱分成几个袋子,每个人抓一个。每个袋子大小相等,里面的钱数预计是总金额的几分之一。满足这个要求的方法肯定不止一种,但我们首先考虑最直观的方法——切面条。

如果你有一根面条,想把它随机分成 5 份,怎么分呢?闭上眼睛剁 4 下就行。用数学术语来说,就是在一条线段上随机扔 4 个点,把线段分成 5 段。

现在你需要把红包分成5份,很简单,把刚刚切好的面拿出来,按照每根面的长度,在红包里放入相应的钱。

(当然,面条是连续的,而红包是离散的——每个红包里的钱数额都是1分钱的整数倍。但当钱很多的时候,这点差别就微不足道了。如果有人发的红包全是1分钱,那最好暂停讨论,把他踢出群。)

以下以面条法分红包为例,总金额1元,分成5份:

0.,0.,0.,0.,0.

这难道不是巨大的贫富差距吗?如果红包总额是100,那么拿红包最多的人能拿到35.86元,而拿红包最少的人只能拿到2.67元。第一个人拿到了三分之一多的钱,最后一个人拿到的钱还不到三十分之一?其实,这根本不算极端。对于这种划分方法,我们可以用数学证明,当1元钱(或一根长度为1的面条)分成n份时,

第 k 个最大值预计为 1/n*(1/n+1/(n-1)+1/(n-2)+…+1/k)。(证明留作练习(已开始))

因此,最大值的期望为1/n*(1/n+1/(n-1)+1/(n-2)+…+1),

最小值的期望是 1/n^2。

也就是说,当n=5的时候,平均下来,五个人应该分到的红包大小分别是:0.……,0.……,0.……,0.09,0.04。果然富人都在大吃大喝,穷人却在街头冻死。

嗯,虽然这可能和很多人的印象一致,但毕竟太大了,能不能加个调节杆,让红包之间的差距再小一点?

红包进阶模型——狄利克雷分布

让我们回顾一下面条切割模型的要点。

1、每次可以生成n个随机数,且和为1,所以每个数字乘以红包总金额就是每个人获得的钱数;

2 每个随机数的期望应该相等,即n分之一,才能保证每个人都有均等的抢红包的机会;

现在让我们添加第三个项目:

3 有一个参数可以用来调节红包的“公平性”。这里的公平不是指机会均等,而是指每次发红包时大家实际收到的钱数是否差不多,也就是金额分布的波动性是大还是小。比如一个100元的红包发给10个人,如果每个人给10元左右,我们就认为这种分配比较公平;如果最低只有0.8元,最高是20元,那显然是不公平的(很遗憾,笔者遇到过好几次这种情况……)。

幸运的是,在众多的随机变量分布中,有一种“狄利克雷分布”非常适合上述情况。狄利克雷分布本身有n个参数,但为了满足条件2,我们可以只用一个参数α来确定它的具体形式。α越大,每个人拿到的金额比例就越趋向平均,反之,波动性就越大。

微信红包如何修改金额_红包金额微信修改怎么弄_修改微信红包金额

更加幸运的是,我们一开始提出的切线带分割法,恰恰是狄利克雷分布在α=1时的最简单的状态。

(如果想更深入地了解狄利克雷分布,可以参考本文以及狄利克雷分布的维基页面。)

刚才切面条的结果,也就是α=1时狄利克雷分布生成的随机数

0.,0.,0.,0.,0.

以下是α=10时的一组随机数

0.,0.,0.,0.,0.

可以看出,当α=1时,金额分布的变异性很大,而当α=10时,金额分布就比较均匀。

模拟接力赛,开始

有了这个假设的红包发放机制,我们就可以模拟红包接力赛了。首先假设我们有一个50人的群,每个人初始可用金额50元(这个是故意调低的,以制造“破产”现象,有钱人请无视这个设定)。按照规则,每个红包总金额20元,分给10个人。抢到红包金额最大的人,将发出下一轮红包。如果有人在发出红包后余额变成负数,那么他/她就不能再继续抢红包了(请原谅这个疯狂的设定……),因为他/她已经没有能力发出下一轮红包了,但是他的余额现在为负数是允许的。

在我们的模拟中,我们还是针对实际情况做了很多简化,比如假设抢到红包的人是均匀分布在参与游戏的人当中(不包括负资产的人)。现实中每个人可能都会根据自己余额的多少来决定是否继续参与,但我们在这里忽略了这种可能性。

我们设定α=2,让红包转发100次,最后每个人的余额如下:

31.24 82.69 18.07 44.56 62.87 33.40 47.00 45.55 77.11 70.44

54.28 26.98 54.74 80.30 28.32 43.98 48.80 82.69 82.94 -11.00

34.30 80.64 60.68 47.34 40.13 52.55 23.39 62.67 92.20 72.43

41.55 40.12 50.51 81.30 51.17 43.36 34.93 64.38 42.70 -8.90

9.10 78.61 46.35 64.18 61.90 13.61 50.01 68.51 41.21 54.14

可以看到,两个朋友不幸破产了,而最后资产最多的那个人有92.20元,几乎翻了一番。一个明显的事实是,破产的玩家都中了太多的“大奖”,导致支出大于收入。相反,最后拿到92.20元的玩家却是一位“默默富有”的玩家,据统计,他中了第一名0次,第二名3次,第三名2次,第四名2次,第五名4次,以此类推。

下面我们来看看每个人的钱是如何变化的:

当然,在概率面前人人平等,谁也无法预测自己拿到的红包是最大还是最小,所以从对称性的角度看,个体选择的结果完全是随机的。但从整个群体来看,有一个指标在悄悄变化,那就是这个群体的“贫富差距”。

平均还是主导?用基尼系数来判断

我们注意到,游戏开始时,每个人的钱数都一样(50元),但经过100次接力后,大家有喜有悲,贫富差距越来越大。那么我们自然而然地有两个问题:1.如何量化这种贫富差距?2.随着游戏的进行,贫富差距会如何变化?

对于第一个问题,我们可以借用经济学中的一个概念来回答,那就是所谓的“基尼系数”。基尼系数通常用来衡量一个国家居民收入的公平性,其值在0到1之间,值越大,贫富差距越大,也就是少数人控制了这个经济体的大部分收入。基尼系数的计算公式可以在其wiki页面上找到。对于之前的模拟游戏结果,计算出的基尼系数为0.2551。

这个结果的绝对值可能意义不大,所以我们在每一轮接力赛结束后,计算了当时该组的基尼系数,并观察其变化情况,结果如下:

这里我们把接力赛的次数扩大到 500 次,可以看出随着接力赛的进行,基尼系数总体趋势是增大的,也就是说随着游戏的进行,贫富差距会越来越大。这个其实也很好理解:总会有人因为赢得太多一等奖而破产,所以财富会分给越来越少的人,因此贫富差距也会随之扩大。

红包越“公平”,贫富差距越大

前面提到,我们的模型中有一个参数α,控制着红包金额分配的“公平性”(或者更准确的说是“平均”的程度,因为从机会上来说,每个人拿到红包的几率是相同的,但是从每次实际拿到的金额上来说,α越大,分布越趋向于平均,也就是结果的波动性越小)。下图是一组随机模拟实验的结果,我们模拟了20个红包接力游戏,其中10个取α=2,另外10个取α=20,每个游戏红包被接力500次。

可以看出,虽然红线与蓝线有重合,但总体来说蓝线要大于红线。换言之,红包金额越“公平”,贫富差距就会越大。

这个结论看似违反直觉,其实是有道理的:如果红包发放绝对公平,那么第一名得2元,下一轮就得20元,总损失就是18元;如果红包金额波动较大,有些人拿到的红包会少于2元,第一名得的红包会多一些,破产的可能性就小一些。所以,一条规则是否真正“公平”,不能单凭外表来判断。

分享