首先来看一下之前提及的贝尔曼期望方程: V π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( r ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) ) V^{\pi}(s)=\sum_{a\in A}\pi(a|s)(r(s,a)+\gamma\sum_{s'\in S}P(s'|s,a)V^{\pi}(s')) Vπ(s)=a∈A∑π(a∣s)(r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)) 其中 π ( a ∣ s ) \pi(a|s) π(a∣s)由策略决定, r ( s , a ) , P ( s ′ ∣ s , a ) r(s,a),P(s'|s,a) r(s,a),P(s′∣s,a)由MDP决定。因此上述贝尔曼期望方程可以看作,在策略确定以及MDP确定的情况下,利用状态 s s s可转移到的所有周边状态 s ′ s' s′的价值函数来计算 s s s的价值函数。
策略评估是一个循环迭代的过程,第k+1轮中状态 s s s的价值函数使用第k轮中与之相关的状态 s ′ s' s′的价值函数来求解。当迭代轮次最够多时,认为当前价值函数逼近或者就是真正的价值函数。实际应用中策略评估使用贝尔曼期望函数进行迭代使用大量计算资源,无须迭代无限轮次,只需要某次迭代更新的幅度非常小时算法即可停止。
3.2 策略提升
策略评估之后,我们获得了在当前策略下所有状态的价值函数,也就是得到了在当前策略下每个状态出发到达终结状态的期望回报。得到了状态价值函数,也就相当于得到了动作价值函数。我们便可以在当前策略的基础上每个状态都贪心地选择最优的动作 a a a以最大化 Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a),从而实现策略提升。 π ′ ( s ) = arg max a Q π ( s , a ) = arg