ÎncepețiÎncepe gratuit

Implementarea metodei Monte Carlo first-visit

Scopul algoritmilor Monte Carlo este de a estima tabelul Q pentru a deriva o politică optimă. În acest exercițiu, vei implementa metoda Monte Carlo First-Visit pentru a estima funcția de valoare a acțiunilor Q, apoi vei calcula politica optimă pentru a rezolva mediul personalizat din exercițiul anterior. La calcularea randamentului, presupune un factor de actualizare egal cu 1.

Arrayurile numpy Q, returns_sum și returns_count, care stochează valorile Q, suma cumulativă a recompenselor, respectiv numărul de vizite pentru fiecare pereche stare-acțiune, au fost inițializate și preîncărcate pentru tine.

Acest exercițiu face parte din cursul

Reinforcement Learning cu Gymnasium în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește condiția if care trebuie verificată în algoritmul Monte Carlo first-visit.
  • Actualizează randamentele (returns_sum), numărul lor de apariții (returns_count) și variabila visited_states.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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