In
computational complexity theory, a
computational problem is complete for a
complexity class if it is, in a technical sense, among the "hardest" (or "most expressive") problems in the complexity class.
More formally, a problem ''p'' is called hard for a complexity class ''C'' under a given type of
reduction if there exists a reduction (of the given type) from any problem in ''C'' to ''p''. If a problem is both hard for the class and a member of the class, it is complete for that class (for that type of reduction).
A problem that is complete for a class ''C'' is said to be C-complete, and the class of all problems complete for ''C'' is denoted C-complete. The first complete class to be defined and the most well known is
NP-complete, a class that contains many difficult-to-solve problems that arise in practice. Similarly, a problem hard for a class ''C'' is called C-hard, e.g.
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
.
Normally, it is assumed that the reduction in question does not have higher computational complexity than the class itself. Therefore, it may be said that if a ''C-complete'' problem has a "computationally easy" solution, then all problems in "C" have an "easy" solution.
Generally, complexity classes that have a recursive enumeration have known complete problems, whereas classes that lack a recursive enumeration have none. For example,
NP,
co-NP,
PLS,
PPA
PPA may refer to:
Biomedical
* ''Palpatio per anum'', Latin medical term for a rectal examination
* Parahippocampal place area located within the parahippocampal gyrus
* Phenylpropanolamine
* Primary progressive aphasia
Organizations
* Pakistan ...
all have known natural complete problems.
There are classes without complete problems. For example, Sipser showed that there is a language M such that BPP
M (BPP with
oracle
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The word '' ...
M) has no complete problems.
References
{{reflist
Computational complexity theory