强化学习 车杆游戏

Posted devilmaycry812839668

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习 车杆游戏相关的知识,希望对你有一定的参考价值。

网上搜寻到的代码,亲测比较好用,分享如下。

import gym
import time

env = gym.make(CartPole-v0) # 获得游戏环境
observation = env.reset() # 复位游戏环境,新一局游戏开始
print (新一局游戏 初始观测 = {}.format(observation))
for t in range(200):
    env.render()
    action = env.action_space.sample() # 随机选择动作
    print ({}: 动作 = {}.format(t, action))
    observation, reward, done, info = env.step(action) # 执行行为
    print ({}: 观测 = {}, 本步得分 = {}, 结束指示 = {}, 其他信息 = {}.format(
            t, observation, reward, done, info))
    if done:
        break
    time.sleep(1)#可加可不加,有的话就可以看到图

env.close()

 

技术分享图片

 

 

 

 

以下给出多个回合的代码:

import gym
env = gym.make(CartPole-v0)
n_episode = 20
for i_episode in range(n_episode):
    observation = env.reset()
    episode_reward = 0
    while True:
        # env.render()
        action = env.action_space.sample() # 随机选
        observation, reward, done, _ = env.step(action)
        episode_reward += reward
        state = observation
        if done:
            break
    print (第{}局得分 = {}.format(i_episode, episode_reward))
env.close()

 

技术分享图片

这次的多回合游戏并没有加入绘图,需要绘图的话可以将  env.render() 加入。

 

以上是关于强化学习 车杆游戏的主要内容,如果未能解决你的问题,请参考以下文章

Gym

强化学习中atari游戏环境下帧的预处理操作

教程 | 深度强化学习入门:用TensorFlow构建你的第一个游戏AI

强化学习DQN:Flappy Bird实例分析

深度强化学习制作森林冰火人游戏AI识别游戏状态

深度强化学习制作4399小游戏ai