sudoku solver

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft – Part1

ผมได้เคยแนะนำ Template ตัวนึงที่เจ๋งมากๆ จากทาง Microsoft นั่นก็คือ Sudoku puzzle solver ซึ่งนี้สามารถโหลดมาใช้ได้ฟรีๆ ที่นี่ https://templates.office.com/en-us/sudoku-puzzle-solver-tm10080972

ทุกครั้งที่เห็นไฟล์นี้ผมเองรู้สึกทึ่งมากๆ เพราะมันเป็น Template ที่สามารถแก้ปัญหา Sudoku ได้ด้วยสูตร Excel ล้วนๆ (โดยใช้เทคนิค Iterative Calculation) โดยไม่ได้พึ่งพาการเขียนโปรแกรมหรือการใช้ add in Solver อะไรทั้งสิ้น ซึ่งน่าอัศจรรย์มากๆ !

ใน Series นี้ผมจะสอนใช้งาน Template นี้ และจะพยายามแกะสูตรว่ามันใช้วิธีการยังไงในการทำงานจนได้คำตอบออกมาให้เราครับ ใครสนใจก็อ่านต่อยาวๆ ได้เลย ซึ่งบทความภาคแรกนี้จะเป็น Part การใช้งาน Template ก่อนนะครับ

วิธีการใช้งานแบบง่าย

ก่อนอื่นก็ไปหาคำถาม sudoku มาจากในเน็ต เดี๋ยวเราเอาโจทย์ระดับกลางๆ มาละกัน สมมติเป็นอันนี้

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 1

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

ก่อนอื่นให้กรอกตัวโจทย์ลงใน Starting Position ให้ครบ แล้วแก้ Game State ให้เป็นเลข 1 แล้วกด F9 เพื่อ Calculate จะเห็นว่าตัวเลขใน Possible Numbers นั้นหายไปบางส่วน ก็ให้กด F9 เพื่อ Cal ต่อไป

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 2

แล้วก็กด F9 ต่อไปอีก มันจะตัดตัวที่เป็นไปไม่ได้ออกไปเรื่อยๆ

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 3

กด F9 ต่อไปอีก มันจะเริ่มแสดงคำตอบเพิ่มมาแล้ว เช่น เลข 5 ที่ผมวงไว้

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 4

กด F9 ไปเรื่อยๆ จนได้ครบทุกคำตอบ จบ…

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 5

วิธี Reset ค่าใหม่

ให้ลบค่าใน Starting Position ออกให้หมด (ลากคลุมแล้วกดปุ่ม Del บน Keyboard ได้เลย) จากนั้นเลือก Game Stage เป็น 0 แล้วกดปุ่ม F9 เพื่อ Cal ใหม่ไปรัวๆ จนกว่าค่าจะหายหมด

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 6

ลองโจทย์แบบยากขึ้น

คราวนี้เราจะลองโจทย์ยากดูบ้าง ว่าจะติดปัญหาอะไรหรือไม่ โดยโจทย์ที่ผมลองจะเป็นอันนี้

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 7

พอลองกรอกลงไปแล้ว ตั้ง Game Stage เป็น 1 แล้ว F9 รัวๆๆๆ มันจะไปสุดที่นี่ คือ กด F9 ต่อก็ไม่มีคำตอบเพิ่มแล้ว

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 8

วิธีทำต่อคือให้ตั้งค่า Game Stage เป็น 2 แล้วค่อย F9 ต่อ คราวนี้คำตอบจะเริ่มโผล่มาแล้ว

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 9

พอ F9 ไปเรื่อยๆ สุดท้ายก็จะได้คำตอบครบ จบ!

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 10

แล้วมีโจทย์ที่ Template แก้ไม่ได้มั้ย?

มีสิ อย่างอันนี้คือระดับที่โคตะระยากมากๆๆๆๆ ผมลองใส่โจทย์นี้ไปแล้วแม้จะลอง Set Game Stage เป็น 2 ก็ตาม มันแก้เพิ่มไม่ได้เลยซักกะค่าเดียว 555

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 11

Game Stage 1 สุดที่เท่านี้

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 12

Game Stage 2 ก็ไม่ต่างกัน

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 13

ซึ่งวิธีไปต่อคือ เราต้องเป็นคนช่วยโปรแกรมพิมพ์ค่าที่เป็นไปได้ เพิ่มลงไปใน Starting position แล้วค่อยกด F9 ต่อ ซึ่งตรงนี้แหละที่ยาก เพราะโปรแกรมมันยังคิดไม่ออกเลยว่าจะใส่ค่าไหนดี 555

มันก็ต้องดูว่าช่องไหนเหลือค่าที่เป็นไปได้น้อยๆ แล้วก็ต้องทดลองเอาทีละค่า ว่ามันเปฺ็นไปได้มั้ย? เช่น ที่ผมวงไว้ จะมีที่เป็นไปได้ 2 ค่า กับ 3 ค่า

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 14

คือพอลองใส่ค่าดูแล้ว F9 ไปเรื่อยๆ ถ้าสุดท้าย Final Position มันตัน ก็แปลว่าเลขที่เราลองมันไม่ใช่ครับ เช่น แบบนี้

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 15

ถ้าจะลองค่าใหม่ก็ต้องไล่ Set Stage เป็น 0,1,2 ใหม่อีกทีนะครับ…

ผมลองมั่วอีกที เกือบออก แต่ก็ไม่ออกครับ 55

สอนใช้งานและแกะสูตร Template Sudoku Solver ของ Microsoft - Part1 16

สรุปแล้ว ข้อนี้ตอบอะไรกันนะ… ใครหาคำตอบได้บอกที ยากจริงๆ T_T

และนี่ก็คือวิธีใช้งาน Template นะครับ ส่วนเรื่องการแกะสูตร รออ่านต่อหน้าได้เลย ยากสะใจแน่นอน

อบรม In-House Training

Feedback การใช้งาน AI Chatbot