Reinforcement Learning——DP

Dynamic Programming


动态规划是用来求解MDP的方法之一,动态的含义是问题具有时间或顺序特性,规划的含义是用程序来优化程序,也就是指优化策略。动态规划算法就是两种思想的结合,它把一个复杂的问题分割成许多小的问题,在解决了这些小问题之后原本复杂的问题就随之迎刃而解。在增强学习中,它主要是利用value function来搜索最优策略,利用Bellman方程作为更新规则来计算近似的期望value function。只要我们找到了最优的value function,就不难找到最优策略。

传统的动态规划算法具有局限性,一是因为其需要运行在环境模型完全已知的条件下,二是因为其冗长的计算量,针对以上不足,下一趴将介绍相关的改进算法。

本文主要包含以下三方面的内容:Policy Evaluation,Policy Iteration,Value Iteration。



一、Condition


能用DP解决的问题需要满足以下两个特性:

1.具有最优化结构(把一个问题分解成许多子问题,由子问题的最优解可得出整个问题的最优解,即化整为零)

2.满足重叠子问题(分解成的子问题是不断重复的)

MDP满足以上两种特性,因此可以用DP来求解。



二、Policy Evaluation


简单概括就是,在已知MDP和已知策略的情况下,根据策略不断地进行状态的转移,一直向前走(move on),然后计算这条路上能得到的奖励大小,这就是策略评估。计算value function时,需要用到上一篇博文中介绍的Bellman期望方程。

                     

V1,V2,V3,V4,……,Vπ 是一串由任意初始状态V1(一般可取0)开始的序列,利用Bellman期望方程进行迭代计算,可以由V1得V2,由V2得V3,以此类推直到得到最终的Vπ值。这是一个同步备份的过程(课本中称之为full backup),也就是说每当进行一次迭代,就对序列中每个状态进行一次重新评估。而且当k→∞时,Vk将收敛至Vπ。


■ Example——gridworld


这是一个方格游戏,大小为4×4,角落里的两个阴影方格是终止状态。在每一个方格S={1,2,3,……,14},可以采取四种行动,分别是A={up,down,right,left },并且每移动一步获得-1大小的奖励,若移动超出边界则保持原地不动。

        &n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值