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

แก้ปัญหา Frozen Lake ขนาด 8x8 ด้วย SARSA

ในแบบฝึกหัดนี้ จะได้นำอัลกอริทึม SARSA มาใช้งาน โดยอาศัยฟังก์ชัน update_q_table() ที่สร้างไว้ก่อนหน้านี้ เพื่อเรียนรู้นโยบายที่เหมาะสมที่สุดสำหรับสภาพแวดล้อม Frozen Lake ขนาด 8x8 สภาพแวดล้อมนี้มีโครงสร้างเหมือนกับแบบ 4x4 แบบดั้งเดิมทุกประการ แต่มีขนาดใหญ่กว่า อัลกอริทึม SARSA จะถูกใช้เพื่อปรับปรุงนโยบายของ agent ทีละขั้น โดยอิงจากรางวัลที่ได้รับจากสภาพแวดล้อม

ได้มีการเตรียม Q-table Q และโหลดฟังก์ชัน update_q_table() จากแบบฝึกหัดก่อนหน้าไว้ให้แล้ว

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

Reinforcement Learning with Gymnasium ใน Python

ดูคอร์ส

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

  • ในแต่ละ episode ของกระบวนการฝึก ให้รัน action ที่เลือกไว้
  • เลือก next_action แบบสุ่ม
  • อัปเดต Q-table สำหรับ state และ action ที่กำหนด

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

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

for episode in range(num_episodes):
    state, info = env.reset()
    action = env.action_space.sample()
    terminated = False
    while not terminated:
      	# Execute the action
        next_state, reward, terminated, truncated, info = ____
        # Choose the next action randomly
        next_action = ____
        # Update the Q-table
        ____
        state, action = next_state, next_action   
render_policy(get_policy())
แก้ไขและรันโค้ด