Giải bài toán Frozen Lake 8x8 với SARSA
Trong bài tập này, bạn sẽ áp dụng thuật toán SARSA, kết hợp với hàm update_q_table() mà bạn đã triển khai trước đó, để học một chính sách tối ưu cho môi trường Frozen Lake 8x8. Môi trường này giống hệt phiên bản kinh điển 4x4, chỉ khác là kích thước lớn hơn. Bạn sẽ dùng SARSA để lặp lại và cải thiện dần chính sách của tác tử dựa trên phần thưởng nhận được từ môi trường.
Một Q-table Q đã được khởi tạo và nạp sẵn cho bạn, cùng với hàm update_q_table() từ bài tập trước.
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
- Với mỗi tập (episode) trong quá trình huấn luyện, hãy thực thi
actionđã chọn. - Chọn
next_actionngẫu nhiên. - Cập nhật Q-table cho
statevàactionđã cho.
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(num_episodes):
state, info = env.reset()
action = env.action_space.sample()
terminated = False
while not terminated:
# Execute the action
next_state, reward, terminated, truncated, info = ____
# Choose the next action randomly
next_action = ____
# Update the Q-table
____
state, action = next_state, next_action
render_policy(get_policy())