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