Розв'язання 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))