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

Оценка политики на скользком замёрзшем озере

В среде скользкого замёрзшего озера простого извлечения политики из обученной Q-таблицы недостаточно, чтобы оценить её эффективность. Для корректной оценки качества полученной политики необходимо провести несколько эпизодов и проследить за средним полученным вознаграждением. В этом упражнении вы сравните эффективность обученной политики с базовым уровнем, установленным в ходе обучения со случайной политикой. Ваша задача — запустить обученную политику на нескольких эпизодах, проанализировать её результаты на основе среднего вознаграждения и сопоставить их со средним вознаграждением, полученным при случайной политике.

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

Это упражнение является частью курса

Обучение с подкреплением с 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: ", ____)
Редактировать и запускать код