【RL】Bellman Equation 贝尔曼方程(动态规划)

参考:蘑菇书-《EasyRL》
本文只是为了方便自己今后的查阅对原文做出的一些概括。

马尔可夫奖励过程MRP

马尔可夫奖励过程是马尔可夫链加上奖励函数,奖励函数R是一个期望,表示到达某一个状态时可以获得多大的奖励。如果状态数是有限的,那么 R 可以是一个向量。
在这里插入图片描述
其中定义了几个概念:
1.范围h(horizon):指一个回合的长度;
2.折扣回报Gt(discounted return):指把奖励r进行折扣逐步叠加后所获得的奖励。
> Gt = rt+1 + γrt+2 + γ2rt+3 + γ3rt+4 + . . . + γT −t−1rT
3.状态价值函数Vt(state-value function):对于马尔可夫奖励过程,状态价值函数被定义成回报的期望,即从这个状态开始,我们可能获得多大的价值。
在这里插入图片描述

方程

贝尔曼方程表示了当前状态与未来状态的迭代关系,也称为动态规划方程,对于上式,等价于如下公式:
在这里插入图片描述
参数解释:
s′:未来的所有状态;
s:当前状态;
R(s):当前状态所获得的奖励;
γ:折扣因子,用来折扣未来的奖励;
V(s′):未来某一状态的价值;
p:从当前状态到未来某一状态的概率。

解法

可以把贝尔曼方程写成矩阵的形式,通过矩阵运算求解,但状态很多的话很难求解,只适用于很小量的马尔可夫奖励过程(MRP)。
对于状态很多的马尔可夫奖励过程,使用迭代的方法,例如:
动态规划方法,蒙特卡洛方法,时序差分学习方法

  1. 蒙特卡洛法
    蒙特卡洛法使用采样的思想,从某个状态开始,采样一定量的轨迹,每段轨迹都会得到一个奖励,折扣后得到回报g,将回报积累起来,得到总的回报Gt,除以轨迹数量得到平均值,即为该状态的价值。
    在这里插入图片描述
    2.动态规划法
    通过自举的方法不停迭代贝尔曼方程,当最后更新的状态与我们上一个状态的区别并不大的时候,更新就可以停止,输出最新的 V ′(s) 作为它当前的状态的价值。动态规划的方法基于后继状态价值的估计来更新现在状态价值的估计,根据其他估算值来更新估算值的思想,我们称其为自举。
    在这里插入图片描述
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值