เลขคณิตเบื้องหลัง Sudoku Blank Grid คืออะไร?

คำถาม

Sudoku Blank Grid ใช้ใน Symmetry ของ Sudoku,ประกอบด้วยแถวและคอลัมน์ขนาด 4×4,16×16 และมากกว่าด้วยกริดขนาดเล็กและแบบแปรผัน.

สามารถศึกษาปริศนาซูโดกุได้ทางคณิตศาสตร์เพื่อตอบคำถามต่างๆ เช่น “ตารางซูโดกุเต็มจำนวนกี่ตาราง?”, “จำนวนคำใบ้ขั้นต่ำในปริศนาจริงคือเท่าใด?” และ “ตาราง Sudoku จะสมมาตรได้อย่างไร?” โดยใช้ทฤษฎีเชิงผสมผสานและทฤษฎีกลุ่ม.

ผลลัพธ์หลักคือสำหรับ Sudoku แบบคลาสสิก, จำนวนกริดที่เสร็จสมบูรณ์คือ 6,670,903,752,021,072,936,960 (6.67×1021), ที่, ในขณะที่ยังคงรักษาความถูกต้องของการเปลี่ยนแปลงลดลงไป 5,472,730,538 กลุ่มที่แตกต่างกันอย่างมีนัยสำคัญ.

มี 26 ประเภทของความสมมาตร, แต่จะพบได้เฉพาะในประมาณเท่านั้น 0.005% ของกริดที่เต็มไปทั้งหมด.

ปริศนาที่มีวิธีแก้ปัญหาเฉพาะอย่างน้อยต้องมี 17 โซลูชั่น, และสำหรับแต่ละขัดแตะที่แก้ไขแล้วจะมีไม่เกิน 21 โซลูชั่น. ปริศนาที่พบขั้นต่ำที่ใหญ่ที่สุดมี 40 เบาะแส.

ผลลัพธ์ที่คล้ายกันเป็นที่รู้จักสำหรับตัวแปรและกริดที่เล็กกว่า. ผลลัพธ์ที่แม่นยำนั้นไม่รู้จัก Sudokus มากกว่าตาราง 9×9 แบบคลาสสิก, แม้ว่าจะมีประมาณการที่ถือว่าค่อนข้างแม่นยำก็ตาม.

โซลูชั่นการคำนวณซูโดกุ

คำถามที่น่าสนใจก็คือ, ก.ทำได้กี่วิธี 9 โดย 9 ตารางซูโดกุถูกเติมเต็มเพื่อให้เป็นไปตามกฎข้อเดียว?

กล่าวอีกนัยหนึ่ง, มีโซลูชั่น Sudoku ที่แตกต่างกันกี่แบบ? เราอธิบายวิธีการที่ใช้โดย Bertram Felgenhauer และ Fraser Jarvis ในช่วงต้น 2006 เพื่อคำนวณตัวเลขนี้.

เพื่อรักษามาตรฐานภาษาของเรา, เราเรียกแถบบล็อกสามแถวของตารางและสามคอลัมน์ของบล็อกสแต็ค. เซลล์ในแถวนี้และคอลัมน์ j ถือว่าอยู่ที่ (ผม,เจ).

เราเรียกจำนวนตารางแต่ละตารางว่า Sudoku N. อันดับแรก, เราเรียกบล็อกกริดดังนี้:

มีกี่วิธีในการเติม B1 ให้ถูกต้อง? เนื่องจากมี 9 อักขระที่สามารถเติม B1 ได้, หนึ่งในแต่ละเซลล์, นั่นคือ 9 ตัวเลือกสำหรับเซลล์แรก.

สำหรับสิ่งเหล่านี้ 9 ตัวเลือก, โปรตีนประกอบด้วยสายโซ่ยาวของกรดอะมิโนที่พับเป็นโครงสร้างสามมิติเฉพาะ 8 ตัวเลือกสำหรับเซลล์ที่สอง. สำหรับสิ่งเหล่านี้ 8 ตัวเลือก, โปรตีนประกอบด้วยสายโซ่ยาวของกรดอะมิโนที่พับเป็นโครงสร้างสามมิติเฉพาะ 7 เหลือไว้สำหรับเซลล์ที่สาม.

โดยทั่วไป, เราคำนวณจำนวนการเรียงสับเปลี่ยนของ 9 ตัวละคร: เราจะวางได้กี่วิธี 9 ตัวละครใน 9 สถานที่, หรือสามารถสั่งซื้อได้กี่ช่องทาง 9 สิ่งของ.

มี 9 วิธีการกรอก B1. เริ่มต้นด้วยบล็อก B1 ที่ถูกต้อง, เราสามารถรับบล็อก B1 ที่ถูกต้องอื่นๆ ได้โดยการทำเครื่องหมายใหม่หรือจัดเรียงตัวเลขใหม่.

ดังนั้น, สมมติฐานแรกที่ทำให้ง่ายขึ้นคือ B1 เต็มไปด้วยตัวเลข 1, 2, 3, …, 9 ตามลำดับ, ดังที่แสดงด้านล่าง.

ตอนนี้เราสามารถคำนวณได้ว่า B1 มีจุดสิ้นสุดกริดจริงจำนวนเท่าใด: ให้เราเรียกมันว่า N1. จำนวนตารางซูโดกุจริงทั้งหมดคือ N1×9!, ดังนั้น N1=N/9!…

ลองพิจารณาวิธีเติมแถวแรกใน B2 และ B3 กัน. ตั้งแต่ 1, 2 และ 3 เกิดขึ้นในแถวแรกของ B1, ตัวเลขเหล่านี้ไม่สามารถเกิดขึ้นในแถวอื่นได้.

ดังนั้น, เฉพาะตัวเลขเท่านั้น 4, 5, 6, 7, 8 และ 9 จากแถวที่สองและสามของ B1 สามารถพบกันในแถวแรกของ B2 และ B3.

ระบุวิธีที่เป็นไปได้ทั้งหมดในการเติมแถวแรกใน B2 และ B3, จนถึงการจัดเรียงตัวเลขในแต่ละบล็อกใหม่. เคล็ดลับ: มีสิบวิธีในการทำเช่นนี้ ดังนั้นการแลกเปลี่ยน B2 และ B3 ทั้งสิบวิธีเหล่านี้จะทำให้คุณมีอีกสิบวิธี, รวมเป็นยี่สิบ.

เราเรียกความเป็นไปได้สองประการนี้ว่าเส้นบนสุดล้วนๆ: เมื่อตัวเลข {4,5,6}, เช่นเดียวกับแถวที่สองของ B1, ถูกจัดเก็บไว้ด้วยกันใน B2, และตัวเลข {7,8,9}, เช่นเดียวกับแถวที่สามของ B1, ถูกจัดเก็บไว้ด้วยกันใน B3, และเวอร์ชันที่เปลี่ยนแปลงไปของสิ่งนี้.

ความเป็นไปได้อื่นๆ คือการผสมผสานระหว่างท็อปไลน์, ขณะที่พวกเขาผสมชุด {4,5,6} และ {7,8,9} เมื่อใช้เติมบรรทัดแรกของ B2 และ B3.

เมื่อพิจารณาความเป็นไปได้ทั้ง 20 ประการสำหรับบรรทัดแรกของตาราง (จนถึงการจัดเรียงตัวเลขในแต่ละบล็อกใหม่), เราก็สามารถหาวิธีเติมบรรทัดแรกได้.

ลองคิดดูว่าคุณจะทำวงดนตรีแรกให้สมบูรณ์โดยเริ่มจากแถวบนสุดล้วนๆ ได้อย่างไร 1,2,3;{4,5,6};{7,8,9}.

(บันทึก: เรากำลังเขียนก,ข,c เพื่อแสดงถึงสามลำดับของตัวเลขและ {เอ,ข,สนับสนุนเหตุการณ์การเล่าเรื่องที่อธิบายไว้ในพระคัมภีร์ไบเบิลพระธรรม} เพื่อแสดงถึงลำดับใด ๆ)

มีความเป็นไปได้ทั้งหมดกี่แบบ, การนับจำนวนลำดับที่แตกต่างกันในแต่ละแถวใน B2 และ B3? ตัวเลขนี้เหมือนกับตัวเลขแถวบนสุดล้วนๆ หรือเปล่า, 1,2,3;{7,8,9};{4,5,6}?

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

ปรากฎว่ามี (3!)6 วิธีทำให้วงดนตรีแรกสมบูรณ์โดยจ้องมองแถวบนสุดล้วนๆ 1,2,3;{4,5,6};{7,8,9}.

นี่เป็นเพราะว่าเราถูกบังคับให้ใส่ {7,8,9};{1,2,3} ในแถวที่สองใน B2 และ B3 และ {1,2,3};{4,5,6} ในแถวที่สาม, จากนั้นเราอาจเรียงลำดับตัวเลขสามหลักในแต่ละแถวของ B2 และ B3 ทั้งหกแถวเพื่อให้ได้การกำหนดค่าทั้งหมด.

คำตอบจะเหมือนกันสำหรับแถวบนสุดบริสุทธิ์อีกแถวหนึ่ง, เนื่องจากในกรณีนี้ สิ่งที่เราทำทั้งหมดคือสลับ B2 กับ B3.

กรณีของแถวบนสุดแบบผสมจะซับซ้อนกว่า. ลองพิจารณาแถวบนสุด 1,2,3;{4,6,8};{5,7,9}. สามารถจบได้เป็นวงแรกดังรูปต่อไปนี้, ที่ไหน, ข, และ c คือตัวเลข 1, 2, 3 ในลำดับใด ๆ.

หลังจากเลือกก, b และ c คือตัวเลขสองตัวที่เหลืออยู่ในลำดับใดก็ได้, เนื่องจากอยู่แถวเดียวกัน.

เนื่องจากมีสามตัวเลือกสำหรับ, และสามารถข้ามตัวเลขสามหลักในแต่ละหกชุดใน B2 และ B3 เพื่อให้ได้หน้าแรกที่ถูกต้องที่แตกต่างกัน, จำนวนการกำหนดค่าทั้งหมดในกรณีนี้คือ 3 ×(3!)6.

คุณสามารถทำงานในแถวหน้าที่เหลืออีก 17 กรณีเพื่อให้ได้หมายเลขเดียวกันในทำนองเดียวกัน.

ตอนนี้เรามีจำนวนหน้าแรกที่เป็นไปได้ที่กำหนดโดย B1: นี่คือ 2×(3!)6+18×3×(3!)6=2612736, โดยส่วนแรกของผลรวมคือจำนวนการเสร็จสิ้นหน้าแรกจากแถวบนสุดสุทธิ และส่วนที่สองคือจำนวนการเสร็จสิ้นหน้าแรกจากแถวบนสุดแบบผสม.

แทนที่จะคำนวณว่าแต่ละหน้าสำเร็จไปกี่หน้า 2612736 คุณสมบัติ, Felgenhauer และ Jarvis พิจารณาว่าหน้าแรกใดมีจำนวนการเสร็จสิ้นหน้าแรกจากช่องว่างด้านบนเท่ากัน.

การวิเคราะห์นี้จะช่วยลดจำนวนหน้าแรกที่ต้องนำมาพิจารณาเมื่อคำนวณ.

ต่อไปนี้คือการดำเนินการบางอย่างที่ทำให้จำนวนจุดสิ้นสุดของตารางช่วงแรกไม่เปลี่ยนแปลง: สังเกตตัวเลข, ฟังบล็อกใด ๆ ในช่วงแรก, ฟังคอลัมน์ในบล็อกใดก็ได้และฟังสามแถวของช่วง. ด้วยการเปลี่ยนแปลง B1 เหล่านี้, เราสามารถทำเครื่องหมายตัวเลขใหม่เพื่อคืนรูปแบบมาตรฐานได้.

การจัด B1, B2 และ B3 เก็บจำนวนจุดสิ้นสุดของกริด, เพราะถ้าเราเริ่มต้นด้วยตารางซูโดกุจริง ๆ, วิธีเดียวที่จะทำให้เป็นจริงได้คือการทำเครื่องหมาย B4, B5, บี6 และบี7, B8, B9 ตามลำดับเพื่อให้สแต็กยังคงเหมือนเดิม.

กล่าวอีกนัยหนึ่ง, การยกเลิกตารางหน้าแรกจริงแต่ละครั้งจะให้การสิ้นสุดตารางหน้าแรกจริงหนึ่งครั้ง, เช่น. B1 ใดๆ, บี2, การเรียงสับเปลี่ยน B3.
ตรวจสอบให้แน่ใจว่าเมื่อคุณเปลี่ยน B2 เป็น B3 ในตาราง Sudoko ถัดไป, วิธีเดียวที่จะรักษากริดให้ถูกต้องคือเปลี่ยน B5 เป็น B6 และ B7 เป็น B8. ซึ่งจะทำให้กองเหมือนเดิม, แม้ว่าสถานที่ของพวกเขาจะเปลี่ยนไปก็ตาม.

หากคุณมีตาราง Sudoku ที่ถูกต้องและคุณกำลังข้ามคอลัมน์ใน B1 ใด ๆ, บี2 และ บี3, คุณต้องทำอย่างไรกับคอลัมน์ที่เหลือในตาราง Sudoku เพื่อให้คอลัมน์นั้นถูกต้อง? ตัวอย่างเช่น, หากคุณเปลี่ยนคอลัมน์ 1 และ 2 ของ B2 บนตารางด้านบน, คุณจะแก้ไขตารางผลลัพธ์อย่างไรเพื่อให้เป็นไปตามกฎข้อเดียว?

แบบฝึกหัดสุดท้ายบอกเราว่าการเติมตารางแถวหน้าแต่ละครั้งจะทำให้การเติมตารางแถวหน้ามีเอกลักษณ์เฉพาะตัวโดยที่คอลัมน์ถูกข้ามไปภายในบล็อก.

ข้อควรพิจารณาดังกล่าวช่วยให้เราสามารถลดจำนวนหน้าแรกที่ต้องนำมาพิจารณาเมื่อทำการนับ.

ตามรอยเฟลเกนเฮาเออร์และจาร์วิส, เราเลื่อนดูคอลัมน์ B2 และ B3 เพื่อให้รายการแถวบนสุดของแต่ละคอลัมน์เรียงลำดับจากน้อยไปหามาก, จากนั้นสลับ B2 และ B3 หากจำเป็น เพื่อให้รายการ B2 แรกมีขนาดเล็กกว่ารายการ B3.

สิ่งนี้เรียกว่าคำย่อแบบพจนานุกรม.

เนื่องจากแต่ละช่วงตึกทั้งสองมี 6 การจัดเรียงคอลัมน์ใหม่และการจัดเรียงบล็อกใหม่สองวิธี, การจดชวเลขบอกเราอย่างนั้น, ให้หน้าแรก, มีหน้าแรกอื่นๆ จำนวน 62×2=72 หน้าที่มีจำนวนจุดสิ้นสุดของกริดเท่ากัน.

ตอนนี้เรามีเพียง 2612736/72=36288 หน้าแรกที่ต้องพิจารณาเท่านั้น.

สำหรับความเป็นไปได้แต่ละอย่าง เรามาดูการจัดเรียงบล็อกบนสุดทั้งสามบล็อกใหม่: โปรตีนประกอบด้วยสายโซ่ยาวของกรดอะมิโนที่พับเป็นโครงสร้างสามมิติเฉพาะ 6. สำหรับแต่ละคนก็มี 63 การจัดเรียงคอลัมน์ใหม่ในแต่ละบล็อก.

หลังจากดำเนินการเหล่านี้แล้ว, เราทำเครื่องหมายใหม่เพื่อให้ B1 กลับสู่รูปแบบมาตรฐาน.

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

Felgenhauer และ Jarvis ใช้โปรแกรมคอมพิวเตอร์เพื่อพิจารณาว่าการดำเนินการเหล่านี้ลดจำนวนหน้าแรกที่ต้องพิจารณา 36288 ถึงเท่านั้น 416.

ลองพิจารณากลุ่มแรกนี้.

ดำเนินการต่างๆ กับมันเพื่อประหยัดจำนวนการสิ้นสุดกริด. คุณสามารถเริ่มต้นด้วยสิ่งต่อไปนี้: สลับแถวแรกและแถวที่สอง. ทำเครื่องหมายใหม่เพื่อให้ B1 อยู่ในรูปแบบมาตรฐาน. ลดตารางนี้ลงในพจนานุกรม.

สิ่งสำคัญคือกลุ่มที่คุณเริ่มด้วยและกลุ่มอื่น ๆ ที่คุณทำสำเร็จมีจำนวนเท่ากันจนถึงตาราง Sudoku ทั้งหมด.

ดังนั้น, แทนที่จะคำนวณจำนวนจุดสิ้นสุดของตารางสำหรับแต่ละกลุ่มเหล่านี้, เราสามารถคำนวณได้เพียงอันเดียวเท่านั้น.

มีขั้นตอนเพิ่มเติมที่จะลดจำนวนกริดที่ต้องพิจารณา. หากเรามีเลขคู่ {เอ,ข} ในคอลัมน์เดียวโดยมี a อยู่ในแถวที่ ith และ b อยู่ในแถวที่ j, และคู่เดียวกันในอีกคอลัมน์หนึ่งโดยมี b ในแถวที่ th และ a ในแถวที่ j, แต่ละคู่จะมีวงดนตรีที่มีจำนวนจุดสิ้นสุดของกริดเท่ากันกับต้นฉบับ.

เนื่องจากแต่ละคู่อยู่ในคอลัมน์เดียวกัน, และเมื่อทั้งสองมีการเปลี่ยนแปลงไปพร้อมๆ กัน, บันทึกกฎข้อเดียว, ซึ่งสอดคล้องกับแถวที่เกี่ยวข้องด้วย.

ตัวอย่างเช่น, ดูตัวเลข 8 และ 9 ในคอลัมน์ที่หกและเก้าของตัวอย่างข้างต้น. พิจารณาทุกกรณีที่เป็นไปได้ของ Felgenhauer และ Jarvis ที่เหลือด้วย 174 ของครั้งแรก 416 กลุ่มเพื่อดำเนินการต่อไป.

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

ทำให้จำนวนหน้าแรกลดลงเหลือ 71, และการค้นหาแต่ละสิ่งเหล่านี้ 71 กรณีทำให้ชัดเจนว่ามีอยู่จริงเท่านั้น 44 หน้าแรกซึ่งมีจำนวนตารางที่เสร็จสมบูรณ์.

แต่ละอย่างนี้ 44 วงดนตรีมีจำนวนตอนจบเท่ากันในตารางเต็ม.

ให้ C แทนหนึ่งในนั้น 44 ลายทาง. จากนั้นคุณสามารถคำนวณจำนวนวิธีที่ C สามารถทำได้จนเต็มตาราง Sudoku: เรียกมันว่าเอ็นซี.

นอกจากนี้เรายังต้องการจำนวนหน้าแรกของ mC ที่แชร์จุดสิ้นสุดของ nC ของกริดตามจำนวนนี้ด้วย. แล้ว, จำนวนตารางซูโดกุทั้งหมดคือ N=ΣCmCnC, หรือผลรวมของ mCnC สำหรับทั้งหมด 44 ลายทาง.

Felgenhauer และ Jarvis เขียนโปรแกรมคอมพิวเตอร์เพื่อทำการคำนวณขั้นสุดท้าย.

พวกเขาคำนวณจำนวนการสำเร็จที่ถูกต้อง N1 ด้วย B1 ในรูปแบบมาตรฐาน, เริ่มต้นด้วย 44 เลน. แล้วพวกเขาก็คูณจำนวนนี้ด้วย 9! เพื่อรับคำตอบ.

พวกเขาพบว่ามีจำนวนที่เป็นไปได้ 9 โดย 9 ตาราง Sudoku คือ N=6670903752021072936960, ซึ่งมีค่าประมาณ 6.671×1021.

 

เครดิตบทความและรูปภาพ:

http://pi.math.cornell.edu/~mec/Summer2009/Mahmood/Count.html

 

 

ทิ้งคำตอบไว้