Реализация итерации по ценности
Итерация по ценности — один из ключевых методов в обучении с подкреплением для нахождения оптимальной политики. Метод последовательно улучшает функцию ценности для каждого состояния до её сходимости, в результате чего определяется оптимальная политика. Вы начнёте с инициализированных функции ценности 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)