Решение задачи «Замёрзшее озеро 8×8» с помощью Q-обучения
В этом упражнении вы применяете алгоритм Q-обучения, чтобы найти оптимальную стратегию навигации в среде «Замёрзшее озеро 8×8» — на этот раз с включённым режимом «скользкой поверхности». Это условие вводит стохастические переходы: движения агента становятся непредсказуемыми, что делает задачу значительно ближе к реальным сценариям.
Q-таблица Q уже инициализирована и загружена для вас, а также доступна функция update_q_table() из предыдущего упражнения и пустой список rewards_per_episode, в который будет записываться суммарное вознаграждение за каждый эпизод.
Это упражнение является частью курса
Обучение с подкреплением с Gymnasium на Python
Инструкции к упражнению
- На каждом эпизоде выполните выбранное действие и наблюдайте за вознаграждением и следующим состоянием.
- Обновите Q-таблицу.
- Добавьте
total_rewardв списокrewards_per_episode.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
for episode in range(10000):
state, info = env.reset()
total_reward = 0
terminated = False
while not terminated:
action = env.action_space.sample()
# Execute the action
next_state, reward, terminated, truncated, info = ____
# Update the Q-table
____
state = next_state
total_reward += reward
# Append the total reward to the rewards list
rewards_per_episode.____(____)
print("Average reward per random episode: ", np.mean(rewards_per_episode))