美文网首页
正态分布

正态分布

作者: 网虫子 | 来源:发表于2019-01-24 14:37 被阅读0次

    最近公司产品上线一个类似于微信抢红包功能,需要实现红包金额的随机分配算法。

    基本约束:

    • 发放红包时,每个人所能得到金额范围[1,20000],单位是分。
    • 最后一个人,获得剩余全部金额。
    • 机会均等,获得金额的多少与顺序无关。

    之前,微信上线发红包功能时,各方大神对此进行深度解读,知乎,infoQ各大网站,也有相关专家的实现方案。

    一个比较通用的方案是:二倍均值法。能保证各个人所得金额机会均等,但是delta值是相对固定的,手气最佳者也不过是二倍均值。

    我们采用的是基于均值的正态分布概率,MIN=1,MAX=20000,当前均值U,本次金额X,本次min(假如后继序列都取MAX时,本次取值),本次max(假如后继序列都取MIN时,本次取值);其中MIN和本次min,小小取较大,MAX与本次max,大大取较小,作为本次金额的上下限;最后一个获取剩余所有。

    本次取值满足[1,20000],同时保证后续取值满足[1,20000],根据数学归纳法得知,所有取值都满足[1,20000]。

    为增强反差,可以调整正态分布函数的标准差取值,使得取值的最低和最高反差较大,提供更好的趣味性。

    相关文章

      网友评论

          本文标题:正态分布

          本文链接:https://www.haomeiwen.com/subject/isiyjqtx.html