OpenAI Gym 提供了丰富的强化学习测试环境,以下按类别列举经典环境及其核心特性:
一、经典控制(Classic Control)
环境ID | 目标描述 | 状态空间 | 动作空间 | 终止条件 |
---|
CartPole-v1 | 平衡倒立摆 | 4维连续 | 离散(2) | 杆倾斜>12°或步数≥500 |
MountainCar-v0 | 通过左右摆动使小车到达山顶 | 2维连续 | 离散(3) | 到达目标位置或步数≥200 |
Pendulum-v1 | 控制单摆保持垂直 | 3维连续 | 连续(1) | 步数≥200(无物理终止条件) |
Acrobot-v1 | 摆动双连杆触碰目标线 | 6维连续 | 离散(3) | 触碰目标线或步数≥500 |
二、Atari 2600 游戏
环境ID | 游戏类型 | 状态空间 | 动作空间 | 特点 |
---|
Pong-v5 | 乒乓球 | 210×160 RGB图像 | 离散(6) | 需要图像预处理 |
Breakout-v5 | 打砖块 | 210×160 RGB图像 | 离散(4) | 奖励密集,适合DQN训练 |
SpaceInvaders-v5 | 太空侵略者 | 210×160 RGB图像 | 离散(6) | 多敌人、奖励机制复杂 |
三、Box2D 物理仿真
环境ID | 物理系统 | 状态空间 | 动作空间 | 关键挑战 |
---|
LunarLander-v2 | 月球着陆器 | 8维连续 | 离散(4) | 燃料控制与精准着陆 |
BipedalWalker-v3 | 双足机器人行走 | 24维连续 | 连续(4) | 复杂地形平衡 |
CarRacing-v2 | 赛车轨迹跟踪 | 96×96 RGB | 连续(3) | 视觉输入与连续控制结合 |
四、MuJoCo 机器人控制
环境ID | 机器人模型 | 状态空间 | 动作空间 | 任务类型 |
---|
HalfCheetah-v4 | 猎豹仿生机器人 | 17维连续 | 连续(6) | 高速奔跑控制 |
Ant-v4 | 四足蚂蚁机器人 | 111维连续 | 连续(8) | 复杂地形移动 |
Humanoid-v4 | 类人机器人 | 376维连续 | 连续(17) | 双足平衡与行走 |
五、其他特殊环境
类别 | 环境示例 | 特点 |
---|
文本游戏 | TextFlappyBird-v0 | 基于字符界面的强化学习 |
多智能体 | PistonBall-v6 | 多个agent协同/竞争 |
3D导航 | AntMaze-v4 | 复杂迷宫路径规划 |
六、环境使用示例
import gym
env = gym.make("LunarLander-v2", render_mode="human")
obs = env.reset()
for _ in range(1000):
action = env.action_space.sample()
obs, reward, done, info = env.step(action)
if done:
obs = env.reset()
env.close()
七、环境选择建议
- 入门学习:优先使用
CartPole-v1
、MountainCar-v0
- 视觉输入训练:选择
CarRacing-v2
或Atari游戏 - 连续控制研究:使用
Pendulum-v1
或MuJoCo环境 - 多智能体开发:尝试
PettingZoo
库扩展环境
完整环境列表可通过以下命令查看:
from gym import envs
print([env.id for env in envs.registry.values()])
需要特定环境的详细参数说明(如状态空间范围、奖励函数设计)可告知具体环境名称。