為一個策略計算狀態價值
在相同的確定性環境 MyGridWorld 中,你現在需要評估上一題所定義策略的效果。你會透過為此策略下的每個狀態計算狀態價值函式來完成這件事。
環境已載入為 env,並提供所需變數(terminal_state、num_states、policy、gamma)。
本練習屬於課程
使用 Python 的 Gymnasium 進行強化學習
練習說明
- 完成
compute_state_value()函式,計算在給定策略下每個狀態的價值。 - 建立一個
state_values字典,鍵為state,值為該狀態的價值。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Complete the function
def compute_state_value(state):
if state == terminal_state:
return ____
action = ____
_, next_state, reward, _ = env.unwrapped.P[state][action][0]
return ____
# Compute all state values
state_values = {____: ____ for ____ in range(____)}
print(state_values)