Реалізація правила оновлення SARSA
SARSA — це on-policy алгоритм у RL, який оновлює функцію значень дій на основі виконаної дії та дії, обраної в наступному стані. Цей метод допомагає навчитися оцінювати не лише поточну пару «стан–дія», а й наступну, що дає змогу вивчати політики, які враховують майбутні дії. Нижче наведено правило оновлення SARSA, а ваше завдання — реалізувати функцію, яка оновлює Q-таблицю за цим правилом.
Бібліотеку NumPy імпортовано для вас як np.

Ця вправа є частиною курсу
Reinforcement Learning з Gymnasium у Python
Інструкції до вправи
- Отримайте поточне значення Q для заданої пари «стан–дія».
- Знайдіть значення Q для наступної пари «стан–дія».
- Оновіть значення Q для поточної пари «стан–дія» за формулою SARSA.
- Оновіть Q-таблицю
Q, враховуючи, що агент виконує дію0у стані0, отримує винагороду5, переходить у стан1і виконує дію1.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
def update_q_table(state, action, reward, next_state, next_action):
# Get the old value of the current state-action pair
old_value = ____
# Get the value of the next state-action pair
next_value = ____
# Compute the new value of the current state-action pair
Q[(state, action)] = ____
alpha = 0.1
gamma = 0.8
Q = np.array([[10,0],[0,20]], dtype='float32')
# Update the Q-table for the ('state1', 'action1') pair
____
print(Q)