贝尔曼最优方程(Bellman Optimality Equation)

article/2025/8/2 22:35:05

贝尔曼最优方程

  • 目录
    • 回顾 + 补充
      • 逻辑场景设置
    • 贝尔曼最优方程
      • 最优策略与最优价值函数
        • 最优状态价值函数
        • 最优状态-动作价值函数
      • 小小的题外话 - 最大值/期望值
        • 最大值和期望值之间的大小关系
      • 最优策略与两种价值函数间的关系
      • 贝尔曼最优方程表达式

本节使用 更新图的方式对 V π ( s ) V_\pi(s) Vπ(s) q π ( s , a ) q_\pi(s,a) qπ(s,a)之间的关系进行详细说明,并在贝尔曼期望方程(Bellman Expectation Equation)基础上介绍 贝尔曼最优方程(Bellman Optimality Equation)

目录

回顾 + 补充

上一节我们介绍了贝尔曼期望方程(Bellman Expectation Equation),并重点介绍了状态价值函数 V π ( s ) V_\pi(s) Vπ(s)状态-动作价值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a)之间的关系。
针对上一节中 G t = R t + 1 + γ G t + 1 G_t=R_{t+1}+\gamma G_{t+1} Gt=Rt+1+γGt+1成立需要满足的4个条件,本节使用更新图的方式对该步骤进行补充。

逻辑场景设置

对回溯图中出现的相关概念和条件进行设定:

  • 状态集合 S \mathcal S S属于离散型随机变量,共包含3种状态;
    S = { s 1 , s 2 , s 3 } \mathcal S = \{s_1,s_2,s_3\} S={s1,s2,s3}
  • 动作集合 A \mathcal A A属于离散型随机变量,共包含3种动作;
    A = { a 1 , a 2 , a 3 } \mathcal A = \{a_1,a_2,a_3\} A={a1,a2,a3}
  • 奖励集合 R \mathcal R R属于离散型随机变量,共包含3种奖励;
    R = { r 1 , r 2 , r 3 } \mathcal R=\{r_1,r_2,r_3\} R={r1,r2,r3}

S t = s 1 → S t + 1 S_t=s_1 \to S_{t+1} St=s1St+1状态转移过程如下图所示:
请添加图片描述

由上图可知,从 S t = s 1 S_t=s_1 St=s1开始,存在3种动作选择方式 a 1 , a 2 , a 3 a_1,a_2,a_3 a1,a2,a3;假设在 S t = s 1 , A t = a 3 S_t=s_1,A_t=a_3 St=s1,At=a3确定的情况下,系统内部状态由 S t → S t + 1 S_t \to S_{t+1} StSt+1,由于奖励(Reward)同样也是离散的,转移过程中同样存在3种不同的选择方式: r 1 , r 2 , r 3 r_1,r_2,r_3 r1,r2,r3。( a 1 , a 2 a_1,a_2 a1,a2下方同样存在和 a 3 a_3 a3相同的路径,为节省空间省略。)

上一节中“ G t = R t + 1 + γ G t + 1 G_t=R_{t+1}+\gamma G_{t+1} Gt=Rt+1+γGt+1成立需要满足的4个条件”对应的更新图如下图所示。橙黄色表示动作选择和状态转移过程
在这里插入图片描述

贝尔曼最优方程

最优策略与最优价值函数

上一节我们介绍了2种价值函数:状态价值函数 V π ( s ) V_\pi(s) Vπ(s)状态-动作价值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a)。利用强化学习方法解决任务意味着要寻找一个最优策略 π ∗ → \pi^*\to π 使智能体在使用该策略与环境交互过程中的回报始终比其他策略都要大

最优状态价值函数

之前讲过,如何比较策略的优劣呢?自然是通过对应的价值函数进行比较,我们进行如下定义:

  • 定义1:
    在当前时刻状态 S t = s S_{t}=s St=s的情况下,假设我们的策略 π ( a ∣ s ) \pi(a \mid s) π(as)有穷的(策略的数量是可数的),将所有策略全部计算状态价值函数 V π ( s ) V_\pi(s) Vπ(s),我们会产生一个关于 V π ( s ) V_\pi(s) Vπ(s)的集合(其中 π ( 1 ) , π ( 2 ) , π ( 3 ) \pi^{(1)},\pi^{(2)},\pi^{(3)} π(1),π(2),π(3),…表示不同策略):
    V = { V π ( 1 ) ( s ) , V π ( 2 ) ( s ) , V π ( 3 ) ( s ) . . . } \mathcal V=\{V_{\pi^{(1)}}(s),V_{\pi^{(2)}}(s),V_{\pi^{(3)}}(s)...\} V={Vπ(1)(s),Vπ(2)(s),Vπ(3)(s)...}
    我们从该集合中选择一个值最大的状态价值函数,记作 V ∗ ( s ) V_*(s) V(s)。即:
    V ∗ ( s ) = m a x ( V ) V_*(s)=max(\mathcal V) V(s)=max(V)
  • 定义2:
    在当前时刻状态 S t = s S_{t}=s St=s的情况下,我们的策略 π ( a ∣ s ) \pi(a\mid s) π(as)依然是有穷的,我们将所有可能出现的策略全部收集起来,产生一个关于策略 π \pi π的集合:
    Π = { π ( 1 ) , π ( 2 ) , π ( 3 ) , . . . } \Pi=\{\pi^{(1)},\pi^{(2)},\pi^{(3)},...\} Π={π(1),π(2),π(3),...}
    我们从该集合中选择一个策略 π ∗ \pi^* π,使得它对应的状态价值函数最大。结合定义1中的设定,即:
    V π ∗ ( s ) = m a x ( V ) V_{\pi^*}(s) = max(\mathcal V) Vπ(s)=max(V)

将2个定义进行合并,我们可以得到:
V ∗ ( s ) = V π ∗ ( s ) V_*(s)=V_{\pi^*}(s) V(s)=Vπ(s)
虽然两者都表示最优状态价值函数,但是对应的定义却不同

最优状态-动作价值函数

上述两种类型的定义同样适用于最优动作-状态价值函数的选择上。设最优策略为 π ∘ \pi^\circ π,即:
q ∗ ( s , a ) = q π ∘ ( s , a ) = m a x ( Q ) q_*(s,a)=q_{\pi^\circ}(s,a)=max(\mathcal Q) q(s,a)=qπ(s,a)=max(Q)
其中 Q \mathcal Q Q表示关于状态动作价值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a)的集合。
Q = { q π ( 1 ) ( s , a ) , q π ( 2 ) ( s , a ) , q π ( 3 ) ( s , a ) , . . . } \mathcal Q = \{q_{\pi^{(1)}}(s,a),q_{\pi^{(2)}}(s,a),q_{\pi^{(3)}}(s,a),...\} Q={qπ(1)(s,a),qπ(2)(s,a),qπ(3)(s,a),...}

小小的题外话 - 最大值/期望值

我们对期望(expectation)是非常了解的,已知一组数值集合和每个数值对应的权重,我们很容易算出这组数值集合的期望值。
本质上,期望值就是输出值的加权和
而最大值(The maximum value)我们就更熟悉了,它就是已知的数据中最大的一个值

最大值和期望值之间的大小关系

如果我们将权重看成概率的话,实际上,选择最大值同样是存在概率分布的。只不过这个概率分布比较特殊
假设数值集合 X X X包含3个元素:
X = { 3 , 4 , 5 } X = \{3,4,5\} X={3,4,5}
并且赋予3个元素不同的权重:

元素(element)权重(weight)
30.2
40.4
50.4

我们很容易计算出 X X X的期望:
E ( X ) = 3 × 0.2 + 4 × 0.4 + 5 × 0.4 = 4.2 E(X)=3\times 0.2 + 4 \times 0.4 + 5 \times 0.4=4.2 E(X)=3×0.2+4×0.4+5×0.4=4.2
如果改成选择数值集合 X X X内的最大值,这个“选择最大值”的任务自动赋予3个元素各自的权重:

元素(element)权重(weight)
30.0
40.0
51.0

我们发现:选择最大值的权重分布只包含 { 0 , 1 } \{0,1\} {0,1} 2种权重。结合上述赋予的权重,来计算 X X X的最大值:
m a x ( X ) = 3 × 0.0 + 4 × 0.0 + 5 × 1.0 = 5 max(X)=3\times 0.0 + 4 \times 0.0 + 5 \times 1.0=5 max(X)=3×0.0+4×0.0+5×1.0=5
我们从上述示例中发现:期望值 < 最大值
这种情况是否会一直都成立?从逻辑上讲,在分配权重的时候,但凡我们给非最大值赋予了一些权重,势必会对应减少最大值的权重
从常规上来讲,期望值总是小于最大值的。但也存在特殊情况

  • 数值集合 X X X中所有元素均相同;
  • 将全部的权重(weight)赋予最大值;

上述2种情况的期望值 = 最大值
综上,根据逻辑(不严谨),我们可以得出:在数值集合确定的情况下,期望值 E ( X ) ⩽ E(X) \leqslant E(X) 最大值 m a x ( X ) max(X) max(X)

最优策略与两种价值函数间的关系

根据上一节介绍的 V π ( s ) V_\pi(s) Vπ(s) q π ( s , a ) q_\pi(s,a) qπ(s,a)之间的关联关系:
V π ( s ) = π ( a ∣ s ) q π ( s , a ) V_{\pi}(s)=\pi(a\mid s)q_{\pi}(s,a) Vπ(s)=π(as)qπ(s,a)
我们将 π ∗ \pi^* π替换 π \pi π
V π ∗ ( s ) = π ∗ ( a ∣ s ) q π ∗ ( s , a ) V_{\pi^*}(s)=\pi_*(a\mid s)q_{\pi^*}(s,a) Vπ(s)=π(as)qπ(s,a)
我们知道 V π ∗ ( s ) V_{\pi^*}(s) Vπ(s)是最大状态价值函数, π ∗ ( a ∣ s ) \pi_*(a\mid s) π(as)是最优策略。结合上面 → \to 最大值选择的权重分布最优策略内部权重分布遵循如下规则:
π ∗ ( a ∣ s ) = { 1 i f a = arg ⁡ max ⁡ a ∈ A q π ∗ ( s , a ) 0 e l s e \pi_*(a \mid s) = \left\{ \begin{array}{ll} 1\quad if \quad a= \mathop{\arg\max}\limits_{a \in \mathcal A}q_{\pi^*}(s,a)\\ 0\quad else \end{array} \right. π(as)={1ifa=aAargmaxqπ(s,a)0else
现在知道,我们的最优策略 π ∗ \pi^* π只包含 { 0 , 1 } \{0,1\} {0,1}两种权重,那么 π ∗ \pi^* π权重1对应的值必然是最优状态-动作价值函数,即:
q π ∗ ( s , a ) = q ∗ ( s , a ) = q π ∘ ( s , a ) q_{\pi^*}(s,a) =q_*(s,a)= q_{\pi^\circ}(s,a) qπ(s,a)=q(s,a)=qπ(s,a)
根据上述的逻辑推演,我们最终得到2条结论

  • 最优状态价值函数 V π ∗ ( s ) V_{\pi^*}(s) Vπ(s)最优状态-动作价值函数 q π ∗ ( s , a ) q_{\pi^*}(s,a) qπ(s,a)中的最优策略 π ∗ \pi_* π同一个策略
  • V π ∗ ( s ) = π ∗ ( a ∣ s ) q π ∗ ( s , a ) = max ⁡ a q π ∗ ( s , a ) \begin{aligned} V_{\pi^*}(s) & =\pi_*(a\mid s)q_{\pi^*}(s,a) \\ & =\mathop{\max}\limits_{a}q_{\pi^*}(s,a) \\ \end{aligned} Vπ(s)=π(as)qπ(s,a)=amaxqπ(s,a)
    → V ∗ ( s ) = max ⁡ a q ∗ ( s , a ) \to V_*(s) = \mathop{\max}\limits_{a}q_{*}(s,a) V(s)=amaxq(s,a)
    上式表示 V ∗ ( s ) → q ∗ ( s , a ) V_*(s) \to q_{*}(s,a) V(s)q(s,a)的关联关系,反之同理,后续只需要保证它们是最优策略即可。
    q ∗ ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ V ∗ ( s ′ ) ] q_*(s,a) = \sum_{s',r}p(s',r \mid s,a)[r + \gamma V_*(s')] q(s,a)=s,rp(s,rs,a)[r+γV(s)]

贝尔曼最优方程表达式

根据上面的关联关系,我们继续执行套娃模式

  • V ∗ ( s ) = max ⁡ a q ∗ ( s , a ) = max ⁡ a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ V ∗ ( s ′ ) ] \begin{aligned} V_*(s) & =\mathop{\max}\limits_{a}q_*(s,a) \\ & =\mathop{\max}\limits_{a}\sum_{s',r}p(s',r \mid s,a)[r + \gamma V_*(s')] \\ \end{aligned} V(s)=amaxq(s,a)=amaxs,rp(s,rs,a)[r+γV(s)]
  • q ∗ ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ V ∗ ( s ′ ) ] = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a q ∗ ( s , a ) ] \begin{aligned} q_*(s,a) & = \sum_{s',r}p(s',r \mid s,a)[r + \gamma V_*(s')] \\ & = \sum_{s',r}p(s',r \mid s,a)[r + \gamma\mathop{\max}\limits_{a}q_*(s,a)]\\ \end{aligned} q(s,a)=s,rp(s,rs,a)[r+γV(s)]=s,rp(s,rs,a)[r+γamaxq(s,a)]

贝尔曼最优方程的逻辑过程推导完毕。

相关参考:
【强化学习】马尔科夫决策过程【白板推导系列】
刘建平 - 强化学习(二)马尔科夫决策过程(MDP)


http://chatgpt.dhexx.cn/article/UYpQuZZu.shtml

相关文章

价值函数与贝尔曼方程

一.价值函数 由于在面对不同的状态时&#xff0c;智能体需要选择最优的动作&#xff0c;到达更优的状态以得到更多的奖励.那么我们根据什么判别一个状态或动作的的好坏程度呢&#xff1f;我们引入价值函数。 价值函数的定义是&#xff1a;获得回报的期望。 1.状态价值函数 …

强化学习: 贝尔曼方程与马尔可夫决策过程

强化学习&#xff1a; 贝尔曼方程与马尔可夫决策过程 一、简介 贝尔曼方程和马尔可夫决策过程是强化学习非常重要的两个概念&#xff0c;大部分强化学习算法都是围绕这两个概念进行操作。尤其是贝尔曼方程&#xff0c;对以后理解蒙特卡洛搜索、时序差分算法以及深度强化学习算…

贝尔曼方程(Bellman Equation)的解读

这个算法只适用于没有变化的环境 在解释下面几个专业术语前 我先来说一下这个Agent&#xff0c;中文的意思是 代理&#xff0c;代理人 但是实际上他大概表示的意思就相当于变量&#xff0c;就给你某一个状态贴上了一个标签一样 **状态(State) &#xff1a;**用一个数值来作为…

贝尔曼方程讲解

网格世界示例如下&#xff1a; 贝尔曼方程 在这个网格世界示例中&#xff0c;一旦智能体选择一个动作&#xff0c; 它始终沿着所选方向移动&#xff08;而一般 MDP 则不同&#xff0c;智能体并非始终能够完全控制下个状态将是什么&#xff09; 可以确切地预测奖励&#xff08;…

Bellman 贝尔曼方程究竟是什么

贝尔曼方程是一种思想&#xff0c;而不是一个具体的公式 贝尔曼方程是由美国一位叫做理查德-贝尔曼科学家发现并提出的。 它的核心思想是&#xff1a;当我们在特定时间点和状态下去考虑下一步的决策&#xff0c;我们不仅仅要关注当前决策立即产生的Reward&#xff0c;同时也要…

(详细)强化学习--贝尔曼方程

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/86525700 我有一个疑问&#xff0c;就是在推导过程中&#xff0c;状态s不是变量&#xff0c;st 是t阶段的状态相当于是一个常数&#xff0c;那么为什么sts&#xff0c;常数在等号的左边&#xff0c;变量在等号的右边&#x…

什么是强化学习?(贝尔曼方程)

文章目录 什么是强化学习&#xff1f;&#xff08;贝尔曼方程&#xff09;3.贝尔曼方程(Bellman equation)3.1贝尔曼期望方程(Bellman expectation equation)3.2 贝尔曼最优方程(Bellman optimality equation) 4. M D P MDP MDP 的动态编程(dynamic programming)4.1 M D P MD…

Bellman Equation 贝尔曼方程

Bellman equation(贝尔曼方程)&#xff0c;是以Richard E.Bellman命名&#xff0c;是数值最优化方法的一个必要条件&#xff0c;又称为动态规划。它以一些初始选择的收益以及根据这些初始选择的结果导致的之后的决策问题的“值”&#xff0c;来给出一个决策问题在某一个时间点的…

贝尔曼方程详尽推导(无跳步|带图)

贝尔曼方程推导&#xff08;无跳步&#xff09; 这两天学习MDP&#xff0c;对于贝尔曼方程有很大的困惑&#xff0c;而且找了很多资料都没有详尽的推导&#xff0c;我这里把详尽推导写出来&#xff0c;希望能帮到正在学习的同学们。 V π ( s ) E [ G t ∣ S t s ] E [ R t…

20张图深度详解MAC地址表、ARP表、路由表

本文我们以两个案例为例&#xff0c;深度来讲解一下网络中我们经常要用到的mac地址表、ARP表、路由表&#xff0c;掌握了这3张表&#xff0c;基本上就能够掌握了网络中数据通信的原理&#xff0c;成为网络中的武林高手&#xff01; 数据网络的本质就是为了传递数据&#xff0c;…

观察交换机学习MAC地址表的过程

查看交换机的mac地址表 dis mac-address 此时路由表为空 为pc配置IP地址 由pc3 ping 数据包 通过发送arp数据包 可使交换机学习到 pc3的mac地址 此时交换机学习到了pc3的mac地址 通过 E0/0/1接口 通过数据抓包可见 ping pc4 交换机也学习到了相应的mac地址

LAN---MAC表简介(MAC地址分类、MAC地址表生成方式、MAC表报文转发方式、MAC地址表分类、AC地址老化、端口安全、安全MAC地址分类、MAC地址漂移、MAC地址防漂移)

MAC表简介 介绍MAC表的定义、由来和作用。 MAC&#xff08;MediaAccessControl&#xff09;地址用来定义网络设备的位置。MAC地址由48比特长、12位的16进制数字组成&#xff0c;0到23位是厂商向IETF等机构申请用来标识厂商的代码&#xff0c;24到47位由厂商自行分派&#xff0c…

华为交换机MAC地址表分类与实验

MAC地址表分类&#xff1a; 动态表项由接口通过对报文中的源MAC地址学习方式动态获取到&#xff0c;这类MAC地址有老化的时间&#xff0c;并且可以自己修改&#xff0c;老化时间越短&#xff0c;交换机对周边的网络变化越敏感&#xff0c;适合在网络拓扑变化比较环境中&#xf…

华为路由器上有没有mac表_MAC地址表、ARP缓存表、路由表及交换机、路由器基本原理...

MAC地址表 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的。在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表负责将数据帧传输到指定的主机上的。 交换机的工作原理 交换机在接收到数据帧…

MAC地址表+端口安全+MAC地址漂移

目录 一、MAC地址表的组成 二、端口安全&#xff08;Port Security&#xff09; 三、MAC地址漂移 1、配置接口mac地址学习优先级&#xff08;MAC地址表就不会被抢占覆盖了&#xff09; 2、配置不允许相同优先级接口mac地址漂移&#xff08;不要轻易配置&#xff09; 四、…

怎么管理思科交换机MAC地址表?

【欢迎关注微信公众号&#xff1a;厦门微思网络】 实验目的 1、理解交换机的工作原理 2、掌握交换机MAC地址表的管理方法 实验拓扑 【欢迎关注微信公众号&#xff1a;厦门微思网络】 实验需求 1、根据实验拓扑图&#xff0c;完成设备的基本配置&#xff1b; 2、测试主机之间…

交换机MAC地址表实验任务

一、实验目的 1、掌握交换机学习MAC地址的过程 二、实验内容 1、跟据所给题目完成MAC地址表实验 三、实验过程 1、实验任务说明 如图1-1所示&#xff0c;在GNS3软件中&#xff0c;使用一台三层交换机&#xff08;S3950&#xff09;以及两台PC机&#xff0c;进行配置后根据…

MAC地址、MAC地址表、端口安全、MAC地址漂移

一、MAC地址 mac地址主要工作在数据链路层&#xff0c;主要用于单个广播域内的数据传输 1.组成 总共48Bit&#xff0c;前24bit是通过向IETF等机构申请用来标识厂商的代码&#xff0c;后24bit由是厂商分配给产品的唯一数值 2.作用 mac地址工作在数据链路层 数据的封装和解封…

网络之MAC地址表学习

MAC地址表是在交换机中记录局域网主机和对应接口关系的表&#xff0c;交换机就是根据这张表负责将数据帧传输到指定的主机上的。 MAC表一般包含动态MAC地址、静态MAC地址和黑洞MAC地址。 动态MAC地址&#xff1a;由接口通过报文中的源MAC地址学习获得&#xff0c;表项可老化&…

linux mac地址表 大小写吗,04-MAC地址表命令

1MAC地址表配置命令 MAC地址表中对于接口的相关配置&#xff0c;目前只能在二层以太网端口以及二层聚合接口等二层接口上进行。 本章节内容只涉及单播的静态、动态、黑洞MAC地址表项的配置。有关静态组播MAC地址表项的相关介绍和配置内容&#xff0c;请参见“IP组播配…