Read-only Turing Machine
   HOME

TheInfoList



OR:

A read-only Turing machine or two-way deterministic finite-state automaton (2DFA) is class of models of
computability Computability is the ability to solve a problem by an effective procedure. It is a key topic of the field of computability theory within mathematical logic and the theory of computation within computer science. The computability of a problem is c ...
that behave like a standard
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algori ...
and can move in both directions across input, except cannot write to its input tape. The machine in its bare form is equivalent to a
deterministic finite automaton In the theory of computation, a branch of theoretical computer science, a deterministic finite automaton (DFA)—also known as deterministic finite acceptor (DFA), deterministic finite-state machine (DFSM), or deterministic finite-state auto ...
in computational power, and therefore can only parse a
regular language In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science (as opposed to ...
.


Theory

We define a standard Turing machine by the 9-tuple M = (Q, \Sigma, \Gamma, \vdash, \_, \delta, s, t, r) where * Q is a finite set of ''states''; * \Sigma is the finite set of the ''input alphabet''; * \Gamma is the finite ''tape alphabet''; * \vdash \in \Gamma - \Sigma is the ''left endmarker''; * \_ \in \Gamma - \Sigma is the ''blank symbol''; * \delta : Q \times \Gamma \rightarrow Q \times \Gamma \times \ is the ''transition function''; * s \in Q is the ''start state''; * t \in Q is the ''accept state''; * r \in Q, ~ r \ne t is the ''reject state''. So given initial state q reading symbol a, we have a transition defined by \delta(q,a)=(q_2,a_2,d) which replaces a with a_2, transitions to state q_2, and moves the "read head" in direction d (left or right) to read the next input. In our 2DFA read-only machine, however, a=a_2 always. This model is now equivalent to a DFA. The proof involves building a table which lists the result of backtracking with the control in any given state; at the start of the computation, this is simply the result of trying to move past the left endmarker in that state. On each rightward move, the table can be updated using the old table values and the character that was in the previous cell. Since the original head-control had some fixed number of states, and there is a fixed number of states in the tape alphabet, the table has fixed size, and can therefore be computed by another finite state machine. This machine, however, will never need to backtrack, and hence is a DFA.


Variants

Several variants of this model are also equivalent to DFAs. In particular, the nondeterministic case (in which the transition from one state can be to multiple states given the same input) is reducible to a DFA. Other variants of this model allow more
computational complexity In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations ...
. With a single infinite
stack Stack may refer to: Places * Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group * Blue Stack Mountains, in Co. Donegal, Ireland People * Stack (surname) (including a list of people ...
the model can parse (at least) any language that is computable by a Turing machine in
linear time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations ...
. In particular, the language can be parsed by an algorithm which verifies first that there are the same number of a's and b's, then rewinds and verifies that there are the same number of b's and c's. With the further aid of nondeterminism the machine can parse any
context-free language In formal language theory, a context-free language (CFL), also called a Chomsky type-2 language, is a language generated by a context-free grammar (CFG). Context-free languages have many applications in programming languages, in particular, mos ...
. With two infinite stacks the machine is Turing equivalent and can parse any recursive
formal language In logic, mathematics, computer science, and linguistics, a formal language is a set of strings whose symbols are taken from a set called "alphabet". The alphabet of a formal language consists of symbols that concatenate into strings (also c ...
. If the machine is allowed to have multiple tape heads, it can parse any language in L or NL, according to whether nondeterminism is allowed.


Applications

A read-only Turing machine is used in the definition of a
Universal Turing machine In computer science, a universal Turing machine (UTM) is a Turing machine capable of computing any computable sequence, as described by Alan Turing in his seminal paper "On Computable Numbers, with an Application to the Entscheidungsproblem". Co ...
to accept the definition of the Turing machine that is to be modelled, after which computation continues with a standard Turing machine. In modern research, the model has become important in describing a new complexity class of
Quantum finite automata In physics, a quantum (: quanta) is the minimum amount of any physical entity (physical property) involved in an interaction. The fundamental notion that a property can be "quantized" is referred to as "the hypothesis of quantization". This me ...
or deterministic probabilistic automata.


See also

*
Computability Computability is the ability to solve a problem by an effective procedure. It is a key topic of the field of computability theory within mathematical logic and the theory of computation within computer science. The computability of a problem is c ...
*
Turing machine equivalents A Turing machine is a hypothetical computing device, first conceived by Alan Turing in 1936. Turing machines manipulate symbols on a potentially infinite strip of tape according to a finite table of rules, and they provide the theoretical underp ...
*
Stack machine In computer science, computer engineering and programming language implementations, a stack machine is a computer processor or a Virtual machine#Process virtual machines, process virtual machine in which the primary interaction is moving short- ...
* Queue automaton *
Quantum computer A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing takes advantage of this behavior using specialized hardware. ...


References


External links


Lecture on finite-state automata by Adam Webber
{{DEFAULTSORT:Read-Only Turing Machine Turing machine