language-icon Old Web
English
Sign In

Turing reduction

In computability theory, a Turing reduction (also known as a Cook reduction) from a problem A to a problem B, is a reduction which solves A, assuming the solution to B is already known (Rogers 1967, Soare 1987). It can be understood as an algorithm that could be used to solve A if it had available to it a subroutine for solving B. 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. In computability theory, a Turing reduction (also known as a Cook reduction) from a problem A to a problem B, is a reduction which solves A, assuming the solution to B is already known (Rogers 1967, Soare 1987). It can be understood as an algorithm that could be used to solve A if it had available to it a subroutine for solving B. 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 the algorithm for B or the oracle machine computing A, 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. A polynomial-time Turing reduction is known as a Cook reduction, after Stephen Cook. Given two sets A , B ⊆ N {displaystyle A,Bsubseteq mathbb {N} } of natural numbers, we say A {displaystyle A} is Turing reducible to B {displaystyle B} 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 A {displaystyle A} is Turing equivalent to B {displaystyle B} and write A ≡ T B {displaystyle Aequiv _{T}B,} if both A ≤ T B {displaystyle Aleq _{T}B} and B ≤ T A . {displaystyle Bleq _{T}A.} The equivalence classes of Turing equivalent sets are called Turing degrees. The Turing degree of a set X {displaystyle X} is written deg ( X ) {displaystyle { extbf {deg}}(X)} . Given a set X ⊆ P ( N ) {displaystyle {mathcal {X}}subseteq {mathcal {P}}(mathbb {N} )} , a set A ⊆ N {displaystyle Asubseteq mathbb {N} } is called Turing hard for X {displaystyle {mathcal {X}}} if X ≤ T A {displaystyle Xleq _{T}A} for all X ∈ X {displaystyle Xin {mathcal {X}}} . If additionally A ∈ X {displaystyle Ain {mathcal {X}}} then A {displaystyle A} is called Turing complete for X {displaystyle {mathcal {X}}} .

[ "Universal Turing machine", "PSPACE", "NSPACE", "Post's theorem", "Linear speedup theorem", "Hyperarithmetical theory", "Log-space reduction", "Savitch's theorem" ]
Parent Topic
Child Topic
    No Parent Topic