Áp dụng Expected SARSA
Bây giờ bạn sẽ áp dụng thuật toán Expected SARSA trong một môi trường tùy chỉnh như dưới đây, nơi mục tiêu là cho một agent di chuyển trên lưới, cố gắng đạt tới đích nhanh nhất có thể. Các quy tắc vẫn giữ nguyên như trước: agent nhận phần thưởng +10 khi chạm tới viên kim cương, -2 khi đi qua núi, và -1 cho mọi trạng thái còn lại.

Môi trường đã được import là env.
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
- Khởi tạo bảng Q
Qvới giá trị 0 cho mọi cặp trạng thái-hành động. - Cập nhật bảng Q bằng hàm
update_q_table(). - Trích xuất policy dưới dạng một dictionary từ bảng Q đã học.
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.
# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
state, info = env.reset()
done = False
while not done:
action = env.action_space.sample()
next_state, reward, done, truncated, info = env.step(action)
# Update the Q-table
____
state = next_state
# Derive policy from Q-table
policy = {state: ____ for state in range(____)}
render_policy(policy)