一、GYM
(一)常用接口函数:
(二)查看开源代码(环境)
二、动态规划
分割—求解—合并
(1)分治法
将问题分成相互独立的子问题,分别解决后再将结果合并
(2)动态规划
先将全问题分出一个小的子问题,解决后,再划分出包含上一个子问题的稍大的子问题,以此类推,直至解决整个全问题。(子问题是嵌套的,要递归的去求解)
(一)动态规划求解问题的步骤
1.找出最优解的性质,并刻画其结构特征;
2.递归地定义子问题和子问题的解;
3.以自底向上的方式求解子问题;
4.根据子问题的解和解的结构回溯构造原问题的最优解。
(二)值函数和贝尔曼方程
马尔科夫链:
2.2.1 累计折扣奖励
(1)即时奖励
(2)累计奖励
表示在St状态下,执行动作At后的所有即时奖励的累积
(3)累积折扣奖励
是折扣因子(折扣系数)
当=0时,等于贪心,只看当前步的奖励;
当=1,即为累积奖励;
当0<<1时,即为累积折扣奖励,延时越长,对影响越小
强化学习:选择一个能使累积折扣奖励最大的最优策略
2.2.2 值函数
(1)状态值函数
设当前策略为,从状态s出发的累积折扣奖励的期望
(2)动作值函数
从状态s出发,执行动作a后,得到的累积折扣奖励的期望
区别:
状态值函数表示从状态s出发得到的累积折扣奖励的期望,状态s下执行什么动作是不确定的;
动作值函数表示从状态s出发,确定执行动作a以后的累积折扣奖励的期望。
(3)两者之间的互相转化
2.2.3 贝尔曼方程
(1)状态值函数表达的贝尔曼方程
r=r(s,a,s') 已知当前状态和执行的动作,以及下一个状态
(2)动作值函数表达的贝尔曼方程
(3)基于二元奖励函数的贝尔曼方程
状态值函数:
动作值函数:
R=R(s,a) 只知当前状态和动作,不确定下一个状态
(三)策略评估
策略评估就是计算策略π下每个状态的状态值