1.贝尔曼最优公式#
贝尔曼最优公式(Bellman Optimality Equations)描述了在最优策略下,状态值函数和动作值函数之间的关系。
对于状态值函数v∗(s),贝尔曼最优公式表示为:
v∗(s)=πmaxa∑π(a∣s)r∑p(r∣s,a)r+γs′∑p(s′∣s,a)v∗(s′),∀s∈S
=maxpia∑π(a∣s)q∗(s,a),∀s∈S
其向量形式为:
v∗=πmax(Rπ+γPπv∗)
2. 不动点与Contraction Mapping theorem#
2.1 不动点#
在数学中,不动点(fixed point)是指在某个映射下保持不变的点。具体来说,给定一个映射f:X→X,如果存在一个点x∗∈X,使得f(x∗)=x∗,那么x∗就是f的不动点。
简单表示就是f(x)=x的解。
2.2 收缩映射#
收缩映射(contraction mapping)是指在一个度量空间中,将任意两个点之间的距离缩小的映射。具体来说,给定一个度量空间(X,d),如果存在一个常数0≤k<1,使得对于任意的x,y∈X,都有d(f(x),f(y))≤k⋅d(x,y),那么f就是一个收缩映射。
可以举个例子,比如函数f(x)=21x在实数集上是一个收缩映射,因为对于任意的x,y∈R,都有:
∣f(x)−f(y)∣=21x−21y=21∣x−y∣
2.3 Contraction Mapping Theorem#
收缩映射定理(Contraction Mapping Theorem)指出,在一个完备度量空间中,任何收缩映射都有且只有一个不动点。换句话说,如果f:X→X是一个收缩映射,那么存在唯一的x∗∈X,使得f(x∗)=x∗。
3.贝尔曼最优公式求解#
由于贝尔曼最优公式是一个收缩映射,根据收缩映射定理,我们可以保证通过反复应用贝尔曼最优公式,最终会收敛到唯一的最优状态值函数v∗(s)。
迭代算法
具体来说,我们可以从一个初始的状态值函数v0(s)开始,反复应用贝尔曼最优公式,得到一系列的状态值函数v1(s),v2(s),...。随着迭代次数的增加,这些状态值函数将逐渐逼近最优状态值函数v∗(s)。
vk+1(s)=f(vk(s))=πmax(Rπ+γPπvk)
4.一些性质#
在公式中什么是已知的呢?
- Reward : r
- System model : p(s′∣s,a),p(r∣s,a)
- Discount factor : γ
我们得到的最优策略与设置的reward、discount factor(即公式中的γ)等有关。
当γ→1时,智能体更加关注长期奖励;当γ→0时,智能体更加关注短期奖励。而且γ也会使得智能体选择最短路径。