折扣回报可以拆成当前一步奖励与下一时刻回报:
Gt=Rt+1+γRt+2+γ2Rt+3+⋯=Rt+1+γGt+1
Bellman Equation 的关键思想正是这种“一步展开”:一个状态的长期价值,等于即时奖励加上下一状态价值的折扣期望。
对固定策略 π,状态值函数满足:
Vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γVπ(s′)]
这个方程包含三层平均:
- 按照策略 π(a∣s) 对动作求期望。
- 按照环境动力学 p(s′,r∣s,a) 对下一状态和奖励求期望。
- 将即时奖励与下一状态的价值相加。
也可以简写为:
Vπ(s)=Eπ[Rt+1+γVπ(St+1)∣St=s]
动作值函数固定了第一步动作,因此有:
Qπ(s,a)=s′,r∑p(s′,r∣s,a)[r+γa′∑π(a′∣s′)Qπ(s′,a′)]
状态值与动作值之间还满足:
Qπ(s,a)=E[Rt+1+γVπ(St+1)∣St=s,At=a]
定义策略 π 对应的 Bellman 算子:
(TπV)(s)=Eπ[Rt+1+γV(St+1)∣St=s]
Bellman 方程可以写成不动点形式:
Vπ=TπVπ
当 γ<1 时,Tπ 在最大范数下是压缩映射:
∥TπV−TπU∥∞≤γ∥V−U∥∞
因此它具有唯一不动点。从任意初始值函数开始反复应用该算子,都会收敛到 Vπ。
对有限状态 MDP,若 Pπ 是策略诱导的状态转移矩阵,rπ 是期望即时奖励向量,则:
Vπ=rπ+γPπVπ
理论上可以直接求解:
Vπ=(I−γPπ)−1rπ
但状态数量很大时,矩阵求逆代价高且可能无法存储,因此实践中更常使用迭代方法或采样方法。
Bellman Equation 将一个无限时间跨度的目标转化为局部的一步递归关系。动态规划、Monte Carlo、Temporal-Difference Learning 以及许多深度强化学习算法,都可以看作是在用不同方式逼近这个方程的解。