Godel's Incompleteness Theorem and Algorithms

91 Views Asked by At

According to Godel's incompleteness theorem, not every problem can be solved using algorithms. How do we know if a problem can be solved using algorithm?
How do we know that NP problems are algorithmically solvable?

1

There are 1 best solutions below

2
On

We know a problem can be solved by an algorithm (it's computable) by exhibiting an algorithm that solves it. Or by showing that the problem can be reduced – transformed by an algorithm – into another problem for which we know an algorithm. You can take "algorithm" to mean program in your favorite programming language.

NP problems are by definition computable: some machine computes the problem. In the case of problems in NP, the machine is nondeterministic ("NP" stands for "Nondeterministic Polynomial-time"), but the computation performed by this abstract machine can be performed by a deterministic machine, one which takes at worst exponentially longer to arrive at answers.