Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What makes an NP-hard problem not to be an NP-complete problem?

I am having confusion about NP-hard problems.
Some NP-hard problems are in NP which are called NP-Complete and some are not in NP.
For ex : Halting problem is only NP-hard, not NP-complete.
But why it is not NP-complete ? I mean what property should a problem have to qualify as
"NP-hard but not NP-complete problem" ?

like image 754
Happy Mittal Avatar asked Apr 13 '11 18:04

Happy Mittal


1 Answers

I think the shortest answer is: NP-complete = NP-hard AND in NP.

Thus, to show that a problem is NP-complete you must show that it is both NP-hard and in NP. Typically, showing that a problem is in NP is pretty easy (just give a non-deterministic polynomial time algorithm). Showing that a problem is NP-hard is, well, hard. Thus, even in a proof of NP-completeness, most of the proof is dedicated to the NP-hardness.

As for the halting problem, it fails to be in NP, and thus is not NP-complete.

like image 87
Aubrey da Cunha Avatar answered Sep 17 '22 22:09

Aubrey da Cunha