Cài đặt quy tắc cập nhật SARSA
SARSA là một thuật toán on-policy trong RL, cập nhật hàm giá trị hành động dựa trên hành động đã thực hiện và hành động được chọn ở trạng thái kế tiếp. Cách này giúp học không chỉ giá trị của cặp trạng thái–hành động hiện tại mà còn của cặp liền sau, từ đó học được các chính sách tính đến những hành động tương lai. Quy tắc cập nhật SARSA được nêu bên dưới, và nhiệm vụ của bạn là cài đặt một hàm cập nhật Q-table dựa trên quy tắc này.
Thư viện NumPy đã được nhập sẵn với bí danh np.

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
- Lấy giá trị Q hiện tại cho cặp trạng thái–hành động được cho.
- Tìm giá trị Q cho cặp trạng thái–hành động kế tiếp.
- Cập nhật giá trị Q cho cặp trạng thái–hành động hiện tại bằng công thức SARSA.
- Cập nhật Q-table
Q, giả sử tác tử thực hiện hành động0ở trạng thái0, nhận phần thưởng5, chuyển sang trạng thái1, và thực hiện hành động1.
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.
def update_q_table(state, action, reward, next_state, next_action):
# Get the old value of the current state-action pair
old_value = ____
# Get the value of the next state-action pair
next_value = ____
# Compute the new value of the current state-action pair
Q[(state, action)] = ____
alpha = 0.1
gamma = 0.8
Q = np.array([[10,0],[0,20]], dtype='float32')
# Update the Q-table for the ('state1', 'action1') pair
____
print(Q)