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

Оцінювання політики на слизькому Frozen Lake

У слизькому середовищі Frozen Lake просто вивести політику з вивченої Q-таблиці недостатньо, щоб оцінити її ефективність. Щоб коректно визначити, наскільки підходить вивчена політика, потрібно зіграти кілька епізодів і подивитися на середню винагороду. У цій вправі порівнюється результативність вивченої політики з базовим рівнем, отриманим під час тренування за випадковою політикою. Ваше завдання — запустити вивчену політику протягом кількох епізодів і проаналізувати її за середніми винагородами, порівнявши їх із середніми винагородами, зібраними під час фази випадкової політики.

Q-таблиця Q, num_states, num_actions і avg_reward_per_random_episode уже завантажені для вас. Бібліотеку NumPy імпортовано як np.

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

Reinforcement Learning з Gymnasium у Python

Переглянути курс

Інструкції до вправи

  • У кожній ітерації оберіть найкращу дію на основі вивченої Q-таблиці Q.
  • Обчисліть середню винагороду за вивчений епізод avg_reward_per_learned_episode.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

for episode in range(10000):
    state, info = env.reset()
    terminated = False
    episode_reward = 0
    while not terminated:
        # Select the best action based on learned Q-table
        action = ____
        new_state, reward, terminated, truncated, info = env.step(action)
        state = new_state
        episode_reward += reward
    reward_per_learned_episode.append(episode_reward)
# Compute and print the average reward per learned episode
avg_reward_per_learned_episode = ____
print("Average reward per learned episode: ", avg_reward_per_learned_episode)
print("Average reward per random episode: ", ____)
Редагувати та запускати код