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

Cài đặt quy tắc cập nhật Double Q-learning

Double Q-learning là phần mở rộng của thuật toán Q-learning giúp giảm hiện tượng đánh giá cao quá mức giá trị hành động bằng cách duy trì và cập nhật hai bảng Q riêng biệt. Bằng việc tách rời bước chọn hành động khỏi bước đánh giá hành động, Double Q-learning cung cấp ước lượng giá trị Q chính xác hơn. Bài tập này sẽ hướng dẫn bạn triển khai quy tắc cập nhật Double Q-learning. Danh sách Q chứa hai bảng Q đã được tạo sẵn.

Thư viện numpy đã được import dưới tên np, và các giá trị gammaalpha đã được nạp trước. Các công thức cập nhật ở bên dưới:

Image showing the update rule of Q1.

Image showing the update rule of Q2.

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

  • Ngẫu nhiên quyết định Q-table nào trong Q sẽ được cập nhật cho việc ước tính giá trị hành động bằng cách tính chỉ số của nó i.
  • Thực hiện các bước cần thiết để cập nhật Q[i].

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.

Q = [np.random.rand(8,4), np.random.rand(8,4)] 
def update_q_tables(state, action, reward, next_state):
  	# Get the index of the table to update
    i = ____
    # Update Q[i]
    best_next_action = ____
    Q[i][state, action] = ____
Chỉnh sửa và Chạy Mã