Правило оновлення Expected SARSA
У цій вправі ви реалізуєте правило оновлення Expected SARSA — алгоритм навчання з підкріпленням без моделі на основі тимчасових різниць. Expected SARSA оцінює очікуване значення поточної політики, усереднюючи всі можливі дії, і завдяки цьому забезпечує стабільнішу ціль оновлення порівняно з SARSA. Формули, що використовуються в Expected SARSA, наведено нижче.

Бібліотеку numpy імпортовано як np.
Ця вправа є частиною курсу
Reinforcement Learning з 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)