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())