PlanetMath (more info)
 Math for the people, by the people. Sponsor PlanetMath
Encyclopedia | Requests | Forums | Docs | Wiki | Random | RSS  
Login
create new user
name:
pass:
forget your password?
Main Menu
Owner confidence rating: Very high Entry average rating: High
automaton (Definition)

An automaton is a semiautomaton with two types of special states: starting states, and final states. Specifically, an automaton $A$ is is a five-tuple $(S,\Sigma,\delta,I,F)$ , where

  1. $(S,\Sigma,\delta)$ is a semiautomaton,
  2. a non-empty set $I\subseteq S$ of starting states, and
  3. a set $F\subseteq S$ of final states or terminating states.

A triple $(s,a,t)$ is called a transition if $t\in \delta(s,a)$ , and is written $s\stackrel{a}{\longrightarrow} t$ . The set $\delta(s,a)$ may contain more than one element (or none at all), which is why an automaton is also said to be non-deterministic. If on the other hand $\delta(s,a)$ is a singleton for every $(s,a)$ , and $I$ is a singleton, then $A$ is said to be deterministic. In a deterministic automaton, $\delta$ can be viewed as a function from $S\times \Sigma$ to $S$ .

If $S$ and $\Sigma$ are both finite, then $A$ is called a finite-state automaton, or FSA for short.

The state diagram $G_A$ of a finite-state automaton $A$ is constructed as if $A$ is being treated as a semiautomaton. In addition, a vertex corresponding to a starting state has an incoming arrow without a source, and a vertex corresponding to a final state has an outgoing arrow without a destination (alternatively, it may be represented by a double circle). This is illustrated in the following example:

Let $A$ be given by $S=\lbrace \sigma, s, t\rbrace$ , where $\sigma$ is the starting state, and $t$ the final state, $\Sigma=\lbrace a,b\rbrace$ , with the transition function given by the following table

  $a$ $b$
$\sigma$ $s$ $t$
$s$ $\varnothing$ $t,s$
$t$ $\sigma$ $s$

Then the state diagram $G_A$ is given by

\scalebox{0.7}{\includegraphics{automaton.eps}}

An automaton works in exactly the same way as a semiautomaton in terms of reading an input word. Briefly:

when a word $u=a_1a_2 \cdots a_n$ is fed into $A$ with starting state $q$ , $A$ reads $u$ one symbol at a time from left to right, starting from $a_1$ . It reaches one of the of next states in $\delta(q,a_1)$ , say, $s$ . $A$ reads the next symbol $a_2$ , and reaches one of the next states $\delta(s,a_2)$ , and so on..., until the last symbol $a_n$ has been read. $u$ is accepted if, it is possible, upon reading the last symbol $a_n$ , a final state is reached.
Basically, this means that a word $u$ is accepted by $A$ iff $\delta(q,u)$ contains a final state. The language accepted by $A$ is the set of all words accepted by $A$ , and is denoted by $L(A)$ .

Clearly, if $F=\varnothing$ , then $L(A)=\varnothing$ .

Remark. The word ``automaton'' may be used in a context wider than the definition given above. Any computing device capable of accepting strings of symbols is termed an automaton in this wider context. The set of all accepted strings is called the language accepted by the automaton. The automata defined in this entry accept what are known as regular languages. A famous example is the Turing machine, invented by Alan Turing in 1935. Languages accepted by Turing machines are exactly the recursively enumerable languages. Other common examples of automata are: pushdown automata, which accept context-free languages; and linear bounded automata, which accept context-sensitive languages.




"automaton" is owned by CWoo. [ full author list (2) | owner history (1) ]
(view preamble | get metadata)

View style:

See Also: deterministic finite automaton, non-deterministic finite automaton, non-deterministic pushdown automaton, semiautomaton

Other names:  next-state function, terminating state, FSA, start state, recognizer
Also defines:  finite-state automaton, transition function, starting state, final state, configuration, acceptor, automata, deterministic automaton

Pronunciation (guide):
 automaton: /aw-tom*-t*n/

Attachments:
product of automata (Definition) by CWoo
Boolean operations on automata (Definition) by CWoo
equivalent automata (Definition) by CWoo
$\epsilon$-transition (Definition) by CWoo
juxtaposition of automata (Definition) by CWoo
Kleene star of an automaton (Definition) by CWoo
simplified automaton (Definition) by CWoo
Log in to rate this entry.
(view current ratings)

Cross-references: context-sensitive languages, context-free languages, recursively enumerable, Turing machines, regular languages, strings, language, iff, right, terms, circle, source, arrow, vertex, state diagram, finite, function, deterministic, singleton, element, contain, states, types, semiautomaton
There are 69 references to this entry.

This is version 39 of automaton, born on 2002-02-23, modified 2009-09-11.
Object id is 2550, canonical name is Automaton.
Accessed 13892 times total.

Classification:
AMS MSC68Q45 (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
None.
[ View all 3 ]
Discussion
Style: Expand: Order:
forum policy

No messages.

Interact
post | correct | update request | add derivation | add example | add (any)