4

我目前正在阅读 Wiley 和 Woolridge 的Multi Agent Systems 简介,我希望是否有人可以向我澄清以下内容。在谈到效用函数时,作者指出:

效用是表示状态“好”程度的数值:效用越高越好。

代理的任务是产生最大化效用的状态——我们没有向代理指定如何完成。在这种方法中,任务规范将只是一个函数

u:E -> R 

它将实际值与每个环境状态相关联。

给定这样的性能度量,我们可以通过几种不同的方式定义代理在某些特定环境中的整体效用。一种(悲观的)方法是将代理的效用定义为代理可能遇到的最坏状态的效用;另一种可能是将整体效用定义为遇到的所有状态的平均效用。没有对错之分:衡量标准取决于您希望代理执行的任务类型。

这种方法的主要缺点是它将公用事业分配给当地的州;在将公用事业分配给各个州时,很难具体说明长期观点。

我在理解劣势以及当地国家到底是什么方面遇到了问题。有人可以澄清一下吗?

4

1 回答 1

15

我将在这里向您展示一个示例来解释这个想法。希望能帮助到你。有关详细信息,请参阅幻灯片

问题:

这是一个经典的问题,称为Tile World.

  • 二维网格世界,其中我们有一个代理、瓷砖、障碍物和洞。
  • 代理可以在四个方向(上、下、左、右)移动,如果它位于瓷砖旁边,它可以将其推向适当的方向。
  • 孔必须由代理填充瓷砖。
  • 目的是用瓷砖填充所有孔。

在此处输入图像描述

环境状态

可以使用以下变量来描述环境的状态:

  • 代理当前位置(a_x, a_y)
  • 四个瓦片的当前位置(t1_x, t1_y), (t2_x, t2_y), (t3_x, t3_y),(t4_x, t4_y)

状态转移

假设在当前状态下,如果代理将其下方的图块向下推,则系统状态转移到下一个状态,在该状态下,除了代理的当前位置和被推动的图块的位置之外,每个变量都保持不变。

实用功能

我们的效用函数可以定义为被填充的孔的百分比,即

            # of holes filled
   u =  -------------------------
            # of total holes 

很明显:

  • 如果代理填补了所有漏洞,效用 = 1
  • 如果代理填充零个孔,效用 = 0

关联效用函数

现在看看下面的两种状态。

在此处输入图像描述 在此处输入图像描述

很容易看出:

  • 两种状态具有相同的效用值,即1/3(因为填充了 3 个孔中的 1 个)
  • 左侧(状态s1)是死角,您无法将所有瓷砖移入孔中
  • 右侧(状态s2)是一个很好的位置,您可以选择将剩余的两个瓷砖移动到孔中。

所以结论是:

  • 如果您只将效用函数与本地状态相关联,例如u(s1)u(s2),您实际上无法区分效用方面的差异。u(s1)=u(s2)=1/3.

  • 您需要对可以用run表示的状态的全局或长期视图,这是一系列交错的环境状态和代理采取的操作。

  • 您可以不将实用程序分配给单个状态,而是分配给运行。这种方法具有固有的长远眼光

    u: 运行 -> 实际值

  • 在此设置中,代理的最佳策略是最大化预期效用,这并不意味着它会是最好的,但平均而言我们可以期望它做得最好。

    预期效用 = ( u(r) x Prob(r) ) 的总和

请参阅您提到的书或相应的幻灯片以获取更多详细信息。

于 2013-01-16T20:02:27.053 回答