CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Dans la fonction, écrivez la condition adéquate pour que l’agent explore l’environnement.
  • Choisissez une action aléatoire lors de l’exploration.
  • Choisissez la meilleure action selon la q_table lors 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
Modifier et exécuter le code