Jump to content

PR (complexity): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
SmackBot (talk | contribs)
m remove Erik9bot category,outdated, tag and general fixes
Citation bot (talk | contribs)
Add: s2cid. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 82/107
 
(19 intermediate revisions by 16 users not shown)
Line 1: Line 1:
'''PR''' is the complexity class of all [[primitive recursive function]]s—or, equivalently, the set of all [[formal language]]s that can be decided in [[time complexity|time]] bounded by such a function. This includes [[addition]], [[multiplication]], [[exponentiation]], [[tetration]], etc.
{{Unreferenced|date=December 2009}}
'''PR''' is the complexity class of all [[primitive recursive function]]s – or, equivalently, the set of all [[formal language]]s 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 (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]] (Cooper 2004:88).


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''' 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 strictly contains [[ELEMENTARY]].
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 does not contain "PR-complete" problems (assuming, e.g., [[many-one reduction|reduction]]s that belong to ELEMENTARY). In practice, many problems that are not in PR but just beyond are <math>\text{𝐅}_\omega</math>-complete (Schmitz 2016).
'''PR''' strictly contains [[ELEMENTARY]].


==References==
== References ==
* {{cite book|author=S. Barry Cooper |year=2004|title=Computability Theory|publisher= Chapman & Hall|isbn=1-58488-237-9}}
* {{cite book|author=Herbert Enderton |year=2011|title=Computability Theory|publisher= Academic Press|isbn=978-0-12-384-958-8}}
* {{cite journal|arxiv=1312.5686|doi=10.1145/2858784|title=Complexity Hierarchies beyond Elementary|year=2016|last1=Schmitz|first1=Sylvain|journal=ACM Transactions on Computation Theory|volume=8|pages=1–36|s2cid=15155865 }}

==External links ==
* {{ComplexityZoo|PR|P#pr}}.
* {{ComplexityZoo|PR|P#pr}}.


Line 17: Line 21:
{{DEFAULTSORT:Pr (Complexity)}}
{{DEFAULTSORT:Pr (Complexity)}}
[[Category:Complexity classes]]
[[Category:Complexity classes]]

[[ko:PR (복잡도)]]
[[ja:PR (計算複雑性理論)]]

Latest revision as of 07:50, 26 July 2022

PR is the complexity class of all primitive recursive functions—or, equivalently, the set of all formal languages that can be decided in time bounded 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 (Cooper 2004:88).

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 (Mk), 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 (Mk), is exactly the set of M that halt.

PR strictly contains ELEMENTARY.

PR does not contain "PR-complete" problems (assuming, e.g., reductions that belong to ELEMENTARY). In practice, many problems that are not in PR but just beyond are -complete (Schmitz 2016).

References

[edit]
  • S. Barry Cooper (2004). Computability Theory. Chapman & Hall. ISBN 1-58488-237-9.
  • Herbert Enderton (2011). Computability Theory. Academic Press. ISBN 978-0-12-384-958-8.
  • Schmitz, Sylvain (2016). "Complexity Hierarchies beyond Elementary". ACM Transactions on Computation Theory. 8: 1–36. arXiv:1312.5686. doi:10.1145/2858784. S2CID 15155865.
[edit]