概率事件触发

来源:互联网 发布:mac 怎么恢复u盘的文件 编辑:程序博客网 时间:2024/04/30 19:46
随机概率问题:

假设概率事件有 A BCD E F ... N
概率比例为 50%20%10%50% 2% 1% ... n%

则所有概率和为 S,在于值上所有事情发生的总概率和不为 1 而是 S ,事件触发有序

所以某一件事件触发的概率为 T = rand[0,1] * S, T 从 S 中匹配一个随机值,区间匹配

所以触发的事件为有序事件中的一个。


伪代码:

事件概率数组 E[N]
概率总和 S = S(E)
概率数值 T = [0,1] * S
for(I = E第一个下标,I < N, ++I)
{
     if(T <= E[I])
          return I;//当前触发概率下标
     else
          T -= E[I];//减去排除的区域
}
0 0
原创粉丝点击