用 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))