始める無料で始める

Monte Carlo 法のためのエピソード生成

Monte Carlo 法では、価値関数を求めるためにエピソードを生成する必要があります。そこで、エピソードが終了するまでランダムに行動を選び続けてエピソードを生成する関数を実装します。以降の演習では、この関数を呼び出して、事前に読み込まれているカスタム環境 env に Monte Carlo 法を適用します。

render() 関数はあらかじめ読み込まれています。

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

Pythonで学ぶGymnasiumによるReinforcement Learning

コースを見る

演習の手順

  • seed に 42 を指定して環境をリセットします。
  • エピソードのループ内では、各反復でランダムな action を選びます。
  • 反復が終わったら、タプル (state, action, reward) を追加して episode データを更新します。

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

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

def generate_episode():
    episode = []
    # Reset the environment
    state, info = ____
    terminated = False
    while not terminated:
      # Select a random action
      action = ____
      next_state, reward, terminated, truncated, info = env.step(action)
      render()
      # Update episode data
      episode.____(____)
      state = next_state
    return episode
print(generate_episode())
コードを編集して実行