我们说有一个程序,如果您提供任意大小的部分填充的数独,它会为您提供相应的完整数独。
您可以将此程序视为黑匣子,并用它来解决TSP吗?我的意思是,有一种方法可以将TSP问题表示为部分填充的Sudoku,以便如果我给您Sudoku的答案,您可以在多项式时间内告诉TSP解决方案?
如果是,怎么办?如何将TSP表示为部分填充的数独,并为结果解释相应的填充的数独。
我们说有一个程序,如果您提供任意大小的部分填充的数独,它会为您提供相应的完整数独。
您可以将此程序视为黑匣子,并用它来解决TSP吗?我的意思是,有一种方法可以将TSP问题表示为部分填充的Sudoku,以便如果我给您Sudoku的答案,您可以在多项式时间内告诉TSP解决方案?
如果是,怎么办?如何将TSP表示为部分填充的数独,并为结果解释相应的填充的数独。
Answers:
对于9x9 Sudoku,不。它是有限的,因此可以在时间内求解。
但是,如果您有一个 Sudoku 的求解器,该求解器适用于所有和所有可能的部分电路板,并且在多项式时间内运行,那么可以,它可以用来在多项式时间内求解TSP,因为完成了数独是NP完全的。
NP完全性的证明是通过将某些NP完全性问题R简化为Sudoku来实现的。然后因为R是NP完全的,所以可以从TSP减少到R(遵循NP完全性的定义);并将这些减少量链接在一起,便可以使用Sudoku求解器来求解TSP。
确实有可能使用通用的Sudoku求解器来求解TSP的实例,并且如果该求解器需要多项式时间,那么整个过程也会一样(用复杂度术语来说,从TSP到Sudoku的多项式时间都减少了)。这是因为Sudoku是NP完全的,而TSP在NP中。但是,与该区域的通常情况一样,查看减少的细节并不是特别有启发性。如果你愿意,你可以通过使用拉丁方完成简单减少到数独拼凑它在这里,从三角均匀三方图表以拉丁方完成的减小在这里,从3SAT三角测量还原这里,并将TSP公式化为3SAT问题。但是,如果您想了解从Sudoku简化为TSP的想法,我认为您最好研究一下Cook的定理(表明SAT是NP完全的)和从3SAT进行一些简单的简化(例如到3维匹配)并且对TSP-Sudoku减少是一样的事情感到满意,但时间更长,更轻松。