НачатьНачать бесплатно

Реализация итерации по ценности

Итерация по ценности — один из ключевых методов в обучении с подкреплением для нахождения оптимальной политики. Метод последовательно улучшает функцию ценности для каждого состояния до её сходимости, в результате чего определяется оптимальная политика. Вы начнёте с инициализированных функции ценности V и политики policy, которые уже загружены для вас. Затем вы будете обновлять их в цикле до достижения сходимости и проверите политику в действии.

Функция get_max_action_and_value(state, V) уже загружена для вас.

Это упражнение является частью курса

Обучение с подкреплением с Gymnasium на Python

Посмотреть курс

Инструкции к упражнению

  • Для каждого состояния найдите действие с максимальным Q-значением (max_action) и соответствующее ему значение (max_q_value).
  • Обновите словарь new_V и политику policy на основе max_action и max_q_value.
  • Проверьте сходимость: убедитесь, что разница между new_v и V для каждого состояния меньше порогового значения threshold.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

threshold = 0.001
while True:
  new_V = {}
  for state in range(num_states-1):
    # Get action with maximum Q-value and its value 
    max_action, max_q_value = ____
    # Update the value function and policy
    new_V[state] = ____
    policy[state] = ____
  # Test if change in state values is negligeable
  if all(abs(____ - ____) < ____ for state in ____):
    break
  V = new_V
render_policy(policy)
Редактировать и запускать код