1. 程式人生 > >強化學習 車杆遊戲

強化學習 車杆遊戲

網上搜尋到的程式碼,親測比較好用,分享如下。

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() 加入。