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

Библиотека 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)