ÎncepețiÎncepe gratuit

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

Vezi cursul

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 politica policy pe baza max_action și max_q_value.
  • Verifică convergența prin compararea diferenței dintre new_v și V pentru fiecare stare cu pragul threshold.

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)
Editează și rulează codul