导入gym模块
import gym
- 创建一个小车倒立摆模型
env = gym.make(‘CartPole-v0’)
- 初始化环境
env.reset()
- 刷新当前环境,并显示
env.render()
reset函数
重新初始化函数
在强化学习中,agent需要多次尝试,积累经验,然后从经验中学到好的动作。一次尝试我们称之为一条trajectory或一个episode。
每次尝试都需要从初始状态达到终止状态。
一次尝试结束后,需要从头开始,即重新初始化
源码:
def _reset():
seif.state = self.np_random.uniform(low = -0.05,high=0.05,size=(4,))
##利用均匀随机分布初始化环境的状态
self.steps_beyond_done =None
## 设置当前步数为None
return np.array(self.state)
## 返回环境的初始化状态
render函数
图像引擎,一个仿真环境必不可少的两部分是物理引擎和图像引擎。物理引擎模拟环境中物体的运动规律;图像引擎用来显示环境中的物体图像。便于直观显示当前环境物体的状态。方便调试代码。
def _render(self,mode='human',close = False):
if close:
...
if self.viewer is None:
from gym.envs.classic_control import rendering
导入rendering模块,利用rendering模块中的画图模型进行图形的绘制
step函数
该函数在仿真器中扮演物理引擎的角色。其输入是动作a,输出是:下一步状态,立即回报,是否终止,调试项。
该函数描述了智能体与环境交互的所有信息,是环境文件中最重要的函数。在该函数中,一般利用智能体的运动学模型和动力学模型计算下一步的状态和立即回报,并判断是否达到终止状态。