CartPole是一个杆子连在一个小车上,小车可以无摩擦的左右运动,杆子(倒立摆)一开始是竖直线向上的。小车通过左右运动使得杆子不倒。 观测量是一个Box(4)类型的: x : Cart Position: [-4.8, 4.8] \dot{x} : Car…
CartPole环境是游戏场中的一种经典任务,模拟一个杆子与小车的系统。杆子固定在小车上,小车可以在水平面内无摩擦滑动。初始时,杆子垂直竖直向上,目标是通过控制小车左右滑动,使得杆子保持直立状态,避免倒下。观测空间采用Box(4)形式,包含四维信息:Cart Position: 范围在[-4.8, 4.8]之间,表示小车...
importgymenv=gym.make('CartPole-v0')print(env.action_space)#> Discrete(2)print(env.observation_space)#> Box(4,) 从程序运行结果可以看出: action_space是一个离散Discrete类型,从discrete.py源码可知,范围是一个{0,1,...,n-1}长度为n的非负整数集合,在CartPole-v0例子中,动作空间表示为{0,1}。
3.CartPole-v0/1原理与功能 在CartPole-v0的环境中,实际参考了论文:AG Barto, RS Sutton and CW Anderson, "Neuronlike Adaptive Elements That Can Solve Difficult Learning Control Problem", IEEE Transactions on Systems, Man, and Cybernetics, 1983.中的倒立摆控制问题。 Cart Pole即车杆游戏,游戏模型如下...
env = gym.make('CartPole-v0')运创建一个cartpole问题的环境,对于cartpole问题下文会进行详细介绍。 env.reset() 对环境进行重置,得到初始的observation env.render()渲染物体状态的UI,这里调用了gym的渲染接口,我们不做深究 env.action_space.sample()指从动作空间中随机选取一个动作 ...
测试问题集,每个问题成为环境(environment):可以用于强化学习算法开发,这些环境有共享的接口,允许用户设计通用的算法,例如:Atari、CartPole等。 OpenAI Gym服务:提供一个站点和api,允许用户对自己训练的算法进行性能比较。 其中Gym以界面简单、pythonic,并且能够表示一般的 RL 问题,而在强化学习领域非常知名。
3.CartPole-v0/1原理与功能 在CartPole-v0的环境中,实际参考了论文:AG Barto, RS Sutton and CW Anderson, "Neuronlike Adaptive Elements That Can Solve Difficult Learning Control Problem", IEEE Transactions on Systems, Man, and Cybernetics, 1983.中的倒立摆控制问题。
import gym env = gym.make('CartPole-v0') env.reset() # start here. for _ in range(1000): env.render() env.step(env.action_space.sample()) # take a random action Observations If we ever want to do better than take random actions at each step, it'd probably be good to actually...
我们首先通过gym.make来生成cartpole的运行环境,然后reset给小车和棍子一个初始化的值。 最后,通过env.step将操作传给环境去控制小车。 操作 cartpole的操作非常简单,只有两种命令,用0和1表示。0是向左推小车,1是向右推小车。小车是处在一个光滑轨道上的,根据牛顿第一定律,在无外力时处于静止或匀速直线运动的状态...
注释:导入gym库,第2行创建CartPole-v0环境,并在第3行重置环境状态。在for循环中进行1000个时间步长(timestep)的控制,第5行刷新每个时间步长环境画面,第6行对当前环境状态采取一个随机动作(0或1),最后第7行循环结束后关闭仿真环境。