4、Dynamic Programming


Dynamic Programming(DP)指一组可以用来计算最优策略的算法。这些算法给出了一个完整的环境模型,即 MDP。

经典DP需要假设模型是完整的(即完全可知),且计算量大,在RL实际应用中有限。DP和一般RL的关键思想:使用值函数来组织和构造对好的策略的搜索。

动态规划(DP)对复杂的问题来说,可能不具有可行性。主要原因是问题状态的数量很大,导致计算代价太大。


1、Policy Evaluation

首先,考虑任意策略 π \pi π的状态值函数 v π v_\pi vπ的计算——Policy Evaluation / prediction problem:
对于所有的 s ∈ S s \in S sS
在这里插入图片描述
迭代求解:

  1. 考虑近似值函数序列: v 0 , v 1 , . . . v_0,v_1,... v0,v1,...
  2. 随机初始化 v 0 v_0 v0 (如果状态是终止状态,v=0)
  3. 使用贝尔曼方程逐次逼近
    在这里插入图片描述
    算法:
    在这里插入图片描述

2、Policy Improvement

计算 V ( s ) V(s) V(s)是为了找到更好的策略 π \pi π
假设对于任意确定性策略 π \pi π,有确定性的值函数 v π v_\pi vπ
对于一些状态s,我们想知道 是否应该改变策略以确定性地选择一个动作 a ≠ π ( s ) a \not = \pi(s) a=π(s),已知 v π ( s ) v_\pi(s) vπ(s) 得到的状态s的策略是好的,但是不知道下一个新的策略是否也是好的?
解决方法:使用 q π ( s , a ) q_\pi(s,a) qπ(s,a)
在这里插入图片描述
如果:
在这里插入图片描述
则,
在这里插入图片描述
证明:
在这里插入图片描述
根据q值中最大的对应的动作为新的策略——greedy policy
在这里插入图片描述


3、Policy Iteration

策略迭代:寻找最优策略的方法

在这里插入图片描述
算法:
在这里插入图片描述

策略迭代缺点:每个迭代都涉及policy evaluation 和 policy improvement,因此计算量很大。

Policy Iteration代码实现(gridworld环境)


4、Value Iteration

策略迭代的简化,仅在一次扫描之后停止policy evaluation——值迭代
在这里插入图片描述
值迭代参考了贝尔曼方程:
在这里插入图片描述
算法:
在这里插入图片描述

值迭代在每次扫描中有效的结合了一次 policy evaluation 和 policy improvement,收敛更加快。

Value Iteration代码实现


5、Generalized Policy Iteration(GPI)

GPI 是一个强化学习的核心思想,影响了几乎所有的强化学习方法。

策略迭代由两个同步的、交互的过程组成:

  1. 一个使值函数与当前策略一致(policy evaluation)
  2. 一个使策略对当前值函数做贪婪(policy improvement)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值