Oracle Turing machine 2026-11-05
An oracle Turing machine is a Turing machine with an additional query operation for a fixed formal language . It writes a finite query on a designated tape and receives the membership answer in one oracle step. Writing the query still takes ordinary machine work. The oracle's internal solution procedure is excluded from the cost model.
For example, a machine with an oracle for Boolean satisfiability can ask whether a given Boolean formula has a satisfying assignment. By fixing variables one at a time and querying satisfiability again, it can recover an assignment with at most one additional query per variable. The example turns decision access into search access; it does not provide an ordinary fast satisfiability solver. Oracles let computability theory and computational complexity theory compare problems while making the granted information explicit.[ref]
A polynomial-time Turing reduction from a decision problem to a decision problem is a deterministic algorithm deciding membership in in polynomial time when allowed to query whether strings belong to . An oracle Turing machine models each query answer as a single oracle operation, while writing the query and using the answer still costs time. Queries may depend on earlier answers.
For example, the complement of reduces to by asking one membership question and reversing its answer. This is a Turing reduction, regardless of whether there is a simple many-one reduction with the same effect. A polynomial-time many-one reduction instead computes one transformed instance whose answer is used unchanged.
If reduces to this way and has a polynomial-time algorithm, then does too: substitute that algorithm at each oracle call. Polynomially many queries of polynomial length keep the total cost polynomial. Completeness claims must specify which reduction is intended because adaptive access is more permissive.