【问题标题】:using openai gym(blackjack) to make ai使用 openai 健身房(二十一点)制作 AI
【发布时间】:2019-01-13 04:56:12
【问题描述】:

我正在使用 openai gym 为二十一点制作 AI。

但我不擅长python和gym,所以不知道如何完成代码。

我一直在尝试编写一个简单的代码来使用 Q-learning 制作 AI。

但是我对open ai gym和python还不够熟悉。

我不知道如何检查状态的大小(env.observation_space.n 不起作用.. 只有 env.action_space.n 显示它的“2”) 我的代码有点像健身房游戏(frozenlake)的其他示例的副本

帮我完成这个简单的代码,这样我就可以像DQN一样自己改进了。

import gym
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np

env=gym.make('Blackjack-v0')

Q=np.zeros([400,env.action_space.n])

num_episodes=10000
dis=0.99
rList=[]

for i in range(num_episodes):
    state = env.reset()
    rALL = 0
    done = False

    while not done: 
        action=np.argmax(Q[state,:]+np.random.randn(1
        ,env.action_space.n)/(i+1))


        new_state,reward,done,_=env.step(action)

        Q[state, action] = reward + dis * np.max(Q[new_state, :])
        print(rList)
        rALL += reward
        state = new_state

    rList.append(rALL)\


print(Q)

我想看到奖励列表(rList)不断上升(如果我的算法有效)

也想知道如何使用gym模块。

【问题讨论】:

  • 1.我想知道环境是如何工作的。就像我如何通过编码获得 env 的信息 2.想问人们我的算法是否可以作为 Q-learning。 3.有什么方法可以让这个游戏形象化吗?
  • 当我运行这段代码时,似乎所有的情节都没有完成(循环不完美)
  • 修正一些语法

标签: python reinforcement-learning openai-gym


【解决方案1】:

我会更新此回复,因为我完全了解您想要什么

  • 如果您使用最新版本的gym,则对于您的第一个问题,您可以使用env.observation_space.nenv.unwrapped.get_action_meanings() 获取操作数。
  • 对于第三个问题,您可以使用env.render() 可视化游戏。

这是一个使用 python3 和最新版本的gym 版本'0.10.9' 渲染游戏的最小工作示例(您可以通过gym.__version__ 获取您的gym 版本):

import time
import gym

# Create a breakout environment
env = gym.make('SpaceInvaders-v4')

# Reset it, returns the starting frame
frame = env.reset()

# Render
env.render()

is_done = False

while not is_done:
    # Perform a random action, returns the new frame, reward and whether the game is over
    frame, reward, is_done, _ = env.step(env.action_space.sample())
    # Render
    env.render()

    time.sleep(0.01)
    if is_done:
        env.close()
        break

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-05
    • 2019-10-16
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多