Definition
Formal definition
Automaton
An automaton can be represented formally by a quintuple
, where:
- is a finite set of symbols, called the input alphabet of the automaton,
- is another finite set of symbols, called the output alphabet of the automaton,
- is a set of states,
- is the next-state function or transition function mapping state-input pairs to successor states,
- is the next-output function mapping state-input pairs to outputs.
If
is finite, then
is a finite automaton.
Input word An automaton reads a finite string of symbols
, where
, which is called an input word. The set of all words is denoted by
.
Run A sequence of states
, where
such that
for
, is a run of the automaton on an input
starting from state
. In other words, at first the automaton is at the start state
, and receives input
. For
and every following
in the input string, the automaton picks the next state
according to the transition function
, until the last symbol
has been read, leaving the machine in the final state of the run,
. Similarly, at each step, the automaton emits an output symbol according to the output function
.
The transition function
is extended inductively into
to describe the machine's behavior when fed whole input words. For the empty string
,
for all states
, and for strings
where
is the last symbol and
is the (possibly empty) rest of the string,
. The output function
may be extended similarly into
, which gives the complete output of the machine when run on word
from state
.Acceptor
In order to study an automaton with the theory of formal languages, an automaton may be considered as an acceptor, replacing the output alphabet and function
and
with
- , a designated start state, and
- , a set of states of (i.e. ) called accept states.
This allows the following to be defined:
Accepting word A word
is an accepting word for the automaton if
, that is, if after consuming the whole string
the machine is in an accept state.
Recognized language The language
recognized by an automaton is the set of all the words that are accepted by the automaton,
.
Recognizable languages The recognizable languages are the set of languages that are recognized by some automaton. For finite automata the recognizable languages are regular languages. For different types of automata, the recognizable languages are different.
- ^Cite error: The named reference Arbib 1969 was invoked but never defined (see the help page).
- ^Cite error: The named reference structure theory was invoked but never defined (see the help page).
- ^Moore, Cristopher (2019-07-31). "Automata, languages, and grammars". arXiv:1907.12713 [cs.CC].