ПочатиПочніть безкоштовно

Реалізація Монте-Карло першого відвідування

Мета алгоритмів Монте-Карло — оцінити Q-таблицю, щоб вивести оптимальну політику. У цій вправі ви реалізуєте метод Монте-Карло першого відвідування для оцінювання функції цінності дій Q, а потім обчислите оптимальну політику, щоб розв'язати спеціальне середовище, з яким ви вже працювали у попередній вправі. Під час обчислення повернення припускайте коефіцієнт дисконтування, що дорівнює 1.

Масиви numpy Q, returns_sum та returns_count, які зберігають відповідно Q-значення, накопичену суму винагород і кількість відвідувань для кожної пари „стан–дія", уже ініціалізовано та попередньо завантажено для вас.

Ця вправа є частиною курсу

Reinforcement Learning з Gymnasium у Python

Переглянути курс

Інструкції до вправи

  • Визначте умову if, яку слід перевіряти в алгоритмі Монте-Карло першого відвідування.
  • Оновіть повернення (returns_sum), їхню кількість (returns_count) та visited_states.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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())
Редагувати та запускати код