参考RL书由萨顿和巴托,第二版,Ch-3,pg-60。
下面是5x5网格世界和每个状态的值:具有状态值的网格世界
使用Bellman备份方程,可以计算出每个状态的值:
下面是中间(3,3)单元格的计算:
使用来自上、下、左和右单元格的值,以及带有pi = 1/4和所有转换概率p(s',r|s,a) = 1的随机策略,计算仍然有效。
,但是角落的细胞呢?
例如,3.3在左上角。怎么算?
只使用较低的(1.5)和右(8.8)的值不起作用。此外,必须考虑的是,当代理执行上和左操作时,它将保持在网格上,但会得到-1的奖励。
你能帮我计算一下角单元格值吗?阅读github实现也没有帮助。
发布于 2020-09-22 19:39:25
左上角的值是(0.9*(8.8+1.5) + (-1+0.9*3.3)*2) /4大约。等于3.3025。
1: 0.9*(8.8+1.5),因为伽马0.9,r=0,如果代理没有脱离网格,并且没有从特殊状态A或B过渡,则v(s')分别为8.8和1.5。
2:(-1+0.9*3.3)*2因为r= -1如果代理离开网格(AKA向左或向上移动),0.9因为这是伽马,3.3因为v(s') = v(s)作为代理保持在以前的状态,如果它脱离网格。次数2,因为有2种可能性(左/上移动)使代理脱离网格。
3:第1部分和第2部分的除数之和为1/4,因为pi(a\s)=所有动作的1/4。
https://stackoverflow.com/questions/64013919
复制相似问题