Bắt đầu ngayBắt đầu miễn phí

Á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.

new_cust_env.png

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

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo bảng Q Q vớ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)
Chỉnh sửa và Chạy Mã