首页 文章

强化学习中 Value 迭代的基本案例

提问于
浏览
1

我正在尝试为'3x4 windy gridworld'MDP实现值迭代,并且在理解Bellman方程及其实现方面遇到了麻烦 .

我正在使用的贝尔曼方程的形式就是这个

enter image description here

假设这是我正在使用的网格字,我想找到标记为X的图块的值( U(s) ) .

enter image description here

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

所有瓦片的奖励期望终端瓦片被定义为零,并且还假设如果试图在特定方向上进行移动,则实际移动将以直角发生的可能性很小 . 预期的举动 . (如果你试图从x向下移动,你将以概率0.8向下移动但是向左或向右移动的概率为0.1)

现在,当您尝试解释位置x的贝尔曼方程时,有三个邻居( U(s') )用于操作'UP' . 原始位置本身(因为它不能向上移动)的概率为0.8,其右边的1状态的概率为0.1,并且平铺留给它的概率为0.1 . 这些形成 s' 状态 .

因此,找到状态X的值的函数将递归调用所有状态 s' 's. The +1 state out of this is not a problem since it is a terminal tile and that would constitute for the base case. But one of those state is the original state X itself and I don' t,了解该情况将如何在递归调用中终止 . 第三个瓷砖也有同样的问题;它会在所有呼叫它的邻居之后终止等等吗?

1 回答

  • 2

    值迭代不会自行终止;只要你有γ<1并且奖励不是无限的,它就会渐近地收敛到正确的值 .

    实际上,只要折扣项(在每个递归级别用γ表示)变得如此之小以至于继续计算下一个 U(s') 对您已经累积的值没有影响,您就可以终止 .

相关问题