【发布时间】:2016-05-02 14:19:40
【问题描述】:
我目前正面临有趣的算法问题,我正在寻找想法或可能的解决方案。主题似乎很常见,所以它可能已经知道并已解决,但我找不到它。
所以让我们假设我正在经营商店并且
我正在为购买客户制作lottery。每次他们买东西都可以赢得奖品。
- 客户购买后立即获得奖品。
- 我有
X prizes和 - 我将为
Y days抽奖 - 付费客户(购买行为、交易行为)应该有
equal chance to win奖品 - 奖品应分发到最后一天(最后一天应该有一些奖品要分发)
- 最后不能有
left奖品 - 我确实没有拥有每天交易的历史数据(没有抽奖前的数据)来估计平均交易数量(但抽奖可能会改变交易数量)
- 我可以在彩票运行时收集数据
这是无法解决的,最接近的解决方案是什么? 即时奖品分配必须保留。
【问题讨论】:
-
那么您需要做的就是假装您只有 X-1 个奖品(或 X-k 个奖品,如果您想在最后一天保留 k 个奖品)和 Y-1 天。这将在最后一天留下 1(或 k)个奖品。
-
@j_random_hacker 如果我理解正确水库采样我不能在交易后立即授予奖励
-
没有什么可以保证您不会得到很多奖品(如果在抽奖的最后几天没有人进入您的商店)或者在最后一刻进入商店的人仍然存在有机会(在某个时候有人会赢得最后一个奖品,但在那之后人们仍然可以进入商店。)
-
@KrzysztofBogdan:您说得对,使用水库采样意味着您也将奖品远离人!但我认为 m69 的评论是正确的:我认为没有办法在不出现矛盾的情况下处理所有可能的情况。
-
因为任何彩票都是一种机会游戏,所以您无法一直到最后一天做出任何明确的预测,尤其是当您有未知数量的人进来时。他们在期间的分布兴趣。你只能近似,但永远不能确定。
标签: algorithm random probability