# โลกที่สมจริงยิ่งขึ้น ในสถานการณ์ของเรา ปีเตอร์สามารถเคลื่อนที่ไปมาได้แทบจะโดยไม่รู้สึกเหนื่อยหรือหิวเลย ในโลกที่สมจริงยิ่งขึ้น เขาจะต้องนั่งพักเป็นครั้งคราว และต้องหาอาหารเพื่อเลี้ยงตัวเอง มาทำให้โลกของเราสมจริงยิ่งขึ้นโดยการเพิ่มกฎดังต่อไปนี้: 1. เมื่อปีเตอร์เคลื่อนที่จากที่หนึ่งไปยังอีกที่หนึ่ง เขาจะสูญเสีย **พลังงาน** และได้รับ **ความเหนื่อยล้า** เพิ่มขึ้น 2. ปีเตอร์สามารถเพิ่มพลังงานได้โดยการกินแอปเปิ้ล 3. ปีเตอร์สามารถลดความเหนื่อยล้าได้โดยการพักผ่อนใต้ต้นไม้หรือบนหญ้า (เช่น เดินไปยังตำแหน่งบนกระดานที่มีต้นไม้หรือหญ้า - พื้นที่สีเขียว) 4. ปีเตอร์ต้องค้นหาและฆ่าหมาป่า 5. เพื่อที่จะฆ่าหมาป่า ปีเตอร์ต้องมีระดับพลังงานและความเหนื่อยล้าในระดับที่เหมาะสม มิฉะนั้นเขาจะพ่ายแพ้ในการต่อสู้ ## คำแนะนำ ใช้ [notebook.ipynb](../../../../8-Reinforcement/1-QLearning/notebook.ipynb) ดั้งเดิมเป็นจุดเริ่มต้นสำหรับการแก้ปัญหาของคุณ ปรับฟังก์ชันรางวัลตามกฎของเกมที่กำหนดไว้ด้านบน รันอัลกอริทึมการเรียนรู้แบบเสริมกำลัง (Reinforcement Learning) เพื่อเรียนรู้กลยุทธ์ที่ดีที่สุดในการชนะเกม และเปรียบเทียบผลลัพธ์ของการเดินแบบสุ่มกับอัลกอริทึมของคุณในแง่ของจำนวนเกมที่ชนะและแพ้ > **Note**: ในโลกใหม่ของคุณ สถานะจะซับซ้อนมากขึ้น และนอกจากตำแหน่งของมนุษย์แล้วยังรวมถึงระดับความเหนื่อยล้าและพลังงาน คุณสามารถเลือกที่จะแสดงสถานะเป็นทูเพิล (Board, energy, fatigue) หรือกำหนดคลาสสำหรับสถานะ (คุณอาจต้องการสืบทอดจาก `Board`) หรือแม้กระทั่งปรับเปลี่ยนคลาส `Board` ดั้งเดิมใน [rlboard.py](../../../../8-Reinforcement/1-QLearning/rlboard.py) ในคำตอบของคุณ กรุณาเก็บโค้ดที่รับผิดชอบกลยุทธ์การเดินแบบสุ่มไว้ และเปรียบเทียบผลลัพธ์ของอัลกอริทึมของคุณกับการเดินแบบสุ่มในตอนท้าย > **Note**: คุณอาจต้องปรับพารามิเตอร์ไฮเปอร์เพื่อให้มันทำงานได้ โดยเฉพาะจำนวนรอบการฝึก (epochs) เนื่องจากความสำเร็จของเกม (การต่อสู้กับหมาป่า) เป็นเหตุการณ์ที่เกิดขึ้นได้ยาก คุณสามารถคาดหวังเวลาฝึกที่นานขึ้น ## เกณฑ์การประเมิน | เกณฑ์ | ยอดเยี่ยม | เพียงพอ | ต้องปรับปรุง | | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | | มีการนำเสนอสมุดบันทึกที่มีการกำหนดกฎของโลกใหม่ อัลกอริทึม Q-Learning และคำอธิบายข้อความบางส่วน Q-Learning สามารถปรับปรุงผลลัพธ์ได้อย่างมีนัยสำคัญเมื่อเปรียบเทียบกับการเดินแบบสุ่ม | มีการนำเสนอสมุดบันทึก อัลกอริทึม Q-Learning ถูกนำไปใช้และปรับปรุงผลลัพธ์เมื่อเปรียบเทียบกับการเดินแบบสุ่ม แต่ไม่มากนัก หรือสมุดบันทึกมีการอธิบายไม่ดีและโค้ดไม่มีโครงสร้างที่ดี | มีความพยายามในการกำหนดกฎของโลกใหม่ แต่ไม่สามารถทำให้อัลกอริทึม Q-Learning ทำงานได้ หรือฟังก์ชันรางวัลไม่ได้ถูกกำหนดอย่างสมบูรณ์ | --- **ข้อจำกัดความรับผิดชอบ**: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้