为什么我需要一个初始的任意策略来实现值迭代算法
在我看来,您将参数a和b视为在环境中移动的代理的特征(因此确定最终策略),但它们实际上是环境的特征。
想象一个结冰的湖。你想经过湖,但在你面前五米处有个洞。假设你有一双橡胶底的靴子,所以走路时没有滑倒的风险(即所有转换概率=1)。最优策略是什么?简单地向前移动直到洞,绕过它然后再次向前。但是如果你穿的是木屐呢?现在,如果您向前走,则有可能无法在您想停下来时停下来(即,当您决定向前迈出一步时,您可能会失败并继续前进几步,概率为)。在向左或向右移动之前,您会等待多少步才能避免掉入洞中?在第二种情况下,最优策略显然不同。考虑一下,我不会详细回答参数如何影响最终策略,因为堆栈交换不是为了家庭作业。
此外,任意策略是必要的,因为在值迭代中您首先更新值,并且只有当它们收敛时,您才能从中推断出最佳策略。因此,您需要对环境有一些任意的先验信念才能开始更新值。
编辑
因此,这里快速显示了不同转换概率(分配中的参数a和b)对最优策略的影响。我使用了不同的网格来使其更容易和更明确(即,您甚至不需要计算值来查看最佳策略)。
如下图所示,第三列中有一些终止状态,还有一个目标状态,在它之上提供了巨大的奖励。从底部的起点我们要达到目标状态。
我们有两种情况:
非随机环境
在左边,我们有所有转移概率都是 1 的情况。在这种情况下,最优策略只是简单地前进到第二行,即目标状态所在的位置,然后向右或向左移动以达到它。终端状态一点也不可怕,在这种情况下,我们可以将它们视为我们无法跨越的墙,但最优策略不会反映任何跌入其中的风险。这正是因为转移概率都是 1。
随机环境
在右边,我们有不同的情况。在这种情况下,只有 3 个动作的转移概率为 1:向南、向东或向西。nord 的转移概率是 0.2,这意味着 80% 的时间我们会滑倒并转而向东走(我在图片中写对了,意思是向东,我的错)。这种简单的环境变化会产生什么影响?
这次第二列变得非常危险,因为如果我们尝试去nord并且失败了,我们将结束于一个终端状态。另一方面,如果我们选择另一个动作,我们将以合法状态结束,没有任何风险,因为其他转换概率为 1!因此,代理了解到,在网格的左侧,最好的策略是从右侧向下并绕过终端状态,因为只有在第四列,我们才能毫无风险地向北移动,事实上,即使我们尝试在这些单元格中向北走失败,我们只会撞到一堵墙,我们可以在下一个转弯处再次向北走,直到我们最终成功。
希望这是有道理的!


