基于目标的代理和基于效用的代理有什么区别?请提供一个真实的例子。
基于目标的代理和基于效用的代理有什么区别?
效用是人工智能的基础,因为它是我们评估代理与问题相关的表现的手段。为了区分经济效用和基于效用的计算功能的概念,使用了术语“性能度量”。
区分基于目标的代理和基于效用的代理的最简单方法是明确定义目标,其中效用最大化是通用的。 (最大化效用本身就是一种目标形式,但一般化而不是具体化。)
在上面的例子中,效用代理也是基于目标的,但是目标代理的性能度量是二进制[成功/失败],效用代理可以使用实数并按程度衡量性能。实用程序代理允许更精细的评估。
对于基于非目标的效用代理的示例,请考虑一种党派数独形式,其中玩家通过放置加权整数来竞争控制游戏板上的区域。
在有 9 个区域的游戏中,基于目标的代理试图在游戏结束时控制特定数量的区域。如果代理是保守的,目标可能是 5 个区域。如果代理具有超强攻击性,则目标可能是 9 个区域。在评估环境(游戏板)时,如果代理控制了所需数量的区域,它可以选择巩固(强化);如果代理没有控制所需数量的区域,它可以选择扩展(攻击)。
上述策略可以是有效的,但受限于目标的特殊性。一个极具侵略性的目标在对抗弱对手时会很有效,但对抗强对手则可能是灾难性的。如果代理很复杂,性能一直很差,它可能会通过切换到“海龟策略”来改变目标并寻求控制更少的区域,但是,由于新目标仍然是具体的,代理可能会错过改进它的机会超出调整目标的最终状态。
基于效用的代理可以在没有特定目标的情况下接近游戏,而不仅仅是提高它的状态。效用代理不是试图控制一定数量的区域,而是评估给定的选择是改善还是恶化了它的状态。(“如果我占据这个位置,我会控制更多或更少的区域吗?”)效用代理可以区分有益选择的集合(“哪个选择使我的预期收益最大化?”),并且在无法获得收益的情况下,区分一组缺点最小的选择(“在一组糟糕的选择中,哪个是最不糟糕的选择?”)
在这个例子中,效用代理甚至不需要了解胜利条件(在比赛结束时控制的区域比对手多)。相反,效用代理只是寻求最大化控制区域的数量。比赛过程中,如果代理人比对手做出更多的最佳选择,这将导致胜利。
基于目标的代理和基于效用的代理有什么区别?
基于目标的代理和基于效用的代理都有目标。然而,有目标并不够有效(或高效),因为基于目标的代理可能有几个可以导致目标的动作,但并非所有这些动作都同样有效。因此,需要一个代理来执行最有效的操作。这是由基于实用程序的代理完成的。
也就是说,对于表现出效用函数的代理,它会在每个动作被采取或有效执行之后映射每个状态。
例子
考虑两架无人机和, 在哪里是基于目标和基于实用程序的代理。(两架无人机都有机载电脑芯片,所以不需要地面控制)。这些无人机被派去执行任务,并且有一个目标。两架无人机都检测到给定的目标,但不知道其可用的操作中哪个更有效或更有效。然而,,根据其效用函数,可以选择最有效或最有效的行动。
进一步阅读
第 2.4.4 节。和《人工智能:现代方法》(第 3 版)一书的 2.4.5提供了更多信息。