1、简介

1.1、动态规划

动态规划的性质:最优子结构;无后向性

动态规划假定MDP所有信息已知,解决的是planning问题,不是RL问题

1.2、两类问题

预测问题:给定策略,给出MDP/MRP和策略,计算策略值函数

控制问题:不给策略,给出MDP/MRP,得出最优策略值函数

 

2、策略评估

通过贝尔曼方程,进行值函数迭代,就完成了策略评估

通过GridWorld的例子说明:值函数对于策略选择很有用;在策略评估中,随机策略迭代很多轮才得到最优策略;

在基于值函数的贪心策略中,贪心选择了三次就得到了最优策略

这个问题同时说明,寻找最优策略,不一定需要等到值函数收敛的时候,可能中途就已经是最优策略了

 

3、策略迭代

3.1、步骤

1)策略评估

2)通过贪心改善策略

理论上说,收敛速率和初始状态无关;实践上说,但是收敛时间的确和初始状态有关,所以初始状态选择很重要

 

4、值迭代

来源:把MDP过程分解,每个状态下的最优策略都可以分解为,从这个状态出发,采用这个策略的到达的新状态的最优策略之和(好绕,哈哈哈哈)

值迭代的中间过程,并不直接对应于某个策略;不需要策略评估,直接从贝尔曼最优方程迭代即可

 

5、DP

迭代更新的时候,值函数不需要批量更新,逐个更新就可以

三种更新方式:

1、In-place update:逐个更新

2、优先更新:根据差值设置更新顺序,按差值从大到小排序

3、Real-time update:找那些agent真正访问过的状态更新

DP只能处理中等规模问题,也就是数量级为百万的问题;对于大型问题,backup代价很大,需要sample

 

6、Contraction Mapping

 

如果发现文中有问题,敬请联系作者批评指正,真诚欢迎您的指教,谢谢!

微信: legelsr0808

邮箱: legelsr0808@163.com