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

Решение задачи 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))
Редактировать и запускать код