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

Правило оновлення Expected SARSA

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

Image showing the mathematical formula of the expected SARSA update rule.

Бібліотеку 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)
Редагувати та запускати код