推导强化学习bellman方程(正着推)

  • Post author:
  • Post category:其他


学习了博客

https://blog.csdn.net/u013855642/article/details/105463771

,自己mark一下:

延续了sutton的符号表达:

v_\pi(s)= E_\pi[G_t|S_t = s] = E_\pi[R_{t+1} + \gamma G_{t+1}|S_t = s]

第一部分:
E_\pi [R_{t+1}|S_t = s]

E_\pi [R_{t+1}|S_t = s] = \sum_{r} r \cdot p(r|s) \\ =\sum_{r}\sum_{a} r \cdot p(r,a|s) = \sum_{r}\sum_{a} r \cdot p(r|s,a) \cdot p(a|s)\\ = \sum_{a} p(a|s) \sum_{r}r \cdot p(r|s,a)\\ =\sum_{a} p(a|s) \sum_{r} \sum_{s'}r \cdot p(r,s'|s,a)

tip:
s'=S_{t+1}

第二部分:
E_\pi(\gamma G_{t+1}|S_t=s)

E_\pi(\gamma G_{t+1}|S_t=s) = E_\pi(\gamma G_{t+1}|S_{t+1}=s')=v_\pi(s')

这个地方理解了好久,个人理解这里表达的意思是基于前一个时刻的下一个时刻的期望与基于下一个时刻是相同的。推导不太清楚,但是可以理解,举例:
{s_0, s_1, s_2, s_3, s_4}
每个状态你吃一个馒头,等你到
s_4
的时候你吃了5个馒头(回报),期望是吃饱了,那么问你如果在
s_3
状态就吃了5个馒头,显然期望也是吃饱了。个人理解,可能有误,有能证明的大牛可补充解答。

根据概率公式:

\sum_{a} p(a|s) \sum_{r} \sum_{s'} p(r,s'|s,a)=1

这个概率求和没有问题。

把第一和第二部分带入
v_\pi(s)
:

=\sum_{a} p(a|s) \sum_{r} \sum_{s'}r \cdot p(r,s'|s,a)+\gamma E_\pi(G_{t+1}|S_{t+1}=s')\\ =\sum_{a} p(a|s) \sum_{r} \sum_{s'}p(r,s'|s,a)(r + \gamma E_\pi(G_{t+1}|S_{t+1}=s'))\\ = \sum_{a} p(a|s) \sum_{r} \sum_{s'}p(r,s'|s,a)(r + \gamma v_\pi(s'))\\

贝尔曼公式得证。



版权声明:本文为syxcy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。