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

此環境已載入為 env,同時也提供了 compute_state_value() 函式與所需的變數(terminal_state、num_states、num_actions、policy、gamma)。
本練習屬於課程
使用 Python 的 Gymnasium 進行強化學習
練習說明
- 完成
compute_q_value()函式,計算給定state與action的動作價值。 - 建立字典
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)