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
Istruzioni dell'esercizio
- Per ogni episodio, esegui l'azione selezionata e osserva la ricompensa e lo stato successivo.
- Aggiorna la Q-table.
- Aggiungi
total_rewardalla listarewards_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))