คอมพิวเตอร์แก้ซูโดกุอย่างไร
อัปเดตเมื่อ 2026-10-05
การย้อนรอย
โปรแกรมแก้ปริศนาลองใส่ตัวเลขที่ไม่ผิดกติกาลงในช่องว่างแล้วเดินหน้าต่อ หากไม่มีตัวเลขใดนำไปสู่คำตอบ โปรแกรมจะย้อนกลับไปยกเลิกตัวเลือกก่อนหน้าแล้วลองตัวเลือกอื่น การเลือกช่องที่มีตัวเลขที่เป็นไปได้น้อยที่สุดก่อนมักช่วยให้การค้นหาสั้นลงมาก
แหล่งข้อมูล: Wikipedia: Sudoku solving algorithms, Peter Norvig: Solving Every Sudoku Puzzle
การครอบคลุมแบบพอดีและ Dancing Links
ซูโดกุสามารถเขียนใหม่เป็นปัญหาการครอบคลุมแบบพอดีได้ โดยเลือกการวางตัวเลขให้ครอบคลุมทุกช่อง และครอบคลุมตัวเลขแต่ละตัวในทุกแถว คอลัมน์ และบล็อก อย่างละหนึ่งครั้งพอดี ในบทความเดือนพฤศจิกายน ค.ศ. 2000 โดนัลด์ คนูธ อธิบาย Dancing Links ซึ่งเป็นวิธีที่มีประสิทธิภาพในการทำงานของ Algorithm X แบบย้อนรอยของเขา เมื่อนำมาใช้กับแบบจำลองการครอบคลุมแบบพอดีของซูโดกุ วิธีนี้จะค้นหาคำตอบทั้งหมดของปริศนาได้อย่างรวดเร็ว
แหล่งข้อมูล: Wikipedia: Sudoku solving algorithms, Knuth, Dancing links (arXiv cs/0011047, 2000)
การค้นหาแบบสุ่ม
บางโปรแกรมเติมตัวเลขลงในตารางแบบสุ่ม แล้วสลับตัวเลขเพื่อลดจำนวนจุดที่ขัดกับกติกา โดยใช้วิธีต่าง ๆ เช่น การจำลองการอบเหนียวหรืออัลกอริทึมเชิงพันธุกรรม วิธีเหล่านี้ได้รับการศึกษาในฐานะแนวทางทางเลือก ส่วนจะทำงานได้ดีเพียงใดนั้นขึ้นอยู่กับโปรแกรมและตัวปริศนา
แหล่งข้อมูล: Wikipedia: Sudoku solving algorithms
โปรแกรมแก้ปริศนาที่คิดแบบมนุษย์
ระบบคำใบ้มีหน้าที่ต่างออกไป คือไม่ได้เพียงหาคำตอบ แต่ต้องแสดงขั้นตอนถัดไปที่คนสามารถทำตามได้ ระบบของแอปเราลองใช้เทคนิคแบบมนุษย์ตามลำดับที่กำหนดไว้ ตั้งแต่ง่ายที่สุด เช่น ฮิดเด้นซิงเกิล ไปจนถึงยากที่สุด เช่น โซ่และชุดที่เกือบล็อก และใช้เทคนิคแรกที่นำไปสู่การใส่ตัวเลข เทคนิคที่ยากกว่าจะทำงานโดยตัดตัวเลือกที่เป็นไปได้ออกก่อน เทคนิคที่ยากที่สุดที่ระบบใช้กับปริศนาหนึ่งจะเป็นตัวกำหนดระดับของปริศนานั้นในแอป
แหล่งข้อมูล: ซูโดกุแต่ละระดับต้องใช้ทักษะอะไรบ้าง