贝尔曼最优公式 (Bellman Optimality Equation)#
对于所有状态 s∈S,如果策略 π∗ 的状态价值函数 vπ∗(s) 均不小于任何其他策略 π 的状态价值函数 vπ(s),即:
vπ∗(s)≥vπ(s),∀s∈S,∀π
则称策略 π∗ 为最优策略。最优策略对应的状态价值称为最优状态价值函数,记为 v∗(s)。
最优公式推导#
最优状态价值函数 v∗(s) 满足贝尔曼最优公式。其核心思想是:最优价值等于在当前状态下执行最优动作所获得的期望回报。
标量形式#
v∗(s)=a∈Amaxq∗(s,a)=a∈Amax(r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v∗(s′))
若将其写成对策略 π 的最大化形式,则有:
v∗(s)=πmaxa∈A∑π(a∣s)q∗(s,a)
由于加权平均值不可能超过最大值,即:
a∈A∑π(a∣s)q∗(s,a)≤a∈Amaxq∗(s,a)
等号成立的条件是策略 π 将概率完全分配给使 q∗(s,a) 最大的动作。这意味着最优策略 π∗ 是确定性的(Deterministic):
π∗(a∣s)={1,0,a=argmaxa′∈Aq∗(s,a′)其他
向量形式#
我们将求解 v∗ 的过程视为算子操作。定义最优贝尔曼算子 T∗,则贝尔曼最优公式是不动点方程:
v∗=T∗(v∗)
具体展开为:
v∗=πmax(rπ+γPπv∗)
其中:
- rπ 是策略 π 下的平均即时奖励向量,[rπ]s=∑aπ(a∣s)∑rp(r∣s,a)r
- Pπ 是策略 π 下的状态转移矩阵,[Pπ]s,s′=∑aπ(a∣s)p(s′∣s,a)
压缩映射与不动点 (Contraction Mapping)#
贝尔曼最优算子 T∗ 在 γ∈[0,1) 时满足压缩映射定理 (Contraction Mapping Theorem)。这意味着:
- 存在性:存在唯一的不动点 v∗ 满足 v∗=T∗(v∗)。
- 收敛性:对于任意初始价值 v0,迭代序列 vk+1=T∗(vk) 必然收敛至 v∗。
- 即 limk→∞vk=v∗。
- 收敛速度呈几何级数(指数级收敛),受折扣因子 γ 控制。
值迭代 (Value Iteration) 的本质#
值迭代算法利用了上述不动点性质,迭代公式为:
vk+1=πmax(rπ+γPπvk)
这一步操作实际上包含了两个隐式过程:
-
策略截断 (Policy Improvement):
基于当前的价值估计 vk,寻找一个贪心策略(Greedy Policy),即选择当前看来 q 值最大的动作。
πgreedy=argπmax(rπ+γPπvk)
-
价值评估 (Policy Evaluation):
假设执行上述贪心动作,计算其一步期望回报作为新的价值估计 vk+1。
总结:值迭代就是每一轮都“抢”当前最好的动作,计算其价值,并在下一轮基于新价值继续“抢”最好的动作。
最优策略的决定因素#
最优策略 π∗ 由以下公式决定:
π∗(s)=argamax(r∑p(r∣s,a)r+γs′∑p(s′∣s,a)v∗(s′))
关键影响因子#
- 系统动力学 (System Dynamics):p(s′∣s,a) 和 p(r∣s,a)。这是环境的物理法则,通常不可变。
- 折扣因子 (Discount Factor) γ:
- γ→0:Agent 变得“近视”,只关注即时奖励 (Immediate Reward)。
- γ→1:Agent 变得“远视”,重视长期累积回报。
- 奖励函数 (Reward Function) r:
如果对奖励函数进行线性变换:
r′(s,a,s′)=α⋅r(s,a,s′)+β
其中 α>0 且 β 为常数。
- 对价值函数的影响:新的价值函数 v′ 与原价值函数 v 呈线性关系。
v′(s)=αv(s)+1−γβ
argamaxq′(s,a)=argamax(αq(s,a)+1−γβ)=argamaxq(s,a)
这表明,只要保持奖励之间的偏序关系和相对比例,具体的数值大小不会改变最优行为模式。