繁体   English   中英

Sutton 的 RL 书中的 Gridworld:如何计算角单元格的值 function?

[英]Gridworld from Sutton's RL book: how to calculate value function for corner cells?

参考 Sutton 和 Barto 的 RL 书,第 2 版,Ch-3,pg-60。

这是 5x5 网格世界和每个 state 的值: gridoworld with state values

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

这是中间 (3,3) 单元格的计算:

计算 state 值

使用来自上、下、左和右单元格的值,以及pi = 1/4和所有转移概率p(s',r|s,a) = 1的随机策略,计算成立。

但是角细胞呢?

比如,左上角的 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, r = 0 如果 agent 没有离开网格并且没有从特殊状态 A 或 B 转换,并且 v(s') 分别为 8.8 和 1.5 用于向左和向下移动。

2:(-1+0.9*3.3)*2 因为 r = -1 如果代理离开网格(也就是向左或向上移动),0.9 因为那是 gamma,3.3 因为 v(s') = v(s) 因为代理仍然存在在其之前的 state 中,如果它离开网格。 时间 2 因为有 2 种可能性(左/上移动)让代理离开网格。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM