基于模型的动态规划方法理论——bootstrapping算法(自举算法)

强化学习分类强化学习分类

bootstrapping算法(自举算法)

直接上公式,前面的推导过程就不粘了,跟马尔可夫那块差不多。
v π ( s ) = ∑ a ∈   A π ( a ∣ s ) ( R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) ) v_\pi(s) = \sum_{a\in\ A}\pi (a|s)\left( R_s^a + \gamma \sum_{s\prime \in S} P_{ss\prime}^av_\pi (s\prime)\right) vπ(s)=a Aπ(as)(Rsa+γsSPssavπ(s))
在公式中, v π ( s ′ ) v_\pi(s\prime) vπ(s)是未知的,也就是下一步的值函数是位置的,但是求当前状态的值函数需要下一状态的值函数。文中使用高斯-赛德尔迭代法进行求解
v k + 1 ( s ) = ∑ a ∈   A π ( a ∣ s ) ( R s a + γ ∑ s ′ ∈ S P s s ′ a v k ( s ′ ) ) v_{k+1}(s) = \sum_{a\in\ A}\pi (a|s)\left( R_s^a + \gamma \sum_{s\prime \in S} P_{ss\prime}^av_k (s\prime)\right) vk+1(s)=a Aπ(as)(Rsa+γsSPssavk(s))
从公式中可以看出, v k + 1 ( s ) v_{k+1}(s) vk+1(s) v k ( s ′ ) v_{k}(s\prime) vk(s)的值函数通过迭代逼近,实现的伪代码如下

  1. 输入:需要评估的策略 π \pi π状态转移概率 p s s ′ a p_{ss\prime}^a pssa回报函数 R s a R_s^a Rsa,折扣因子 γ \gamma γ
  2. 初始化值函数: v ( s ) = 0 v(s) = 0 v(s)=0
  3. Repeat k=0,1,…
  4.   for every s do
  5.      v k + 1 ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R s a + γ ∑ s ′ ∈ S p s s ′ a v k ( s ′ ) ) v_{k+1}(s) = \sum_{a\in A}\pi(a|s)(R_s^a+\gamma\sum_{s\prime\in S}p_{ss\prime}^av_{k}(s\prime)) vk+1(s)=aAπ(as)(Rsa+γsSpssavk(s))
  6.   end for
  7. Until v k + 1 = v k v_{k+1} = v_{k} vk+1=vk
  8. 输出: v ( s ) v(s) v(s)

需要注意的是,在每次迭代中都需要对状态集进行一次遍历(扫描)以便评估每个状态的值函数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值