贝尔曼最优公式(Bellman Optimality Equation)
state value 可以用来评估策略的好坏,但如何选出最好的策略,那就需要 BOE。
1 最优策略(Optimal Policy)
在每个状态下,该策略的 state value 都大于其它策略的。即v∗>vπ。
2 贝尔曼最优公式
未知量为π(a∣s),vπ(s),vπ(s′),包含了最优策略和最优状态值。
vπ(s)=πmaxa∑π(a∣s)(r∑p(r∣s,a)r+γs′∑p(s′∣s,a)vπ(s′))
vπ=πmax(rπ+γPπvπ)
3 BOE 求解
3.1 策略求解
为了求得最大的 state value,就先求出使其最大的策略π也就是π(a∣s)。使其最大化的策略一定是确定性的(deterministic)。
π(a∣s)={0,1,a=a∗a=a∗
3.2 state value 求解
为了解得最优的 state value,需要借助 Contraction Mapping Theorem。如果一个函数f符合 Contraction Mapping(∣f(v1)−f(v2)∣≤γ∣v1−v2∣),那么它有三个性质:
- 对于数列vk+1=f(vk),存在不动点,即vk+1=vk。
- 而且这个不动点v∗是唯一的。
- 当k→∞,vk→v∗。
已知 BOE 可以写成v=f(v),而且符合 Contraction Mapping(证明略),则可以通过
vk+1(s)=πmaxa∑π(a∣s)(r∑p(r∣s,a)r+γs′∑p(s′∣s,a)vk(s′))或vk+1=πmax(rπ+γPπvk)
不断迭代,当k→∞,vk→v∗,v∗就是最优值。(此时依然不能证明v∗就是最优值)
3.3 最优策略求解
当v取v∗时,根据不动点的性质v∗=f(v∗)=πmax(rπ+γPπv∗)=rπ∗+γPπ∗v∗=amaxq∗,最优策略就是π∗=πargmax(rπ+γPπv∗),证明如下:
所以v∗就是最优值,π∗就是最优策略