Implementarea iterației valorii
Iterația valorii este o metodă esențială în RL pentru găsirea politicii optime. Aceasta îmbunătățește iterativ funcția de valoare pentru fiecare stare până când converge, ducând la descoperirea politicii optime. Vei porni de la o funcție de valoare V și o politică policy, ambele preîncărcate pentru tine. Apoi, le vei actualiza într-o buclă până când funcția de valoare converge și vei vedea politica în acțiune.
Funcția get_max_action_and_value(state, V) a fost preîncărcată pentru tine.
Acest exercițiu face parte din cursul
Reinforcement Learning cu Gymnasium în Python
Instrucțiuni pentru exercițiu
- Pentru fiecare stare, găsește acțiunea cu valoarea Q maximă (
max_action) și valoarea corespunzătoare acesteia (max_q_value). - Actualizează dicționarul
new_Vși politicapolicype bazamax_actionșimax_q_value. - Verifică convergența prin compararea diferenței dintre
new_vșiVpentru fiecare stare cu pragulthreshold.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
threshold = 0.001
while True:
new_V = {}
for state in range(num_states-1):
# Get action with maximum Q-value and its value
max_action, max_q_value = ____
# Update the value function and policy
new_V[state] = ____
policy[state] = ____
# Test if change in state values is negligeable
if all(abs(____ - ____) < ____ for state in ____):
break
V = new_V
render_policy(policy)