始める無料で始める

Q値の計算

ここでは、以下のポリシーに従ったときに、カスタム環境 MyGridWorld の各状態・行動ペアに対するアクション価値(Q値)を計算します。RL において Q値は、ある状態で特定の行動を実行し、その後もポリシーに従うときに得られる期待効用を表すため、非常に重要です。

exercise_policy.png

環境は env としてインポート済みで、compute_state_value() 関数と、必要な変数(terminal_statenum_statesnum_actionspolicygamma)も用意されています。

この演習はコースの一部です

Pythonで学ぶGymnasiumによるReinforcement Learning

コースを見る

演習の手順

  • 与えられた stateaction のアクション価値を計算するために、compute_q_value() 関数を完成させてください。
  • 各キーが状態・行動ペアを表し、その値が対応するQ値となるディクショナリ Q を作成してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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)
コードを編集して実行