21
$\begingroup$

Let us say there is a program such that if you give a partially filled Sudoku of any size it gives you corresponding completed Sudoku.

Can you treat this program as a black box and use this to solve TSP? I mean is there a way to represent TSP problem as partially filled Sudoku, so that if I give you the answer of that Sudoku, you can tell the solution for TSP in polynomial time?

If yes, how? how do you represent TSP as a partially filled Sudoku and interpret corresponding filled Sudoku for the result.

$\endgroup$
  • 1
    $\begingroup$ This paper claims to give a constructive reduction from Sudoku to Hamiltonian cycle problem: sciencedirect.com/science/article/pii/S097286001630038X $\endgroup$ – C. Windolf Mar 15 at 20:24
  • $\begingroup$ @C.Windolf The question is asking for the other direction. (Indeed, there's a deleted answer that made the same mistake and cited the same paper.) $\endgroup$ – David Richerby Mar 15 at 20:25
31
$\begingroup$

For 9x9 Sudoku, no. It is finite so can be solved in $O(1)$ time.

But if you had a solver for $n^2 \times n^2$ Sudoku, that worked for all $n$ and all possible partial boards, and ran in polynomial time, then yes, that could be used to solve TSP in polynomial time, as completing a $n^2 \times n^2$ Sudoku is NP-complete.

The proof of NP-completeness works by reducing from some NP-complete problem R to Sudoku; then because R is NP-complete, you can reduce from TSP to R (that follows from the definition of NP-completeness); and chaining those reductions gives you a way to use the Sudoku solver to solve TSP.

$\endgroup$
  • 1
    $\begingroup$ Could you please explain how? Yes lets assume I have general sudoku solver which acts as a black box. So how can you use it? How do you represent TSP as a partially filled Sudoku $\endgroup$ – Chakrapani N Rao Mar 15 at 8:22
  • 2
    $\begingroup$ @ChakrapaniNRao, see updated answer. Yes, I understand it is a black box. To work out the details, find the proof of NP-completeness for Sudoku and understand how the reduction works. $\endgroup$ – D.W. Mar 15 at 8:25
  • 8
    $\begingroup$ @ChakrapaniNRao It doesn't answer the question completely but the full answer would be ridiculously long, be full of intricate details and wouldn't give you any more enlightenment than the sketch here. It's possible that a reduction of some NP-complete problem to $n^2\times n^2$ sudoku might be interesting but, unless the proof that sudoku is NP-complete was actually by reduction from TSP (unlikely), the answer is still going to end "and then chain those two reductions together". $\endgroup$ – David Richerby Mar 15 at 17:43
  • 8
    $\begingroup$ @ChakrapaniNRao You are asking how to solve problem X using a black box for problem Y. That is literally asking for a reduction. That's what "reduction" means. And, as this answer explains, the answer to your yes/no question is yes. $\endgroup$ – David Richerby Mar 15 at 18:32
  • 2
    $\begingroup$ @SolomonUcko, well, no, not necessarily. The questions asks: if we have a Sudoku solver, can we use it to solve TSP? The answer is yes, we can. I explain how. This will give you a way to solve TSP about as fast as the Sudoku solver will solve Sudoku. If the Sudoku solver runs in polynomial time, this will give you a way to solve TSP in polynomial time. If the Sudoku solver runs in subexponential time, this will give you a way to solve TSP in subexponential time. And so on. $\endgroup$ – D.W. Mar 17 at 5:11
25
$\begingroup$

It is indeed possible to use a general Sudoku solver to solve instances of TSP, and if this solver takes polynomial time then the whole process will as well (in complexity terminology, there is a polynomial-time reduction from TSP to Sudoku). This is because Sudoku is NP-complete and TSP is in NP. But as is usually the case in this area, looking at the details of the reduction isn't particularly illuminating. If you want, you can piece it together by using the simple reduction from Latin square completion to Sudoku here, the reduction from triangulating uniform tripartite graphs to Latin square completion here, the reduction from 3SAT to triangulation here, and a formulation of TSP as a 3SAT problem. However, if you want to understand the idea behind reducing from Sudoku to TSP I think you would be better off studying Cook's theorem (showing that SAT is NP-complete) and a couple of simple reductions from 3SAT (e.g. to 3-dimensional matching) and being satisfied in the knowledge that the TSP-Sudoku reduction is just the same kind of thing but longer and more fiddly.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.