Calcolo dei valori di stato per una policy
Usando lo stesso ambiente deterministico MyGridWorld, ora devi valutare l'efficacia della policy che hai definito nell'esercizio precedente. Lo farai calcolando la funzione di valore di stato per ciascuno stato sotto questa policy.
L'ambiente è stato importato come env insieme alle variabili necessarie (terminal_state, num_states, policy, gamma).
Questo esercizio fa parte del corso
Reinforcement Learning con Gymnasium in Python
Istruzioni dell'esercizio
- Completa la funzione
compute_state_value()per calcolare il valore di ciascuno stato data la policy fornita. - Crea un dizionario
state_valuesin cui ogni chiave è lostatee ogni valore è il valore di stato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Complete the function
def compute_state_value(state):
if state == terminal_state:
return ____
action = ____
_, next_state, reward, _ = env.unwrapped.P[state][action][0]
return ____
# Compute all state values
state_values = {____: ____ for ____ in range(____)}
print(state_values)