เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การนำ Expected SARSA ไปใช้

คราวนี้จะได้นำอัลกอริทึม Expected SARSA ไปใช้กับ environment แบบกำหนดเองตามที่แสดงด้านล่าง โดยมีเป้าหมายให้ agent นำทางผ่านกริดเพื่อไปถึงจุดหมายให้เร็วที่สุด กฎเดิมยังคงใช้อยู่ นั่นคือ agent จะได้รับรางวัล +10 เมื่อไปถึงเพชร, -2 เมื่อผ่านภูเขา และ -1 สำหรับทุก state อื่น

new_cust_env.png

นำเข้า environment แล้วในชื่อ env

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Reinforcement Learning with Gymnasium ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดค่าเริ่มต้นของ Q-table Q ให้เป็นศูนย์สำหรับทุกคู่ state-action
  • อัปเดต Q-table โดยใช้ฟังก์ชัน update_q_table()
  • ดึง policy ออกมาเป็น dictionary จาก Q-table ที่เรียนรู้แล้ว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Initialize the Q-table with random values
Q = ____
for i_episode in range(num_episodes):
    state, info = env.reset()    
    done = False    
    while not done: 
        action = env.action_space.sample()               
        next_state, reward, done, truncated, info = env.step(action)
        # Update the Q-table
        ____
        state = next_state
# Derive policy from Q-table        
policy = {state: ____ for state in range(____)}
render_policy(policy)
แก้ไขและรันโค้ด