日期:2014-05-20  浏览次数:20631 次

如何得到相对合理的事件发生概率.
我在做ai设计的时候对于npc的ai有这样一种处理.

在条件1的时候   30%概率发生攻击   40%概率发生靠近   30%概率发生退后
在条件2的时候   70%概率发生攻击   10%概率发生靠近   20%概率发生退后.

现处理方式如下
int   num   =   getRand(0,10);//取,0到9之间的随机值
if(条件1)   {
    if(num   <   3)攻击
    else   if(num   <   7)靠近
    else   退后
}else

if(条件2)   {
    if(num   <   7)攻击
    else   if(num   <   8)靠近
    else   退后
}

但是实际上   这样的概率取得方式并不理想,多数情况下不能体现概率的含义,而num的值总是取得一定范围内浮动.而导致发生的事情是相对情况下是一定的.

请问有其他方式可以得到相对真是的概率么?


------解决方案--------------------
概率是一个统计概念
如果对同一个地方测试10000次
则各个事件出现的比例就比较接近于你设定的 3:4:3 或 7:1:2