强化学习中价值迭代的基本情形

2024-05-15 17:50:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为“3x4 windy gridworld”MDP实现值迭代,但在理解Bellman方程及其实现时遇到了困难。在

我正在研究的贝尔曼方程的形式是

enter image description here

假设这是我正在处理的网格字,我想找到标记为X的平铺的值(U(s)

enter image description here

(来自this视频的图像快照)

所有瓦片的报酬期望终端瓦片被定义为零,并且假设如果一个人试图朝特定方向移动,那么实际移动发生在与预期移动成直角的可能性很小。(如果你试图从x向下移动,你将以0.8的概率向下移动,但将以0.1的概率向左或向右移动)

现在,当你试图解开位置x的bellman方程时,有三个邻居(U(s'))对应于动作'UP'。原始位置本身(因为它不能向上移动)的概率为0.8,右边的+1状态概率为0.1,左边的平铺概率为0.1。它们形成s'状态。在

因此,一个查找状态X值的函数将递归地调用所有的状态s'。其中的+1状态不是问题,因为它是一个终端块,它将构成基本情况。但其中一个状态是原始状态X本身,我不明白这种情况如何在递归调用中终止。第三个tile也有同样的问题;它会在所有调用它的邻居之后终止吗?在


Tags: 标记终端网格状态情况概率this形式
1条回答
网友
1楼 · 发布于 2024-05-15 17:50:29

价值迭代不会自行终止;只要γ<;1和奖励不是无限的,它就会渐近收敛到正确的值。在

实际上,只要折扣项(在每个递归级别上以γ表示)变得非常小,以至于继续计算下一个U(s')将不会对您已经累积的值产生任何影响,您就可以终止。在

相关问题 更多 >