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