Results for automata theory
On this page:
 
Sci-Tech Dictionary:

automata theory

(ö′täm·əd·ə ′thē·ə·rē)

(mathematics) A theory concerned with models used to simulate objects and processes such as computers, digital circuits, nervous systems, cellular growth and reproduction.


 
 
Sci-Tech Encyclopedia: Automata theory

A theory concerned with models (automata) used to simulate objects and processes such as computers, digital circuits, nervous systems, cellular growth, and reproduction. Automata theory helps engineers design and analyze digital circuits which are parts of computers, telephone systems, or control systems. It uses ideas and methods of discrete mathematics to determine the limits of computational power for models of existing and future computers. Among many known applications of finite automata are lexical analyzers and hardware controllers.

The concept now known as the automaton was first examined by A. M. Turing in 1936 for the study of limits of human ability to solve mathematical problems in formal ways. His automaton, the Turing machine, is too powerful for simulation of many systems. Therefore, some more appropriate models were introduced.

Turing machines and intermediate automata

The Turing machine is a suitable model for the computational power of a computer. A Turing machine has two main parts: a finite-state machine with a head, and a tape (see illustration). The tape is infinite in both directions and is divided into squares. The head sees at any moment of time one square of the tape and is able to read the content of the square as well as to write on the square. The finite-state machine is in one of its states. Each square of the tape holds exactly one of the symbols, also called input symbols or machine characters. It is assumed that one of the input symbols is a special one, the blank, denoted by B.

Turing machine. (<i>a</i>) General idea. (<i>b</i>) An example of a computation.
Turing machine. (a) General idea. (b) An example of a computation.

At any moment of time, the machine, being in one of its states and looking at one of the input symbols in some square, may act or halt. The action means that, in the next moment of time, the machine erases the old input symbol and writes a new input symbol on the same square (it may be the same symbol as before, or a new symbol; if the old one was not B and the new one is B, the machine is said to erase the old symbol), changes the state to a new one (again, it is possible that the new state will be equal to the old one), and finally moves the head one square to the left, or one square to the right, or stays on the same square as before.

For some pairs of states and input symbols the action is not specified in the description of a Turing machine; thus the machine halts. In this case, symbols remaining on the tape form the output, corresponding to the original input, or more precisely, to the input string (or sequence) of input symbols. A sequence of actions, followed by a halt, is called a computation. A Turing machine accepts some input string if it halts on it. The set of all accepted strings over all the input symbols is called a language accepted by the Turing machine. Such languages are called recursively enumerable sets.

Another automaton is a nondeterministic Turing machine. It differs from an ordinary, deterministic Turing machine in that for a given state and input symbol, the machine has a finite number of choices for the next move. Each choice means a new input symbol, a new state, and a new direction to move its head.

A linear bounded automaton is a nondeterministic Turing machine which is restricted to the portion of the tape containing the input. The capability of the linear bounded automaton is smaller than that of a Turing machine.

A computational device with yet smaller capability than that of a linear bounded automaton is a push-down automaton. It consists of a finite-state machine that reads an input symbol from a tape and controls a stack. The stack is a list in which insertions and deletions are possible, both operations taking place at one end, called the top. The device is nondeterministic, so it has a number of choices for each next move. Two types of moves are possible. In the first type, a choice depends on the input symbol, the top element of the stack, and the state of the finite-state machine. The choice consists of selecting a next state of the finite-state machine, removing the top element, leaving the stack without the top element, or replacing the top element by a sequence of symbols. After performing a choice, the input head reads the next input symbol. The other type is similar to the first one, but now the input symbol is not used and the head is not moved, so the automaton controls the stack without reading input symbols. See also Abstract data type.

Finite-state machines

A finite-state automaton, or a finite-state machine, or a finite automaton, is a computational device having a fixed upper bound on the amount of memory it uses (unlike Turing and related machines). One approach to finite automata is through the concept of an acceptor. The finite automaton examines an input string (that is, a sequence of input symbols, located on the tape) in one pass from left to right. It has a finite number of states, among which one is specified as initial. The assumption is that the finite automaton starts scanning of input standing in its initial state. Some of the states are called accepting states. The finite automaton has a transition function (or next-state function) which maps each state and input symbol into the next state. In each step the finite automaton computes the next state and reads the next input symbol. If after reading the entire input string the last state is accepting, the string is accepted; otherwise it is rejected.


 

An open-ended computer science discipline that concerns an abstract device called an "automaton," which performs a specific computational or recognition function. Networks of automata are designed to mimic human behavior.



 

Body of physical and logical principles underlying the operation of any electromechanical device (an automaton) that converts information input in one form into another, or into some action, according to an algorithm. Norbert Wiener and Alan M. Turing are regarded as pioneers in the field. In computer science, automata theory is concerned with the construction of robots (see robotics) from basic building blocks of automatons. The best example of a general automaton is an electronic digital computer. Networks of automata may be designed to mimic human behaviour. See also artificial intelligence; Turing machine.

For more information on automata theory, visit Britannica.com.

 
Wikipedia: automata theory

In theoretical computer science, automata theory is the study of abstract machines and problems they are able to solve. Automata theory is closely related to formal language theory as the automata are often classified by the class of formal languages they are able to recognize.

Basic description

An automaton is a mathematical model for a finite state machine (FSM). An FSM is a machine that, given an input of symbols, "jumps" through a series of states according to a transition function (which can be expressed as a table). In the common "Mealy" variety of FSMs, this transition function tells the automaton which state to go to next given a current state and a current symbol.

The input is read symbol by symbol, until it is consumed completely (think of it as a tape with a word written on it, that is read by a reading head of the automaton; the head moves forward over the tape, reading one symbol at a time). Once the input is depleted, the automaton is said to have stopped.

Depending on the state in which the automaton stops, it's said that the automaton either accepts or rejects the input. If it landed in an accept state, then the automaton accepts the word. If, on the other hand, it lands on a reject-accept state, the word is rejected. The set of all the words accepted by an automaton is called the language accepted by the automaton.

Note, however, that, in general, an automaton need not have a finite number of states, or even a countable number of states. Thus, for example, the quantum finite automaton has an uncountable infinity of states, as the set of all possible states is the set of all points in complex projective space. Thus, quantum finite automata, as well as finite state machines, are special cases of a more general idea, that of a topological automaton, where the set of states is a topological space, and the state transition functions are taken from the set of all possible functions on the space. Topological automata are often called M-automata, and are simply the augmentation of a semiautomaton with a set of accept states, where set intersection determines whether the initial state is accepted or rejected.

In general, an automaton need not strictly accept or reject an input; it may accept it with some probability between zero and one. Again this is illustrated by the quantum finite automaton, which only accepts input with some probability. This idea is again a special case of a more general notion, the geometric automaton or metric automaton, where the set of states is a metric space, and a language is accepted by the automaton if the distance between the initial point, and the set of accept states is sufficiently small with respect to the metric.

Vocabulary

An automata is always anchored on the basic concepts of symbols, words, alphabets and strings. These are

Symbol 
An arbitrary datum which has some meaning to or effect on the machine. Symbols are sometimes just called "letters".
Word
A finite string formed by the concatenation of a number of symbols.
Alphabet 
A finite set of symbols. An alphabet is frequently denoted by Σ, which is the set of letters in an alphabet.
Language 
A set of words, formed by symbols in a given alphabet. May or may not be infinite.
Kleene closure 
A language may be thought of as a subset of all possible words. The set of all possible words may, in turn, be thought of as the set of all possible concatenations of strings. Formally, this set of all possible strings is called a free monoid. It is denoted as Σ * , and the superscript * is called the Kleene star

Formal description

An automaton is represented by the 5-tuple \langle Q, \Sigma, \delta, q_0, F\rangle, where:

  • Q is a set of states.
  • ∑ is a finite set of symbols, that we will call the alphabet of the language the automaton accepts.
  • δ is the transition function, that is
δ:Q×Σ→Q.
(For non-deterministic automata, the empty string is an allowed input).
  • q0 is the start state, that is, the state in which the automaton is when no input has been processed yet (Obviously, q0∈ Q).
  • F is a set of states of Q (i.e. F⊆Q), called accept states.

Given an input letter a\in\Sigma, one may write the transition function as δa:QQ, using the simple trick of currying, that is, writing δ(q,a) = δa(q) for all q\in Q. This way, the transition function can be seen in simpler terms: its just something that "acts" on a state in Q, yielding another state. One may then consider the result of function composition repeatedly applied to the various functions δa, δb, and so on. Repeated function composition forms a monoid. For the transition functions, this monoid is known as the transition monoid, or sometimes the transformation semigroup.

Given a pair of letters a,b\in \Sigma, one may define a new function \widehat\delta, by insisting that \widehat\delta_{ab}=\delta_a \circ \delta_b, where \circ denotes function composition. Clearly, this process can be recursively continued, and so one has a recursive definition of a function \widehat\delta_w that is defined for all words w\in\Sigma^*, so that one has a map

\widehat\delta:Q \times \Sigma^{\star} \rightarrow Q.

The construction can also be reversed: given a \widehat\delta, one can reconstruct a δ, and so the two descriptions are equivalent.

The triple \langle Q, \Sigma, \delta \rangle is known as a semiautomaton. Semiautomata underlay automata, in that they are just automata, where one has ignored the starting state and the set of accept states. The additional notions of a start state and an accept state allow automata to do something the semiautomata cannot: they can recognize a formal language. The language L accepted by a deterministic finite automaton \langle Q, \Sigma, \delta, q_0, F\rangle is:

L= \{ w \in \Sigma^{\star}\,|\;\widehat\delta(q_0,w)\in F\}

That is, the language accepted by an automaton is the set of all words w, over the alphabet Σ, that, when given as input to the automaton, will result in its ending in some state from F. Languages that are accepted by automata are called recognizable languages.

When the set of states Q is finite, then the automaton is known as a finite state automaton, and the set of all recognizable languages are the regular languages. In fact, there is a strong equivalence: for every regular language, there is a finite state automaton, and vice versa.

As noted above, the set Q need not be finite or countable; it may be taken to be a general topological space, in which case one obtains topological automata. Another possible generalization is the metric automata or geometric automata. In this case, the acceptance of a language is altered: instead of a set inclusion of the final state in \widehat\delta(q_0,w)\in F, the acceptance criteria are replaced by a probability, given in terms of the metric distance between the final state \widehat\delta(q_0,w) and the set F. Certain types of probablistic automata are metric automata, with the metric being a measure on a probability space.

Classes of finite automata

The following are three kinds of finite automata

Deterministic finite automata (DFA) 
Each state of an automaton of this kind has a transition for every symbol in the alphabet.
DFA
DFA
Nondeterministic finite automata (NFA) 
States of an automaton of this kind may or may not have a transition for each symbol in the alphabet, or can even have multiple transitions for a symbol. The automaton accepts a word if there exists at least one path from q0 to a state in F labeled with the input word. If a transition is undefined, so that the automaton does not know how to keep on reading the input, the word is rejected.
NFA, equivalent to the DFA from the previous exemple
NFA, equivalent to the DFA from the previous exemple
Nondeterministic finite automata, with ε transitions (FND-ε or ε-NFA) 
Besides of being able to jump to more (or none) states with any symbol, these can jump on no symbol at all. That is, if a state has transitions labeled with ε, then the NFA can be in any of the states reached by the ε-transitions, directly or through other states with ε-transitions. The set of states that can be reached by this method from a state q, is called the ε-closure of q.

It can be shown, though, that all these automata can accept the same languages. You can always construct some DFA M' that accepts the same language as a given NFA M.

Extensions of finite automata

The family of languages accepted by the above-described automata is called the family of regular languages. More powerful automata can accept more complicated languages. Such automata include:

Pushdown automata (PDA) 
Such machines are identical to DFAs (or NFAs), except that they additionally carry memory in the form of a stack. The transition function δ will now also depend on the symbol(s) on top of the stack, and will specify how the stack is to be changed at each transition. Non-determinstic PDAs accept the context-free languages.
Linear Bounded Automata (LBA)
An LBA is a limited Turing machine; instead of an infinite tape, the tape has an amount of space proportional to the size of the input string. LBAs accept the context-sensitive languages.
Turing machines 
These are the most powerful computational machines. They possess an infinite memory in the form of a tape, and a head which can read and change the tape, and move in either direction along the tape. Turing machines are equivalent to algorithms, and are the theoretical basis for modern computers. Turing machines decide recursive languages and recognize the recursively enumerable languages.

External links

References

  • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation (2nd Edition)
  • Michael Sipser (1997). Introduction to the Theory of Computation. PWS Publishing. ISBN 0-534-94728-X.  Part One: Automata and Languages, chapters 1–2, pp.29–122. Section 4.1: Decidable Languages, pp.152–159. Section 5.1: Undecidable Problems from Language Theory, pp.172–183.


Automata theory: formal languages and formal grammars
Chomsky
hierarchy
Grammars Languages Minimal
automaton
Type-0 Unrestricted Recursively enumerable Turing machine
n/a (no common name) Recursive Decider
Type-1 Context-sensitive Context-sensitive Linear-bounded
n/a Indexed Indexed Nested stack
n/a Tree-adjoining Mildly context-sensitive Embedded pushdown
Type-2 Context-free Context-free Nondeterministic pushdown
n/a Deterministic context-free Deterministic context-free Deterministic pushdown
Type-3 Regular Regular Finite
Each category of languages or grammars is a proper subset of the category directly above it.

 
Best of the Web: automata theory

Some good "automata theory" pages on the web:


Math
mathworld.wolfram.com
 
 
 

Join the WikiAnswers Q&A community. Post a question or answer questions about "automata theory" at WikiAnswers.

 

Copyrights:

Sci-Tech Dictionary. McGraw-Hill Dictionary of Scientific and Technical Terms. Copyright © 2003, 1994, 1989, 1984, 1978, 1976, 1974 by McGraw-Hill Companies, Inc. All rights reserved.  Read more
Sci-Tech Encyclopedia. McGraw-Hill Encyclopedia of Science and Technology. Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved.  Read more
Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2008 Computer Language Company Inc.  All rights reserved.  Read more
Britannica Concise Encyclopedia. Britannica Concise Encyclopedia. © 2006 Encyclopædia Britannica, Inc. All rights reserved.  Read more
Wikipedia. This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Automata theory" Read more

Search for answers directly from your browser with the FREE Answers.com Toolbar!  
Click here to download now. 

Get Answers your way! Check out all our free tools and products.

On this page:   E-mail   print Print  Link  

 

Keep Reading

Mentioned In: