ComeçarComece de graça

Implementando Monte Carlo de primeira visita

O objetivo dos algoritmos de Monte Carlo é estimar a Q-table para derivar uma política ótima. Neste exercício, você vai implementar o método Monte Carlo de Primeira Visita para estimar a função valor-ação Q e, em seguida, calcular a política ótima para resolver o ambiente customizado que você viu no exercício anterior. Sempre que calcular o retorno, assuma um fator de desconto igual a 1.

Os arrays do numpy Q, returns_sum e returns_count, que armazenam os valores de Q, a soma cumulativa das recompensas e a contagem de visitas para cada par estado-ação, respectivamente, já foram inicializados e pré-carregados para você.

Este exercício faz parte do curso

Reinforcement Learning com Gymnasium em Python

Ver curso

Instruções do exercício

  • Defina a condição if que deve ser testada no algoritmo Monte Carlo de primeira visita.
  • Atualize os retornos (returns_sum), suas contagens (returns_count) e o visited_states.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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())
Editar e executar o código