Giải CliffWalking với chiến lược epsilon-greedy suy giảm
Để tăng cường chiến lược epsilon-greedy, một hệ số suy giảm được đưa vào để giảm dần tỷ lệ khám phá, epsilon, khi agent học nhiều hơn về môi trường. Cách tiếp cận này khuyến khích khám phá ở giai đoạn đầu và khai thác kiến thức đã học khi agent ngày càng quen thuộc với môi trường. Bây giờ, bạn sẽ áp dụng chiến lược này để giải bài toán CliffWalking.
Môi trường đã được khởi tạo và có thể truy cập qua biến env. Các biến epsilon, min_epsilon, và epsilon_decay đã được định nghĩa sẵn cho bạn. Các hàm epsilon_greedy() và update_q_table() đã được nhập sẵn.
Bài tập này là một phần của khóa học
Reinforcement Learning với Gymnasium trong Python
Hướng dẫn bài tập
- Triển khai vòng lặp huấn luyện đầy đủ bằng cách chọn
action, thực thi nó, cộng dồnrewardnhận được vàoepisode_reward, và cập nhật Q-table. - Giảm
epsilontheo tỷ lệepsilon_decay, đảm bảo nó không giảm xuống dướimin_epsilon.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
rewards_decay_eps_greedy = []
for episode in range(total_episodes):
state, info = env.reset()
episode_reward = 0
for i in range(max_steps):
# Implement the training loop
action = ____
new_state, reward, terminated, truncated, info = ____
episode_reward += ____
____
state = new_state
rewards_decay_eps_greedy.append(episode_reward)
# Update epsilon
epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))