TURING REDUCTION
In computability theory, a 'Turing reduction' from a problem ''A'' to a problem ''B'', named after Alan Turing, is a reduction which solves ''A'', assuming ''B'' is already known (Rogers 1967, Soare 1987). More formally, a Turing reduction is a function computable by an oracle machine with an oracle for ''B''. Turing reductions can be applied to both decision problems and function problems.
If a Turing reduction of ''A'' to ''B'' exists then every algorithm for ''B'' can be used to produce an algorithm for ''A'', by inserting the algorithm for ''B'' at each place where the oracle machine computing ''A'' queries the oracle for ''B''. However, because the oracle machine may query the oracle a large number of times, the resulting algorithm may require more time asymptotically than either ''M'' or the oracle machine, and may require as much space as both together.
The first formal definition of relative computability, then called relative reducibility, was given by Alan Turing in 1939 in terms of oracle machines. Later in 1943 and 1952 Stephen Kleene defined an equivalent concept in terms of recursive functions. In 1944 Emil Post used the term "Turing reducibility" to refer to the concept.
Given two sets of natural numbers, we say is 'Turing reducible' to and write
:
if there is an oracle machine that computes the characteristic function of ''A'' when run with oracle ''B''. In this case, we also say ''A'' is '''B''-recursive' and '''B''-computable'.
If there is an oracle machine that, when run with oracle ''B'', computes a partial function with domain ''A'', then ''A'' is said to be '''B''-recursively enumerable' and '''B''-computably enumerable'.
We say is 'Turing equivalent' to and write if both and The equivalence classes of Turing equivalent sets are called 'Turing degrees'. The Turing degree of a set is written .
Given a set , a set is called 'Turing hard' for if for all . If additionally then is called 'Turing complete' for .
Let denote the set of input values for which the Turing machine with index ''e'' halts. Then the sets and are Turing equivalent (here denotes an effective pairing function). A reduction showing can be constructed using the fact that . Given a pair , a new index can be constructed using the s-m-n theorem such that the program coded by ignores its input and merely simulates the computation of the machine with index ''e'' on input ''n''.
In particular, the machine with index either halts on every input or halts on no input. Thus holds for all ''e'' and ''n''. Because the function ''i'' is computable, this shows . The reductions presented here are not only Turing reductions but ''many-one reductions'', discussed below.
★ Every set is Turing equivalent to its complement
★ Every computable set is Turing reducible to every other computable set. Because these sets can be computed with no oracle, they can be computed by an oracle machine that ignores the oracle it is given.
★ The relation is transitive: if and then . Moreover holds for every set ''A'', and thus the relation is a preorder (it is not a partial order because and does not necessarily imply ).
★ There are pairs of sets such that ''A'' is not Turing reducible to ''B'' and ''B'' is not Turing reducible to ''A''. Thus is not a linear order.
★ There are infinite decreasing sequences of sets under . Thus this relation is not well-founded.
★ Every set is Turing reducible to its own Turing jump, but the Turing jump of a set is never Turing reducible to the original set.
Since every reduction from a set ''B'' to a set ''A'' has to determine whether a single element is in ''A'' in only finitely many steps, it can only make finitely many queries of membership in the set ''B''. When the amount of information about the set ''B'' used to compute a single bit of ''A'' is discussed, this is made precise by the use function. Formally, the ''use'' of a reduction is the function that sends each natural number ''n'' to the largest natural number ''m'' whose membership in the set ''B'' was queried by the reduction while determining the membership of ''n'' in ''A''.
There are two common ways of producing reductions stronger than Turing reducibility.
The first way is to limit the number and manner of oracle queries.
★ A set ''A'' is 'many-one reducible' to ''B'' if there is a computable function ''f'' such that an element ''n'' is in ''A'' if and only if ''f''(''n'') is in ''B''. Such a function can be used to generate a Turing reduction (by computing ''f''(''n''), querying the oracle, and then interpreting the result).
★ A 'truth table reduction' or a 'weak truth table reduction' must present all of its oracle queries at the same time. In a truth table reduction, the reduction also gives a boolean function (a 'truth table') which, when given the answers to the queries, will produce the final answer of the reduction. In a weak truth table reduction, the reduction uses the oracle answers as a basis for further computation depending on the given answers (but not using the oracle). Equivalently, a weak truth table reduction is one for which the use of the reduction is bounded by a computable function.
The second way to produce a stronger reducibility notion is to limit the computational resources that the program implementing the Turing reduction may use. These limits on the computational complexity of the reduction are important when studying subrecursive classes such as P. A set ''A'' is 'polynomial-time reducible' to a set ''B'' if there is a Turing reduction of ''A'' to ''B'' that runs in polynomial time. The concept of 'log-space reduction' is similar.
Note that while these reductions are stronger in the sense that they provide a finer distinction into equivalence classes, and have more restrictive requirements than Turing reductions, this is because the reductions themselves are less powerful; there may be no way to build a many-one reduction from one set to another even when a Turing reduction for the same sets exists.
According to the Church-Turing thesis, a Turing reduction is the most general form of an effectively calculable reduction. Nevertheless, weaker reductions are also considered. A set ''A'' is said to be 'arithmetical in' ''B'' if ''A'' is definable by a formula of Peano arithmetic with ''B'' as a parameter. The set ''A'' is 'hyperarithmetical in' ''B'' if there is a recursive ordinal α such that ''A'' is computable from , the α-iterated Turing jump of ''B''. The notion of 'relative constructibility' is an important reducibility notion in set theory.
★ M. Davis, ed., 1965. ''The Undecidable—Basic Papers on Undecidable Propositions, Unsolvable Problems and Computable Functions'', Raven, New York. Reprint, Dover, 2004. ISBN 0-486-43228-9.
★ S. C. Kleene, 1952. Introduction to Metamathematics. Amsterdam: North-Holland.
★ S. C. Kleene and E. L. Post, 1954. "The upper semi-lattice of degrees of recursive unsolvability". ''Annals of Mathematics'' v. 2 n. 59, 379--407.
★ E. Post, 1944. "Recursively enumerable sets of positive integers and their decision problems." Bulletin of the American Mathematical Society, v. 50, pp. 284-316. Reprinted in "The Undecidable", M. Davis ed., 1965.
★ A. Turing, 1939. "Systems of logic based on ordinals." ''Proceedings of the London Mathematics Society'', ser. 2 v. 45, pp. 161–228. Reprinted in "The Undecidable", M. Davis ed., 1965.
★ H. Rogers, 1967. Theory of recursive functions and effective computability. McGraw-Hill.
★ R. Soare, 1987. Recursively enumerable sets and degrees, Springer.
★ NIST Dictionary of Algorithms and Data Structures: Turing reduction
If a Turing reduction of ''A'' to ''B'' exists then every algorithm for ''B'' can be used to produce an algorithm for ''A'', by inserting the algorithm for ''B'' at each place where the oracle machine computing ''A'' queries the oracle for ''B''. However, because the oracle machine may query the oracle a large number of times, the resulting algorithm may require more time asymptotically than either ''M'' or the oracle machine, and may require as much space as both together.
The first formal definition of relative computability, then called relative reducibility, was given by Alan Turing in 1939 in terms of oracle machines. Later in 1943 and 1952 Stephen Kleene defined an equivalent concept in terms of recursive functions. In 1944 Emil Post used the term "Turing reducibility" to refer to the concept.
| Contents |
| Definition |
| Example |
| Properties |
| The use of a reduction |
| Stronger reductions |
| Weaker reductions |
| References |
| External links |
Definition
Given two sets of natural numbers, we say is 'Turing reducible' to and write
:
if there is an oracle machine that computes the characteristic function of ''A'' when run with oracle ''B''. In this case, we also say ''A'' is '''B''-recursive' and '''B''-computable'.
If there is an oracle machine that, when run with oracle ''B'', computes a partial function with domain ''A'', then ''A'' is said to be '''B''-recursively enumerable' and '''B''-computably enumerable'.
We say is 'Turing equivalent' to and write if both and The equivalence classes of Turing equivalent sets are called 'Turing degrees'. The Turing degree of a set is written .
Given a set , a set is called 'Turing hard' for if for all . If additionally then is called 'Turing complete' for .
Example
Let denote the set of input values for which the Turing machine with index ''e'' halts. Then the sets and are Turing equivalent (here denotes an effective pairing function). A reduction showing can be constructed using the fact that . Given a pair , a new index can be constructed using the s-m-n theorem such that the program coded by ignores its input and merely simulates the computation of the machine with index ''e'' on input ''n''.
In particular, the machine with index either halts on every input or halts on no input. Thus holds for all ''e'' and ''n''. Because the function ''i'' is computable, this shows . The reductions presented here are not only Turing reductions but ''many-one reductions'', discussed below.
Properties
★ Every set is Turing equivalent to its complement
★ Every computable set is Turing reducible to every other computable set. Because these sets can be computed with no oracle, they can be computed by an oracle machine that ignores the oracle it is given.
★ The relation is transitive: if and then . Moreover holds for every set ''A'', and thus the relation is a preorder (it is not a partial order because and does not necessarily imply ).
★ There are pairs of sets such that ''A'' is not Turing reducible to ''B'' and ''B'' is not Turing reducible to ''A''. Thus is not a linear order.
★ There are infinite decreasing sequences of sets under . Thus this relation is not well-founded.
★ Every set is Turing reducible to its own Turing jump, but the Turing jump of a set is never Turing reducible to the original set.
The use of a reduction
Since every reduction from a set ''B'' to a set ''A'' has to determine whether a single element is in ''A'' in only finitely many steps, it can only make finitely many queries of membership in the set ''B''. When the amount of information about the set ''B'' used to compute a single bit of ''A'' is discussed, this is made precise by the use function. Formally, the ''use'' of a reduction is the function that sends each natural number ''n'' to the largest natural number ''m'' whose membership in the set ''B'' was queried by the reduction while determining the membership of ''n'' in ''A''.
Stronger reductions
There are two common ways of producing reductions stronger than Turing reducibility.
The first way is to limit the number and manner of oracle queries.
★ A set ''A'' is 'many-one reducible' to ''B'' if there is a computable function ''f'' such that an element ''n'' is in ''A'' if and only if ''f''(''n'') is in ''B''. Such a function can be used to generate a Turing reduction (by computing ''f''(''n''), querying the oracle, and then interpreting the result).
★ A 'truth table reduction' or a 'weak truth table reduction' must present all of its oracle queries at the same time. In a truth table reduction, the reduction also gives a boolean function (a 'truth table') which, when given the answers to the queries, will produce the final answer of the reduction. In a weak truth table reduction, the reduction uses the oracle answers as a basis for further computation depending on the given answers (but not using the oracle). Equivalently, a weak truth table reduction is one for which the use of the reduction is bounded by a computable function.
The second way to produce a stronger reducibility notion is to limit the computational resources that the program implementing the Turing reduction may use. These limits on the computational complexity of the reduction are important when studying subrecursive classes such as P. A set ''A'' is 'polynomial-time reducible' to a set ''B'' if there is a Turing reduction of ''A'' to ''B'' that runs in polynomial time. The concept of 'log-space reduction' is similar.
Note that while these reductions are stronger in the sense that they provide a finer distinction into equivalence classes, and have more restrictive requirements than Turing reductions, this is because the reductions themselves are less powerful; there may be no way to build a many-one reduction from one set to another even when a Turing reduction for the same sets exists.
Weaker reductions
According to the Church-Turing thesis, a Turing reduction is the most general form of an effectively calculable reduction. Nevertheless, weaker reductions are also considered. A set ''A'' is said to be 'arithmetical in' ''B'' if ''A'' is definable by a formula of Peano arithmetic with ''B'' as a parameter. The set ''A'' is 'hyperarithmetical in' ''B'' if there is a recursive ordinal α such that ''A'' is computable from , the α-iterated Turing jump of ''B''. The notion of 'relative constructibility' is an important reducibility notion in set theory.
References
★ M. Davis, ed., 1965. ''The Undecidable—Basic Papers on Undecidable Propositions, Unsolvable Problems and Computable Functions'', Raven, New York. Reprint, Dover, 2004. ISBN 0-486-43228-9.
★ S. C. Kleene, 1952. Introduction to Metamathematics. Amsterdam: North-Holland.
★ S. C. Kleene and E. L. Post, 1954. "The upper semi-lattice of degrees of recursive unsolvability". ''Annals of Mathematics'' v. 2 n. 59, 379--407.
★ E. Post, 1944. "Recursively enumerable sets of positive integers and their decision problems." Bulletin of the American Mathematical Society, v. 50, pp. 284-316. Reprinted in "The Undecidable", M. Davis ed., 1965.
★ A. Turing, 1939. "Systems of logic based on ordinals." ''Proceedings of the London Mathematics Society'', ser. 2 v. 45, pp. 161–228. Reprinted in "The Undecidable", M. Davis ed., 1965.
★ H. Rogers, 1967. Theory of recursive functions and effective computability. McGraw-Hill.
★ R. Soare, 1987. Recursively enumerable sets and degrees, Springer.
External links
★ NIST Dictionary of Algorithms and Data Structures: Turing reduction
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español