Content deleted Content added
Changed all plain text formulae to <math> for a cleaner look. |
Link suggestions feature: 1 link added. |
||
(11 intermediate revisions by 10 users not shown) | |||
Line 5:
== Reducibility relations==
A '''reducibility relation''' is a [[binary relation]] on sets of natural numbers that is
* [[Reflexive relation|Reflexive]]: Every set is reducible to itself.
* [[transitive relation|Transitive]]: If a set <math>A</math> is reducible to a set <math>B</math> and <math>B</math> is reducible to a set <math>C</math> then <math>A</math> is reducible to <math>C</math>.
These two properties imply that
=== Degrees of a reducibility relation ===
Every reducibility relation (in fact, every preorder) induces an equivalence relation on the powerset of the natural numbers in which two sets are equivalent if and only if each one is reducible to the other. In
The degrees of any reducibility relation are [[partial order|partially ordered]] by the relation in the following manner. Let
== Turing reducibility ==
Line 28:
*[[many-one reduction|Many-one reducibility]]: <math>A</math> is many-one reducible to <math>B</math> if there is a computable function <math>f</math> with <math>A(x) = B(f(x))</math> for all <math>x</math>.
*[[Truth table reduction|Truth-table reducible]]: <math>A</math> is truth-table reducible to <math>B</math> if <math>A</math> is Turing reducible to <math>B</math> via a single (oracle) Turing machine which produces a total function relative to every oracle.
*[[Truth table reduction|Weak truth-table reducible]]: <math>A</math> is weak truth-table reducible to <math>B</math> if there is a Turing reduction from <math>B</math> to <math>A</math> and a
*Positive reducible: <math>A</math> is positive reducible to <math>B</math> if and only if <math>A</math> is truth-table reducible to <math>B</math> in a way that one can compute for every <math>x</math> a formula consisting of atoms of the form <math>B(0), B(1), ...</math> such that these atoms are combined by and's and or's, where the and of <math>a</math> and <math>b</math> is 1 if <math>a = 1</math> and <math>b = 1</math> and so on.
*[[Enumeration reducibility]]: Similar to positive reducibility, relating to the effective procedure of [[enumerability]] from <math>A</math> to <math>B</math>''.''
Line 34:
*Conjunctive reducibility: Similar to positive reducibility with the additional constraint that only and's are permitted.
*Linear reducibility: Similar to positive reducibility but with the constraint that all atoms of the form <math>B(n)</math> are combined by [[XOR gate|exclusive or's]]. In other words, <math>A</math> is linear reducible to <math>B</math> if and only if a computable function computes for each <math>x</math> a finite set <math>F(x)</math> given as an explicit list of numbers such that <math>x \in A</math> if and only if <math>F(x)</math> contains an odd number of elements of <math>B</math>.
Many of these were introduced by Post (1944). Post was searching for a non-[[
=== Bounded reducibilities ===
A '''bounded''' form of each of the above strong reducibilities can be defined. The most famous of these is bounded truth-table reduction, but there are also bounded Turing, bounded weak truth-table, and others. These first three are the most common ones and they are based on the number of queries. For example, a set <math>A</math> is bounded truth-table reducible to <math>B</math> if and only if the Turing machine <math>M</math> computing <math>A</math> relative to <math>B</math> computes a list of up to <math>n</math> numbers, queries <math>B</math> on these numbers and then terminates for all possible oracle answers; the value <math>n</math> is a constant independent of <math>x</math>. The difference between bounded weak truth-table and bounded Turing reduction is that in the first case, the up to <math>n</math> queries have to be made at the same time while in the second case, the queries can be made one after the other. For that reason, there are cases where <math>A</math> is bounded Turing reducible to <math>B</math> but not weak truth-table reducible to <math>B</math>.
=== Strong reductions in computational complexity ===
{{main|Reduction (complexity)}}
The strong reductions listed above restrict the manner in which oracle information can be accessed by a decision procedure but do not otherwise limit the computational resources available. Thus if a set <math>A</math> is [[computable set|decidable]] then <math>A</math> is reducible to any set <math>B</math> under any of the strong reducibility relations listed above, even if <math>A</math> is not polynomial-time or exponential-time decidable. This is acceptable in the study of
The most common reducibility in computational complexity theory is [[Polynomial-time reduction|polynomial-time reducibility]]; a set ''A'' is polynomial-time reducible to a set <math>B</math> if there is a polynomial-time function ''f'' such that for every <math>n</math>, <math>n</math> is in <math>A</math> if and only if <math>f(n)</math> is in <math>B</math>. This reducibility is, essentially, a resource-bounded version of many-one reducibility. Other resource-bounded reducibilities are used in other contexts of computational complexity theory where other resource bounds are of interest.
== Reductions weaker than Turing reducibility ==
Although Turing reducibility is the most general reducibility that is effective, weaker reducibility relations are commonly studied. These reducibilities are related to the relative definability of sets over arithmetic or set theory. They include:
* [[Arithmetical reducibility]]: A set <math>A</math> is arithmetical in a set <math>B</math> if <math>A</math> is definable over the standard model of [[Peano arithmetic]] with an extra predicate for <math>B</math>. Equivalently, according to [[Post's theorem]], ''A'' is arithmetical in <math>B</math> if and only if <math>A</math> is Turing reducible to <math>B^{(n)}</math>, the <math>n</math>th [[Turing jump]] of <math>B</math>, for some natural number <math>n</math>. The [[arithmetical hierarchy]] gives a finer classification of arithmetical reducibility.
* [[Hyperarithmetical reducibility]]: A set <math>A</math> is hyperarithmetical in a set <math>B</math> if <math>A</math> is <math>\Delta^1_1</math> definable (see [[analytical hierarchy]]) over the standard model of Peano arithmetic with a predicate for <math>B</math>. Equivalently, <math>A</math> is hyperarithmetical in <math>B</math> if and only if <math>A</math> is Turing reducible to <math>B^{(\alpha)}</math>, the <math>a</math>th [[Turing jump]] of <math>B</math>, for some <math>B</math>-[[recursive ordinal]] <math>a</math>.
Line 53:
== References ==
{{refbegin}}
* K. Ambos-Spies and P. Fejer, 2006. "[http://www.cs.umb.edu/~fejer/articles/History_of_Degrees.pdf Degrees of Unsolvability]." Unpublished preprint.
* P. Odifreddi, 1989. ''Classical Recursion Theory'', North-Holland. {{isbn|0-444-87295-7}}
Line 58 ⟶ 59:
*E. Post, 1944, "Recursively enumerable sets of positive integers and their decision problems", ''Bulletin of the American Mathematical Society'', volume 50, pages 284–316.
* H. Rogers, Jr., 1967. ''The Theory of Recursive Functions and Effective Computability'', second edition 1987, MIT Press. {{isbn|0-262-68052-1}} (paperback), {{isbn|0-07-053522-1}}
* G. Sacks, 1990. ''Higher Recursion Theory'', Springer-Verlag. {{isbn|3-540-19305-7}}
{{refend}}
== External links ==
*[https://plato.stanford.edu/entries/recursive-functions/ Stanford Encyclopedia of Philosophy: Recursive Functions]
[[Category:Reduction (complexity)| ]]
|