当前位置: 首页 > news >正文

【强化学习系列】贝尔曼最优方程

接上一篇文章贝尔曼方程

定义

如果一个策略在所有状态下的状态价值都不低于其他任意策略在相同状态下的状态价值,即:对于所有的 s ∈ S s\in\mathcal{S} sS v π ( s ) ≥ v π ′ ( s ) v_{\pi}(s)\geq v_{\pi^{'}}(s) vπ(s)vπ(s),那么这个策略 π \pi π就是最优策略,最优策略可能不止一个,但统一记为 π ∗ \pi^{*} π
定义最优价值函数
v ∗ ( s ) ≜ max ⁡ π v π ( s ) v_*(s)\triangleq \max_\pi v_\pi(s) v(s)πmaxvπ(s)
q ∗ ( s , a ) ≜ max ⁡ π q π ( s , a ) q_*(s,a)\triangleq \max_\pi q_\pi(s,a) q(s,a)πmaxqπ(s,a)
而从最优策略的定义中也可以得出:
v π ∗ ( s ) ≜ max ⁡ π v π ( s ) v_{\pi*}(s)\triangleq \max_\pi v_\pi(s) vπ(s)πmaxvπ(s)
q π ∗ ( s , a ) ≜ max ⁡ π q π ( s , a ) q_{\pi*}(s,a)\triangleq \max_\pi q_\pi(s,a) qπ(s,a)πmaxqπ(s,a)
所以有:
v π ∗ ( s ) = v ∗ ( s ) = max ⁡ π v π ( s ) v_{\pi*}(s)=v_*(s)=\max_\pi v_\pi(s) vπ(s)=v(s)=πmaxvπ(s)
q ∗ ( s , a ) = q π ∗ ( s , a ) = max ⁡ π q π ( s , a ) q_*(s,a)=q_{\pi*}(s,a)=\max_\pi q_\pi(s,a) q(s,a)=qπ(s,a)=πmaxqπ(s,a)
解释一下 v π ∗ ( s ) 和 v ∗ ( s ) v_{\pi*}(s)和v_*(s) vπ(s)v(s)的区别:
后者是从值函数的大小的角度做出的定义,与策略并没有太大关系,而前者则是在最优策略下的状态价值函数。
上面的结果说明:最优价值函数就是执行最优策略时的价值函数

推导

对于任何一个策略 π \pi π都满足:
v π ( s ) ≤ max ⁡ a q π ( s , a ) v_\pi(s)\leq\max_aq_\pi(s,a) vπ(s)amaxqπ(s,a)
这是因为
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) v_\pi(s)=\sum_{a\in\mathcal{A}}\pi(a|s)q_\pi(s,a) vπ(s)=aAπ(as)qπ(s,a)
状态价值函数是各个动作价值函数的加权平均,一定小于等于最大的动作价值。
对于最优策略 π ∗ \pi^* π,为了使状态价值函数达到最大,它在选择动作时一定是以概率1选择使动作价值最大的动作,而其他动作被选择的概率都是0,由于 max ⁡ a q π ( s , a ) = q π ∗ ( s ∣ a ) \max_aq_\pi(s,a)=q_{\pi^*}(s|a) maxaqπ(s,a)=qπ(sa),结合上一个式子可以得到:
v π ∗ ( s ) = max ⁡ a q π ∗ ( s , a ) \begin{equation}v_{\pi^*}(s)=\max_aq_{\pi^*}(s,a)\end{equation} vπ(s)=amaxqπ(s,a)
在上一篇文章中已经推出:
q π ( s , a ) = ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] q_\pi(s,a)=\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma v_\pi(s')] qπ(s,a)=sSrRp(s,rs,a)[r+γvπ(s)]
它对于最优策略 π ∗ \pi^* π也是成立的,所以有:
q π ∗ ( s , a ) = ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ∗ ( s ′ ) ] \begin{equation}q_{\pi^*}(s,a)=\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma v_{\pi^*}(s')]\end{equation} qπ(s,a)=sSrRp(s,rs,a)[r+γvπ(s)]
代入到公式(1)中可以得到:
v π ∗ ( s ) = max ⁡ a ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ∗ ( s ′ ) ] v_{\pi^*}(s)=\max_a\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma v_{\pi^*}(s')] vπ(s)=amaxsSrRp(s,rs,a)[r+γvπ(s)]
上式就是贝尔曼最优方程。对于动作价值函数也可推导出类似的结果:
将公式(1)代入公式(2)中:
q π ∗ ( s , a ) = ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ q π ∗ ( s ′ , a ′ ) ] q_{\pi^*}(s,a)=\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma \max_{a'}q_{\pi^*}(s',a')] qπ(s,a)=sSrRp(s,rs,a)[r+γamaxqπ(s,a)]
当然这两个贝尔曼最优方程中 v π ∗ v_{\pi^*} vπ q π ∗ q_{\pi^*} qπ分别用 v ∗ v_* v q ∗ q_* q代替也是成立的,原因见定义。

相关文章:

  • SQL常用数据清洗语句
  • Python初学 有差异的知识点总结(一)
  • 如何开展有组织的AI素养教育?
  • kubernetes常用命令 k8s指令大全
  • Oracle备份和恢复
  • 政务大模型的春天,AI办公先萌芽
  • 【软件工程】面向对象编程(OOP)概念详解
  • if consteval
  • 9. 使用Gazebo和Rviz显示机器人(包括运动控制,雷达,摄像头仿真以及显示)
  • yum install 失败
  • 政策支持与市场驱动:充电桩可持续发展的双轮引擎
  • cmake qt 项目编译
  • 亚马逊环保标识运营指南:抢占流量新赛道的6大策略解析
  • 对话式 BI:让数据洞察从“专业门槛”变为“对话本能”
  • 【Keil5-开发指南】
  • 使用Docker安装Harbor
  • 机器学习day2
  • 防火墙拦截DNS请求-原理解析
  • 核心要点:线程
  • 机器学习-08-时序数据分析预测
  • 马上评丨机械停车库成“僵尸库”,设计不能闭门造车
  • 科学时代重读“老子”的意义——对谈《老子智慧八十一讲》
  • 四川在浙江公开招募200名退休教师,赴川支教帮扶
  • 著名统计学家、北京工业大学应用数理学院首任院长王松桂逝世
  • 三大交易所修订股票上市规则:明确关键少数责任,强化中小股东保障
  • 为国出征指纹却无法识别?他刷新了我军在这一项目的最好成绩