知识点:
gym的核心接口是environment。环境中提供一下几种核心的方法:
①reset():重置环境状态,回到初始环境,方便开始下一回合训练。
②step(action):推进一个时间步长,粗俗的理解就是,你把这个动作action,作用到环境中,然后这个方法返回环境被作用后的一些状态啥玩意等东西。传入的参数是一个要执行到环境中的动作action,返回的参数有四个:
<1>observation (这是一个对象):对环境的这次观测;
<2>reward (float类型):环境处在当前状态,被作用了上面的动作action,返回一个奖励
<3>done (boolen类型):代表是否需要重置环境;
<4>info (dict字典类型):用于调试诊断的信息。
③render():重新绘制一帧图像。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import gym
import numpy as np
#创建一个gym自带的最简单的悬崖游戏
env = gym.make("CliffWalking-v0") #构建一个名字叫做“CliffWalking-v0”的gym场景(其中这个名字必要在gym包中存在,不能使用gym中没有的游戏名)
env.reset() #游戏重置
while True:
action = np.random.randint(0, 4) #产生一个0-3的随机整数,作为动作,0-3分别表示的动作为:上,右,下,左
observation, reward, done, info = env.step(action) #向环境中作用动作action
env.render() #新绘制环境的效果图
if done: #当还没达到目标点时,返回的done是False, 如果达到目标点后,返回的值为True;
break