IniziaInizia gratis

Risolvi Frozen Lake 8x8 con Q-learning

In questo esercizio applicherai l'algoritmo di Q-learning per apprendere una politica ottimale per navigare nell'ambiente Frozen Lake 8x8, questa volta con la condizione "slippery" attivata. La sfida introduce transizioni stocastiche, rendendo imprevedibili i movimenti dell'agente e simulando più da vicino scenari del mondo reale.

Per te sono già stati inizializzati e caricati una Q-table Q, la funzione update_q_table() dall'esercizio precedente e una lista vuota rewards_per_episode che conterrà la ricompensa totale accumulata in ciascun episodio.

Questo esercizio fa parte del corso

Reinforcement Learning con Gymnasium in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Per ogni episodio, esegui l'azione selezionata e osserva la ricompensa e lo stato successivo.
  • Aggiorna la Q-table.
  • Aggiungi total_reward alla lista rewards_per_episode.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

for episode in range(10000):
    state, info = env.reset()
    total_reward = 0
    terminated = False
    while not terminated:
        action = env.action_space.sample()
        # Execute the action
        next_state, reward, terminated, truncated, info = ____
        # Update the Q-table
        ____
        state = next_state
        total_reward += reward
    # Append the total reward to the rewards list    
    rewards_per_episode.____(____)
print("Average reward per random episode: ", np.mean(rewards_per_episode))
Modifica ed esegui il codice