Définir une fonction epsilon-greedy
En RL, la stratégie epsilon-greedy cherche un équilibre entre exploration et exploitation. Cette méthode choisit une action aléatoire avec la probabilité epsilon et la meilleure action connue avec la probabilité 1-epsilon. Implémenter la fonction epsilon_greedy() est essentiel pour des algorithmes comme Q-learning et SARSA : cela facilite l’apprentissage de l’agent en garantissant à la fois l’exploration de l’environnement et l’exploitation des récompenses connues. C’est l’objectif de cet exercice.
La bibliothèque numpy a été importée sous le nom np.
Cet exercice fait partie du cours
Reinforcement Learning avec Gymnasium en Python
Instructions
- Dans la fonction, écrivez la condition adéquate pour que l’agent explore l’environnement.
- Choisissez une
actionaléatoire lors de l’exploration. - Choisissez la meilleure
actionselon laq_tablelors de l’exploitation.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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