1. Gym库的使用方法
Gym是OpenAI推出的免费的强化学习实验环境,支持python语言。
Gym拥有各种环境,从 简单到复杂,涉及许多不同种类的数据。包括:
>经典控制和玩具文字:完成小规模的任务,大部分来自RL文献。用于入门。
>算法化:执行计算,例如添加多位数和反转顺序。
>Atari:经典的Atari游戏。使用易于安装的Arcade学习环境。
>2D和3D机器人:在仿真中控制机器人。这些任务使用了MuJoCo物理引擎,该引擎设计用于快速而准确的机器人仿真。
gym库的安装和内置游戏的查看在强化学习系列博客的第一篇第六部分有介绍。强化学习入门系列一
Gym库的使用方法是:用env=gym.make(环境名)加载环境,用env.reset()初始化环境,用env.step(动作)执行一步环境,用env.render()显示环境,用env.close()关闭环境。
2. Gym中游戏的基本信息
在选择gym中的游戏作为算法的实验环境之前,必须了解这个游戏的环境设置。
一个方法是查看游戏环境的源码,另一个方法是直接调用一些接口查看环境的简单信息。
import gym
env = gym.make('MountainCar-v0')
print('观测空间={}'.format(env.observation_space))
print('动作空间={}'.format(env.action_space))
print('观测范围={}~{}'.format(env.observation_space.low, env.observation_space.high))
print('动作数={}'.format(env.action_space.n))
结果如下所示:
3. Gym游戏的几个例子
3.1 小车翻沟
import gym
import time
'''
基于强化学习实现小车自适应翻越小沟
'''
class BespokeAgent:
def __init__(self, env):
pass
def decide(self, observation):
position, velocity = observation
lb = min