MountainCar 山地车

import gym
# MountainCar 山地车
env = gym.make('MountainCar-v0', render_mode='human')
for i_episode in range(10):
observation = env.reset()
for t in range(100):
env.render()
print(observation)
action = env.action_space.sample()
observation, reward, done, info, _ = env.step(action)
if done:
print("Episode finished after {} timesteps".format(t+1))
break
env.close()
补充说明:
一、动作是如何和环境交互的
与环境交互过程中,每一步环境都会返回四个值:
1、observation (object):一个特定的环境对象,代表从环境中得到的观测值。例如从摄像头获得的像素数据,机器人的关节角度和关节速度,或者棋盘游戏的棋盘。
2、reward (float) :由于之前采取的动作所获得的奖励总和。
3、done (boolean) :决定是否重置环境。
4、info (dict):调试过程中产生的相关信息。
二、空间
在上面的例子中,我们一直在从环境的动作空间中采样随机动作。
action = env.action_space.sample()
每个环境都带有一个动作空间和一个观察空间。
这些属性属于 space 类型,它们描述了有效操作和观察的格式:
import gym
env = gym.make('CartPole-v1', render_mode="human")
print(env.action_space)
print(env.observation_space)