開始使用免費開始

計算 Q-value

你的目標是為自訂的 MyGridWorld 環境,在遵循下列策略時,計算每個「狀態-動作」配對的動作價值(action-value,也稱為 Q-value)。在 RL 中,Q-value 很關鍵,因為它代表在特定狀態下執行某個動作,並接著遵循該策略的預期效用。

exercise_policy.png

此環境已載入為 env,同時也提供了 compute_state_value() 函式與所需的變數(terminal_statenum_statesnum_actionspolicygamma)。

本練習屬於課程

使用 Python 的 Gymnasium 進行強化學習

檢視課程

練習說明

  • 完成 compute_q_value() 函式,計算給定 stateaction 的動作價值。
  • 建立字典 Q,每個鍵代表一個「狀態-動作」配對,其值則為該配對的 Q-value。

動手互動練習

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

# Complete the function to compute the action-value for a state-action pair
def compute_q_value(state, action):
    if state == terminal_state:
        return None   
    probability, next_state, reward, done = ____
    return ____

# Compute Q-values for each state-action pair
Q = {(____, ____): _____ for ____ in range(____) for ____ in range(____)}

print(Q)
編輯並執行程式碼