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

Sudoku Strategy - กลยุทธ์ที่ 7 รู้จักกับ Strong Links, Weak links, Chain, Loop

Strong Links, Weak links, Chain และ Loop เป็นศัพท์เทคนิค ที่ใช้วิเคราะห์ ลักษณะของตัวเลขในเกม Sudoku เพื่ออธิบายความสัมพันธ์ระหว่างช่องว่างที่ยังหาคำตอบไม่ได้ที่มีควมเกี่ยวข้องกัน และ ค้นหากลยุทธ์ที่เหมาะสมมาใช้ต่อไป

Strong Linksหมายถึง ทางเลือกสองทาง ที่จะต้องเป็นจริงอย่างน้อย 1 ทางเลือก
Weak Linksหมายถึง ทางเลือกสองทาง ที่ไม่สามารถเป็นจริงพร้อมกันทั้งสองทางได้
Chainหมายถึง Strong Link และ Weak Link ที่เชื่อมต่อกันไปเรื่อยๆ
Loopหมายถึง Chain ที่ต่อไปได้จนครบรอบเป็นวง

ตัวอย่างที่ 1



ช่อง r1c1 และ r2c2 ช่องใดช่องหนึ่ง จะต้องเป็น 3 ถือได้ว่าสองช่องนี้จึงเชื่อมต่อกันด้วย strong link โดยมี 3 เป็นตัวเชื่อม เขียนแทนได้ด้วยนิพจน์ [r1c1]=3=[r2c2]

ช่อง r2c2 และ r2c6 ไม่สามารถเป็น 3 พร้อมกันได้ ถือได้ว่าสองช่องนี้จึงเชื่อมต่อกันด้วย weak link โดยมี 3 เป็นตัวเชื่อม เขียนแทนได้ด้วยนิพจน์ [r2c2]-3-[r2c6]

ช่อง r2c6 และ r3c5 ช่องใดช่องหนึ่ง จะต้องเป็น 3 ถือได้ว่าสองช่องนี้จึงเชื่อมต่อกันด้วย strong link โดยมี 3 เป็นตัวเชื่อม เขียนแทนได้ด้วยนิพจน์ [r2c6]=3=[r3c5]



จากตัวอย่างข้างต้น การเชื่อมต่อของ Strong Links และ Weak Link เป็นเส้นต่อกันไป ลักษณะเช่นนี้เราเรียกว่า Chain ซึ่งเขียนแทนได้ด้วยนิพจน์
[r1c1]=3=[r2c2]-3-[r2c6]=3=[r3c5]
หรือ
(3):[r1c1]=[r2c2]-[r2c6]=[r3c5]
และหาก Chain สามารถต่อไปได้เรื่อยๆ จนไปต่อกับจุดเริ่มต้นได้ เราจะเรียกมันว่า Loop

Sudoku Strategy - กลยุทธ์ที่ 8 2-String Kite

2-String Kite แปลว่าว่าวที่มีเชือก 2 เส้น ความหมายคือ การมี Strong Links สองชุด ตั้งฉากกัน และ Link กันในตารางย่อยเดียวกัน และปลายของทั้งสองชุด เป็น Weak Link ไปยังช่องเดียวกัน ซึ่งจะทำให้เราสามารถตัดตัวเลขทางเลือกออกจากช่องนั้นได้

ตัวอย่างที่ 1



จากตัวอย่างข้างต้น
เชือกเส้นที่ 1 (แนวตั้ง) คือ [r2c7]=5=[r4c7]
เชือกเส้นที่ 2 (แนวนอน) คือ [r5c6]=5=[r5c9]
ทั้งสองเส้น เชื่อมต่อกันในตารางย่อยที่ 6
และปลายเชือกทั้งสองเส้น ชี้ไปที่ r2c6 ซึ่งมี 5 เป็นทางเลือกอยู่ ซึ่งเราสามารถตัดเลข 5 ออกจากทางเลือกได้
เราสามารถเขียนนิพจน์เต็มๆได้ดังนี้

(5): r2c6-r2c7=r4c7-r5c9=r5c6-r2c6 => r2c6<>5

ลองไล่ดูนะครับ
กรณีที่ 1 สมมติ r2c7 ไม่ใช่ 5 แล้ว r4c7 จะต้องเป็น 5 แล้ว r5c9 ก็จะไม่ใช่ 5 แล้ว r5c6 ก็จะต้องเป็น 5 ก็จะะได้ว่า r2c6 ไม่ใช่ 5
กรณีที่ 2 สมมติ r2c7 เป็น 5 r2c6 ก็จะไม่ใช่ 5

สรุปได้ว่า r2c6 ไม่มีทางเป็น 5 ได้

โปรดสังเกตว่า จริงๆแล้ว r4c7 และ r5c9 เชื่อมต่อกันด้วย Strong Link แต่รูปแบบกลยุทธ์ 2-String Kite ต้องการเพียงแค่ Weak Link เท่านั้น ในกรณีเช่นนี้ เราสามารถพิจารณา Strong Link เป็น Weak Link ได้ เพราะว่า r4c7 และ r5c9 ไม่สามารถเป็น 3 พร้อมกันได้ จึงถูกต้องตามกฎของ Weak link

Sudoku Strategy - กลยุทธ์ที่ 9 ปิดฟ้าข้ามทะเล

กลยุทธ์ ปิดฟ้าข้ามทะเล มี Strong Links สองชุด ขนานกัน และมี Weak Link เชื่อมต่อกัน ที่ปลายด้านหนึ่ง ทำให้ปลายอีกด้านของ Strong Links จะต้องเป็นจริงอย่างน้อย 1 หรือเป็นจริงทั้งคู่ ดังนั้น เราจึงสามารถลบเลขทางเลือกออกจากช่องที่เกี่ยวข้องกับปลายอีกด้านได้

ตัวอย่างที่ 1



จากตัวอย่างข้างต้น
r4c2 และ r4c7 เป็น Strong Link โดยมี 4 เป็นตัวเชื่อม
r7c1 และ r7c7 เป็น Strong Link โดยมี 4 เป็นตัวเชื่อม
ทั้งสองเส้น เชื่อมต่อกัน ด้วย Weak link ระหว่าง r4c7 และ r7c7
เราสามารถเขียนนิพจน์เต็มๆได้ดังนี้

(4): [r4c2]=[r4c7]-[r7c7]=[r7c1]

ลองไล่ดูนะครับ
กรณีที่ 1 สมมติ r4c2 ไม่ใช่ 4 แล้ว r4c7 จะต้องเป็น 4 แล้ว r7c7 ก็จะไม่ใช่ 4 แล้ว r7c1 ก็จะต้องเป็น 4 ดังนัน เราจึงสามารถตัด 4 ออกจาก r6c1 และ r9c2 ได้
กรณีที่ 2 สมมติ r7c1 ไม่ใช่ 4 แล้ว r7c7 จะต้องเป็น 4 แล้ว r4c7 ก็จะไม่ใช่ 4 แล้ว r4c2 ก็จะต้องเป็น 4

สรุปได้ว่า ช่องที่เกี่ยวข้องกับปลายทั้งคู่ (r4c2 และ r7c1) ห้ามเป็น 4

Sudoku Strategy - กลยุทธ์ที่ 10 XY-Wing

กลยุทธ์ XY-Wing เป็นรูปแบบการแก้ปัญหา Sudoku ที่เกิดจาก Chain ที่มี Weak Link สองอันเชื่อมต่อกัน โดยที่แต่ละช่องใน Weak link มีทางเลือกเป็น [YZ]-Y-[XY]-X-[XZ] ดังนั้น ไม่ว่าช่อง XY จะมีค่าเป็น X หรือ Y ส่วนปลายของ Chain ก็จะต้องมีค่าเป็น Z อย่างน้อย 1 ช่อง เราจึงสามารถตัด Z ออกจากช่องอื่นๆ ที่เกี่ยวข้องกับ ปลาย Chain ทั้งสองช่อง ได้

ตัวอย่างที่ 1



จากตัวอย่างข้างต้น
หากช่อง XY มีค่าเป็น X ช่อง XZ ก็จะต้องเป็น Z ทำให้ช่อง * ไม่เป็น Z
หากช่อง XY มีค่าเป็น Y ช่อง YZ ก็จะต้องเป็น Z ทำให้ช่อง * ไม่เป็น Z
สรุปว่า ไม่ว่าจะเป็นทางใด ช่อง * ก็ไม่เป็น Z


ตัวอย่างที่ 2



จากตัวอย่างข้างต้น
หากช่อง XY มีค่าเป็น X ช่อง XZ ก็จะต้องเป็น Z ทำให้ช่อง * ทั้งหมดไม่เป็น Z
หากช่อง XY มีค่าเป็น Y ช่อง YZ ก็จะต้องเป็น Z ทำให้ช่อง * ทั้งหมดไม่เป็น Z
สรุปว่า ไม่ว่าจะเป็นทางใด ช่อง * ก็ไม่เป็น Z


ตัวอย่างที่ 3



จากตัวอย่างข้างต้น
กรณีที่ 1 หากช่อง XY มีค่าเป็น 5 ช่อง XZ ก็จะต้องเป็น 3 ทำให้ช่อง r6c5 ไม่เป็น 3
กรณีที่ 2 หากช่อง XY มีค่าเป็น 7 ช่อง YZ ก็จะต้องเป็น 3 ทำให้ช่อง r6c5 ไม่เป็น 3
สรุปว่า ไม่ว่าจะเป็นทางใด ช่อง r6c5 ก็ไม่เป็น 3


Sudoku Strategy - กลยุทธ์ที่ 11 X-Chain

กลยุทธ์ X-Chain เป็นรูปแบบการแก้ปัญหา Sudoku ที่เกิดจาก Chain ของตัวเลขเดียว ที่ความสัมพันธ์แต่ละช่วงเป็น Weak Link และ Strong Links สลับกัน โดยปลายทั้งสองด้านเป็น Strong Links เราจะสามารถตัดเลขที่มีอยู่ในปลายทั้งสองด้านของ Chain ออกจากทางเลือกของช่องที่เกี่ยวข้องกับปลายทั้งสองด้านของ Chain ได้

ทำไมจึงเป็นเช่นนั้น ? ตามกฎของ Strong Link จะต้องเป็นจริง อย่างน้อย 1 หากปลายข้างหนึ่งของ Chain เป็นเท็จ ช่องที่เชื่อมอยู่ก็จะต้องเป็นจริง และ ในช่วงที่สอง ซึ่งเป็น Weak Link จะไม่สามารถเป็นจริงพร้อมกันได้ ดังนั้นในช่องที่ 3 ก็จะเป็นเท็จ และ ในช่วงที่่สามเป็น Strong Link จะต้องเป็นจริง อย่างน้อย 1 ทำให้ช่องที่ 4 เป็นจริง และสลับกับไปเรื่อยๆ จนถึงช่องสุดท้าย ซึ่งก็จะเป็นจริง หมายความว่า ไม่ว่ากรณีใด ข้างใดข้างหนึ่งของ Chain จะต้องมีเลขนั้นอยู่เสมอ เราจึงตัดเลขนั้นออกจากทางเลือกของช่องที่เกี่ยวข้องกับปลายทั้งสองด้านของ Chain ได้

ตัวอย่างที่ 1



จากตัวอย่างข้างต้น เป็น X-Chain ของ 3 เขียนแทนได้ด้วยนิพจน์
(3):[r4c4]=[r5c5]-[r5c9]=[r6c8]-[r9c8]=[r8c7]
กรณีที่ 1 หาก r4c4 เป็น 3 ช่อง r8c4 จะต้องไม่เป็น 3
กรณีที่ 2
หาก r4c4 เป็น 9 แล้ว r5c5 จะต้องเป็น 3
เมื่อ r5c5 เป็น 3 ก็จะทำให้ r5c9 ต้องเป็น 6
เมื่อ r5c9 เป็น 6 ก็จะทำให้ r6c8 ต้องเป็น 3
เมื่อ r6c8 เป็น 3 ก็จะทำให้ r9c8 ต้องเป็น 6
และทำให้ r8c7 เป็น 3
ดังนั้น r8c4 จะต้องไม่เป็น 3
สรุปว่า ไม่ว่ากรณีใด ช่อง r8c4 ก็ไม่มีทางเป็น 3 ได้

Sudoku Strategy - กลยุทธ์ที่ 12 XY-Chain

XY-Chain คือ Chain ที่เกิดจากการเชื่อมต่อกันระหว่างช่องที่ มีทางเลือกเพียง 2 ทางเลือก เท่านั้น และปลายทั้งสองด้านมีทางเลือกเป็นเลขเดียวกัน ซึ่งจะทำให้เราสามารถใช้ XY-Chain ในการตัดทางเลือกได้ เช่นเดียวกับ X-Chain แม้ว่าปลายทั้งสองด้าน จะเป็น Weak Link ก็ตาม XY-Chain ที่สั้นที่สุด ก็คือ XY-Wing

ตัวอย่างที่ 1



จากตัวอย่างข้างต้น เป็น XY-Chain เขียนแทนได้ด้วยนิพจน์
(5=1)r3c3-(1=6)r7c3-(6=1)r8c1-(1=5)r8c5

สำหรับ r7c3 กับ r8c1 ซึ่งจริงๆแล้วเป็น Strong Link เราสามารถนับเป็น Weak Link ได้เช่นกัน เพราะไม่สามารถเป็น 1 พร้อมกันได้

กรณีที่ 1 หาก r3c3 เป็น 5 ช่อง r3c5 จะต้องไม่เป็น 5
กรณีที่ 2
หาก r3c3 เป็น 1 แล้ว r7c3 จะต้องเป็น 6
เมื่อ r7c3 เป็น 6 ก็จะทำให้ r8c1 ต้องเป็น 1
เมื่อ r8c1 เป็น 6 ก็จะทำให้ r8c5 ต้องเป็น 5
ดังนั้น r3c5 จะต้องไม่เป็น 5
สรุปว่า ไม่ว่ากรณีใด ช่อง r3c5 ก็ไม่มีทางเป็น 5 ได้