Застосування Expected SARSA
Тепер ви застосуєте алгоритм Expected SARSA у кастомному середовищі, показаному нижче. Мета — навчити агента пересуватися ґраткою й якнайшвидше дістатися цілі. Діють ті самі правила, що й раніше: агент отримує винагороду +10 за досягнення діаманта, -2 за прохід через гору та -1 за будь-який інший стан.

Середовище імпортовано як env.
Ця вправа є частиною курсу
Reinforcement Learning з Gymnasium у Python
Інструкції до вправи
- Ініціалізуйте Q-таблицю
Qнулями для кожної пари «стан–дія». - Оновіть Q-таблицю за допомогою функції
update_q_table(). - Витягніть політику як словник із отриманої Q-таблиці.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
state, info = env.reset()
done = False
while not done:
action = env.action_space.sample()
next_state, reward, done, truncated, info = env.step(action)
# Update the Q-table
____
state = next_state
# Derive policy from Q-table
policy = {state: ____ for state in range(____)}
render_policy(policy)