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

贝尔曼最优公式

贝尔曼最优公式

强化学习的目标通常是找到一个策略,使得智能体从初始状态出发能获得最多的期望回报。如何比较策略的优劣呢?一般是通过对应的价值函数来比较的,也就是说,寻找较优策略可以通过寻找较优的价值函数来完成。我们首先定义策略之间的偏序关系:当且仅当对于任意的状态都有 v π ( s ) > v π ′ ( s ) v_\pi(s) > v_\pi'(s) vπ(s)>vπ(s) ,记 π > π ′ \pi>\pi' π>π。于是在有限状态和动作集合的 MDP 中,至少存在一个策略比其他所有策略都好或者至少存在一个策略不差于其他所有策略,这个策略就是最优策略(optimal policy)。最优策略可能有很多个,我们都将其表示为 π ∗ \pi^{*} π

可以定义最优状态价值函数是所有策略下产生的众多状态价值函数中的最大者,即:

V ∗ ( s ) = max ⁡ π V π ( s ) , ∀ s ∈ S V^*(s)=\max_\pi V^\pi(s),\quad\forall s\in\mathcal{S} V(s)=πmaxVπ(s),sS

同理,我们定义最优动作价值函数:

Q ∗ ( s , a ) = max ⁡ π Q π ( s , a ) , ∀ s ∈ S , a ∈ A Q^*(s,a)=\max_\pi Q^\pi(s,a),\quad\forall s\in\mathcal{S},a\in\mathcal{A} Q(s,a)=πmaxQπ(s,a),sS,aA

为了使 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)最大,我们需要在**当前的状态动作对 ( s , a ) (s,a) (s,a)之后都执行最优策略。**于是我们得到了最优状态价值函数和最优动作价值函数之间的关系:

Q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V ∗ ( s ′ ) Q^*(s,a)=r(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)V^*(s') Q(s,a)=r(s,a)+γsSP(ss,a)V(s)
这与在普通策略下的状态价值函数和动作价值函数之间的关系是一样的。另一方面,最优状态价值是选择此时使最优动作价值最大的那一个动作时的状态价值

V ∗ ( s ) = max ⁡ a ∈ A Q ∗ ( s , a ) V^*(s)=\max_{a\in\mathcal{A}}Q^*(s,a) V(s)=aAmaxQ(s,a)
根据上面两个式子的关系,把Q的表达式代入V,我们可以得到贝尔曼最优方程(Bellman optimality equation):
V ∗ ( s ) = max ⁡ a ∈ A { r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V ∗ ( s ′ ) } V^*(s)=\max_{a\in\mathcal{A}}\{r(s,a)+\gamma\sum_{s^{\prime}\in\mathcal{S}}p(s^{\prime}|s,a)V^*(s^{\prime})\} V(s)=aAmax{r(s,a)+γsSp(ss,a)V(s)}

Q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) max ⁡ a ′ ∈ A Q ∗ ( s ′ , a ′ ) Q^*(s,a)=r(s,a)+\gamma\sum_{s^{\prime}\in\mathcal{S}}p(s^{\prime}|s,a)\max_{a^{\prime}\in\mathcal{A}}Q^*(s^{\prime},a^{\prime}) Q(s,a)=r(s,a)+γsSp(ss,a)aAmaxQ(s,a)


http://www.kler.cn/a/500919.html

相关文章:

  • 【后端面试总结】Golang可能的内存泄漏场景及应对策略
  • iOS - runtime总结
  • 现代 CPU 的高性能架构与并发安全问题
  • 【权限管理】CAS(Central Authentication Service)
  • 【Notepad++】Notepad++如何删除包含某个字符串所在的行
  • TypeError: Cannot create a consistent method resolution order (MRO) for
  • UML系列之Rational Rose笔记一:用例图
  • el-table单独某列自适应文字换行
  • 蓝桥云客第 5 场 算法季度赛
  • Meilisearch ASP.Net Core API 功能demo
  • 自动化测试脚本实践:基于 Bash 的模块化测试框架
  • 基于Springboot美食推荐商城系统【附源码】
  • 14. 以太网接口
  • linux-28 文本管理(一)文本查看,cat,tac,more,less,head,tail
  • Nginx 配置支持 HTTPS 代理
  • 计算机类-数据结构课程推荐
  • 《拉依达的嵌入式\驱动面试宝典》—操作系统篇(一)
  • Maven 仓库的分类
  • Cisco认证是Cisco公司建立的网络技术证书体系
  • C#解决浮点数精度丢失的问题(参考方案)
  • [DO374] Ansible 配置文件
  • 云服务器加了安全组端口还是无法访问
  • 一分钟学会文心一言API如何接入,文心一言API接入教程
  • 基于 JavaEE 的影视创作论坛
  • fitz获取pdf内容
  • 浅谈云计算04 | 云基础设施机制