หากฉันสามารถแก้ปัญหา Sudoku ฉันสามารถแก้ปัญหาพนักงานขายเดินทาง (TSP) ได้หรือไม่? ถ้าเป็นเช่นนั้นได้อย่างไร


23

ให้เราบอกว่ามีโปรแกรมดังกล่าวว่าถ้าคุณให้ซูโดกุที่เติมเต็มบางส่วนไม่ว่าขนาดใดมันจะให้ซูโดกุที่สมบูรณ์ของคุณ

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

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


1
บทความนี้อ้างว่าให้ลดปัญหาเชิง
cwindolf

@ C.Windolf คำถามที่ถามถึงทิศทางอื่น (แน่นอนมีคำตอบที่ถูกลบที่ทำผิดพลาดเหมือนกันและอ้างถึงเอกสารเดียวกัน)
David Richerby

คำตอบ:


32

สำหรับ 9x9 Sudoku ไม่มี มันเป็นที่แน่นอนจึงจะสามารถแก้ไขได้ในO(1)เวลา

แต่ถ้าคุณมีตัวแก้ปัญหาสำหรับn2×n2 Sudoku ที่ใช้ได้กับกระดานnบางส่วนและเป็นไปได้ทั้งหมดและวิ่งไปตามเวลาพหุนามใช่แล้วนั่นสามารถใช้แก้ปัญหา TSP ในเวลาพหุนามได้เช่นเดียวกับการเติมn2×n2 Sudoku เสร็จสมบูรณ์แล้ว

การพิสูจน์ความสมบูรณ์ของปัญหา NP โดยการลดปัญหา NP-complete R เป็น Sudoku จากนั้นเนื่องจาก R คือ NP-complete คุณสามารถลดจาก TSP เป็น R (ซึ่งตามมาจากคำจำกัดความของความสมบูรณ์แบบ NP) และการผูกมัดการลดลงจะช่วยให้คุณใช้ตัวแก้ Sudoku เพื่อแก้ปัญหา TSP


1
คุณช่วยอธิบายได้มั้ย ใช่สมมติว่าฉันมีโซจูโด solver ทั่วไปซึ่งทำหน้าที่เป็นกล่องดำ ดังนั้นคุณจะใช้มันได้อย่างไร คุณเป็นตัวแทนของ TSP ในฐานะ Sudoku ที่ถูกเติมเต็มบางส่วนได้อย่างไร
Chakrapani N Rao

2
@ChakrapaniNRao ดูคำตอบที่ปรับปรุงแล้ว ใช่ฉันเข้าใจว่ามันเป็นกล่องดำ หากต้องการดูรายละเอียดหาหลักฐานของความสมบูรณ์แบบ NP สำหรับ Sudoku และเข้าใจวิธีการลดขนาด
DW

8
n2×n2

8
@ChakrapaniNRao คุณกำลังถามวิธีแก้ปัญหา X โดยใช้กล่องดำสำหรับปัญหา Y. นั่นคือการขอลด นั่นคือความหมายของ "การลดลง" และอย่างที่คำตอบนี้อธิบายไว้คำตอบของใช่ / ไม่ใช่คำถามคือใช่
David Richerby

2
@SolomonUcko ดีไม่ไม่จำเป็น คำถามถามว่า: ถ้าเรามีนักแก้ปัญหา Sudoku เราสามารถใช้มันเพื่อแก้ TSP ได้ไหม? คำตอบคือใช่เราทำได้ ฉันอธิบายได้อย่างไร วิธีนี้จะช่วยให้คุณแก้ปัญหา TSP ได้เร็วเท่าที่นักแก้ปัญหา Sudoku จะแก้ปัญหา Sudoku ถ้าตัวแก้ Sudoku ทำงานในเวลาพหุนามนี่จะให้วิธีแก้ TSP ในเวลาพหุนาม หากตัวแก้ Sudoku ทำงานในเวลาเอ็กซ์โปเนนเชียลนี่จะให้วิธีแก้ TSP ในเวลาเอ็กซ์โพแนนเชียล และอื่น ๆ
DW

26

เป็นไปได้จริง ๆ ที่จะใช้ตัวแก้ปัญหา Sudoku ทั่วไปเพื่อแก้ปัญหากรณีของ TSP และถ้าตัวแก้ปัญหานี้ใช้เวลาพหุนามกระบวนการทั้งหมดก็จะดำเนินเช่นกัน (ในศัพท์ที่ซับซ้อน นี่เป็นเพราะซูโดกุนั้นสมบูรณ์ NP และ TSP อยู่ใน NP แต่ตามปกติแล้วในกรณีนี้การดูรายละเอียดของการลดลงนั้นไม่ได้ให้ความสว่างเป็นพิเศษ หากคุณต้องการคุณสามารถรวมมันเข้าด้วยกันโดยใช้การลดแบบง่ายจากการเสร็จละตินสี่เหลี่ยมจัตุรัสถึงซูโดกุที่นี่การลดลงจากการวิเคราะห์กราฟไตรภาคีที่มีรูปแบบเหมือนกันจนถึงการเสร็จสมบูรณ์สี่เหลี่ยมละตินที่นี่การลดจาก 3SAT เป็นสามเหลี่ยมที่นี่และการกำหนด TSP เป็นปัญหา 3SAT อย่างไรก็ตามหากคุณต้องการเข้าใจแนวคิดเบื้องหลังการลดจาก Sudoku เป็น TSP ฉันคิดว่าคุณควรศึกษาทฤษฎีบทของ Cook (แสดงว่า SAT นั้นสมบูรณ์แล้ว) และการลดลงอย่างง่ายจาก 3SAT (เช่นการจับคู่สามมิติ) และมีความพึงพอใจในความรู้ที่ว่าการลด TSP-Sudoku เป็นเพียงสิ่งเดียวกัน แต่ยิ่งนานและยุ่งมากขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.