值迭代

在这里插入图片描述
  通过上一章的学习,我们知道了贝尔曼最优方程的求解实际上分两部分,一是给定一个初始值 vkv_kvk 找到最优策略 πk+1π_{k+1}πk+1 ,二是更新 vk+1v_{k+1}vk+1
在这里插入图片描述
  下面,我们将详细剖析这个算法,以及其编程实现。首先,我们来看一下他的第一步:策略更新
在这里插入图片描述
  通过给定的 vkv_kvk 可以求得每个状态对应的 qkq_kqk 再根据概率设计得到最优策略下对应的行为 ak∗(s)a_k^*(s)ak(s)

  第二步:值更新,同样的,通过给定的 vkv_kvk 求得每个状态对应的 qkq_kqk 再根据最优策略计算得到 vk+1v_{k+1}vk+1
在这里插入图片描述
通过上面的讲解,我们得到下面的流程过程:
在这里插入图片描述
给出上述算法的伪代码,如下:
在这里插入图片描述

值迭代:案例

  我们以一个例子加深理解。r边界=r陷阱=−1,r终点=+1,γ=0.9r_{边界}=r_{陷阱}=-1,r_{终点}=+1,γ=0.9r边界=r陷阱=1r终点=+1γ=0.9

在这里插入图片描述

在这里插入图片描述

k=0k=0k=0
在这里插入图片描述
在这里插入图片描述

策略迭代

  策略迭代分两步:策略评估 (PE)(PE)(PE) 和策略优化 (PI)(PI)(PI)
在这里插入图片描述

  求解 vπkv_{πk}vπk 有两种方法,第一种矩阵求解一般不用,主要是用第二种迭代的方法。
在这里插入图片描述

  策略迭代具体步骤如下:
在这里插入图片描述
在这里插入图片描述

伪代码如下:
在这里插入图片描述

策略迭代:案例

  同样,我们以一个例子加深理解。r边界=−1,r终点=+1,γ=0.9r_{边界}=-1,r_{终点}=+1,γ=0.9r边界=1r终点=+1γ=0.9,行为有:向左 ala_lal,向右 ara_rar,原地 a0a0a0
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

策略迭代:案例二

在这里插入图片描述

截断策略迭代算法

  首先我们来比较一下值迭代与策略迭代的区别:
在这里插入图片描述

在这里插入图片描述
伪代码:
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐