选择具有不同概率的随机事件

时间:2015-12-28 22:51:56

标签: c++ events probability

我需要帮助创建一个通用函数或伪代码,从所有具有不同概率的组事件中选择单个事件。 实施例

  • 事件1 = 45%
  • 事件2 = 15%
  • 事件3 = 50%
  • 事件4 = 35%
  • 事件5 = 50%

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是对范围进行求和和归一化(例如,值的总和为195,您的第一个事件将获得范围[0,45 / 195 = 0.23 [,第二个[0.23, 0.23 + 0.076 = 0.31],等等,然后从[0,1 [并查看它属于什么范围]中提取一个数字。