关于抽奖的一点小想法

之前公司说要开发一个抽奖小程序。因为之前也是没有去接触过,查了很多资料,也跟朋友讨论了很久,得出了一点小结论,在这里稍微记一下。

项目要求的是,指定参与抽奖的时长,如一天,一个月,指定奖品数量,公平地发放奖品。

也就是两个点,奖品要发完还要公平。

因为抽奖的参与人数是不确定的,如果要公平,概率稳定的话很难确保奖品能够完全发放完毕;如果要确定发放完毕,公平是完全无法保证的。

所以就只能舍弃其一。

如果不论是否发放完毕,那么公平送出奖品是最简单的。但是,如果参与人数过多很容易导致奖品超出预算。

放弃公平,在奖品指定数量的情况下尽量公平。

我们总结出来是四种方法。

1、将抽奖的人数假设为100,奖品根据数量来划分区间。在抽奖过程中要记录剩余奖品数量。当一个人参与抽奖并且抽中的数字在中奖区间时,如果奖品已经发放完毕,那么就是没有中奖,如果没完,那么中奖。整个过程间100的人数不变。

这会导致先来的人概率高,后来的概率较低

2、抽奖总时长和奖品数量是确定的,可以根据这两个参数均匀分配奖品。把每个比较小的时间段作为一个周期来进行抽奖。如果上一个抽奖周期内奖品不够或者没有把奖品送完,那么下一个周期就根据上一个周期进行概率调整,对应的降低或者提高。

相对而言本方法会较为复杂,但是相对更加公平。

3、参考美团的红包,指定第几个参与抽奖的人能够中奖。比如4个奖品,第25 50 75 100个人能够中奖(四个数字随机生成)。不公开是第几个人,抽奖时直接在后台查询后判断就可以了。

4、类似第三个,指定具体到某个时间点,在该时间点内比如秒或者更精细,统计该时间段的总体人数,选择一个人中奖。

这种会比第三种更加具有随机性

个人感想:以前学的概率学还是有用的,同时,知识都是理想状态的。

发布了14 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_37370501/article/details/82856888