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

Правило обновления Expected SARSA

В этом упражнении вы реализуете правило обновления Expected SARSA — алгоритма обучения с подкреплением без модели на основе временны́х разностей. Expected SARSA оценивает ожидаемое значение текущей политики, усредняя результаты по всем возможным действиям, что обеспечивает более стабильный целевой показатель обновления по сравнению с SARSA. Формулы, используемые в Expected SARSA, приведены ниже.

Image showing the mathematical formula of the expected SARSA update rule.

Библиотека numpy импортирована как np.

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

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

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

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

  • Вычислите ожидаемое Q-значение для next_state.
  • Обновите Q-значение для текущих state и action, используя формулу Expected SARSA.
  • Обновите Q-таблицу Q, предполагая, что агент выполняет действие 1 в состоянии 2 и переходит в состояние 3, получая награду 5.

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

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

def update_q_table(state, action, next_state, reward):
  	# Calculate the expected Q-value for the next state
    expected_q = ____
    # Update the Q-value for the current state and action
    Q[state, action] = ____
    
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99

# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)
Редактировать и запускать код