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

《强化学习数学原理》学习笔记4——贝尔曼最优方程推理过程

贝尔曼最优方程(Bellman Optimality Equation, BOE)推理详解

在强化学习中,贝尔曼最优方程(BOE)是分析最优策略和最优状态价值的核心工具。通过求解这个方程,我们能得到最优策略与最优状态价值。接下来,我们一步步深入理解它。

一、贝尔曼最优方程的元素形式

对于每个状态 s∈Ss \in \mathcal{S}sS,贝尔曼最优方程的元素形式为:
v(s)=max⁡π(s)∈Π(s)∑a∈Aπ(a∣s)(∑r∈Rp(r∣s,a)r+γ∑s′∈Sp(s′∣s,a)v(s′))=max⁡π(s)∈Π(s)∑a∈Aπ(a∣s)q(s,a) \begin{align*} v(s) &= \max_{\pi(s) \in \Pi(s)} \sum_{a \in \mathcal{A}} \pi(a|s) \left( \sum_{r \in \mathcal{R}} p(r|s,a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s,a)v(s') \right) \\ &= \max_{\pi(s) \in \Pi(s)} \sum_{a \in \mathcal{A}} \pi(a|s) q(s,a) \tag{1} \end{align*} v(s)=π(s)Π(s)maxaAπ(as)(rRp(rs,a)r+γsSp(ss,a)v(s))=π(s)Π(s)maxaAπ(as)q(s,a)(1)

其中 v(s)v(s)v(s)v(s′)v(s')v(s) 是待求解的未知变量,且 q(s,a)≜∑r∈Rp(r∣s,a)r+γ∑s′∈Sp(s′∣s,a)v(s′)q(s,a) \triangleq \sum_{r \in \mathcal{R}} p(r|s,a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s,a)v(s')q(s,a)rRp(rs,a)r+γsSp(ss,a)v(s)。这里 π(s)\pi(s)π(s) 表示状态 sss 下的策略,Π(s)\Pi(s)Π(s) 是状态 sss 下所有可能策略的集合。

初次看到这个方程,可能会有疑惑:一个方程里有 v(s)v(s)v(s)π(a∣s)\pi(a|s)π(as) 两个未知量,该怎么解呢?别担心,我们可以依次求解这两个未知量,下面通过例子来理解。

二、从简单例子看多未知量方程的求解思路

先看一个简单的例子,理解如何处理这种存在多个未知量的方程。

例子 3.1:考虑两个未知变量 x,y∈Rx,y \in \mathbb{R}x,yR,满足 x=max⁡y∈R(2x−1−y2)x = \max_{y \in \mathbb{R}} (2x - 1 - y^2)x=maxyR(2x1y2)

  • 第一步:求解右侧的 yyy
    不管 xxx 取何值,max⁡y(2x−1−y2)=2x−1\max_{y}(2x - 1 - y^2) = 2x - 1maxy(2x1y2)=2x1,当 y=0y = 0y=0 时取得最大值。
  • 第二步:求解 xxx
    y=0y = 0y=0 时,方程变为 x=2x−1x = 2x - 1x=2x1,解得 x=1x = 1x=1

所以,方程的解是 y=0y = 0y=0x=1x = 1x=1

这个例子给我们的启发是:面对有多个未知量的方程,可以逐个求解未知量。接下来,我们把这个思路应用到贝尔曼最优方程上。

三、贝尔曼最优方程右侧的最大化问题求解

回到贝尔曼最优方程,式(1)可以简洁地写成 v(s)=max⁡π(s)∈Π(s)∑a∈Aπ(a∣s)q(s,a), s∈Sv(s) = \max_{\pi(s) \in \Pi(s)} \sum_{a \in \mathcal{A}} \pi(a|s) q(s,a),\ s \in \mathcal{S}v(s)=maxπ(s)Π(s)aAπ(as)q(s,a), sS。我们借鉴例子 3.1 的思路,先求解右侧最优的 π\piπ 值。

(一)再看一个辅助例子

例子 3.2:已知 q1,q2,q3∈Rq_1,q_2,q_3 \in \mathbb{R}q1,q2,q3R,要找到 c1,c2,c3c_1,c_2,c_3c1,c2,c3 的最优值,使得 ∑i=13ciqi=c1q1+c2q2+c3q3\sum_{i=1}^3 c_i q_i = c_1 q_1 + c_2 q_2 + c_3 q_3i=13ciqi=c1q1+c2q2+c3q3 最大化,其中 c1+c2+c3=1c_1 + c_2 + c_3 = 1c1+c2+c3=1c1,c2,c3≥0c_1,c_2,c_3 \geq 0c1,c2,c30(此处的 ccc 对应概率 π(a∣s)\pi(a|s)π(as) )。

不妨假设 q3≥q1,q2q_3 \geq q_1,q_2q3q1,q2,那么最优解是 c3∗=1c_3^* = 1c3=1c1∗=c2∗=0c_1^* = c_2^* = 0c1=c2=0。这是因为:
q3=(c1+c2+c3)q3=c1q3+c2q3+c3q3≥c1q1+c2q2+c3q3(2) q_3 = (c_1 + c_2 + c_3)q_3 = c_1 q_3 + c_2 q_3 + c_3 q_3 \geq c_1 q_1 + c_2 q_2 + c_3 q_3 \tag{2} q3=(c1+c2+c3)q3=c1q3+c2q3+c3q3c1q1+c2q2+c3q3(2)
对任意 c1,c2,c3c_1,c_2,c_3c1,c2,c3 都成立。

(二)应用到贝尔曼最优方程

受例子 3.2 启发,因为 ∑aπ(a∣s)=1\sum_{a} \pi(a|s) = 1aπ(as)=1,所以有:
v(s)=∑a∈Aπ(a∣s)q(s,a)≤∑a∈Aπ(a∣s)max⁡a∈Aq(s,a)=max⁡a∈Aq(s,a)(3) v(s)=\sum_{a \in \mathcal{A}} \pi(a|s) q(s,a) \leq \sum_{a \in \mathcal{A}} \pi(a|s) \max_{a \in \mathcal{A}} q(s,a) = \max_{a \in \mathcal{A}} q(s,a) \tag{3} v(s)=aAπ(as)q(s,a)aAπ(as)aAmaxq(s,a)=aAmaxq(s,a)(3)
当且仅当 π(a∣s)={1,a=a∗0,a≠a∗\pi(a|s) = \begin{cases} 1, & a = a^* \\ 0, & a \neq a^* \end{cases}π(as)={1,0,a=aa=a 时,等号成立,其中 a∗=arg⁡max⁡aq(s,a)a^* = \arg\max_{a} q(s,a)a=argmaxaq(s,a)

总结一下,最优策略 π(s)\pi(s)π(s) 是选择能使 q(s,a)q(s,a)q(s,a) 取值最大的动作的策略。

四、贝尔曼最优方程的矩阵 - 向量形式

贝尔曼最优方程是针对所有状态定义的一组方程。如果把这些方程结合起来,能得到简洁的矩阵 - 向量形式。

(一)矩阵 - 向量形式的表达式

贝尔曼最优方程的矩阵 - 向量形式为:
v=max⁡π∈Π(rπ+γPπv)(4) v = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v) \tag{4} v=πΠmax(rπ+γPπv)(4)
其中 v∈R∣S∣v \in \mathbb{R}^{|\mathcal{S}|}vRSmax⁡π\max_{\pi}maxπ 是逐元素执行的。rπr_{\pi}rπPπP_{\pi}Pπ 的结构与普通贝尔曼方程的矩阵 - 向量形式中的结构相同:
[rπ]s≜∑a∈Aπ(a∣s)∑r∈Rp(r∣s,a)r,[Pπ]s,s′=p(s′∣s)≜∑a∈Aπ(a∣s)p(s′∣s,a)(5) [r_{\pi}]_s \triangleq \sum_{a \in \mathcal{A}} \pi(a|s) \sum_{r \in \mathcal{R}} p(r|s,a)r, \quad [P_{\pi}]_{s,s'} = p(s'|s) \triangleq \sum_{a \in \mathcal{A}} \pi(a|s) p(s'|s,a) \tag{5} [rπ]saAπ(as)rRp(rs,a)r,[Pπ]s,s=p(ss)aAπ(as)p(ss,a)(5)

(二)简化形式

由于 π\piπ 的最优值由 vvv 决定,式 (4) 的右侧是 vvv 的函数,记为 f(v)≜max⁡π∈Π(rπ+γPπv)f(v) \triangleq \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v)f(v)maxπΠ(rπ+γPπv)

于是,贝尔曼最优方程可以更简洁地表示为:
v=f(v)(6) v = f(v) \tag{6} v=f(v)(6)

通过以上步骤,我们从贝尔曼最优方程的基本形式出发,借助简单例子理解多未知量的求解思路,进而推导出其矩阵 - 向量形式。

http://www.dtcms.com/a/434472.html

相关文章:

  • 如何缩小物联网设备的 Docker 镜像
  • 513.找树左下角的值(二叉树算法题)
  • LeetCode:84.完全平方数
  • 《API网关性能优化指南:从请求拥堵到毫秒级响应,并发下的架构重构实践》
  • 免费p2p网站建设企业管理系统开发平台
  • 报告派研读:2025年电力设备及新能源行业深度报告
  • 站长之家源码垂直电商平台有哪些?
  • K8s中的ETCD存储机制
  • 【精品资料鉴赏】397页WORD详解智慧城市顶层设计方案
  • 16种粮食谷物分类数据集5300张17类别
  • 2025基于springboot的网上蛋糕销售系统
  • SSE是什么?SSE解决什么问题?在什么场景使用SSE?
  • 算法偏见的解药:将敏捷“灵魂”注入AI伦理
  • 基于前端+Node.js 的 Markdown 笔记 PDF 导出系统完整实战
  • lesson71:Node.js与npm基础全攻略:2025年最新特性与实战指南
  • 购买域名后 可以做网站么灰色关键词排名优化
  • 专业做家具的网站小程序注册方法
  • OWASP ZAP 工具安全测试介绍
  • Git介绍 常用命令
  • 教育机构作图:含拼团 / 课程封面模板,适配小程序
  • linux内核时间定时器延时
  • 远程安装vps相关软件记录
  • 山东高端网站建设方案宁波网站建设那家好
  • x86_64 centos7.2 上用aarch64-linux-gnu-gcc4.8.5交叉编译qt5.11.3
  • GLib线程池全面解析:原理、应用与性能优化
  • 东莞网站设计网址电影网站建设方案ppt模板下载
  • 51单片机-驱动LCD1602液晶显示屏教程
  • 【C++哲学】面向对象的三大特性之 多态
  • Python - 100天从新手到大师:第二十六天Python操作Word和PowerPoint文件
  • 算法基础 典型题 前缀和