Jump to content

PR (complexity): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Addbot (talk | contribs)
m Bot: Migrating 3 interwiki links, now provided by Wikidata on d:q841343
No edit summary
Line 4: Line 4:
The [[Ackermann function]] is an example of a function that is ''not'' primitive recursive, showing that '''PR''' is strictly contained in '''[[R (complexity)|R]]'''.
The [[Ackermann function]] is an example of a function that is ''not'' primitive recursive, showing that '''PR''' is strictly contained in '''[[R (complexity)|R]]'''.


'''PR''' functions can be explicitly enumerated, whereas not all functions '''R''' can be. This shows that ''''PR'''' has a ''syntactic'' definition, whereas ''R'' lacks one.
'''PR''' functions can be explicitly enumerated, whereas not all functions '''R''' can be. This shows that '''PR''' has a ''syntactic'' definition, whereas '''R''' lacks one.


On the other hand, we can "enumerate" any [[recursively enumerable set]] (see also its complexity class '''[[RE (complexity)|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.
On the other hand, we can "enumerate" any [[recursively enumerable set]] (see also its complexity class '''[[RE (complexity)|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]].
'''PR''' strictly contains '''[[ELEMENTARY]]'''.


==References==
==References==

Revision as of 10:51, 16 March 2013

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 not all functions R can be. This shows that PR has a syntactic definition, whereas R lacks one.

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.

References