開始使用免費開始

用 epsilon-greedy 策略解決 CliffWalking

CliffWalking 環境是強化學習(RL)演算法的標準測試場。這是一個格子世界,代理會從起點走到目標,同時必須避開沿途的懸崖。使用 epsilon-greedy 策略能讓代理在探索環境的同時,學會避開懸崖,進而最大化累積報酬。你的任務是用 epsilon-greedy 策略來解這個環境,計算每個訓練回合所獲得的報酬,並將結果存入 rewards_eps_greedy 串列。

本練習屬於課程

使用 Python 的 Gymnasium 進行強化學習

檢視課程

練習說明

  • 在每個回合中,使用 epsilon_greedy() 函式選擇一個 action
  • 將收到的 reward 累加到 episode_reward
  • 在每個回合結束後,將該回合的總 episode_reward 加入 rewards_eps_greedy 串列,以便後續分析。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

rewards_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Select action with epsilon-greedy strategy
        action = ____
        next_state, reward, terminated, truncated, info = env.step(action)
        # Accumulate reward
        ____        
        update_q_table(state, action, reward, next_state)      
        state = next_state
    # Append the toal reward to the rewards list 
    ____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))
編輯並執行程式碼