始める無料で始める

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 をランダムに選択します。
  • 与えられた stateaction に対して 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())
コードを編集して実行