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

Triển khai value iteration

Value iteration là một phương pháp quan trọng trong RL để tìm chính sách tối ưu. Phương pháp này cải thiện dần hàm giá trị cho mỗi trạng thái cho đến khi hội tụ, từ đó tìm ra chính sách tối ưu. Bạn sẽ bắt đầu với hàm giá trị Vpolicy đã được khởi tạo sẵn. Sau đó, bạn sẽ cập nhật chúng trong một vòng lặp cho đến khi hàm giá trị hội tụ và quan sát chính sách hoạt động.

Hàm get_max_action_and_value(state, V) đã được tải 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

  • Với mỗi trạng thái, tìm hành động có Q-value lớn nhất (max_action) và giá trị tương ứng (max_q_value).
  • Cập nhật từ điển new_Vpolicy dựa trên max_actionmax_q_value.
  • Kiểm tra hội tụ bằng cách xem chênh lệch giữa new_vV ở mọi trạng thái có nhỏ hơn threshold hay không.

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.

threshold = 0.001
while True:
  new_V = {}
  for state in range(num_states-1):
    # Get action with maximum Q-value and its value 
    max_action, max_q_value = ____
    # Update the value function and policy
    new_V[state] = ____
    policy[state] = ____
  # Test if change in state values is negligeable
  if all(abs(____ - ____) < ____ for state in ____):
    break
  V = new_V
render_policy(policy)
Chỉnh sửa và Chạy Mã