“贝尔曼方程”那些事儿:含贝尔曼方程详细推导,通俗易懂

欢迎大家关注搜索关注微信公众号《一懂算法》,希望能把东西讲的通俗易懂,终极目标是一遍就懂

零、前言

相信只要是浅学过强化学习的人应该都能感受到贝尔曼方程的重要性,可以说是遍布了各种教程的每个角落。在遇到这些贝尔曼方程的时候,一直有几个问题困扰着我:

  1. 怎么又冒出来一个贝尔曼方程?
  2. 咋格式还和上一个不一样,变体咋这么多?
  3. 证明怎么这么跳跃?

几度回看都是跳过贝尔曼方程的细节,不想被绕进去。这几天终于有时间静下心来把证明过程理清了一遍,希望能用直白的语言跟大家讲清楚,尽量掰开揉碎了讲给大家。

一、基础变量符号定义

讲之前还是得声明一下几个重要变量的符号,毕竟不同版本之前的符号约定很容易差异。【这里默认大家了解强化学习基础概念,只是简单声明定义】
t t t回合下:

  1. 奖励为 r t r_t rt,状态为 s t s_t st,动作为 a t a_t at
  2. 回报 G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + γ 3 R t + 4 + … + γ T − t − 1 R T G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\gamma^3R_{t+4}+\ldots+\gamma^{T-t-1}R_T Gt=Rt+1+γRt+2+γ2Rt+3+γ3Rt+4++γTt1RT,也就是当前回合到回合结束的总奖励(含折扣)
  3. 状态价值函数 V π ( s t ) = E π [ G t ∣ S t = s t ] V_\pi(s_t)=\mathbb{E}_\pi\begin{bmatrix}G_t\mid S_t=s_t\end{bmatrix} Vπ(st)=Eπ[GtSt=st],即 s t s_t st状态下回报的期望
  4. 动作价值函数 Q π ( s t , a t ) = E π [ G t ∣ S t = s t , A t = a t ] Q_\pi(s_t,a_t)=\mathbb{E}_\pi\left[G_t\mid S_t=s_t,A_t=a_t\right] Qπ(st,at)=Eπ[GtSt=st,At=at],即 s t s_t st状态下执行动作 a t a_t at后回报的期望

二、抽丝剥茧,逐步证明

好了,现在开始进入正文:

  1. 首先,为什么贝尔曼方程能成为强化学习的核心基础?
    V ( s t ) = R ( s t ) + γ E [ V t + 1 ∣ S t = s t ] \begin{aligned} V(s_t)=R(s_t)+\gamma\mathbb{E}[V_{t+1}|S_t=s_t] \end{aligned} V(st)=R(st)+γE[Vt+1St=st]
  • 是因为它描述的是当前状态的价值和下一状态的价值的关系,有了这个关系,就可以通过下一个状态的价值来迭代更新上一状态的价值【这样就可以通过最后一个状态逐步往前倒着推】。
  • 这也是贝尔曼方程推导思想的核心,我们需要想办法找到当前状态价值和下一状态价值的具体关系,搭好它们之间的“大桥”,也就是找到 V ( s t ) V(s_t) V(st) V ( s t + 1 ) V(s_{t+1}) V(st+1)的公式关系。
  1. 那么如何找到 V ( s t ) V(s_t) V(st) V ( s t + 1 ) V(s_{t+1}) V(st+1)的公式关系呢?
  • 首先我们先从状态价值函数的定义出发进行拆分,看看能不能从 V ( s t ) V(s_t) V(st)中拆分出 V ( s t + 1 ) V(s_{t+1}) V(st+1)
    V ( s t ) = E [ G t ∣ S t = s t ] (状态价值函数的定义) = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + … ∣ S t = s t ] (回报的定义) = E [ R t + 1 ∣ S t = s t ] + γ E [ R t + 2 + γ R t + 3 + γ 2 R t + 4 + … ∣ S t = s t ] (期望的可加性) = R ( s t ) + γ E [ G t + 1 ∣ S t = s t ] (回报的定义) \begin{aligned} V(s_t)& =\mathbb{E}\left[G_t\mid S_t=s_t\right](状态价值函数的定义) \\ &=\mathbb{E}\begin{bmatrix}R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\ldots\mid S_t=s_t\end{bmatrix}(回报的定义) \\ &=\mathbb{E}\left[R_{t+1}|S_t=s_t\right]+\gamma\mathbb{E}\left[R_{t+2}+\gamma R_{t+3}+\gamma^2R_{t+4}+\ldots\mid S_t=s_t\right](期望的可加性) \\ &=R(s_t)+\gamma\mathbb{E}[G_{t+1}|S_t=s_t](回报的定义) \end{aligned} V(st)=E[GtSt=st](状态价值函数的定义)=E[Rt+1+γRt+2+γ2Rt+3+St=st](回报的定义)=E[Rt+1St=st]+γE[Rt+2+γRt+3+γ2Rt+4+St=st](期望的可加性)=R(st)+γE[Gt+1St=st](回报的定义)

  • 我们现在得到了 V ( s t ) V(s_t) V(st) G t + 1 G_{t+1} Gt+1的关系,这个时候我们还是无法去做迭代的,因为 V ( s t ) V(s_t) V(st)无法继续往前推导出 V ( s t − 1 ) V(s_{t-1}) V(st1),我们还是需要继续得到 V ( s t ) V(s_t) V(st) V ( s t + 1 ) V(s_{t+1}) V(st+1)之间的迭代关系,才能循环推导下去,因此我们还需要从 G t + 1 G_{t+1} Gt+1中拆分出 V ( s t + 1 ) V(s_{t+1}) V(st+1)

    • 首先从定义上可以显然知道两者的关系,即 V ( s t + 1 ) = E [ G t + 1 ∣ S t + 1 = s t + 1 ] V(s_{t+1})=\mathbb{E}\begin{bmatrix}G_{t+1}\mid S_{t+1}=s_{t+1}\end{bmatrix} V(st+1)=E[Gt+1St+1=st+1],这里我们发现其实已经很接近上面的 E [ G t + 1 ∣ S t = s t ] \mathbb{E}\begin{bmatrix}G_{t+1}\mid S_t=s_{t}\end{bmatrix} E[Gt+1St=st]了,两者求期望的目标都是 G t + 1 G_{t+1} Gt+1,只不过两者求期望的条件不一样,一个是 s t s_t st,一个是 s t + 1 s_{t+1} st+1。这个时候我们注意, s t + 1 s_{t+1} st+1就是 s t s_t st的下一个状态,换句话说也相当于 s t s_t st的一个子空间,这时候我们就可以用全期望公式建立起它们的联系了。

    • 全期望公式: E ( X ) = ∑ k m P ( Y k ) E ( X ∣ Y k ) = E ( E ( X ∣ Y ) ) E(X)=\sum_{k}^m P(Y_k)E(X|Y_k)=E(E(X|Y)) E(X)=kmP(Yk)E(XYk)=E(E(XY))
      公式含义说法1:随机变量X的数学期望等于,局部条件下X的期望的加权平均
      公式含义说法2:将样本空间划分为m个互斥的子空间,在每个空间下对X求期望然后再加权平均,结果就等于直接对X求期望

    • 那么由全期望公式我们可以得到:
      E [ G t + 1 ∣ S t = s t ] = ∑ s t + 1 E [ G t + 1 ∣ S t = s t , S t + 1 = s t + 1 ] p ( s t + 1 ∣ s t ) \mathbb{E}[G_{t+1}|S_{t}=s_{t}]=\sum_{s_{t+1}}\mathbb{E}[G_{t+1}|S_t=s_{t},S_{t+1}=s_{t+1}]p(s_{t+1}|s_{t}) E[Gt+1St=st]=st+1E[Gt+1St=st,St+1=st+1]p(st+1st)
      再由于马尔可夫性, G t + 1 G_{t+1} Gt+1其实只和 s t + 1 s_{t+1} st+1有关,和 s t s_{t} st无关,因此
      E [ G t + 1 ∣ S t = s t , S t + 1 = s t + 1 ] = E [ G t + 1 ∣ S t + 1 = s t + 1 ] = V ( s t + 1 ) \mathbb{E}[G_{t+1}|S_t=s_{t},S_{t+1}=s_{t+1}]=\mathbb{E}[G_{t+1}|S_{t+1}=s_{t+1}]=V(s_{t+1}) E[Gt+1St=st,St+1=st+1]=E[Gt+1St+1=st+1]=V(st+1)
      将其代回上一个式子得,
      E [ G t + 1 ∣ S t = s t ] = ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) = E [ V t + 1 ∣ S t = s t ] \mathbb{E}[G_{t+1}|S_{t}=s_{t}]=\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t})=\mathbb{E}[V_{t+1}|S_{t}=s_{t}] E[Gt+1St=st]=st+1V(st+1)p(st+1st)=E[Vt+1St=st]
      综上
      V ( s t ) = R ( s t ) + γ E [ G t + 1 ∣ S t = s t ] = R ( s t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) = R ( s t ) + γ E [ V t + 1 ∣ S t = s t ] \begin{aligned} V(s_t)&=R(s_t)+\gamma\mathbb{E}[G_{t+1}|S_t=s_t] \\ &=R(s_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t}) \\ &=R(s_t)+\gamma\mathbb{E}[V_{t+1}|S_t=s_t] \end{aligned} V(st)=R(st)+γE[Gt+1St=st]=R(st)+γst+1V(st+1)p(st+1st)=R(st)+γE[Vt+1St=st]
      以上的公式也被称作“贝尔曼期望方程”。

三、千遍万化,打包汇总

证明好了上面的方程后,很有可能会有人有疑惑:“这和我看到的贝尔曼方程也不是完全一样啊,我看到的感觉更复杂啊”。确实,上面只是贝尔曼方程中的一种形式,但是搞明白了一种之后,其它的推导和转化也就容易了,接下来我们将逐步推导并转化出贝尔曼方程的其它形式:

  1. 贝尔曼期望方程——展开版(考虑动作 a t a_t at
    V ( s t ) = R ( s t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) = R ( s t ) + γ ∑ s t + 1 [ V ( s t + 1 ) ∑ a t p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) ] \begin{aligned} V(s_t) &=R(s_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t}) \\ &=R(s_t)+\gamma\sum_{s_{t+1}}[V(s_{t+1})\sum_{a_{t}}p(s_{t+1}|s_{t},a_t)\pi(a_t|s_{t})] \end{aligned} V(st)=R(st)+γst+1V(st+1)p(st+1st)=R(st)+γst+1[V(st+1)atp(st+1st,at)π(atst)]

    • 以上其实就是把 p ( s t + 1 ∣ s t ) p(s_{t+1}|{s_t}) p(st+1st)展开,这个通常是结合了马尔可夫决策过程的概念,中间加了一个动作的环节,就是在状态 s t s_t st下,会根据策略 π \pi π去执行动作 a t a_t at,执行概率为 π ( a t ∣ s t ) \pi(a_t|s_{t}) π(atst),然后根据 a t a_t at再转移到 s t + 1 s_{t+1} st+1,转移概率为 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_{t},a_t) p(st+1st,at)。所以上面其实就是一个全概率公式的展开: p ( s t + 1 ∣ s t ) = ∑ a t p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) p(s_{t+1}|s_{t})=\sum_{a_{t}}p(s_{t+1}|s_{t},a_t)\pi(a_t|s_{t}) p(st+1st)=atp(st+1st,at)π(atst)

    • 对于 R ( s t ) R(s_t) R(st),原本 R ( s t ) = E [ R t + 1 ∣ S t = s t ] = ∑ r t + 1 r t + 1 p ( r t + 1 ∣ s t + 1 ) R(s_t)=\mathbb{E}\left[R_{t+1}|S_t=s_t\right]=\sum_{r_{t+1}}r_{t+1}p(r_{t+1}|s_{t+1}) R(st)=E[Rt+1St=st]=rt+1rt+1p(rt+1st+1),引入 a t a_t at后,则可同理可展开为: p ( r t + 1 ∣ s t + 1 ) = ∑ a t p ( r t + 1 ∣ s t , a t ) π ( a t ∣ s t ) p(r_{t+1}|s_{t+1})=\sum_{a_t}p(r_{t+1}|s_t,a_t)\pi(a_{t}|s_{t}) p(rt+1st+1)=atp(rt+1st,at)π(atst)

    • 因此:
      V ( s t ) = ∑ r t + 1 [ r t + 1 ∑ a t p ( r t + 1 ∣ s t , a t ) π ( a t ∣ s t ) ] + γ ∑ s t + 1 [ V ( s t + 1 ) ∑ a t p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) ] = ∑ a t π ( a t ∣ s t ) ∑ r t + 1 r t + 1 p ( r t + 1 ∣ s t , a t ) + γ ∑ a t π ( a t ∣ s t ) ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t , a t ) = ∑ a t π ( a t ∣ s t ) [ ∑ r t + 1 r t + 1 p ( r t + 1 ∣ s t , a t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t , a t ) ] \begin{aligned} V(s_t) &=\sum_{r_{t+1}}[r_{t+1}\sum_{a_t}p(r_{t+1}|s_t,a_t)\pi(a_{t}|s_{t})]+\gamma\sum_{s_{t+1}}[V(s_{t+1})\sum_{a_{t}}p(s_{t+1}|s_{t},a_t)\pi(a_t|s_{t})]\\ &=\sum_{a_t}\pi(a_{t}|s_{t})\sum_{r_{t+1}}r_{t+1}p(r_{t+1}|s_t,a_t)+\gamma\sum_{a_{t}}\pi(a_t|s_{t})\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t},a_t)\\ &=\sum_{a_t}\pi(a_{t}|s_{t})[\sum_{r_{t+1}}r_{t+1}p(r_{t+1}|s_t,a_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t},a_t)] \end{aligned} V(st)=rt+1[rt+1atp(rt+1st,at)π(atst)]+γst+1[V(st+1)atp(st+1st,at)π(atst)]=atπ(atst)rt+1rt+1p(rt+1st,at)+γatπ(atst)st+1V(st+1)p(st+1st,at)=atπ(atst)[rt+1rt+1p(rt+1st,at)+γst+1V(st+1)p(st+1st,at)]

    • 注:有的版本会再加个下标 π \pi π,比如 p π ( r t + 1 ∣ s t , a t ) p_\pi(r_{t+1}|s_t,a_t) pπ(rt+1st,at),直接替换即可,不影响以上的推导

  2. 贝尔曼期望方程——矩阵版
    矩阵版也是可以从 R ( s t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) R(s_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t}) R(st)+γst+1V(st+1)p(st+1st)开始推导,核心需要转化的就是那个求和符号。为了避免符号混乱,我们这里用, s s s代表当前 t t t时刻的状态,它的值可能是 ( s a , s b , s c ) (s_a,s_b,s_c) (sa,sb,sc)中的一种, s ′ s' s表示下一时刻 t + 1 t+1 t+1时刻的状态,它的值同样可能是 ( s a , s b , s c ) (s_a,s_b,s_c) (sa,sb,sc)中的一种,也就是 p ( s b ∣ s a ) p(s_b|s_a) p(sbsa)代表了 s a s_a sa s b s_b sb之间的转移概率,外面的求和符号,代表需要在已知 s s s具体状态值的情况下遍历 s ′ s' s可能的所有值。假设s有三种状态值 ( s a , s b , s c ) (s_a,s_b,s_c) (sa,sb,sc),则将值代入之前的公式得:
    { V ( s a ) = R ( s a ) + γ ∑ s ′ ∈ ( s a , s b , s c ) V ( s ’ ) p ( s ′ ∣ s a ) V ( s b ) = R ( s b ) + γ ∑ s ′ ∈ ( s a , s b , s c ) V ( s ’ ) p ( s ′ ∣ s b ) V ( s c ) = R ( s c ) + γ ∑ s ′ ∈ ( s a , s b , s c ) V ( s ’ ) p ( s ′ ∣ s c ) \left\{ \begin{aligned} V(s_a) = R(s_a)+{\gamma}\sum_{s'\in(s_a,s_b,s_c)}V(s’)p(s'|s_a) \\ V(s_b) = R(s_b)+{\gamma}\sum_{s'\in(s_a,s_b,s_c)}V(s’)p(s'|s_b)\\ V(s_c) = R(s_c)+{\gamma}\sum_{s'\in(s_a,s_b,s_c)}V(s’)p(s'|s_c) \end{aligned} \right. V(sa)=R(sa)+γs(sa,sb,sc)V(s)p(ssa)V(sb)=R(sb)+γs(sa,sb,sc)V(s)p(ssb)V(sc)=R(sc)+γs(sa,sb,sc)V(s)p(ssc)
    写成矩阵形式,则为:
    [ V ( s a ) V ( s b ) V ( s c ) ] = [ R ( s a ) R ( s b ) R ( s c ) ] + γ [ p ( s a ∣ s a ) p ( s b ∣ s a ) p ( s c ∣ s a ) p ( s a ∣ s b ) p ( s b ∣ s b ) p ( s c ∣ s b ) p ( s a ∣ s c ) p ( s b ∣ s c ) p ( s c ∣ s c ) ] [ V ( s a ) V ( s b ) V ( s c ) ] \begin{bmatrix}V(s_a)\\V(s_b)\\V(s_c)\end{bmatrix}=\begin{bmatrix}R(s_a)\\R(s_b)\\R(s_c)\end{bmatrix}+\gamma\begin{bmatrix}p(s_a|s_a)&p(s_b|s_a)&p(s_c|s_a)\\p(s_a|s_b)&p(s_b|s_b)&p(s_c|s_b)\\p(s_a|s_c)&p(s_b|s_c)&p(s_c|s_c)\end{bmatrix}\begin{bmatrix}V(s_a)\\V(s_b)\\V(s_c)\end{bmatrix} V(sa)V(sb)V(sc) = R(sa)R(sb)R(sc) +γ p(sasa)p(sasb)p(sasc)p(sbsa)p(sbsb)p(sbsc)p(scsa)p(scsb)p(scsc) V(sa)V(sb)V(sc)
    简化得:
    V = R + γ P V V=R+{\gamma}PV V=R+γPV
    其中 V V V R R R P P P V V V和上方一一对应即可

  3. 贝尔曼期望方程——动作价值函数版

    • 形式1:
      Q ( s t , a t ) = E [ R t + γ V ( s t + 1 ) ∣ S t = s t , A t = a t ] \begin{aligned} Q(s_t,a_t)=\mathbb{E}[R_t+{\gamma}V(s_{t+1})|S_t=s_t,A_t=a_t] \end{aligned} Q(st,at)=E[Rt+γV(st+1)St=st,At=at]

      • 相比于第二部分推导出的 V ( s t ) = R ( s t ) + γ E [ V t + 1 ∣ S t = s t ] V(s_t)=R(s_t)+\gamma\mathbb{E}[V_{t+1}|S_t=s_t] V(st)=R(st)+γE[Vt+1St=st],其区别就在于 Q ( s t , a t ) Q(s_t,a_t) Q(st,at)多考虑了动作 a t a_t at,假设我们现在在 s t s_t st状态下只考虑一种动作 a t a_t at,那么之前的推导过程需要把 ( s t ) (s_t) (st)变成 ( s t , a t ) (s_t,a_t) (st,at)即可,基本不需要做什么改变,因此上面的公式也是可以类似推导的。
    • 形式2:
      Q π ( s t , a t ) = E [ R t + γ Q π ( S t + 1 , A t + 1 ) ∣ S t = s t , A t = a t ] \begin{aligned} Q_\pi(s_t,a_t)=\mathbb{E}[R_t+{\gamma}Q_\pi(S_{t+1},A_{t+1})|S_t=s_t,A_t=a_t] \end{aligned} Qπ(st,at)=E[Rt+γQπ(St+1,At+1)St=st,At=at]

      • 相比于形式1,其实就是把 V t + 1 V_{t+1} Vt+1展开了,因为 V ( s t + 1 ) = E A t ( Q π ( S t , A t ) ) V(s_{t+1})=E_{A_t}(Q_\pi(S_t,A_t)) V(st+1)=EAt(Qπ(St,At))
  4. 贝尔曼最优方程

    1. 最优贝尔曼方程是对应了”最优动作函数“的状态转移:
      Q ⋆ ( s t , a t ) = E S t + 1 [ R t + γ ⋅ max ⁡ A ∈ A Q ⋆ ( S t + 1 , A ) ∣ S t = s t , A t = a t ] Q_{\star}\big(s_{t},a_{t}\big) = \mathbb{E}_{S_{t+1}}\bigg[R_{t}+\gamma\cdot\max_{A\in\mathcal{A}}Q_{\star}\big(S_{t+1},A\big)\bigg|S_{t}=s_{t},A_{t}=a_{t}\bigg] Q(st,at)=ESt+1[Rt+γAAmaxQ(St+1,A) St=st,At=at]
      其中, Q ⋆ ( s t , a t ) Q_{\star}\big(s_{t},a_{t}\big) Q(st,at)对应最优动作函数。这个的推导比较容易,在上一个东西价值函数版贝尔曼方程的基础上,首先把策略 π \pi π换成最优的策略 π ∗ \pi^* π: Q π ∗ ( s t , a t ) = E [ R t + γ Q π ∗ ( S t + 1 , A t + 1 ) ∣ S t = s t , A t = a t ] Q_{\pi^*}(s_t,a_t)=\mathbb{E}[R_t+{\gamma}Q_{\pi^*}(S_{t+1},A_{t+1})|S_t=s_t,A_t=a_t] Qπ(st,at)=E[Rt+γQπ(St+1,At+1)St=st,At=at],而最优策略 π ∗ \pi^* π必然会选出最优的动作,因此 A t + 1 A_{t+1} At+1一定会是选出来的最优动作。

补充

  1. 全期望公式证明

E ( X ) = ∑ i = 1 n x i P ( x i ) < 期望的定义 > = ∑ i = 1 n [ x i ∑ k = 1 m P ( x i , Y k ) ] < 将 P ( x i ) 展开 > = ∑ i = 1 n [ x i ∑ k = 1 m P ( x i ∣ Y k ) P ( Y k ) ] < 条件期望的定义 > = ∑ i = 1 n ∑ k = 1 m [ x i P ( x i ∣ Y k ) P ( Y k ) ] < 交换求和次序 > = ∑ k = 1 m [ ∑ i = 1 n x i P ( x i ∣ Y k ) ] P ( Y k ) < 对 i 求和时, Y k 相当于常量 > = ∑ k = 1 m E ( X ∣ Y k ) P ( Y k ) < 期望的定义 > = E ( E ( X ∣ Y ) ) < 期望的定义 > \begin{aligned} &E\left(X\right) \\ &=\sum_{i=1}^nx_iP(x_i) <期望的定义>\\ &=\sum_{i=1}^n\left[x_i{\sum_{k=1}^mP\left(x_i,Y_k\right)}\right] <将P(x_i)展开>\\ &=\sum_{i=1}^n\left[x_i{\sum_{k=1}^mP\left(x_i|Y_k\right)P\left(Y_k\right)}\right] <条件期望的定义>\\ &=\sum_{i=1}^n{\sum_{k=1}^m[x_iP\left(x_i|Y_k\right)P\left(Y_k\right)]} <交换求和次序>\\ &=\sum_{k=1}^m{[\sum_{i=1}^nx_iP\left(x_i|Y_k\right)]P\left(Y_k\right)} <对i求和时,Y_k相当于常量>\\ &=\sum_{k=1}^m{E(X|Y_k)P\left(Y_k\right)} <期望的定义>\\ &=E(E(X|Y))<期望的定义>\\ \end{aligned} E(X)=i=1nxiP(xi)<期望的定义>=i=1n[xik=1mP(xi,Yk)]<P(xi)展开>=i=1n[xik=1mP(xiYk)P(Yk)]<条件期望的定义>=i=1nk=1m[xiP(xiYk)P(Yk)]<交换求和次序>=k=1m[i=1nxiP(xiYk)]P(Yk)<i求和时,Yk相当于常量>=k=1mE(XYk)P(Yk)<期望的定义>=E(E(XY))<期望的定义>

哈密顿-雅可比-贝尔曼方程推导是基于动态规划的思想。动态规划是一种解决多阶段决策过程最优化问题的方法。在这个过程中,我们需要找到一个最优策略,使得总成本最小化。这个问题可以被分解成多个子问题,每个子问题都是一个最优化问题。通过解决这些子问题,我们可以得到整个问题的最优解。 在动态规划中,我们需要定义一个价值函数,它表示在当前状态下采取最优策略所能得到的最小成本。哈密顿-雅可比-贝尔曼方程就是用来计算这个价值函数的。具体来说,它是一个偏微分方程,描述了价值函数在时间和状态上的变化。 哈密顿-雅可比-贝尔曼方程推导可以分为两个步骤。首先,我们需要定义一个贝尔曼方程,它描述了价值函数在一个时间步长内的变化。然后,我们将这个贝尔曼方程推广到连续时间和状态空间上,得到哈密顿-雅可比-贝尔曼方程。 具体来说,贝尔曼方程可以表示为: V(s) = min_u {c(s,u) + γ ∑_s' p(s'|s,u) V(s')} 其中,V(s)表示在状态s下的价值函数,c(s,u)表示在状态s下采取行动u所产生的成本,p(s'|s,u)表示在状态s下采取行动u后转移到状态s'的概率,γ是一个折扣因子,用于平衡当前和未来的成本。 接下来,我们将这个贝尔曼方程推广到连续时间和状态空间上。我们定义一个哈密顿函数H(x,u,t),它表示在时间t和状态x下采取行动u所能得到的最小成本。哈密顿函数可以表示为: H(x,u,t) = min_v {c(x,u,v,t) + ∂V(x,t)/∂t + ∑_i=1^n f_i(x,u,v,t) ∂V(x,t)/∂x_i} 其中,c(x,u,v,t)表示在状态x下采取行动u和v所产生的成本,f_i(x,u,v,t)表示状态x在第i个维度上的变化率。 最后,我们可以得到哈密顿-雅可比-贝尔曼方程: ∂V(x,t)/∂t + min_u H(x,u,t) = 0 这个方程描述了价值函数在时间和状态上的变化。通过求解这个方程,我们可以得到最优策略和最小成本。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值