ComenzarEmpieza gratis

Resolver CliffWalking con una estrategia epsilon-greedy decreciente

Para mejorar la estrategia epsilon-greedy, introducimos un factor de decaimiento para reducir gradualmente la tasa de exploración, epsilon, a medida que el agente aprende más sobre el entorno. Este enfoque fomenta la exploración en las primeras fases del aprendizaje y la explotación del conocimiento adquirido cuando el agente se familiariza con el entorno. Ahora, aplicarás esta estrategia para resolver el entorno CliffWalking.

El entorno ya está inicializado y puedes acceder a él mediante la variable env. Las variables epsilon, min_epsilon y epsilon_decay están predefinidas. Las funciones epsilon_greedy() y update_q_table() ya se han importado.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

Instrucciones del ejercicio

  • Implementa el bucle completo de entrenamiento eligiendo una action, ejecutándola, acumulando la reward recibida en episode_reward y actualizando la Q-table.
  • Disminuye epsilon usando la tasa epsilon_decay, asegurándote de que no baje de min_epsilon.

Ejercicio interactivo práctico

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

rewards_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
Editar y ejecutar código