IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Implementa l'intero ciclo di training scegliendo un action, eseguendola, accumulando il reward ricevuto in episode_reward e aggiornando la Q-table.
  • Riduci epsilon usando il tasso epsilon_decay, assicurandoti che non scenda sotto min_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))
Modifica ed esegui il codice