PR (complexity)
From Wikipedia, the free encyclopedia
PR is the complexity class of all primitive recursive functions – or, equivalently, the set of all formal languages that can be decided by such a function. This includes addition, multiplication, exponentiation, tetration, etc.
The Ackermann function is an example of a function that is not primitive recursive, showing that PR is strictly contained in R.
PR functions can be explicitly enumerated, whereas functions in R cannot be (since otherwise the halting problem would be decidable). That is, PR is a "syntactic" class whereas R is "semantic."
On the other hand, we can "enumerate" any recursively enumerable set (see also its complexity class RE) by a primitive-recursive function in the following sense: given an input (M, k), where M is a Turing machine and k is an integer, if M halts within k steps then output M; otherwise output nothing. Then the union of the outputs, over all possible inputs (M, k), is exactly the set of M that halt.
PR strictly contains ELEMENTARY.
[edit] See also
Important complexity classes (more) |
---|
P • NP • co-NP • NP-C • co-NP-C • NP-hard • UP • #P • #P-C • L • NL • NC • P-C • PSPACE • PSPACE-C • EXPTIME • EXPSPACE • PR • RE • Co-RE • RE-C • Co-RE-C • R • BQP • BPP • RP • ZPP • PCP • IP • PH |