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

Cài đặt Monte Carlo lần đầu ghé thăm

Mục tiêu của các thuật toán Monte Carlo là ước lượng Q-table để suy ra một chính sách tối ưu. Trong bài tập này, bạn sẽ cài đặt phương pháp Monte Carlo lần đầu ghé thăm để ước lượng hàm giá trị hành động Q, sau đó tính chính sách tối ưu để giải bài toán trong môi trường tùy biến bạn đã thấy ở bài trước. Khi tính return, giả sử hệ số chiết khấu bằng 1.

Các mảng numpy Q, returns_sumreturns_count, lần lượt lưu trữ các Q-value, tổng phần thưởng tích lũy và số lần ghé thăm cho mỗi cặp trạng thái–hành động, đã được khởi tạo và nạp sẵn cho bạn.

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

  • Xác định điều kiện if cần kiểm tra trong thuật toán Monte Carlo lần đầu ghé thăm.
  • Cập nhật các return (returns_sum), số đếm của chúng (returns_count) và visited_states.

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 i in range(100):
  episode = generate_episode()
  visited_states = set()
  for j, (state, action, reward) in enumerate(episode):
    # Define the first-visit condition
    if ____ not in ____:
      # Update the returns, their counts and the visited states
      returns_sum[state, action] += ____([____ for ____ in ____])
      returns_count[state, action] += ____
      visited_states.____(____)

nonzero_counts = returns_count != 0

Q[nonzero_counts] = returns_sum[nonzero_counts] / returns_count[nonzero_counts]
render_policy(get_policy())
Chỉnh sửa và Chạy Mã