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
Instrucțiuni pentru exercițiu
- Definește condiția
ifcare trebuie verificată în algoritmul Monte Carlo first-visit. - Actualizează randamentele (
returns_sum), numărul lor de apariții (returns_count) și variabilavisited_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())