Začněte nyníZačněte zdarma

Implementace first-visit Monte Carlo

Cílem algoritmů Monte Carlo je odhadnout Q-tabulku a na jejím základě odvodit optimální politiku. V tomto cvičení implementuješ metodu First-Visit Monte Carlo pro odhad funkce hodnoty akcí Q a pak vypočítáš optimální politiku pro vlastní prostředí z předchozího cvičení. Při výpočtu výnosu předpokládej diskontní faktor rovný 1.

Pole numpyQ, returns_sum a returns_count — uchovávají Q-hodnoty, kumulativní součet odměn a počet návštěv pro každý pár stav–akce. Jsou pro tebe již inicializována a připravena k použití.

Toto cvičení je součástí kurzu

Reinforcement Learning with Gymnasium in Python

Zobrazit kurz

Pokyny k cvičení

  • Definuj podmínku if, která se má testovat v algoritmu first-visit Monte Carlo.
  • Aktualizuj výnosy (returns_sum), jejich počty (returns_count) a proměnnou visited_states.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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())
Upravit a spustit kód