ПочатиПочніть безкоштовно

Реалізація правила оновлення Double Q-learning

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

Бібліотеку numpy імпортовано як np, а значення gamma та alpha попередньо завантажені. Формули оновлення наведені нижче:

Image showing the update rule of Q1.

Image showing the update rule of Q2.

Ця вправа є частиною курсу

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] = ____
Редагувати та запускати код