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