ComenzarEmpieza gratis

Implementar Monte Carlo de primera visita

El objetivo de los algoritmos de Monte Carlo es estimar la Q-table para derivar una política óptima. En este ejercicio, vas a implementar el método de Monte Carlo de primera visita para estimar la función valor-acción Q y, después, calcular la política óptima para resolver el entorno personalizado que viste en el ejercicio anterior. Al calcular el retorno, supone un factor de descuento igual a 1.

Los arrays de numpy Q, returns_sum y returns_count, que almacenan respectivamente los valores Q, la suma acumulada de recompensas y el número de visitas para cada par estado-acción, ya se han inicializado y cargado por ti.

Este ejercicio forma parte del curso

Reinforcement Learning con Gymnasium en Python

Ver curso

Instrucciones del ejercicio

  • Define la condición if que debe comprobarse en el algoritmo de Monte Carlo de primera visita.
  • Actualiza los retornos (returns_sum), sus contadores (returns_count) y los visited_states.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código