改進策略(policy)
在前一個練習中,你已經在 MyGridWorld 環境中計算出每個「狀態-動作」組合的 Q 值。現在,你要使用這些 Q 值來改進現有的策略。策略改進是強化學習中的關鍵步驟:在每個狀態中選擇能讓期望效用(Q 值)最大的動作,來提升策略的表現。完成改進後,你會依照這個改進後的策略來繪製(render)新的移動。
此環境已以 env 匯入,Q 值為 Q,並提供 render() 函式可使用。
本練習屬於課程
使用 Python 的 Gymnasium 進行強化學習
練習說明
- 根據 Q 值找出每個狀態的最佳動作。
- 依照
improved_policy選擇正確的action。 - 執行所選的
action,觀察其結果。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
improved_policy = {}
for state in range(num_states-1):
# Find the best action for each state based on Q-values
max_action = ____
improved_policy[state] = max_action
terminated = False
while not terminated:
# Select action based on policy
action = ____
# Execute the action
state, reward, terminated, truncated, info = ____
render()