强化学习 Gym MountainCar 山地车

强化学习 Gym MountainCar 山地车

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)

 

发表回复

您的电子邮箱地址不会被公开。