Expected SARSA の更新則
この演習では、時相差学習に基づく Model-Free RL アルゴリズムである Expected SARSA の更新則を実装します。Expected SARSA は、取りうるすべての行動にわたって平均をとることで現在のポリシーの期待値を推定し、SARSA と比べてより安定した更新ターゲットを提供します。Expected SARSA で用いる数式は以下を参照してください。

numpy ライブラリは np としてインポート済みです。
この演習はコースの一部です
Pythonで学ぶGymnasiumによるReinforcement Learning
演習の手順
next_stateに対する期待Q値を計算します。- Expected SARSA の数式を用いて、現在の
stateとactionのQ値を更新します。 - エージェントが状態
2で行動1を取り、状態3に遷移して報酬5を受け取ったと仮定して、QテーブルQを更新します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def update_q_table(state, action, next_state, reward):
# Calculate the expected Q-value for the next state
expected_q = ____
# Update the Q-value for the current state and action
Q[state, action] = ____
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99
# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)