Recent from talks
Nothing was collected or created yet.
Turing reduction
View on WikipediaIn computability theory, a Turing reduction from a decision problem to a decision problem is an oracle machine that decides problem given an oracle for (Rogers 1967, Soare 1987) in finitely many steps. It can be understood as an algorithm that could be used to solve if it had access to a subroutine for solving . The concept can be analogously applied to function problems.
If a Turing reduction from to exists, then every algorithm for [a] can be used to produce an algorithm for , by inserting the algorithm for at each place where the oracle machine computing queries the oracle for . However, because the oracle machine may query the oracle a large number of times, the resulting algorithm may require more time asymptotically than either the algorithm for or the oracle machine computing . A Turing reduction in which the oracle machine runs in polynomial time is known as a Cook reduction.
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.
Definition
[edit]Given two sets of natural numbers, we say is Turing reducible to and write
if and only 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 .
Relation of Turing completeness to computational universality
[edit]Turing completeness, as just defined above, corresponds only partially to Turing completeness in the sense of computational universality. Specifically, a Turing machine is a universal Turing machine if its halting problem (i.e., the set of inputs for which it eventually halts) is many-one complete for the set of recursively enumerable sets. Thus, a necessary but insufficient condition for a machine to be computationally universal, is that the machine's halting problem be Turing-complete for . Insufficient because it may still be the case that, the language accepted by the machine is not itself recursively enumerable.
Example
[edit]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 smn 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
[edit]- Every set is Turing equivalent to its complement.
- Every computable set is Turing reducible to every other set. Because any computable set can be computed with no oracle, it can be computed by an oracle machine that ignores the given oracle.
- 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 total 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
[edit]Since every reduction from a set to a set has to determine whether a single element is in in only finitely many steps, it can only make finitely many queries of membership in the set . When the amount of information about the set used to compute a single bit of is discussed, this is made precise by the use function. Formally, the use of a reduction is the function that sends each natural number to the largest natural number whose membership in the set was queried by the reduction while determining the membership of in .
Stronger reductions
[edit]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.
- Set is many-one reducible to if there is a total computable function such that an element is in if and only if is in . Such a function can be used to generate a Turing reduction (by computing , 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) that, 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. For this reason, weak truth table reductions are sometimes called "bounded Turing" reductions.
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 if there is a Turing reduction of to that runs in polynomial time. The concept of log-space reduction is similar.
These reductions are stronger in the sense that they provide a finer distinction into equivalence classes, and satisfy more restrictive requirements than Turing reductions. Consequently, such reductions are harder to find. 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
[edit]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. Set is said to be arithmetical in if is definable by a formula of Peano arithmetic with as a parameter. The set is hyperarithmetical in if there is a recursive ordinal such that is computable from , the α-iterated Turing jump of . The notion of relative constructibility is an important reducibility notion in set theory.
See also
[edit]Notes
[edit]- ^ It is possible that B is an undecidable problem for which no algorithm exists.
References
[edit]- 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.
- Post, E. L. (1944). "Recursively enumerable sets of positive integers and their decision problems" (PDF). Bulletin of the American Mathematical Society. 50 (5): 284–316. doi:10.1090/s0002-9904-1944-08111-1. Retrieved 2015-12-17.
- A. Turing, 1939. "Systems of logic based on ordinals." Proceedings of the London Mathematical 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.
- Davis, Martin (November 2006). "What is...Turing Reducibility?" (PDF). Notices of the American Mathematical Society. 53 (10): 1218–1219. Retrieved 2008-01-16.
External links
[edit]Turing reduction
View on GrokipediaDefinition and Formalism
Formal Definition
A Turing reduction from a decision problem to a decision problem is a procedure computable by a Turing machine that determines whether an input by making queries to an oracle for , such that if and only if the oracle reports affirmatively on the relevant instances of .[4] This procedure effectively transforms the problem of deciding into a series of decisions about , allowing the relative computability of to to be established.[5] An oracle Turing machine formalizes this reduction: it is a standard Turing machine augmented with an additional oracle tape and the ability to query it.[4] Upon entering a designated query state , the machine writes a string on the oracle tape; the oracle then instantaneously replaces with 1 if or 0 if , after which computation resumes from the next state.[4] Formally, if denotes the oracle Turing machine equipped with oracle , then is Turing reducible to , denoted , if there exists such an where decides .[5] Turing reducibility is transitive: if and , then .[6] To see this, suppose decides and decides ; construct that simulates on input but, whenever would query its oracle for on some , instead runs on to obtain the answer from the -oracle and feeds it back to the simulation of .[4] Since simulations of Turing machines are computable, decides , establishing the reduction.[6]Relation to Oracle Machines
An oracle Turing machine extends the standard model of a Turing machine by incorporating an additional oracle tape and a corresponding oracle head, along with designated query states that allow the machine to consult an external oracle for decision problems.[7] This augmentation enables the machine to solve problems beyond its native computational power by treating the oracle as a black-box subroutine that decides membership in a fixed language.[8] To make a query, the oracle Turing machine first writes the instance—typically a string representing the input to the oracle set—onto the oracle tape, positioning the oracle head at the beginning of this string. The machine then enters a query state, at which point the oracle instantaneously inspects the tape content and provides a yes/no answer by either overwriting a designated symbol (such as replacing a query marker with '1' for yes or '0' for no) or transitioning the machine to one of two response states, allowing computation to continue based on the result.[9][7] This process models the subroutine call in a Turing reduction, where the oracle acts as an idealized decider for the target problem without revealing its internal mechanism. The concept of Turing reducibility, denoted , is precisely captured by oracle Turing machines: a language is Turing reducible to if there exists an oracle Turing machine that, with as its oracle, decides membership in .[9] This equivalence holds because any Turing reduction procedure, which involves a finite number of adaptive queries to followed by local computation, can be simulated by the oracle machine's tape operations and state transitions, ensuring the machine halts with the correct output for every input in .[8] Relativization refers to the practice of interpreting computability and complexity results relative to an arbitrary oracle set, where classes like the recursively enumerable languages or recursive languages are defined with respect to the oracle's power.[9] For instance, the class consists of languages accepted by nondeterministic oracle Turing machines with oracle , highlighting how oracle models preserve structural properties of computation independently of the specific oracle chosen.[8]Examples
Canonical Example with Halting Problem
The halting problem, denoted , is the set of all pairs , where is the description of a Turing machine and is a finite input string, such that halts on input .[10] A basic illustration of a Turing reduction involves reducing to itself, which is trivial: an oracle Turing machine decides membership in by querying its oracle for directly on the input and outputting the oracle's yes or no response.[11] This single-query procedure demonstrates how access to an oracle for a problem enables its own solution via Turing reduction. Another canonical construction reduces the general halting problem to the blank-tape halting problem halts on the empty tape , showing . On input , an oracle Turing machine proceeds as follows:- Compute the encoding of a new Turing machine , constructed such that , when started on any input (including the blank tape), first erases the tape, then writes the fixed string onto it (hardcoding into 's finite description, which is possible since is given and finite), positions the tape head appropriately, and finally simulates starting from that configuration.
- Query the oracle for on .
- If the oracle returns yes ( halts on blank tape), accept ( halts on ); otherwise, reject.
