Risolvere CliffWalking con strategia epsilon-greedy a decadimento
Per potenziare la strategia epsilon-greedy, si introduce un fattore di decadimento per ridurre gradualmente il tasso di esplorazione, epsilon, man mano che l'agente impara di più sull'ambiente. Questo approccio favorisce l'esplorazione nelle prime fasi dell'apprendimento e lo sfruttamento delle conoscenze acquisite quando l'agente diventa più familiare con l'ambiente. Ora applicherai questa strategia per risolvere l'ambiente CliffWalking.
L'ambiente è stato inizializzato ed è accessibile tramite la variabile env. Le variabili epsilon, min_epsilon ed epsilon_decay sono già state definite per te. Le funzioni epsilon_greedy() e update_q_table() sono state importate.
Questo esercizio fa parte del corso
Reinforcement Learning con Gymnasium in Python
Istruzioni dell'esercizio
- Implementa l'intero ciclo di training scegliendo un
action, eseguendola, accumulando ilrewardricevuto inepisode_rewarde aggiornando la Q-table. - Riduci
epsilonusando il tassoepsilon_decay, assicurandoti che non scenda sottomin_epsilon.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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))