Đánh giá chính sách trên Frozen Lake trơn trượt
Trong môi trường Frozen Lake trơn trượt, chỉ suy luận chính sách từ Q-table đã học là không đủ để đánh giá mức độ hiệu quả. Để đánh giá chính xác mức phù hợp của một chính sách đã học, bạn phải chơi nhiều tập và quan sát phần thưởng trung bình đạt được. Bài tập này so sánh hiệu quả của chính sách đã học với một chuẩn tham chiếu được thiết lập bằng cách theo chính sách ngẫu nhiên trong quá trình huấn luyện. Nhiệm vụ của bạn là chạy chính sách đã học qua nhiều tập và phân tích hiệu suất của nó dựa trên phần thưởng trung bình thu thập được, đối chiếu với phần thưởng trung bình thu thập trong giai đoạn chính sách ngẫu nhiên.
Q-table Q, num_states, num_actions, và avg_reward_per_random_episode đã được nạp sẵn cho bạn.
Thư viện NumPy đã được nhập dưới tên np.
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
- Ở mỗi vòng lặp, chọn hành động tốt nhất cần thực hiện dựa trên Q-table
Qđã học. - Tính phần thưởng trung bình mỗi tập đã học
avg_reward_per_learned_episode.
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.
for episode in range(10000):
state, info = env.reset()
terminated = False
episode_reward = 0
while not terminated:
# Select the best action based on learned Q-table
action = ____
new_state, reward, terminated, truncated, info = env.step(action)
state = new_state
episode_reward += reward
reward_per_learned_episode.append(episode_reward)
# Compute and print the average reward per learned episode
avg_reward_per_learned_episode = ____
print("Average reward per learned episode: ", avg_reward_per_learned_episode)
print("Average reward per random episode: ", ____)