กฎการอัปเดตของ Expected SARSA
ในแบบฝึกหัดนี้ จะได้ลองนำกฎการอัปเดตของ Expected SARSA ไปใช้งาน ซึ่งเป็นอัลกอริทึม RL แบบ model-free ที่ใช้ temporal difference Expected SARSA ประมาณค่าที่คาดหวังของนโยบายปัจจุบันโดยการหาค่าเฉลี่ยจากทุกแอ็กชันที่เป็นไปได้ ทำให้เป้าหมายการอัปเดตมีความเสถียรมากกว่า SARSA สูตรที่ใช้ใน Expected SARSA แสดงไว้ด้านล่าง

ไลบรารี numpy ถูก import มาแล้วในชื่อ np
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Reinforcement Learning with Gymnasium ใน Python
คำแนะนำการฝึกหัด
- คำนวณค่า Q ที่คาดหวังสำหรับ
next_state - อัปเดตค่า Q สำหรับ
stateและactionปัจจุบันโดยใช้สูตรของ Expected SARSA - อัปเดต Q-table
Qโดยสมมติว่าเอเจนต์เลือกแอ็กชัน1ในสถานะ2แล้วเคลื่อนที่ไปยังสถานะ3พร้อมรับรางวัลเป็น5
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def update_q_table(state, action, next_state, reward):
# Calculate the expected Q-value for the next state
expected_q = ____
# Update the Q-value for the current state and action
Q[state, action] = ____
Q = np.random.rand(5, 2)
print("Old Q:\n", Q)
alpha = 0.1
gamma = 0.99
# Update the Q-table
update_q_table(____, ____, ____, ____)
print("Updated Q:\n", Q)