Oracle Machine

An oracle machine is a Turing machine connected to an oracle. The oracle, in this context, is thought of as an entity capable of answering some collection of questions, and usually represented as some subset A of the natural numbers. Intuitively then, the oracle machine can perform all of the usual operations of a Turing machine, and can also query the oracle for an answer to a specific question of the form "is x in A?"

The definition given here is one of several possible oracle machine definitions. All these definitions are equivalent, as they agree on which specific functions f can be computed by an oracle machine with oracle A.

An oracle machine, like a Turing machine, includes:

  • a work tape: a sequence of cells without beginning or end, each of which may contain a B (for blank) or a 1;
  • a read/write head, which rests on a single cell of the work tape and can read the data there, write new data, and move left or right along the tape;
  • a control mechanism, which can be in one of a finite number of states, and which will perform different actions (reading data, writing data, moving the control mechanism, and changing states) depending on the current state and the data being read.

In addition to these components, an oracle machine also includes:

  • an oracle tape, on which an infinite sequence of B's and 1's is printed, corresponding to the characteristic function of the oracle set A;
  • an oracle head, which (like the read/write head) can move left or right along the oracle tape reading data, but which cannot write.

Read more about Oracle Machine:  Complexity Classes of Oracle Machines, Oracles and Halting Problems, Applications To Cryptography

Famous quotes containing the words oracle and/or machine:

    Know thyself.
    —Inscription on the Oracle of Apollo at Delphi, Greece, 6th century B.C.....

    The machine invades me all day.
    Sharon Atkins, U.S. receptionist. As quoted in Working, book 2, by Studs Terkel (1973)