Algorithm 编写抽奖算法的正确方法是什么?

Algorithm 编写抽奖算法的正确方法是什么?,algorithm,Algorithm,例如,如果我想确保每四小时有一个赢家,并且我希望每小时有125场比赛,那么在四小时结束时,提供最高赢家机会和最低无赢家机会的最佳方式是什么 游戏就像吃角子老虎机,而不是每天的数字。i、 参赛者进入游戏,如果他们赢了或输了,会立即得到通知 听起来像是家庭作业问题,我知道,但不是:) 谢谢。如果你想在每次抽奖中都获得一名优胜者,你只需从参赛者中随机挑选一名优胜者即可 如果你像彩票一样,不必每次抽奖都有中奖者,那么赔率高低取决于你的选择方案。例如,如果你每小时有125个参赛作品,而你每四小时挑选一次,

例如,如果我想确保每四小时有一个赢家,并且我希望每小时有125场比赛,那么在四小时结束时,提供最高赢家机会和最低无赢家机会的最佳方式是什么

游戏就像吃角子老虎机,而不是每天的数字。i、 参赛者进入游戏,如果他们赢了或输了,会立即得到通知

听起来像是家庭作业问题,我知道,但不是:)


谢谢。

如果你想在每次抽奖中都获得一名优胜者,你只需从参赛者中随机挑选一名优胜者即可

如果你像彩票一样,不必每次抽奖都有中奖者,那么赔率高低取决于你的选择方案。例如,如果你每小时有125个参赛作品,而你每四小时挑选一次,那就是每场比赛有500个参赛作品。如果生成一个介于1和1000之间的随机数,则有50%的几率有人会赢,1和750是有75%的几率有人会赢,依此类推。然后,您只需选择与生成的随机数对应的条目


有一百万种不同的方法来实现选择赢家,最终你只需要选择一个并始终如一地使用它。

为了保持公平,你能做的事情实在太少了(即,在四小时开始时进入的人与在结束时进入的人有相同的获胜几率)如果要强制执行此约束。一般来说,在保持合法性的同时,你能做的最好的事情就是猜测你将有多少参赛者,并相应地设定概率(如果在某一特定时期结束时没有赢家,则将其交给该时期的随机参赛者)

以下是我将如何调整您的抽奖概率(撇开这样做的法律后果不谈):

  • 对于每个时段,从
    1/(预期条目数*2)
  • 在任何时候,如果你赢了,在这段时间的剩余时间里,概率都会变为0
  • 每三十分钟,如果你仍然没有赢家,将概率设置为
    1/((预期条目数*(1-周期完成百分比))*2)
    。因此,在此,
    时段完成百分比
    是当前时段内经过的
    小时数/时段(4)内的总小时数
    。基本上,随着时间的推移,概率会逐渐增大
实际示例:预期条目数为200

  • 启动概率=
    1/400=0.0025
  • 前半小时后,我们没有赢家,因此我们重新评估概率: 概率=1/((200*(1-0.125)*2)=1/(200*2*0.875)=1/350
  • 假设在此之前没有赢家,则概率一直下降到最大值
    1/50

如果你想最大化加速度或其他什么,你可以调整这些参数。但是如果我不强调我不相信这样的抽奖是合法的,那我就是失职了。我已经为我的公司做了一些抽奖,并且对各种法律法规和一般经验规则也有点熟悉我明白,任何一位参赛者都不应该比其他参赛者拥有其他参赛者不知道的优势。我不是专家,但在进行这样的抽奖之前,请咨询您的律师。也就是说,上述解决方案将帮助您最大限度地提高得奖几率。

在此澄清,您是否期望获胜瞬间发生?或者你每四个小时画一幅画?啊,对不起。这是一个瞬间赢家的情况。我会在我的问题中澄清。