4.2:策略迭代收敛性的证明

证明思路是说明:策略迭代算法的收敛速度不慢于值迭代算法。

为证明\(\{v_{\pi_k}\}_{k=0}^{\infty}\)收敛,引入另一个由值迭代算法生成的序列\(\{v_k\}_{k=0}^{\infty}\)

\[v_{k+1}=f(v_k)=\max_\pi(r_\pi+\gamma P_\pi v_k).\]

前面已经知道,对任意初始值\(v_0\),值迭代序列\(v_k\)都会收敛到最优状态值\(v^*\)

对于\(k=0\),总可以找到一个\(v_0\),使得对任意\(\pi_0\)都有\(v_{\pi_0}\geq v_0\)。下面用归纳法证明

\[v_k\leq v_{\pi_k}\leq v^*,\quad \forall k.\]

假设对某个\(k\geq0\)\(v_{\pi_k}\geq v_k\)。考察\(k+1\)

\[\begin{aligned} v_{\pi_{k+1}}-v_{k+1} &=(r_{\pi_{k+1}}+\gamma P_{\pi_{k+1}}v_{\pi_{k+1}})-\max_\pi(r_\pi+\gamma P_\pi v_k)\\ &\geq (r_{\pi_{k+1}}+\gamma P_{\pi_{k+1}}v_{\pi_k})-\max_\pi(r_\pi+\gamma P_\pi v_k)\\ &=(r_{\pi_{k+1}}+\gamma P_{\pi_{k+1}}v_{\pi_k})-(r_{\pi'_k}+\gamma P_{\pi'_k}v_k)\\ &\geq (r_{\pi'_k}+\gamma P_{\pi'_k}v_{\pi_k})-(r_{\pi'_k}+\gamma P_{\pi'_k}v_k)\\ &=\gamma P_{\pi'_k}(v_{\pi_k}-v_k), \end{aligned}\]

其中

\[\pi'_k=\arg\max_\pi(r_\pi+\gamma P_\pi v_k).\]

上面第一个不等式使用了Box 4.1中的结论\(v_{\pi_{k+1}}\geq v_{\pi_k}\),第二个不等式使用了策略改进步骤

\[\pi_{k+1}=\arg\max_\pi(r_\pi+\gamma P_\pi v_{\pi_k}).\]

由于归纳假设给出\(v_{\pi_k}-v_k\geq0\),且\(P_{\pi'_k}\)为非负矩阵,因此

\[v_{\pi_{k+1}}-v_{k+1}\geq0.\]

所以\(v_{\pi_{k+1}}\geq v_{k+1}\)。由归纳法可得,对所有\(k\)都有\(v_k\leq v_{\pi_k}\)

另一方面,任意策略的状态值都不超过最优状态值,因此\(v_{\pi_k}\leq v^*\)。综上,

\[v_k\leq v_{\pi_k}\leq v^*.\]

由于值迭代中的\(v_k\to v^*\),根据夹逼思想可知\(v_{\pi_k}\to v^*\)。因此,策略迭代生成的状态值序列收敛到最优状态值,对应的策略序列也收敛到一个最优策略。

Note

这里的核心是构造一个值迭代序列\(v_k\)作为“下界”。既然\(v_k\)会收敛到\(v^*\),而策略迭代的\(v_{\pi_k}\)始终夹在\(v_k\)\(v^*\)之间,那么\(v_{\pi_k}\)也只能收敛到\(v^*\)


评论