НачатьНачать бесплатно

Решение задачи «Замёрзшее озеро 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))
Редактировать и запускать код