IniziaInizia gratis

Implementare Monte Carlo a prima visita

L'obiettivo degli algoritmi Monte Carlo è stimare la Q-table per ricavare una policy ottimale. In questo esercizio, implementerai il metodo Monte Carlo a prima visita per stimare la funzione valore-azione Q e poi calcolare la policy ottimale per risolvere l'ambiente personalizzato che hai visto nell'esercizio precedente. Quando calcoli il ritorno, assumi un fattore di sconto pari a 1.

Gli array numpy Q, returns_sum e returns_count, che memorizzano rispettivamente i valori Q, la somma cumulativa delle ricompense e il numero di visite per ogni coppia stato-azione, sono già stati inizializzati e precaricati per te.

Questo esercizio fa parte del corso

Reinforcement Learning con Gymnasium in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci la condizione if da verificare nell'algoritmo Monte Carlo a prima visita.
  • Aggiorna i ritorni (returns_sum), i loro conteggi (returns_count) e visited_states.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

for i in range(100):
  episode = generate_episode()
  visited_states = set()
  for j, (state, action, reward) in enumerate(episode):
    # Define the first-visit condition
    if ____ not in ____:
      # Update the returns, their counts and the visited states
      returns_sum[state, action] += ____([____ for ____ in ____])
      returns_count[state, action] += ____
      visited_states.____(____)

nonzero_counts = returns_count != 0

Q[nonzero_counts] = returns_sum[nonzero_counts] / returns_count[nonzero_counts]
render_policy(get_policy())
Modifica ed esegui il codice