Lably
Skip to content

Turing reduction

Concept in computability theory

  • 5 min read
  • 6 chapters

Related on Lably

Through Algorithm, Function (computer programming) and Alan Turing

If a Turing reduction from 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. 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

Given two sets A,B⊆N of natural numbers, we say A is Turing reducible to B and write

A≤TB

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 A is Turing equivalent to B and write A≡TB if both A≤TB and B≤TA. The equivalence classes of Turing equivalent sets are called Turing degrees. The Turing degree of a set X is written deg(X).

Given a set X⊆P(N), a set A⊆N is called Turing hard for X if X≤TA for all X∈X. If additionally A∈X then A is called Turing complete for X.

Relation of Turing completeness to computational universality

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 X 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 X. Insufficient because it may still be the case that, the language accepted by the machine is not itself recursively enumerable.

Sign in to keep reading

5 more chapters are free with a Lably account.

More in Foundations