强化学习(三):动态规划求解MDP(Planning by Dynamic Programming)

上一节主要是引入了MDP(Markov decision process)的各种相关的定义与概念。最后得到了最优状态值函数v∗(s)v_*(s)和最优状态动作值函数q∗(s,a)q_*(s,a)的定义与公式。这一节主要是在已知模型的情况下利用动态规划来进行强化学习求解v∗(s)v_*(s)和q∗(s,a)q_*(s,a)。什么叫已知模型的情况?就是说上一节讲到的S,A,P,R,γ>,这些都是已知的
摘要由CSDN通过智能技术生成

上一节主要是引入了MDP(Markov decision process)的各种相关的定义与概念。最后得到了最优状态值函数 v(s) 和最优状态动作值函数 q(s,a) 的定义与公式。这一节主要是在已知模型的情况下利用动态规划来进行强化学习求解 v(s) q(s,a) 。什么叫已知模型的情况?就是说上一节讲到的 <S,A,P,R,γ> <script type="math/tex" id="MathJax-Element-305"> </script>,这些都是已知的。求解的方法主要有两个,一个是策略迭代,另一个是值迭代。

本文基本参照了这篇文章的内容,再加上一点自己的理解,希望能够帮助到大家。


Dynamic Programming(动态规划)

首先什么是动态规划呢?相信大家对动态规划有一定的了解,就是一个问题的求解可以通过求解子问题而得到解决,就像递归一样。详细的动态规划理解大家可以在这里查看。

而MDP 刚好符合动态规划的性质,其中bellman方程就是递归结构。值函数存储了子问题的解决,这样在解决更进一步的子问题时就不用重头计算,而是可以直接取上一次的值函数来使用。

Iteration Policy Evaluation(迭代法策略评估)

  • 问题:评估一个给定的策略 π
  • 解决方法:利用bellman方程反向迭代。
  • 具体做法:每次迭代过程中,用所有的状态s的第k次迭代得到的的 vk(s) 来计算第k+1次的 vk+1(s) 的值。经过这种方法的反复迭代,最终是可以收敛到最优的 v(s) 。迭代的公式如下:

    vk+1(s)=
  • 37
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值