第4课 Bellman方程

学习笔记 强化学习 Bellman方程
创建于 2026-05-09
目录

第4课:Bellman 方程

0. 一句话理解

Bellman 方程把“长期价值”拆成“当前一步奖励 + 后续价值”。


1. 为什么需要 Bellman 方程

上一课定义了: - 回报 $G_t$ - 状态价值 $V^\pi(s)$ - 动作价值 $Q^\pi(s,a)$

但这些定义都涉及未来很长一串奖励。
Bellman 方程提供了一个核心突破:

长期价值可以递推地表示出来。

它是 RL 几乎所有经典算法的理论源头。


2. 回报的递推形式

由回报定义:

$$ G_t=r_t+\gamma r_{t+1}+\gamma^2 r_{t+2}+\cdots $$

可得:

$$ G_t=r_t+\gamma G_{t+1} $$

这条式子是 Bellman 思想的最底层来源。

它说明:

从现在开始的总收益 = 当前奖励 + 折扣后的未来总收益


3. Bellman expectation equation(状态价值版)

对于固定策略 $\pi$:

$$ V^\pi(s)=\mathbb{E}\pi \left[r_t+\gamma V^\pi(s)\mid s_t=s\right] $$

含义:

在策略 $\pi$ 下,状态 $s$ 的价值
= 当前一步的期望奖励 + 折扣后的下一状态价值的期望

如果把动作和环境随机性展开,在离散情形可写为:

$$ V^\pi(s)=\sum_a \pi(a\mid s)\sum_{s',r}p(s',r\mid s,a)\bigl[r+\gamma V^\pi(s')\bigr] $$


4. Bellman expectation equation(动作价值版)

对于固定策略 $\pi$:

$$ Q^\pi(s,a)=\mathbb{E}\pi \left[r_t+\gamma Q^\pi(s)\mid s_t=s,a_t=a\right] $$},a_{t+1

更常见的展开写法:

$$ Q^\pi(s,a)=\sum_{s',r}p(s',r\mid s,a)\left[r+\gamma \sum_{a'}\pi(a'\mid s')Q^\pi(s',a')\right] $$

其含义是:

先在状态 $s$ 做动作 $a$,接着在下一状态按策略继续行动,其长期价值满足递推关系。


5. Bellman optimality equation(状态价值版)

最优状态价值满足:

$$ V^(s)=\max_a \sum_{s',r}p(s',r\mid s,a)\bigl[r+\gamma V^(s')\bigr] $$

解释:

一个状态的最优价值,等于所有可能动作中
“当前奖励 + 后续最优价值” 最大的那个。


6. Bellman optimality equation(Q 版)

最优动作价值满足:

$$ Q^(s,a)=\sum_{s',r}p(s',r\mid s,a)\bigl[r+\gamma \max_{a'}Q^(s',a')\bigr] $$

也常写成期望形式:

$$ Q^(s,a)=\mathbb{E}\left[r_t+\gamma \max_{a'}Q^(s_{t+1},a')\mid s_t=s,a_t=a\right] $$

这条式子尤其重要,因为它几乎就是: - Q-learning - DQN

这一路方法的理论核心。


7. expectation 与 optimality 的区别

expectation

针对固定策略 $\pi$,后续动作按策略概率取平均。

optimality

不固定策略,而是假设后续每一步都取最优动作,因此出现 $\max$。

Important

expectation 是“评估某个策略”; optimality 是“刻画最优策略”。

8. bootstrapping(自举)

Bellman 方程的算法意义之一是:

更新当前价值时,可以借助对下一状态价值的估计。

例如:

$$ V(s)\leftarrow r+\gamma V(s') $$

这叫 bootstrapping

它意味着: - 不必等整条轨迹结束 - 可以边交互边更新估计

这个思想对后续 TD、SARSA、Q-learning 都很关键。


9. Bellman 方程为什么伟大

因为它把“长远问题”变成“局部递推问题”。

因此我们可以:

  1. 用迭代法逼近价值函数
  2. 设计基于采样的更新规则
  3. 构造策略评估与最优控制算法

这直接通向: - 06-第5课 动态规划 策略评估 策略迭代 价值迭代


10. 与 Q-learning 的关系

最优 Bellman 方程告诉我们:

$$ Q^(s,a)=\mathbb{E}[r+\gamma \max_{a'}Q^(s',a')] $$

Q-learning 的想法就是:

用样本不断逼近这个关系。

其表格更新形式为:

$$ Q(s,a)\leftarrow Q(s,a)+\alpha\bigl[r+\gamma \max_{a'}Q(s',a')-Q(s,a)\bigr] $$

括号中的差值:

$$ r+\gamma \max_{a'}Q(s',a')-Q(s,a) $$

称为 TD error


11. 一个简单例子

假设状态 $s$ 下有两个动作:

  • 动作 A:立即奖励 2,进入 $s_1$
  • 动作 B:立即奖励 0,进入 $s_2$

若: - $V(s_1)=5$ - $V(s_2)=10$ - $\gamma=0.9$

则: $$ Q(s,A)=2+0.9\times 5=6.5 $$

$$ Q(s,B)=0+0.9\times 10=9 $$

所以虽然 B 当前奖励更低,但长期更优。


12. 易混淆点

Bellman 方程本身不是近似

对定义良好的价值函数来说,Bellman 方程是严格成立的。
近似发生在后续算法求解时。

$s_{t+1}$ 与 $s'$ 的角色不同

详见:07-强化学习公式与符号说明#3. s_{t+1} 与 s' 的区别


13. 我的理解(可补充)

Bellman 方程像一条“总账拆分规则”:

  • 今天拿多少
  • 明天开始还值多少

只要这条拆分规则成立,RL 就能设计递推算法。


14. 复习问题

  1. 为什么 $G_t=r_t+\gamma G_{t+1}$?
  2. Bellman expectation equation 表达了什么?
  3. Bellman optimality equation 和 expectation 有什么不同?
  4. 什么是 bootstrapping?
  5. Q-learning 与 Bellman 最优方程的关系是什么?

15. 前后关联

前置

后续