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 in an effective manner. 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 close ...
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 automa ...
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 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 performed by ...
. 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 Nondeterminism or nondeterministic may refer to: Computer science *Nondeterministic programming *Nondeterministic algorithm *Nondeterministic model of computation **Nondeterministic finite automaton **Nondeterministic Turing machine *Indeterminacy ...
the machine can parse any
context-free language In formal language theory, a context-free language (CFL) is a language generated by a context-free grammar (CFG). Context-free languages have many applications in programming languages, in particular, most arithmetic expressions are generated by ...
. 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 consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules. The alphabet of a formal language consists of symb ...
. 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 that can simulate an arbitrary Turing machine on arbitrary input. The universal machine essentially achieves this by reading both the description of the machine to be simu ...
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 quantum computing, quantum finite automata (QFA) or quantum state machines are a quantum analog of probabilistic automata or a Markov decision process. They provide a mathematical abstraction of real-world quantum computers. Several types of ...
or deterministic
probabilistic automata In mathematics and computer science, the probabilistic automaton (PA) is a generalization of the nondeterministic finite automaton; it includes the probability of a given transition into the finite state machine, transition function, turning it int ...
.


See also

*
Computability Computability is the ability to solve a problem in an effective manner. 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 close ...
*
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 in which the primary interaction is moving short-lived temporary values to and from a push down st ...
*
Queue automaton A queue machine, queue automaton, or pullup automaton (PUA) is a finite state machine with the ability to store and retrieve data from an infinite-memory queue. It is a model of computation equivalent to a Turing machine, and therefore it can proce ...
*
Quantum computer Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Though ...


References


External links


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