我正在尝试为' 3x4多风网格世界实现价值迭代。 MDP和我在理解Bellman方程及其实现方面遇到了麻烦。
我正在使用的贝尔曼方程式是
假设这是我正在使用的网格字,我想找到标记为X的图块的值(U(s)
)。
(来自this视频的图片快照)
所有牌块的奖励都期望终端牌被定义为零,并且还假设如果试图在特定方向上进行移动,则实际移动的可能性很小。与预期移动成直角。 (如果你试图从x向下移动,你将以概率0.8向下移动但是向左或向右移动的概率为0.1)
现在,当您尝试解开位置x的贝尔曼方程时,有三个邻居(U(s')
)用于操作' UP'。原始位置本身(因为它不能向上移动)的概率为0.8,其右侧的+1状态的概率为0.1,并且该区块的概率为0.1。这些形成s'
个州。
因此,找到状态X的值的函数将递归调用所有状态s'
' s。其中的+1状态不是问题,因为它是终端区块并且将构成基本情况。但其中一个状态是原始状态X本身,我不理解该情况将如何在递归调用中终止。第三个瓷砖也有同样的问题;它会在所有打电话给它的邻居之后终止等等吗?
答案 0 :(得分:2)
值迭代不会自行终止;只要你有γ 在实践中,只要折扣条款(在每个递归级别用γ表示)变得如此之小以至于继续计算下一个zeros
对您已经累积的值没有影响,您就可以终止。