始める無料で始める

epsilon-greedy 関数の定義

RL では、epsilon-greedy 戦略は探索と活用のバランスを取る方法です。この手法は、確率 epsilon でランダムな行動を、確率 1 - epsilon で既知の最良の行動を選びます。epsilon_greedy() 関数を実装することは、Q-learning や SARSA のようなアルゴリズムにとって重要で、環境の探索と既知の報酬の活用の両方を保証してエージェントの学習を促進します。本演習ではこの実装を目標とします。

numpy ライブラリは np としてインポート済みです。

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

Pythonで学ぶGymnasiumによるReinforcement Learning

コースを見る

演習の手順

  • 関数内で、エージェントが環境を探索するための適切な条件を書いてください。
  • 探索するときはランダムな action を選びます。
  • 活用するときは、q_table に基づいて最良の action を選びます。

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

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

epsilon = 0.2
env = gym.make('FrozenLake')
q_table = np.random.rand(env.observation_space.n, env.action_space.n)

def epsilon_greedy(state):
    # Implement the condition to explore
    if ____ < ____:
      	# Choose a random action
        action = ____
    else:
      	# Choose the best action according to q_table
        action = ____
    return action
コードを編集して実行