波动的抽奖算法

浏览:708 发布日期:2017/04/25 分类:求助交流 关键字: 中奖算法 抽奖
10%
100件奖品

问题:中奖概率10%,奖品件数100件,现在100件奖品全部被抽完了,问大约进行了多少次抽奖?
大约应该有1000次抽奖,奖品会被全部抽完。
--------------------------------------------------------------------------------------------------------
简单的算法,简单的每次进行10%的概率运算,每次抽奖中了就中,每中就拉倒,下次依然以10%的概率进行中奖运算
a. 1个人小花过来抽奖1次,中奖概率10%
b1. 她抽中了,奖品就少了1,抽奖次数减少了1次; b2. 她没抽中,奖品不减少,次数减少了1次
c. 又来了一个人小明抽奖1次
d1. 小花如果中了,小明的本次抽奖中奖概率是:10%; d2. 小花如果没抽中,小明的本次中奖概率依然是:10%
e
.
.
.
g
--------------------------------------------------------------------------------------------------------


这样可能会导致,进行了1000次抽奖,结果1个人没有中奖;或者进行了100次抽奖,结果100人都中。
这都是有可能的,虽然概率低的很,但这会导致抽奖总的抽奖次数可能波动比较大,不能很好的接近1000次。

--------------------------------------------------------------------------------------------------------
实际执行过程中,为了让总的抽奖次数更好的接近1000次,每次抽奖完成后,我们可以对抽奖概率微调。
a. 1个人小花过来抽奖1次,中奖概率10%
b1. 她抽中了,奖品就少了1,抽奖次数减少了1次; b2. 她没抽中,奖品不减少,次数减少了1次
c. 又来了一个人小明抽奖1次
d1. 小花如果中了,小明的本次抽奖中奖概率应该是:99/999; d2. 小花如果没抽中,小明的本次中奖概率应该是:100/999
e
.
.
.
g
-------------------------------------------------------------------------------------------------------

如果你有更好的算法,欢迎提供。
最佳答案
评论( 相关
后面还有条评论,点击查看>>