Sutton 的 RL 书中的 Gridworld:如何计算角单元的值函数?
Gridworld from Sutton's RL book: how to calculate value function for corner cells?
参考 Sutton 和 Barto 的 RL 书,第 2 版,Ch-3,pg-60。
这是 5x5 网格世界和每个状态的值:
gridoworld with state values
利用Bellman Backup方程,可以计算出每个状态的值:
中间 (3,3) 单元格的计算如下:
calculation of state value
使用上、下、左、右单元格的值,
以及 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,如果 agent 没有脱离网格并且没有从特殊状态 A 或 B 过渡,则 r = 0,并且 v(s') 为 8.8,左侧为 1.5和下行分别。
2: (-1+0.9*3.3)*2 因为 r = -1 如果 agent 离开网格(也就是向左或向上移动),0.9 因为那是 gamma,3.3 因为 v(s') = v( s) 作为智能体,如果它离开网格,它会保持在之前的状态。乘以 2 因为有 2 种可能性(left/up 移动)让代理离开网格。
3:div 第 1 部分和第 2 部分的总和乘以 1/4,因为所有操作的 pi(a|s) = 1/4。
参考 Sutton 和 Barto 的 RL 书,第 2 版,Ch-3,pg-60。
这是 5x5 网格世界和每个状态的值: gridoworld with state values
利用Bellman Backup方程,可以计算出每个状态的值:
中间 (3,3) 单元格的计算如下:
calculation of state value
使用上、下、左、右单元格的值,
以及 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,如果 agent 没有脱离网格并且没有从特殊状态 A 或 B 过渡,则 r = 0,并且 v(s') 为 8.8,左侧为 1.5和下行分别。
2: (-1+0.9*3.3)*2 因为 r = -1 如果 agent 离开网格(也就是向左或向上移动),0.9 因为那是 gamma,3.3 因为 v(s') = v( s) 作为智能体,如果它离开网格,它会保持在之前的状态。乘以 2 因为有 2 种可能性(left/up 移动)让代理离开网格。
3:div 第 1 部分和第 2 部分的总和乘以 1/4,因为所有操作的 pi(a|s) = 1/4。