潮科技行业入门指南 | 深度学习理论与实战:提高篇(17)—— 强化学习简介(三)
注意这个代码和上面代码最后两行的差别。首先因为我们的策略 是确定的策略,因此只有一个Action 的概率是 1,其余的是 0。因此如果状态是 ,那么策略 会选择 Q 最大的那个 a,也就是 max(,) ,如果 ≠() ,则说明 (|)=0 ,因此和上面算法的条件一样,可以退出 for 循环,否则就更新 W,如果执行到最后一行代码,说明 (|)=1 ,所以分子是 1。 Off-Policy蒙特卡罗控制代码示例 完整代码在这里。 核心的函数是 mc_control_importance_sampling,代码和伪代码几乎一样,请读者参考伪代码阅读: 运行后我们把V(s)画出来,如下图所示。 图:Off-Policy算法无Ace时最佳值函数 图:Off-Policy算法有Ace时最佳值函数 我们可以看出结果和前面的 On-Policy 算法差不多,但是运算速度会快很多,读者可以自行比较一下。 动态规划和蒙特卡罗方法的比较
|