แก้ปัญหา 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())