|
|
|
|
automaton
|
(Definition)
|
|
|
An automaton is a general term for any formal model of computation. Typically, an automaton is represented as a state machine. Specifically, is a five-tuple
, consisting of
- a non-empty set
of states,
- a non-empty set
of symbols; a pair
of a state and a symbol
is called a configuration,
- a rule
associating every configuration
a subset
of states; is called a next-state relation, or a transition relation,
- a non-empty set
of starting states, and
- a set
of final states or terminating states.
Remarks.
- A triple
is called a transition if
, and is written
.
- The set
of next states may contain one, more than one, or no elements.
- If
is a singleton for every configuration
, then can be viewed as a function (called a transition function) from the set of configurations
to .
- If
is a function, and in addition is a singleton, then the automaton is said to be deterministic. Otherwise, is non-deterministic.
- If
and are both finite, then is called a finite-state automaton, or FSA for short.
Basically, an automaton works as follows:
when a symbol is fed into with starting state , a set
of next states is reached. If one of the next states is a final state, then is said to be accepted by . More generally, can read strings of symbols, and the way for reads a string
of symbols works as follows:
when is fed into with starting state , reads the leftmost symbol first and it reaches the set of next states
. Take any of the possible next states, say,
, reads the next symbol , and reaches the set of next states
, and so on..., until the last symbol has been read.
More formally, the set-valued function defined on
can be extended to a function defined on
, where is the powerset of and is the Kleene star of , as follows: for
,
-

- for any non-empty subset
,
- for a singleton
, is defined inductively:
By abuse of language, we write for and
for
.
In essence, becomes a function from
to . A string
is accepted by if for some starting state ,
contains a final state. The ability to accept finite strings is the reason why an automaton is also referred to as a (string) acceptor. The subset of of all string accepted by is called the language accepted by the automaton , and is denoted by
Clearly, if
, then
. Also, if
, then
.
A famous automaton is the Turing machine, invented by Alan Turing in 1935. It consists of a (usually infinitely long) tape, capable of holding symbols from some alphabet, and a pointer to the current location in the tape. There is also a finite set of states, and transitions between these states, that govern how the tape pointer is moved and how the tape is modified. Each state transition is labelled by a symbol in the tape's alphabet, and also has associated with it a replacement symbol and a direction to move the tape pointer (either left or right).
At each iteration, the machine reads the current symbol from the tape. If a transition can be found leading from the current state that is labelled by the current symbol, it is “executed.” Execution of the transition consists of writing the transition's replacement symbol to the tape, moving the tape pointer in the direction specified, and making the state pointed to by the transition the new current state.
Other automata prove useful in the area of formal languages. Any context-free language may be represented by a pushdown automaton, and any regular language can be represented by a deterministic or non-deterministic finite automaton.
|
"automaton" is owned by CWoo. [ full author list (2) | owner history (1) ]
|
|
(view preamble)
See Also: deterministic finite automaton, non-deterministic finite automaton, non-deterministic pushdown automaton, semiautomaton, quantum automaton and quantum computation, category of automata
| Other names: |
next-state function, terminating state, FSA |
| Also defines: |
finite-state automaton, transition function, starting state, final state, configuration, acceptor, automata |
Pronunciation (guide):
This object's parent.
|
|
Cross-references: non-deterministic finite automaton, regular language, pushdown automaton, context-free language, formal languages, area, iteration, right, finite set, current, alphabet, language, Kleene star, powerset, strings, finite, function, singleton, contain, relation, subset, states, state machine, term
There are 47 references to this entry.
This is version 31 of automaton, born on 2002-02-23, modified 2008-05-18.
Object id is 2550, canonical name is Automaton.
Accessed 9175 times total.
Classification:
| AMS MSC: | 68Q45 (Computer science :: Theory of computing :: Formal languages and automata) | | | 03D05 (Mathematical logic and foundations :: Computability and recursion theory :: Automata and formal grammars in connection with logical questions) |
|
|
|
|
|
|
Pending Errata and Addenda
|
|
|
|
|
|
|
|
|
|
|