策略迭代(Policy Iteration)

1. 策略迭代算法:

  1. 初始化.
  2. 策略评估:(一般而言,下式中为固定策略由于策略更新)
  3. 策略更新:
  4. 如果与上次迭代相比没有变化,则停止;否则,转回2。

2. 策略改进分析

(Lemma 1)策略更新可以使得单调递增,最终收敛于。

假设第k次迭代前的策略为, 迭代后的策略为. 而为下的贪婪策略。所以需要证明,

下面证明更加通用的定理:

(Lemma 2)对任意的和,并且对于任意的,


这里是折扣的state occupancy,由从起始状态引入。

Proof:

考虑一个策略序列, 其中 对于任意中间的是一个随时间变化的策略,前个时间步采用策略而后面的时间步采用策略。
根据差分求和,有,

策略迭代(Policy Iteration)_第1张图片
策略集π.png

可见 和 仅在 上的动作选择有差异,所以两者的值函数差异就体现在
所以
\begin{align*} V^{\pi'}(s) - V^\pi (s) &= \sum_{i=0}^{\infty} \gamma^i \sum_{s' \in S} \mathbb{P}[s_i=s'|s_1=s, \pi'](Q^\pi(s', \pi'(s'))-Q^\pi(s', \pi(s))) \\ &= \sum_{i=0}^{\infty} \gamma^i \sum_{s' \in S} \mathbb{P}[s_i=s'|s_1=s, \pi']A^\pi(s', \pi') \\ &= \frac{1}{1-\gamma} \eta^{\pi'}_s(s') A^\pi(s', \pi') \\ &= \frac{1}{1-\gamma} \mathbb{E}_{s' \sim \eta^{\pi'}_{s'}}[A^\pi(s', \pi')] \\ &\geq 0 . \end{align*}
综上,策略提升得证。

你可能感兴趣的:(策略迭代(Policy Iteration))