人工智能学习:倒立摆(CartPole)(9)

倒立摆是强化学习的一个经典模拟对象,通过对倒立摆对象的持续的动作输入,使倒立摆保持在竖立的状态或者倒下。Python提供了一个模拟库(gym)来模拟倒立摆等一些典型的难度控制对象。

首先载入gym库

import gym

然后启用倒立摆对象

env = gym.make('CartPole-v1', render_mode='human')

render_mode表示渲染模式,即渲染时输出的模式,human表示正常的屏幕输出,然后设立一个循环进行持续不断的输入,显示倒立摆的反映,程序如下

env.reset()

for _ in range(50):
    env.render()

    action = env.action_space.sample()
    env.step(action)

env.close()

程序中,首先进行初始化(reset),然后开始不断绘制(render)以及进行动作输入(env.step),action为输入的动作,这里调用env.action_space.sample函数从动作空间随机选择一个动作作为输入。50步以后结束仿真。
运行的结果是出现一个倒立摆的窗口,模拟倒立摆的左右随机移动,因为没有专门的输入动作控制,最后倒立摆会失去控制倒下。显示窗口如下
人工智能学习:倒立摆(CartPole)(9)_第1张图片

在这个模拟对象的基础上可以进行强化学习的仿真测试。

你可能感兴趣的:(人工智能,强化学习,倒立摆,CartPole,gym)