贝尔曼方程的推导

最佳在学习贝尔曼方程的过程中,一个关键的推导步骤让我思考了很久,最后终于搞明白了。

先补充一个回报Gt的公式在这:

然后价值函数V(s)定义:也就是回报Gt在状态St的回报的期望


有了上面的知识,我们就能推到贝尔曼方程了

下面是贝尔曼方程推导的过程:

从第一步到第四步相信大家都没什么问题,就是将回报Gt的公式展开后,提取折扣因子\gamma后,括号中的内容即为回报Gt+1,这时得到了第四步。

从第四步到第五步也就是关键的,令人困惑的地方,从第四步到第五步为什么Gt+1直接就能替换成v(St+1)呢?

首先将期望拆解成两部分:

然后我们主要关注的是蓝色的右边部分
它的进一步推导过程如下:

这里十分有意思,和常规不同,我们一般熟悉的是E[Gt | St=s]即V(s),但这里左边表示在St=s状态状态下,Gt+1的期望值

它等价于在当前s出发,我们有多个选择转移到不同的s’,到状态s'的概率是p(s'|s)

E[Gt+1 | St=s,St+1=s' ]表示的是我当前的状态是s,我下一个状态是s',然后我计算从下一个状态出发所得到的return(也就是Gt+1) 的mean
最后把他们两项相乘,表示的就是从s状态出发,Gt+1的期望值。

同时等式右边的St=s这一项是可以去掉的,因为根据马尔可夫性质-----下一个状态St+1只于它的前一个状态St有关,因此只保留St+1即可

这时候就已经很明朗了,E[Gt+1 | St=s,St+1=s' ]就是价值函数V(s')的定义,至此推导结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
哈密顿-雅可比-贝尔曼方程推导是基于动态规划的思想。动态规划是一种解决多阶段决策过程最优化问题的方法。在这个过程中,我们需要找到一个最优策略,使得总成本最小化。这个问题可以被分解成多个子问题,每个子问题都是一个最优化问题。通过解决这些子问题,我们可以得到整个问题的最优解。 在动态规划中,我们需要定义一个价值函数,它表示在当前状态下采取最优策略所能得到的最小成本。哈密顿-雅可比-贝尔曼方程就是用来计算这个价值函数的。具体来说,它是一个偏微分方程,描述了价值函数在时间和状态上的变化。 哈密顿-雅可比-贝尔曼方程推导可以分为两个步骤。首先,我们需要定义一个贝尔曼方程,它描述了价值函数在一个时间步长内的变化。然后,我们将这个贝尔曼方程推广到连续时间和状态空间上,得到哈密顿-雅可比-贝尔曼方程。 具体来说,贝尔曼方程可以表示为: 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 这个方程描述了价值函数在时间和状态上的变化。通过求解这个方程,我们可以得到最优策略和最小成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值