Решение задачи CliffWalking с помощью эпсилон-жадной стратегии
Среда CliffWalking — классический тест для алгоритмов обучения с подкреплением. Это клеточный мир, в котором агент должен найти путь из начального состояния в целевое, избегая обрывов. Эпсилон-жадная стратегия позволяет агенту эффективно исследовать среду, постепенно учась обходить опасные зоны и максимизируя накопленное вознаграждение. Ваша задача — решить эту среду с помощью эпсилон-жадной стратегии, вычислить вознаграждения, полученные в каждом обучающем эпизоде, и сохранить их в список rewards_eps_greedy.
Это упражнение является частью курса
Обучение с подкреплением с Gymnasium на Python
Инструкции к упражнению
- Внутри эпизода выбирайте
actionс помощью функцииepsilon_greedy(). - Накапливайте полученное
rewardв переменнойepisode_reward. - После каждого эпизода добавляйте итоговое значение
episode_rewardв списокrewards_eps_greedyдля последующего анализа.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
rewards_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Select action with epsilon-greedy strategy
action = ____
next_state, reward, terminated, truncated, info = env.step(action)
# Accumulate reward
____
update_q_table(state, action, reward, next_state)
state = next_state
# Append the toal reward to the rewards list
____
print("Average reward per episode: ", np.mean(rewards_eps_greedy))