<p>Iterative Policy Evaluation的迭代过程一般有两种方式:</p>
  • 使用两个数组,其中一个数组存储上一轮迭代的状态价值,另外一个数组存储本轮迭代中的状态价值,本轮迭代总是从上一轮迭代(老的)的状态价值取值,这样在迭代过程中老的状态价值不会受到影响。
  • 使用一个数组来存储状态价值,并在迭代时实时更新状态价值,这样在迭代过程中能够更早的利用新的状态价值,此种更新状态价值的方法称为“in place iterative policy evaluation”。

下面是两种不同的实现思路运行结果的对比图:

sweep_inplace_iterative_policy_evaluation_error

尽管使用两个数组的迭代方法思路更清晰,但是in place iterative policy evaluation的收敛速度更快,因此在实际运用中,往往使用in place iterative policy evaluation。

详细的实现代码参见:grid world源码

  </article>
文章作者: 安全书
文章链接: https://lua.ren/zl/2016-01-01-713_In%20place%20iterative%20policy%20evaluation/
版权声明: 本博客所有文章除特别声明外,均采用 null 许可协议。转载请注明来自 安全书