การโต้ตอบกับสภาพแวดล้อม Frozen Lake
คราวนี้จะได้ลองนำทาง agent ในสภาพแวดล้อม Frozen Lake ซึ่งเป็นโลกแบบกริดที่แต่ละ action จะเคลื่อนที่ agent ไปในทิศทางที่กำหนด โจทย์คือให้สังเกตสภาพแวดล้อม แล้วกำหนดรายการ actions ด้วยตนเองเพื่อนำ agent จากจุดเริ่มต้น (มุมซ้ายบน) ไปยังเป้าหมาย (มุมขวาล่าง) โดยไม่ตกลงหลุม ใน Frozen Lake แต่ละ action แทนด้วยตัวเลขดังนี้:
- 0: ซ้าย
- 1: ลง
- 2: ขวา
- 3: ขึ้น
หลังจากรันโค้ดแล้ว ให้เลื่อนดูกราฟโดยใช้ปุ่ม 'Previous Plot' และ 'Next Plot' เพื่อติดตามเส้นทางที่ agent เดินผ่าน ซึ่งจะช่วยให้เข้าใจลำดับของ action และผลลัพธ์ที่เกิดขึ้น
gym และ plt ถูก import ไว้แล้ว พร้อมกับฟังก์ชัน render() และตัวแปร env
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Reinforcement Learning with Gymnasium ใน Python
คำแนะนำการฝึกหัด
- สังเกตตำแหน่งของ agent ทางด้านขวา แล้วกำหนดรายการ
actionsเพื่อนำ agent ข้ามทะเลสาบไปยังเป้าหมาย - ดำเนินการแต่ละ action ในรายการผ่านลูป
for - เรนเดอร์สภาพแวดล้อมหลังจากแต่ละ action เพื่อสังเกตเส้นทางของ agent
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the sequence of actions
actions = [____]
for action in actions:
# Execute each action
state, reward, terminated, _, _ = ____
# Render the environment
____
if terminated:
print("You reached the goal!")