
上QQ阅读APP看书,第一时间看更新
3.5 值迭代
策略迭代算法在每次进行策略评估时,采用贝尔曼期望方程更新值函数。而值迭代算法借助的是贝尔曼最优方程,直接使用行为回报的最大值更新原来的值,如图3-4所示。


图3-4 求取Vk+1(s)
值迭代算法将策略改进视为值函数的改善,每一步都求取最大的值函数,即
V1→V2→V3→…→V*
假设在状态s下,我们有一个初始值函数V1(s),基于当前状态,我们有多个可选行为a。每个行为a会引发一个立即回报,一个或多个状态转移,如从状态s转换至状态s'。不同状态s'对应有不同的值函数V1(s')整个的
V1(s)称为a的行为回报。值迭代算法直接使用所有行为引发的行为回报中取值最大的那个值来更新原来的值,得到V2(s)。如此迭代计算,直至值函数收敛,整个过程没有遵循任何策略。
虽然算法中没有给出明确的策略,但是根据公式

可以看出策略改进是隐含在值迭代过程中执行的。
算法流程如下。
