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

Применение Expected SARSA

Теперь вы применим алгоритм Expected SARSA в пользовательской среде, показанной ниже. Задача агента — как можно быстрее добраться до цели, перемещаясь по сетке. Правила остаются прежними: агент получает награду +10 за достижение алмаза, -2 за прохождение через гору и -1 за каждое другое состояние.

new_cust_env.png

Среда импортирована как env.

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

Обучение с подкреплением с Gymnasium на Python

Посмотреть курс

Инструкции к упражнению

  • Инициализируйте Q-таблицу Q нулями для каждой пары «состояние — действие».
  • Обновите Q-таблицу с помощью функции update_q_table().
  • Извлеките политику в виде словаря из полученной Q-таблицы.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
    state, info = env.reset()    
    done = False    
    while not done: 
        action = env.action_space.sample()               
        next_state, reward, done, truncated, info = env.step(action)
        # Update the Q-table
        ____
        state = next_state
# Derive policy from Q-table        
policy = {state: ____ for state in range(____)}
render_policy(policy)
Редактировать и запускать код