ปาร์ตี้ LAN
- จัดปาร์ตี้ LAN กับเพื่อน ๆ ทุกปีมาเป็นเวลา 16 ปี
- ปาร์ตี้กินเวลา 4-5 วัน และมีผู้เข้าร่วมสูงสุด 12 คน
- เล่น Dota 2 เป็นหลัก แต่ก็สนุกกับเกมอื่น ๆ อย่าง Counter-Strike, Warcraft 3 เป็นต้น
- การเลือกทีมทำได้ยาก จึงพัฒนาระบบอัตโนมัติขึ้นมา
Dota 2
- Dota 2 เล่นแบบ 5v5 และทีมที่ไม่สมดุลจะทำให้ความสนุกของเกมลดลง
- ระดับฝีมือของผู้เข้าร่วมแตกต่างกันมาก ทำให้เลือกทีมได้ยาก
วิธีเลือกทีม
- ใช้วิธีให้หัวหน้าทีมสองคนผลัดกันเลือกสมาชิกเข้าทีม
- แต่วิธีนี้ใช้เวลามาก และมักได้ทีมคล้าย ๆ เดิมบ่อยจนเริ่มน่าเบื่อ
ปัญหาของการเลือกทีมด้วยมือ
- ใช้เวลานานและน่าเบื่อ
- มักได้ทีมคล้าย ๆ เดิมบ่อย
- ไม่มีใครอยากรับบทเป็นหัวหน้าทีม
- มักได้ทีมที่ไม่สมดุล
แก้ด้วยโค้ด
- หลังเก็บข้อมูลแล้ว จึงใช้ระบบเรตติ้ง Elo บน Colab เพื่อสร้างทีมอัตโนมัติ
- ผู้เล่นแต่ละคนเริ่มต้นที่ 1000 Elo points และจะได้ 20 แต้มเมื่อชนะ เสีย 20 แต้มเมื่อแพ้
การปรับปรุง 1: รันข้อมูลหลายรอบ
- ในระบบ Elo หากชนะผู้เล่นที่มี Elo สูงกว่า จะได้แต้มมากขึ้น
- คำนวณ Elo โดยรันข้อมูลซ้ำหลายรอบ
การปรับปรุง 2: ทำให้เหมือนโมเดล ML
- ใช้ Elo เป็นโมเดลเพื่อทำนายความน่าจะเป็นที่ทีมจะชนะ
- กำหนดฟังก์ชัน L2 loss และปรับโมเดลให้เหมาะสมด้วย backpropagation
การปรับปรุง 3: ทำให้ผลลัพธ์ในอดีตเป็นแบบความน่าจะเป็น
- เพื่อป้องกัน overfitting จึงตั้งค่าความน่าจะเป็นชนะของเกมในอดีตไว้ที่ 75% หรือ 95%
- วิธีนี้ช่วยให้โมเดลไม่จดจำทุกเกมทั้งหมด และสามารถทำ generalization ได้
ผลลัพธ์
- ระบบใหม่สามารถทำนายความน่าจะเป็นชนะได้ แม้ทีมจะมีขนาดไม่สมดุลกัน
- รายชื่อชุดแรกสำหรับปาร์ตี้ LAN ครั้งถัดไปพร้อมแล้ว
ยังไม่มีความคิดเห็น