2

我有一个任务,我必须在网格世界(代理电影左、右、上、下)中计算最优策略(强化学习 - 马尔可夫决策过程)。

在左表中,有最优值 (V*)。在右表中,有解决方案(方向),我不知道如何通过使用“最佳策略”公式获得。Y=0.9(折扣系数)

在此处输入图像描述

这是公式:

在此处输入图像描述

因此,如果有人知道如何使用该公式来获得解决方案(那些箭头),请提供帮助。

编辑:此页面上有完整的问题描述: http : //webdocs.cs.ualberta.ca/~sutton/book/ebook/node35.html 奖励:状态 A(第 2 列,第 1 行)后面是奖励+10 并转换到状态 A',而状态 B(第 4 列,第 1 行)之后是 +5 的奖励并转换到状态 B'。您可以移动:上、下、左、右。您不能移动到网格之外或留在同一个地方。

4

1 回答 1

1

逐个分解数学:

arg max (....) 告诉您找到参数 a,它使括号中的所有内容最大化。变量 a、s 和 s' 分别是一个动作、你所处的状态和由该动作产生的状态。所以 arg max (...) 告诉你找到一个最大化该术语的动作。

你知道 gamma,有人努力计算 V*(s'),这是结果状态的值。所以你知道在那里插入什么,对吧?

那么什么是 p(s,a,s')?这就是从 s 开始做 a,你以一些 s' 结尾的概率。这是为了代表某种有故障的执行器——你说“前进!” 它愚蠢地决定向左走(或者向前走两格,或者保持静止,或者其他什么)。对于这个问题,我希望它会交给你,但你还没有与我们分享。对 s' 的求和告诉你,当你从 s 开始,并且你选择一个动作 a 时,你需要对所有可能的结果 s' 状态求和。同样,您需要 p(s,a,s') 函数的详细信息才能知道它们是什么。

最后,有 r(s,a),它是在状态 s 中执行动作 a 的奖励,无论你最终在哪里结束。在这个问题中,它可能稍微负一些,代表燃料成本。如果网格中有一系列奖励和抓取动作,则可能是积极的。你也需要那个。

那么该怎么办?选择一个状态 s,并为它计算你的策略。对于每个 s,您将有可能出现 (s,a1)、和 (s,a2) 和 (s,a3) 等。您必须找到给您最大结果的 a。当然,对于每一对 (s,a),您可能(事实上,几乎肯定会)有多个 s' 值来进行求和。

如果这听起来像是很多工作,那么这就是我们拥有计算机的原因。

PS - 仔细阅读问题描述,看看如果你撞到墙上会发生什么。

于 2012-01-30T22:57:51.820 回答