ComenzarEmpieza gratis

Definir la función epsilon-greedy

En RL, la estrategia epsilon-greedy busca equilibrar la exploración y la explotación. Este método elige una acción aleatoria con probabilidad epsilon y la mejor acción conocida con probabilidad 1-epsilon. Implementar la función epsilon_greedy() es clave en algoritmos como Q-learning y SARSA, ya que facilita el aprendizaje del agente asegurando tanto la exploración del entorno como la explotación de las recompensas conocidas. Ese será el objetivo de este ejercicio.

La biblioteca numpy se ha importado como np.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

Instrucciones del ejercicio

  • Dentro de la función, escribe la condición adecuada para que el agente explore el entorno.
  • Elige una action aleatoria cuando explore.
  • Elige la mejor action según la q_table cuando explote.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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
Editar y ejecutar código