ПочатиПочніть безкоштовно

Розв'язання CliffWalking за допомогою стратегії epsilon-greedy

Середовище CliffWalking — це стандартний стенд для тестування алгоритмів підкріплення. Це сітковий світ, у якому агент має знайти шлях від початкового стану до цілі, уникаючи урвищ дорогою. Використання стратегії epsilon-greedy дає змогу агентові ефективно досліджувати середовище й водночас навчатися обходити урвища, максимізуючи сумарну винагороду. Ваше завдання — розв'язати це середовище за допомогою стратегії epsilon-greedy, обчислити винагороди, отримані в кожному тренувальному епізоді, і зберегти їх у список rewards_eps_greedy.

Ця вправа є частиною курсу

Reinforcement Learning з 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))
Редагувати та запускати код