Giải CliffWalking với chiến lược epsilon-greedy
Môi trường CliffWalking là một testbed chuẩn để đánh giá các thuật toán RL. Đây là một grid world nơi agent phải tìm đường từ trạng thái bắt đầu đến trạng thái đích, đồng thời tránh các vách đá trên đường đi. Sử dụng chiến lược epsilon-greedy giúp agent khám phá môi trường hiệu quả trong khi học cách tránh vách đá, tối đa hóa tổng phần thưởng. Nhiệm vụ của bạn là giải môi trường này bằng chiến lược epsilon-greedy, tính phần thưởng đạt được ở mỗi episode huấn luyện và lưu chúng vào danh sách rewards_eps_greedy.
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
- Trong mỗi episode, chọn một
actionbằng hàmepsilon_greedy(). - Cộng dồn
rewardnhận được vàoepisode_reward. - Sau mỗi episode, thêm tổng
episode_rewardvào danh sáchrewards_eps_greedyđể phân tích sau.
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_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))