Game AI Pro

效用理论导论

Posted by LudoArt on June 14, 2021

效用理论导论

  • 基于效用系统的基本思想是,对所有可能的行为进行一次评分,并从中选取得分最高的行为。
  • 效用理论的核心思想是,任何一个可能的行为,或者既定模型中任何一个状态,都可以用一个统一的价值来描述。这个价值,通常被称为效用,描述该行为在特定上下文中的有用程度。
  • 效用不等同于价值。价值是一种客观可度量的量化数据。效用描述的则是我们对一件事物的渴望程度。
  • 效用得分一致性。人们通常对效用得分进行比较并据此做出最终决定,它们的数值比例必须在整个系统中保持一致。可以采用归一化分数或者平均值等方式。

最大期望效用原则

一种最常用的技术是将每种可能结果的发生概率同它的效用得分相乘,然后将这些加权评分进行累加。这将会得到一个行为的期望效用,其数学表达式如下(1)所示: \(EU = \sum_{i=1}^{n}D_iP_i\) 在该等式中,D代表对该结果的渴望程度(即效用),P为该结果可能发生的概率。该项概率值已经被归一化。这一方法被称为最大期望效用原则

行为选择

当计算完每个行为的效用用,下一步便是从中选择合适的行为。

行为选择的方式有很多,如:

  • 选取得分最高的选项;
  • 将效用得分用作权重,然后在行为中进行基于权重的随机选择;
  • 结合以上两种方法的优点,现在所有行为中选取一组高分行为子集,然后再在子集中进行加权随机;
  • 分桶(双重效用AI):所有行为都按种类被划分进不同的桶中,每个桶又进而被赋予一个权重,具有高优先级的桶总是最先被处理。桶的优先级还可以根据情况动态改变;

惯性

惯性:如果你的AI角色在游戏的每一帧都要做某种决策,那么它很有可能会受到行为波动问题的困扰,尤其是当存在两个效用得分较接近的行为选项时。

解决方案有如下几种:

  • 对角色当前正在执行的行为增加额外的权重;
  • 使用冷却机制,当AI角色做出一项决定后,他们就进入一种冷却阶段,其中”保持当前执行行为“享有极高的权重。这一权重可以在冷却期结束时取消,或者随冷却期流逝而逐渐减小;
  • 索性停止决策——或者暂停一段固定的时间,或者直到当前行为执行完成;