Реалізація правила оновлення Double Q-learning
Double Q-learning — це розширення алгоритму Q-learning, яке зменшує переоцінювання значень дій, підтримуючи та оновлюючи дві окремі Q-таблиці. Розділяючи вибір дії та оцінювання дії, Double Q-learning забезпечує точніше наближення Q-значень. У цій вправі ви реалізуєте правило оновлення Double Q-learning. Список Q, що містить дві Q-таблиці, вже створено.
Бібліотеку numpy імпортовано як np, а значення gamma та alpha попередньо завантажені. Формули оновлення наведені нижче:


Ця вправа є частиною курсу
Reinforcement Learning з Gymnasium у Python
Інструкції до вправи
- Випадково визначте, яку Q-таблицю всередині
Qоновлювати для оцінювання значення дії, обчисливши її індексi. - Виконайте необхідні кроки для оновлення
Q[i].
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
Q = [np.random.rand(8,4), np.random.rand(8,4)]
def update_q_tables(state, action, reward, next_state):
# Get the index of the table to update
i = ____
# Update Q[i]
best_next_action = ____
Q[i][state, action] = ____