NP-hardness (non-deterministic polynomial-time hardness), in computational complexity theory, is the defining property of a class of problems that are, informally, "at least as hard as the hardest problems in NP".
Similarly, you may ask, what is NP complete and NP hard problems?
In computational complexity theory, an NP-complete decision problem is one belonging to both the NP and the NP-hard complexity classes. In this context, NP stands for "nondeterministic polynomial time". The set of NP-complete problems is often denoted by NP-C or NPC.
What is P NP and NP complete?
P is set of problems that can be solved by a deterministic Turing machine in Polynomial time. NP is set of decision problems that can be solved by a Non-deterministic Turing Machine in Polynomial time. Therefore, NP-Complete set is also a subset of NP-Hard set.
What does it mean to be NP?
NP stands for Non-deterministic Polynomial time. This means that the problem can be solved in Polynomial time using a Non-deterministic Turing machine (like a regular Turing machine but also including a non-deterministic "choice" function). Basically, a solution has to be testable in poly time.