強化學習 車杆遊戲
阿新 • • 發佈:2018-11-03
網上搜尋到的程式碼,親測比較好用,分享如下。
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() 加入。