Bellman Equation 贝尔曼方程

article/2025/8/2 3:54:42

Bellman equation(贝尔曼方程),是以Richard E.Bellman命名,是数值最优化方法的一个必要条件,又称为动态规划。它以一些初始选择的收益以及根据这些初始选择的结果导致的之后的决策问题的“值”,来给出一个决策问题在某一个时间点的“值”。这样把一个动态规划问题离散成一系列的更简单的子问题,这就是bellman优化准则。

Bellman equation最早应用于工程控制理论和其他的应用数学领域,之后成为了经济学理论的重要工具。但是其基本概念是在John von Neumann和Oskar Morgenstern的《Theory of Games and Economic Behavior 游戏和经济行为理论》,以及Abraham Wald的《sequential analysis顺序分析》中提出的。

几乎任何可以通过最优化控制理论解决的问题都可以通过分析合适的Bellman方程来解决。但是,一般Bellman方程常用于离散时间优化问题中的动态规划问题。在连续时间优化问题上,通常使用一种类似的偏微分方程,Hamilton-Jacobi-Bellman方程。

目录

1. 动态规划中的解析概念

2. 起源

2.1 一种动态决策问题

2.2 贝尔曼最优化理论

2.3 贝尔曼方程

2.4 在随机问题中的应用

3. 解决方法

4. 在经济学中的应用

5. 例子

1. 动态规划中的解析概念
要理解贝尔曼方程,必须理解几个基本概念。

目标函数(objective functions):任何优化问题都有一些目标:最小化旅行时间、最小化成本、最大化利润、最大化效用等。描述这个目标的数学函数称为目标函数。最优化的最终目的都是调整参数使这些目标函数最大或最小。

状态(states):动态规划将多周期规划问题分解成不同时间点的简单步骤。因此,它需要跟踪决策情况是如何随时间演变的。关于做出正确决策所需的当前情况的信息被称为“状态”。例如,为了决定在每一个时间点消耗和花费多少,人们需要知道(除了其他的事情)他们最初的财富。因此,财富将是它们的状态变量之一,但可能还有其他变量。

控制变量(control variables):在任何给定时间点选择的变量通常被称为控制变量。例如,考虑到他们目前的财富,人们可能会决定现在消费多少。现在选择控制变量可能相当于选择下一个状态(财富是“状态”,消费是“控制变量”);更一般地说,除了当前的控制之外,下一个状态也受到其他因素的影响。例如,在最简单的情况下,今天的财富(状态)和消费(控制)可能准确地决定明天的财富(新的状态),尽管通常其他因素也会影响明天的财富。

策略函数(policy function):动态规划方法通过找到一个规则来描述最优计划,它给出了给定状态的任何可能值的控制应该是什么。例如,如果消费(C)仅依赖于财富(W),我们将寻求一个规则,它将消费(控制)作为财富(状态)的函数。这样的规则,将控制写成由状态作为变量的函数,称为策略函数。控制=F(状态)。

最优决策规则(the optimal decision rule):最后,根据定义,最优决策规则是达到目标的最佳可能值的规则。例如,如果有人根据财富,选择消费以使幸福最大化(假设幸福H可以由数学函数来表示,例如效用函数(utility function),并且是由财富定义的东西),那么每一个财富W水平将与一些最高可能的幸福水平H(W)相关联。这里幸福H是目标函数,消费是控制,财富是状态。

值函数(value function):目标的最佳可能值为值函数(大概是因为是估计出来的,所以有个最佳可能,后续理解了再改正)。目标是以状态为变量的函数。

贝尔曼方程(Bellman Equation):理查德·贝尔曼表明,离散时间的动态优化问题可以通过建立一个周期内的值函数与下一个周期的值函数之间的关系,结合向后归纳(一种递归的、分步的形式)的方式来表示。这两个值函数之间的关系称为“贝尔曼方程”。

在该方法中,在最后一个时间段中的最优策略预先指定为一个以当前状态变量的值(财富W)为变量的函数,并且由此得到的目标函数(H(W))的最佳值,以当前状态变量值(W)表示。

接下来,倒数第二个时间段的优化,包括最大化该周期的特定目标函数和未来(最后一个时间段)目标函数的最优值的总和,给出该周期的取决于状态变量的最优策略,作为倒数第二个时间段的决策。该逻辑在时间上递归地返回,直到第一周期决策规则作为初始状态变量值的函数而导出,该值通过优化第一周期特定目标函数和第二周期值函数的值的总和,包含了所有未来周期的值。因此,每个周期的决定是通过明确承认所有未来的决策将是最佳的。

2. 起源

2.1 一个动态规划问题

定义时刻 t 时的状态为 x_t 。

对于0时刻的决策,我们给定初始状态 x_0 .

在任意时刻,有一组基于当前状态可能的动作(控制变量);把它写作 a_{t} \in \Gamma (x_t),此处的 a_t 表示一个或多个控制变量。这个式子的意思是当前状态采取的动作要在可能的范围内,比如你有100块钱,在不赊账的情况下你不可能花掉200块钱,你的可能消费只能在0到100元之间。

我们同样假设:当执行动作 a 后,当前状态从 x 变为新的状态 T(x,a) ,且当前的回报(通过在 x 状态,执行 a 动作得到的回报)为 F(x,a) 。

最后我们定义impatience, 即折扣因子(discount factor)为 0<\beta<1

基于以上假设,无限时域决策问题可以写成如下形式:

V(x_0) \; = \; \max_{ \left \{ a_{t} \right \}_{t=0}^{\infty} } \sum_{t=0}^{\infty} \beta^t F(x_t,a_{t})

其满足以下约束:

a_{t} \in \Gamma (x_t), \; x_{t+1}=T(x_t,a_t), \; \forall t = 0, 1, 2, \dots

注意,我们定义了符号V(x_0)来表示最优值,这个最优值是通过最大化满足假设约束条件的目标函数值来获得的。这个函数就是“值函数”,它是一个与初始状态有关的函数,因为可以获得的最好的值取决于初始状态。

2.2 贝尔曼优化策略

动态规划方法把决策问题离散为更小的子问题。Richard Bellman的优化策略描述了这个过程:

优化策略:最优策略的性质是,无论初始状态和初始决策是什么,其余的决策必须构成关于第一决策所导致的状态的最优策略。(换成人话就是:无论你最初做了多么SB的决定,生活还是要继续,最优策略要保证你能在当初做的那个决定的影响下获得你能达到的最幸福美满的人生。)

在计算机科学中,一个可以像这样分解的问题被认为具有最佳的子结构。在动态博弈论的背景下,这一原理类似于子博弈完全均衡的概念,虽然在这种情况下构成最优策略的条件是由决策者的对手从他们的观点中选择相似的最优策略。

根据最优性原理的建议,我们将单独考虑第一个决定,抛开所有未来的决定(我们将从时刻 1 的新的状态 x_{1} 重新开始)。在右边括号中收集未来的决定,以前的问题相当于:

{\displaystyle \max _{a_{0}}\left\{F(x_{0},a_{0})+\beta \left[\max _{\left\{a_{t}\right\}_{t=1}^{\infty }}\sum _{t=1}^{\infty }\beta ^{t-1}F(x_{t},a_{t}):a_{t}\in \Gamma (x_{t}),\;x_{t+1}=T(x_{t},a_{t}),\;\forall t\geq 1\right]\right\}}

 

满足以下约束:

a_{0}\in \Gamma (x_{0}),\;x_{1}=T(x_{0},a_{0}).

这里我们选择了 a_{0} , 因此我们的选择会导致时刻 1 时状态变成 x_{1}=T(x_{0},a_{0}).

新的状态会对时刻1以后的决策有影响。整个未来决策问题出现在右边的方括号中。

2.3 贝尔曼方程

到目前为止,我们似乎只是把今天的决定与未来的决定分开了。但是我们可以注意到右边的方括号内的内容是时刻1的决策问题的值,从状态 x_{1}=T(x_{0},a_{0}) 开始,基于上述条件可以对式子进行简化。

因此,我们可以将问题重新定义为值函数递归:

V(x_{0})=\max _{a_{0}}\{F(x_{0},a_{0})+\beta V(x_{1})\}

上式满足以下约束:

a_{0}\in \Gamma (x_{0}),\;x_{1}=T(x_{0},a_{0}).

上式就是贝尔曼方程。(天哪!终于写到这里了!

去掉一些时间下标,代入下一时刻的值,它还可以被进一步简化为如下形式:

V(x)=\max _{a\in \Gamma (x)}\{F(x,a)+\beta V(T(x,a))\}.

贝尔曼方程被归类为函数方程(functional equation),因为求解它意味着寻找未知函数V,即函数值。回想一下,价值函数描述了目标的最佳可能值,作为状态X的函数。通过计算值函数,我们还会发现函数 a_{(x)} ,它描述了作为状态的函数的最优动作;这被称为策略函数。

2.4 一个随机问题的应用

在确定性设置中,除了动态规划之外,还可以使用其他技术来解决上述最优控制问题。然而,Belman方程往往是求解随机最优控制问题最方便的方法。

对于经济学的一个具体例子,考虑一个无限寿命消费者在时刻 {\displaystyle 0} 时有财富 {\displaystyle {\color {Red}a_{0}}} 。

他有一个瞬时(utility function)效用函数 u(c) , c 表示消费,并将下一个周期的效用以 {\displaystyle 0<\beta <1} 的速率来打折。

假设周期 t 中没有发生消费,财富以进入下一周期,利率为 r 。

那么,这个消费者的效用最大化问题可以写成:选择一个消费计划 {\displaystyle \{​{\color {OliveGreen}c_{t}}\}} ,使下式中右边的方程最大:

{\displaystyle \max \sum _{t=0}^{\infty }\beta ^{t}u({\color {OliveGreen}c_{t}})}

上式满足约束 :

{\displaystyle {\color {Red}a_{t+1}}=(1+r)({\color {Red}a_{t}}-{\color {OliveGreen}c_{t}}),\;{\color {OliveGreen}c_{t}}\geq 0,}

{\displaystyle \lim _{t\rightarrow \infty }{\color {Red}a_{t}}\geq 0.}

第一个约束是由问题指定的资本积累/运动规律,而第二个约束是一个横截(边界)条件,即消费者在他生命结束时不承担债务。贝尔曼方程

V(a)=\max _{0\leq c\leq a}\{u(c)+\beta V((1+r)(a-c))\},

\emph{\textbf V}(a_t) = \max_{0\leq c \leq a}\{u(c) + \beta\emph{\textbf V}(a_{t+1}) \}

或者,也可以直接使用哈密顿方程来处理序列问题。

如果利率随着周期变化,那么消费者则面对的是一个随机优化问题。

假设利率是一个马尔可夫过程,其概率转移函数为 {\displaystyle Q(r,d\mu _{r})} ,如果当前利率是 r 的话,{\displaystyle d\mu _{r}} 表示下一周期的利率分布的概率测量,模型的时刻是消费者在当前利率公布之后决定当前周期的消费。

消费者现在必须给每个可能的实现 {\displaystyle \{r_{t}\}}  选择一个序列{\displaystyle \{​{\color {OliveGreen}c_{t}}\}},而不是简单地选择一个序列 {\displaystyle \{​{\color {OliveGreen}c_{t}}\}},以使他的在此生能获得的期望效用最大化。

{\displaystyle \max \mathbb {E} {\bigg (}\sum _{t=0}^{\infty }\beta ^{t}u({\color {OliveGreen}c_{t}}){\bigg )}.}

由以 r 为参数的Q给出一个合适的概率测量值,并由此计算出期望值 \mathbb {E} .

由于 r 受马尔可夫过程控制,动态规划将这个问题显著简化了。贝尔曼方程

V(a,r)=\max _{0\leq c\leq a}\{u(c)+\beta \int V((1+r)(a-c),r')Q(r,d\mu _{r})\}.

在合理的假设下,得到的最优策略函数 g(a,r) 是可测量的。

对于具有Markovian冲击的一般随机序贯优化问题,在代理人面临决策的情况下,贝尔曼方程具有非常相似的形式。

V(x,z)=\max _{c\in \Gamma (x,z)}F(x,c,z)+\beta \int V(T(x,c),z')d\mu _{z}(z').

3. 解决方法

待定系数的方法,也称为“猜测和验证”,可以用来解决一些无限时域自治贝尔曼方程。

Bellman方程可以通过反向归纳来求解,无论是在特殊情况下还是在计算机上进行数值分析。数值向后归纳法适用于各种各样的问题,但由于维数灾难,当存在许多状态变量时可能是不可行的。D. P. Bertsekas和J. N. Tsitsiklis引入了近似动态规划,利用人工神经网络(多层感知器)来逼近贝尔曼函数。这是一种有效的缓解策略,通过替换完备函数映射的记忆来减少维数的影响。对于整个空间域具有记忆唯一的神经网络参数。

通过计算与Bellman方程相关的一阶条件,然后利用包络定理消除数值函数的导数,可以得到一个差分方程或微分方程组,称为“Euler方程”。求解差分或差分的标准技术。ILE方程可以用来计算状态变量的动态和优化问题的控制变量。

4. 例子

在马尔可夫过程中,贝尔曼方程是向后迭代的。例如,对于一个特定状态s,一个固定策略 \pi ,其期望的奖励的贝尔曼方程为:

V^{\pi }(s)=R(s,\pi (s))+\gamma \sum _{s'}P(s'|s,\pi (s))V^{\pi }(s')

这个方程表示采取了策略 \pi 规定的动作后的期望奖励。

这个最优策略的方程称为Belman最优方程:

{\displaystyle V^{\pi *}(s)=\max _{a}\{​{R(s,a)+\gamma \sum _{s'}P(s'|s,a)V^{\pi *}(s')}\} \ }

其中{\displaystyle {\pi *}}是优化策略,{\displaystyle V^{\pi *}}是最优策略的值函数。上面的等式描述了达到最高预期的行动对应的奖励。


以上内容翻译自维基百科,只添加了部分自己的理解。

原文地址:https://en.wikipedia.org/wiki/Bellman_equation#Bellman's_Principle_of_Optimality


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

相关文章

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

贝尔曼方程推导&#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组播配…

SW转发与MAC地址表

一个心胸狭隘的人讲不出来大格局的话&#xff0c;一个没有使命感的人呢讲不出来有责任的话。—翟鸿燊 文章目录 一、MAC地址表二、拓扑三、基础配置与分析四、SW的数据转发五、MAC地址表安全5.1 攻击原理5.2 防御措施 一、MAC地址表 1、作用&#xff1a; MAC表记录了相连设备的…

1、MAC地址表项实验配置步骤

实验拓扑图&#xff1a; 实验配置思路&#xff1a; 1、查看动态MAC地址表项 2、配置静态MAC地址表项 3、配置黑洞MAC地址表项 静态表项和黑洞表项都优于动态表项 静态表项和黑洞表项重启后不会消失&#xff0c;动态表项重启之后会消失 实验摘要重点命令&#xff1a; <Hua…

华为-MAC地址表

一. MAC地址表的定义 MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系&#xff0c;以及接口所属VLAN等信息。设备在转发报文时&#xff0c;根据报文的目的MAC地址查询MAC地址表&#xff0c;如果MAC地址表中包含与报文目的MAC地址对应的表项&#xff0c;则直接…

MAC地址表

MAC地址表 MAC地址表记录了相连设备的MAC地址、接口号以及所属的VLAN ID之间的对应关系&#xff0c;是VLAN内数据转发的决策表&#xff0c;是决定交换机转发行为的标准&#xff0c;交换机就是根据这张表负责将数据帧传输到指定的主机上的。 MAC表一般包含动态MAC地址、静态MAC…

win+E打开文件资源管理器,但是打开的是快速访问

当使用快捷键&#xff0c;WinE的时候&#xff0c;打开的不是此电脑&#xff0c;而是快速访问的界面的时候&#xff0c;可以进行如下的处理&#xff1a; 1、继续WinE&#xff0c;然后找到查看&#xff0c;如下&#xff1a; 将快速访问换成->此电脑就可以了&#xff0c;这样就…

Win10 文件夹右键菜单打不开,快速访问点击卡死

如题&#xff0c;win10文件夹卡死了&#xff0c;人也好焦虑~ --------------------------------------------------------------- 一通百度&#xff0c;最后发现是右键菜单的问题&#xff0c;不知道安装啥软件&#xff0c;给我在文件夹右键菜单里加入了有问题的项&#xff0c;…

win10 如何关闭系统中的快速访问

在 Win10 系统中 快速访问 功能默认是打开的&#xff0c;这个功能会在你打开某些文件后&#xff0c;记录下你最近访问过的最新文件。这个功能比较有利的一面是提高了工作效率。它将我们经常访问的文件夹都直接记录下来了&#xff0c;访问了我们下一次的访问&#xff0c;但另一个…

怎么让Win10不显示快速访问记录

百度经验 快速访问记录本来是方便操作&#xff0c;但是有时候会泄露隐私&#xff0c;所以这个功能很多时候并不受大家的欢迎&#xff0c;下面小编教大家怎么设置不显示访问记录&#xff0c;供大家参考&#xff01; 双击此电脑进入&#xff0c;如下图所示 点击上方菜单的查看&…