開始使用免費開始

在濕滑的 Frozen Lake 上評估策略

在濕滑的 Frozen Lake 環境中,只靠從已學得的 Q-table 推導策略,還不足以判斷其成效。若要準確評估一個已學得策略是否合適,你必須執行多個情節並觀察所得到的平均報酬。本練習會把已學得策略的成效,與以隨機策略進行訓練時所建立的基準進行比較。你的任務是將已學得的策略執行多個情節,根據收集到的平均報酬分析其表現,並與隨機策略階段的平均報酬進行對照。

Q-table Qnum_statesnum_actions,以及 avg_reward_per_random_episode 都已為你預先載入。 NumPy 函式庫已以 np 名稱匯入。

本練習屬於課程

使用 Python 的 Gymnasium 進行強化學習

檢視課程

練習說明

  • 在每次迭代中,根據已學得的 Q-table Q 選擇最佳動作。
  • 計算每個已學得情節的平均報酬 avg_reward_per_learned_episode

動手互動練習

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

for episode in range(10000):
    state, info = env.reset()
    terminated = False
    episode_reward = 0
    while not terminated:
        # Select the best action based on learned Q-table
        action = ____
        new_state, reward, terminated, truncated, info = env.step(action)
        state = new_state
        episode_reward += reward
    reward_per_learned_episode.append(episode_reward)
# Compute and print the average reward per learned episode
avg_reward_per_learned_episode = ____
print("Average reward per learned episode: ", avg_reward_per_learned_episode)
print("Average reward per random episode: ", ____)
編輯並執行程式碼