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

Розв'язання 8×8 Frozen Lake за допомогою Q-learning

У цій вправі ви застосуєте алгоритм Q-learning, щоб навчити оптимальну стратегію для навігації середовищем 8×8 Frozen Lake, цього разу з увімкненою умовою «slippery». Це ускладнення запроваджує стохастичні переходи, роблячи рух агента непередбачуваним і таким чином ближчим до реальних сценаріїв.

Q-таблицю Q вже ініціалізовано та попередньо завантажено для вас, разом із функцією update_q_table() з попередньої вправи та порожнім списком rewards_per_episode, який міститиме загальну винагороду, накопичену в кожному епізоді.

Ця вправа є частиною курсу

Reinforcement Learning з 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))
Редагувати та запускати код