Я использую тренажерный зал openai, чтобы сделать ИИ для блэкджека.
но я плохо разбираюсь в питоне и спортзале, поэтому не знаю, как завершить код.
Я пытался написать простой код для создания ИИ с использованием Q-learning.
но я недостаточно знаком с 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) продолжает расти (если мой алгоритм работает)
, а также хотите знать, как правильно использовать тренажерный зал.