萨顿的RL书中的网格世界:如何计算角细胞的值函数?



参考Sutton和Barto的RL书籍,第2版,第3章,第60页。

以下是5x5网格世界和每个状态的值:具有状态值的网格世界

使用Bellman Backup方程,可以计算每个状态的值:

以下是中间(3,3(单元格的计算:

状态值的计算

使用来自上、下、左和右单元格的值,以及带有pi = 1/4的随机策略以及所有转移概率CCD_ 2,计算成立。

但是角落的单元格呢

比如说,左上角3.3。如何计算?

仅使用较低(1.5(和右侧(8.8(的值是无效的。此外,必须考虑的是,当代理执行上部和左侧动作时,它仍在网格上,但会获得-1的奖励。

你能帮我计算一下角落单元格的数值吗?阅读github实现也于事无补。

左上角的值为(0.9*(8.8+1.5(+(-1+0.9*3.3(*2(/4,大约等于3.3025。

1:0.9*(8.8+1.5(,因为gamma 0.9,如果代理未脱离网格且未从特殊状态A或B转换,则r=0,并且对于向左和向下移动,v(s’(分别为8.8和1.5。

2:(-1+0.9*3.3(*2,因为如果代理离开网格(也称为向左或向上移动(,r=-1,0.9,因为这是gamma,3.3,因为如果它离开网格,作为代理的v(s’(=v(s(将保持在其先前的状态。时间2,因为代理有两种可能(向左/向上移动(离开网格。

3:div第1部分和第2部分的总和乘以1/4,因为所有操作的pi(a|s(=1/4。

最新更新