Reinforcement Learning_By David Silver笔记三: Planning by Dynamic Programming

(Solve a known MDP)
解决已知Model/环境的MDP问题,主要三个方面:
1. Iteration Policy Evaluation
2. Policy Iteration
3. Value Iteration

Policy Evaluation

当已知MDPs的状态转移矩阵时,环境模型就已知了,此时可看为planning问题

基于当前的policy计算出每个状态的value function。
Iterative Policy Evaluation,策略迭代估计
1. 问题:评估一个给定的策略
2. 解决方法:迭代,贝尔曼期望备份,v1→v2→⋯→vπ
3. 采用同步备份

Policy Iteration

1. policy evaluation 
基于当前的policy计算每个状态的value function
2. Policy Improvement 
基于当前的value function,采用贪心算法来找到当前最优秀的policy


Value Iteration

最优化原理:当且仅当任何从状态s能达到的状态s’都能在当前状态下取得最优的value时,那么状态s也能在当前的policy下获得最优的value。即vπ(s)=v∗(s)。
任何最优策略都可以被细分为两部分:
1. 最优的第一个action A∗
2. 接下来后续状态s’下的最优策略

如果已知子问题的最优解v∗(s′),则可以通过第一个Bellman Optimality Equation将v∗(s)也求出来,因此从终点向起点推导就可以推出所有的状态最优值。

v∗(s)← maxa∈ARsa+γ∑s′∈SPss′av∗(s′)

Value Iteration通过迭代的方法,通过这一步的vk(s′)更新下一步的vk+1(s),不断迭代,最终收敛到最优的v∗。

Policy Iteration和Value Iteration有什么本质区别?为什么一个叫policy iteration,一个叫value iteration呢?
1. 原因其实很好理解,policy iteration使用bellman方程来更新value,最后收敛的value 即vπ 是当前policy下的value值(所以叫做对policy进行评估),目的是为了后面的policy improvement得到新的policy。
2. 而value iteration是使用bellman 最优方程来更新value,最后收敛得到的value即v∗就是当前state状态下的最优的value值。因此,只要最后收敛,那么最优的policy也就得到的。因此这个方法是基于更新value的,所以叫value iteration。

针对MDPs要解决的2个问题,有如下解决办法:
1. 针对prediction
目标是在已知policy下得到收敛的value function,因此针对问题不断迭代计算Bellman Expectation Equation就足够了。
2. 针对control
需要同时获得最优的policy,那么在Iterative policy evaluation基础上加入一个选择policy的过程就行。此外,通过value iteration在得到最优的value function后推导出最优policy。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值