Domanda

Am a bit confused about the relationship between undecidable problems and NP hard problems. Whether NP hard problems are a subset of undecidable problems, or are they just the same and equal, or is it that they are not comparable?

For me, I have been arguing with my friends that undecidable problems are a superset to the NP hard problems. There would exist some problems that are not in NP hard but are undecidable. But i am finding this argument to be weak and am confused a bit. Are there NP-complete problems that are undecidable.? is there any problem in NP hard which is decidable.??

Some discussion would be of great help! Thanks!

È stato utile?

Soluzione

Undecidable = unsolvable for some inputs. No matter how much (finite) time you give your algorithm, it will always be wrong on some input.

NP-hard ~= super-polynomial running time (assuming P != NP). That's hand-wavy, but basically NP-hard means it is at least as hard as the hardest problem in NP.

There are certainly problems that are NP-hard which are not undecidable (= are decidable). Any NP-complete problem would be one of them, say SAT.

Are there undecidable problems which are not NP-hard? I don't think so, but it isn't easy to rule it out - I don't see an obvious argument that there must be a reduction from SAT to all possible undecidable problems. There could be some weird undecidable problems which aren't very useful. But the standard undecidable problems (the halting problem, say) are NP-hard.

Altri suggerimenti

An NP-hard is a problem that is at least as hard as any NP-complete problem.

Therefore an undecidable problem can be NP-hard. A problem is NP-hard if an oracle for it would make solving NP-complete problems easy (i.e. solvable in polynomial time). We can imagine an undecidable problem such that, given an oracle for it, NP-complete problems would be easy to solve. For example, obviously every oracle that solves the halting problem can also solve an NP-complete problem, so every Turing-complete problem is also NP-hard in the sense that a (fast) oracle for it would make solving NP-complete problems a breeze.

Therefore Turing-complete undecidable problems are a subset of NP-hard problems.

Undecidable problem e.g. Turing Halting Problem is NP-Hard only.

                   <---------NP Hard------>
|------------|-------------||-------------|------------|--------> Computational Difficulty

|<----P--->|

|<----------NP---------->|

|<-----------Exponential----------->|

|<---------------R (Finite Time)---------------->|

In this diagram, that small pipe shows overlapping of NP and NP-Hard and which shows NP-Completeness, i.e. set of those problems which are NP as well as NP-Hard.

Undecidable problems are NP Hard problems which do not have solution and which are not in NP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top