SARSAで8x8 Frozen Lakeを解く
この演習では、以前に実装した update_q_table() 関数を組み込んだ SARSA アルゴリズムを適用し、8x8 Frozen Lake 環境で最適方策を学習します。これは古典的な 4x4 環境と同一ですが、サイズが大きい点だけが異なります。環境から得られる報酬に基づいて、SARSA アルゴリズムでエージェントの方策を反復的に改善していきます。
Qテーブル Q は初期化済みで事前に読み込まれており、前の演習で使った update_q_table() 関数も利用できます。
この演習はコースの一部です
Pythonで学ぶGymnasiumによるReinforcement Learning
演習の手順
- 学習の各エピソードで、選択した
actionを実行します。 next_actionをランダムに選択します。- 与えられた
stateとactionに対して Qテーブルを更新します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
for episode in range(num_episodes):
state, info = env.reset()
action = env.action_space.sample()
terminated = False
while not terminated:
# Execute the action
next_state, reward, terminated, truncated, info = ____
# Choose the next action randomly
next_action = ____
# Update the Q-table
____
state, action = next_state, next_action
render_policy(get_policy())