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

Среда импортирована как env.
Это упражнение является частью курса
Обучение с подкреплением с 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)