NP-hardness
Definition
Let be a finite alphabet, and let be a language. The language is NP-hard when for every . Here NP is the class NP, and is polynomial-time reducibility.
Remarks
Example: the halting problem , the set of pairs such that the Turing machine halts on input , is NP-hard. Let , decided by a nondeterministic machine . Let be a deterministic machine that simulates all branches of on its input, halts if some branch accepts, and loops forever otherwise. Map to . Since is fixed, this map is computable in polynomial time, and exactly when halts on . So , though is not decidable and so not in NP.
Non-example: the empty language is not NP-hard. Reducing a language to it needs for , so only reduces to it, while NP contains nonempty languages.
Since is transitive, a language is NP-hard as soon as some NP-hard language reduces to it. Some authors use Cook reductions instead of Karp reductions in this definition.
Reading path
To understand this page from the ground up, read these 4 pages in order. The foundations come first.
Show the path as a graph
- no evidence level
- Formal language concept
- NP concept
- Polynomial-time reduction concept
- NP-hardness definition
Further reading
About this page
| Tag | AGHWGCM8GY |
|---|---|
| URI | m2://AGHWGCM8GY |
| Kind | definition |
| Writing | W0 stub |
| MSC | 68Q17, 68Q15 |
| Defines | NP-hardness |
| Uses | NP, Polynomial-time reduction, Formal language |
| Changed | 3 November 2026 |
Markdown · JSON · Edit on GitHub
What this page needs for W1
- a source with a locator (0 of 1)
The writing levels say how complete the text of a page is. They do not measure its truth.
What links here
No page links to this page yet.