1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶGymnasiumによるReinforcement Learning

Connected

演習

Every-Visit Monte Carlo の実装

Every-Visit Monte Carlo は、First-Visit 版と異なり、状態-行動ペアが現れるたびに値を更新します(最初の出現時だけではありません)。この手法は、各エピソードから得られるすべての情報を活用して方策をより網羅的に評価できますが、エピソード内の出現タイミングに関わらずすべてのサンプルを含めるため、価値推定の分散が大きくなる可能性があります。あなたの課題は、num_episodes 個のエピソードにわたって行動価値関数 Q を推定する every_visit_mc() 関数の実装を完成させることです。

状態-行動ペアをキーに持つ辞書 returns_sum と returns_count は初期化済みで、generate_episode() 関数とともに読み込まれています。

指示

100 XP
  • generate_episode() 関数を使ってエピソードを生成します。
  • エピソード内の各状態-行動ペアについて、リターンとそのカウントを更新します。
  • 推定された Q 値を計算します。