[英]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) 单元格的计算:
使用来自上、下、左和右单元格的值,以及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.