首页 > 强化学习(二)- 动态规划(Dynamic Programming)

强化学习(二)- 动态规划(Dynamic Programming)

3.动态规划

3.1 介绍

术语动态规划(DP:Dynamic Programming) 指的是一个算法集合,可以用来计算最优策略,给定一个完美的环境模型,作为马尔可夫决策过程(MDP)。经典的DP算法在强化学习中的应用有限,因为它们的假设是一个完美的模型,而且计算量大,但它们仍然具有重要的理论意义。DP为理解其余部分中介绍的方法提供了必要的基础。实际上,所有这些方法都可以被看作是实现与DP几乎相同的效果的尝试,只不过计算量更少,而且没有假设一个完美的环境模型。

我们通常假设环境是一个有限的MDP。也就是说,我们假设它的状态、行为和奖励集Smathcal{S}SAmathcal{A}ARmathcal{R}R是有限的,并且它的动力是由一组概率p(s′,r∣s,a)p(s', r|s, a)p(s,rs,a)对于所有s∈S,a∈A(s),r∈Rs in mathcal{S},a in mathcal{A}(s),r in mathcal{R}sS,aA(s),rRs′∈S+s' in mathcal{S}^+sS+(S+mathcal{S}^+S+Smathcal{S}S在事件性任务中加上最终态)给出的。尽管DP思想可以应用于具有连续状态和动作空间的问题,但是精确解只有在特殊情况下才有可能。对于具有连续状态和动作的任务,获取近似解的一种常用方法是将状态和动作空间量化,然后应用有限状态DP方法。

DP的关键思想,以及一般的强化学习,是使用价值函数来组织和结构寻找好的策略。在动态规划部分将展示如何使用DP来计算之前定义的价值函数。一旦我们找到满足Bellman最优性方程的最优价值函数v∗v_*vq∗q_*q,我们就可以很容易地获得最优策略

v∗(s)=max⁡aE[Rt+1+γv∗(St+1)∣St=s,At=a]=max⁡a∑s′,rp(s′,r∣s,a)[r+γv∗(s′)](3.1)egin{aligned}v_*(s) &= max_{a}mathbb{E}[R_{t+1}+gamma v_* (S_{t+1})|S_t =s,A_t=a] \ & =max_{a}sum_{s',r}p(s',r|s,a)[r+gamma v_*(s')] ag{3.1}end{aligned}v(s)=amaxE[Rt+1+γv(St+1)St=s,At=a]=amaxs,rp(s,rs,a)[r+γv(s)](3.1)

q∗(s,a)=E[Rt+1+γmax⁡a′q∗(St+1,a′)∣St=s,At=a]=∑s′,rp(s′,r∣s,a)[r+γmax⁡a′q∗(s′,a′)](3.2)egin{aligned}q_*(s,a) &= mathbb{E}[R_{t+1}+gammamax_{a'} q_* (S_{t+1},a')|S_t =s,A_t=a] \ & =sum_{s',r}p(s',r|s,a)[r+gammamax_{a'} q_*(s',a')] ag{3.2}end{aligned}q(s,a)=E[Rt+1+γamaxq(St+1,a)St=s,At=a]=s,rp(s,rs,a)[r+γamaxq(s,a)](3.2)

以上公式适用于s∈S,a∈A(s),s′∈S+s in mathcal{S},a in mathcal{A}(s),s' in mathcal{S}^+sS,aA(s),sS+。DP算法是通过将Bellman方程转化为赋值,也就是说,转化为改进期望价值函数的近似的更新规则来获得的。

3.2 策略评估(预测)

首先考虑如何计算任意策略πpiπ的状态价值函数vπv_piv

更多相关:

  • 策略梯度方法引言9.1 策略近似和其优势9.2 策略梯度定理9.2.1 梯度上升和黑箱优化9.2.2 策略梯度定理的证明9.3 REINFORCE:蒙特卡洛策略梯度9.3.1 轨迹上的REINFORCE算法9.3.2 REINFORCE算法实例9.4 带基线的REINFORCE算法...

  • 近似策略迭代 Note 8 近似策略迭代 Approximate Policy Iteration8.1 通用框架 (A Generic Framework)Lemma 8.1 单调性下的误差约束(Error bound under monotonicity)Lemma 8.2 单一近似PI扫描的误差边界 (Error bound o...

  • 关于如何在有噪声的数据中进行状态估计的问题的理解,状态估计的问题是指在运动和观测方程中,通常假设两个噪声ωiomega_i和υk,jupsilon_{k,j}满足零均值的高斯分布, xk=f(xk−1,uk)+ωkx_k=f(x_{k-1},u_k)+omega_k其中ωk→N(0,Rk)omega_k ightarro...

  • 强化学习(英语:Reinforcement learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈...

  • 文章目录PG 的状态机和peering过程1. PG 状态机变化的时机2. pg的状态演化过程3. pg状态变化实例讲解3.1 pg状态的管理结构3.2 数据的pg状态变化过程3.2.1 NULL -> initial3.2.2 initial -> reset -> Started3.2.3 Started(start) ->St...

  • 什么是状态模式? 定义:将事物内部的每个状态分别封装成类,内部状态改变会产生不同行为。 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。 何时使用:代码中包含大量与对象状态有关的条件语句。 如何解决:将各种具体的状态类抽象出来。 应用实例: 1、打篮球的时候运动员可以有正常状态、不正常状态和超...

  • 别小看这个功能, 感觉在写一些技术 Blog 的情况下还是挺有用的.   打开QQ拼音: 输入法设置->基本设置->初始状态->中文状态下使用英文标点.  转载于:https://www.cnblogs.com/qrlozte/p/4904087.html...