One claim which appears in this thread is that full subset technique seems
to be exponential. Does anybody know a proof? Sometimes divide
and conquer algorithms solve problems which seem exponential at the
first look.
Michael
Pyrrhon wrote:For sudoku analysis it is irrelevant whether some technique is NP-complete or polynomial. Sudoku has 81 cells and the problem of NP-completeness only arises if we attempt to make bigger and bigger sudoku. Not so much have this in mind. The number of subsets in sudoku is a constant and not NP-complete.
Pyrrhon wrote:A linear function can have a greater value as a polynomial function or an exponential if you calculate it for a special x, here 81 cells.
The complexity of a 9-link double forcing chain is a constant if you take it for a constant board size.
Moschopulus wrote:
I thought that backtracking is a *systematic* way of running through all possible candidate values in all cells. There are different ways to do this systematically, but the key fact is that there is a systematic procedure for trying each possibility, and going back a step when an impossible situation is reached. A counter is then increased by 1, etc.
maria45 wrote:Moschopulus wrote:
I thought that backtracking is a *systematic* way of running through all possible candidate values in all cells. There are different ways to do this systematically, but the key fact is that there is a systematic procedure for trying each possibility, and going back a step when an impossible situation is reached. A counter is then increased by 1, etc.
No. Backtracking has nothing to do with complexity, it is just one possibility of an algorithm. As far as I know, there is already proof that every algorithm which is expressible in backtracking way is also in a non-backtracking way.
Backtracking can be done exponentially and polynomially, depending on the smartness of your algorithm.
maria45 wrote:And systematicity has nothing to do with it, too.
maria45 wrote:But, I'd still like to stress the point John has made about looking for polynomial order algorithms to solve every standard sudoku, because that would have quite some implications, given that sudokus are NP-complete. If such algorithms can solve every standard sudoku in polynomial time, they can do it for every bigger sudoku, too, and that would prove that every NP-complete problem can be solved in polynomial time, because there is already proof that every NP-complete problem can be transformed in every other NP-complete problem...