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
Instrucciones del ejercicio
- Implementa el bucle completo de entrenamiento eligiendo una
action, ejecutándola, acumulando larewardrecibida enepisode_rewardy actualizando la Q-table. - Disminuye
epsilonusando la tasaepsilon_decay, asegurándote de que no baje demin_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))