2 คะแนน โดย GN⁺ 2024-04-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ค้นหาชุดค่าผสมที่ดีที่สุดใน Mario Kart 8

  • ใน Mario Kart 8 การเลือกตัวละคร บอดี้ของรถ ยาง และไกลเดอร์ ไม่ได้เป็นแค่เรื่องสไตล์ แต่เป็นปัจจัยสำคัญในการชนะการแข่งขัน
  • แต่ละองค์ประกอบมีตัวเลือกหลายสิบแบบ และแต่ละแบบมีค่าสถานะที่ส่งผลต่อประสิทธิภาพ เช่น ความเร็ว อัตราเร่ง เป็นต้น
  • แม้จะตัดตัวเลือกที่ต่างกันแค่ด้านสไตล์แต่มีค่าสถานะใกล้เคียงกันออกไปแล้ว การหาชุดค่าผสมที่ดีที่สุดจากตัวเลือกหลายพันแบบก็ยังเป็นเรื่องยาก

การหาค่าเหมาะที่สุดแบบ Pareto

  • การหาตัวละครที่มีความเร็วดีที่สุดนั้นง่ายพอ ๆ กับการจัดอันดับตามค่าสถานะความเร็ว
  • แต่หากต้องการหาชุดค่าผสมที่ดีที่สุด จำเป็นต้องพิจารณาสมดุลระหว่างค่าสถานะหลายตัว ไม่ใช่แค่ความเร็ว แต่รวมถึงอัตราเร่ง การควบคุม น้ำหนัก ออฟโรด มินิเทอร์โบ และอื่น ๆ
  • มีบางตัวเลือกที่ถูกครอบงำโดยตัวเลือกอื่นเสมอ ดังนั้นจึงสามารถตัดออกและระบุตัวละครที่มีประสิทธิภาพซึ่งก่อรูปเป็น Pareto frontier ได้
  • ประสิทธิภาพแบบ Pareto ให้เกณฑ์เชิงวัตถุวิสัยสำหรับคัดตัวเลือกที่ไม่ดีที่สุดออกไป แต่การตัดสินใจขั้นสุดท้ายยังคงต้องอาศัยความชอบและสไตล์ของผู้เล่น

การหาค่าเหมาะที่สุดในเกมจริง

  • ในเกมจริง ผู้เล่นต้องเลือกทั้งชุด ไม่ใช่แค่ตัวละคร แต่รวมถึงบอดี้ ล้อ และไกลเดอร์ด้วย
  • มีชุดค่าผสมที่มีคุณสมบัติด้านความเร็วและอัตราเร่งที่ไม่ซ้ำกันอยู่ 585 แบบ แต่สามารถใช้วิธี Pareto เพื่อลดเหลือ 14 ตัวเลือกที่มีประสิทธิภาพได้
  • สามารถเพิ่มค่าสถานะสำคัญตัวที่สามคือมินิเทอร์โบ และขยายแนวคิด Pareto frontier ไปสู่สามมิติได้
  • Pareto frontier ในหลายมิติมีขนาดขยายตัวแบบยกกำลังเมื่อจำนวนมิติเพิ่มขึ้น ทำให้การเลือกยากขึ้นกว่าเดิม
  • หากต้องการหาชุดค่าผสมที่ดีที่สุด ต้องกำหนดน้ำหนักให้แต่ละมิติ และชุดที่ผู้เล่นระดับสูงนิยมมักอยู่บน frontier เมื่อปรับให้เหมาะที่สุดในด้านความเร็ว อัตราเร่ง และมินิเทอร์โบ

ปัญหาการหาค่าเหมาะที่สุดหลายวัตถุประสงค์

  • trade-off ลักษณะเดียวกันนี้พบได้บ่อยในชีวิตประจำวัน
  • ไม่ว่าจะเป็นมื้ออาหารที่ทั้งถูกและอร่อย งานที่ค่าตอบแทนดี ทำง่าย และน่าพอใจ พอร์ตการลงทุนที่ความเสี่ยงต่ำและผลตอบแทนสูง วัสดุที่ยืดหยุ่น แข็งแรง และผลิตง่าย ภาษีที่ยุติธรรมและมีประสิทธิภาพ หรือ LLM ที่ทั้งคุณภาพสูง รวดเร็ว และคุ้มต้นทุน ล้วนเป็นสถานการณ์ที่ต้องเผชิญกับปัญหาการหาค่าเหมาะที่สุดหลายวัตถุประสงค์
  • หากรู้ค่าน้ำหนักที่แน่นอน ก็อาจลดรูปเป็นปัญหาการหาค่าเหมาะที่สุดแบบวัตถุประสงค์เดียวได้ แต่เมื่อฟังก์ชันอรรถประโยชน์ไม่แน่นอนหรือไม่เป็นที่รู้จัก Pareto frontier จะช่วยตัดตัวเลือกที่ไม่เหมาะที่สุดออกอย่างเป็นกลาง

คำขอบคุณ

  • บทความนี้ทำให้สมมติฐานบางอย่างง่ายลงเพื่อให้สาธารณชนเข้าใจได้ง่าย
  • ค่าสถานะจริงภายในเกมไม่ได้มีความสัมพันธ์เชิงเส้นกับค่าสถานะพื้นฐานเสมอไป และสำหรับอุปกรณ์ทุกชิ้นที่ไม่ใช่ตัวละคร จะมีค่าสถานะความเร็ว 4 แบบและการควบคุม 4 แบบ แต่ผู้เขียนเลือกใช้ค่าเฉลี่ย
  • รูปแบบเชิงฟังก์ชันของฟังก์ชันอรรถประโยชน์ก็มีบทบาทสำคัญเช่นกัน แต่บทความนี้ซ่อนไว้ทั้งหมด
  • หากต้องการทราบเบื้องหลังของบทความนี้หรือข้อมูลเพิ่มเติม ก็มีการขอให้พิจารณาบริจาค

ความเห็นของ GN⁺

  • การหาค่าเหมาะที่สุดแบบ Pareto เป็นเครื่องมือที่มีประโยชน์มากในการตัดสินใจเลือกสิ่งที่ดีที่สุดจากตัวเลือกหลากหลาย ไม่ใช่แค่ในเกม แต่ยังใช้ได้กับสถานการณ์การตัดสินใจในชีวิตจริงหลายแบบ
  • บทความนี้ใช้อธิบายปัญหาการหาค่าเหมาะที่สุดที่ซับซ้อนผ่านตัวอย่างที่คุ้นเคยอย่าง Mario Kart ทำให้ผู้อ่านเรียนรู้ได้อย่างน่าสนใจและเข้าใจง่าย
  • อย่างไรก็ตาม เมื่อนำไปใช้จริง ยังต้องคำนึงถึงความสำคัญของค่าสถานะต่าง ๆ หรือค่าน้ำหนักที่เปลี่ยนไปตามสถานการณ์ ซึ่งอาจแตกต่างกันไปตามความชอบและประสบการณ์ของแต่ละคน
  • ในปัญหาการหาค่าเหมาะที่สุด สิ่งสำคัญไม่ใช่แค่การหาตัวเลือกที่มีประสิทธิภาพ แต่ยังรวมถึงการทดลองและสั่งสมประสบการณ์ว่าตัวเลือกนั้นทำงานอย่างไรในสถานการณ์จริง
  • แม้บทความนี้จะอธิบายด้วยแบบจำลองที่เรียบง่าย แต่ในการใช้งานจริงอาจต้องพิจารณาแบบจำลองที่ซับซ้อนกว่าเดิมหรือมีตัวแปรเพิ่มเติมหลากหลายตัว

1 ความคิดเห็น

 
GN⁺ 2024-04-05
ความเห็นจาก Hacker News
  • งานนำเสนอที่สวยงาม

    • ชอบเวลาที่การทำภาพข้อมูลรับใช้เป้าหมายได้จริง Tufte ก็น่าจะภูมิใจกับสิ่งนี้
  • แนวทางแบบเว็บดีไซน์

    • มีองค์ประกอบแบบเว็บดีไซน์ค่อนข้างมาก และอาจเหมาะกับผู้ชมที่ไม่ใช่สายเทคนิค อย่างไรก็ตาม คิดว่าบทความต้นฉบับในรูปแบบโน้ตบุ๊กให้ข้อมูลที่เป็นประโยชน์มากกว่า
  • ยางแดงเล็กใน Mario Kart

    • รู้อยู่เสมอว่ายางแดงเล็กดีที่สุด แต่เพราะให้ความสำคัญกับสไตล์และความรักที่มีต่อ Zelda ก็เลยต้องเมินข้อมูลนี้เป็นการส่วนตัว
  • งานนำเสนอที่น่าประทับใจ

    • เดิมก็รู้อยู่แล้วเกี่ยวกับประสิทธิภาพ/แนวพาเรโต แต่ตอนนี้คงไม่มีวันลืม เพราะจะนึกถึง Mario Kart (และ Bowser ที่โดนข่ม) ทุกครั้ง
  • การพิจารณาใช้เป็นเครื่องมือออกแบบ

    • รู้สึกว่าน่าสนใจที่จะนำแนวคิดเรื่องพาเรโตฟรอนเทียร์ขนาดใหญ่ของบิลด์ที่ทั้งสนุกและใช้งานได้จริงไปพิจารณาในการออกแบบเกม
  • การผสานกับ Halo Kart (2)

    • คิดว่าน่าจะต้องหาวิธีคำนวณพาเรโตฟรอนเทียร์
  • หาคำตอบที่เหมาะที่สุดด้วย genetic algorithm

    • การกำหนดความชอบและค่าน้ำหนัก แล้วใช้ genetic algorithm เพื่อหาคำตอบที่เหมาะที่สุด ดูใช้ความคิดน้อยกว่าการนิยาม score function แล้วใช้ random API
  • ประเด็นสำคัญ

      1. ฝีมือสำคัญที่สุด และสำคัญกว่าคาร์ตที่เลือกหรือองค์ประกอบอื่น ๆ มาก ดูจากโปรที่เล่นด้วยบิลด์แปลก ๆ ก็ยังเล่นเก่งได้แม้จะเสียเปรียบ
      1. ในทางปฏิบัติไม่จำเป็นต้องรู้ค่าของสเตตัส mini-turbo ที่ซ่อนอยู่ เพราะค่า acceleration สูงหมายถึง mini-turbo สูงด้วย ดังนั้นสำหรับผู้เล่นส่วนใหญ่ ใช้ acceleration เป็นตัวแทนของ mini-turbo ได้
  • แข่ง Mario Kart กับลูกวัย 9 ขวบ

    • ลูกวัย 9 ขวบเล่น Mario Kart เก่งกว่าฉัน แต่ก็ขอบคุณที่ความรู้นี้อาจช่วยสร้างความแตกต่างให้ฉันได้
  • โปรใช้บิลด์ต่างกันตามแผนที่

    • เช่น พวกโปรชอบความเร็วสูงสุดในแผนที่ที่มีทางตรงยาว ๆ แต่จะหันไปเน้น acceleration ในแผนที่ที่มีโค้งหักศอกเยอะ ๆ หรือไม่