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: No information on entry rating
semiautomaton (Definition)

A semiautomaton is basically an automaton without designated sets of starting and final states. Formally, a semiautomaton $A$ is a triple $(S,\Sigma,\delta)$ where

  • $S$ is a non-empty set whose elements are called states
  • $\Sigma$ is a non-empty set whose elements are called input symbols, and
  • $\delta$ is a transition function that assigns each pair $(s,a)$ of state $s$ and input symbol $a$ a subset $\delta(s,a)$ of states in $S$ .
A semiautomaton $A$ is said to be deterministic if $\delta(s,a)$ is a singleton for each $(s,a)\in S\times \Sigma$ . In otherwords, $\delta$ is a function from $S\times \Sigma$ to $S$ . Otherwise, it is non-deterministic. A deterministic semiautomaton is also called a state machine. A semiautomaton is said to be finite if both $S$ and $\Sigma$ are finite. A finite state machine (fsm for short) is a state machine that is finite.

A finite semiautomaton $A$ can be visualized by what is known as the state diagram $G_A$ of $A$ . Given $A$ , the state diagram can be constructed as follows: the vertices of $G_A$ are the states of $A$ . Given two vertices $s,t$ , an edge from $s$ to $t$ is constructed iff $t\in \delta(s,a)$ for some $a\in \Sigma$ . The edge is then labeled $a$ .

For example, let $A$ be defined as follows: $S=\lbrace r,s,t\rbrace$ , $\Sigma = \lbrace a, b, c\rbrace$ , and the transition function $\delta$ is given by the following table:

  $a$ $b$ $c$
$r$ $s$ $r$ $t$
$s$ $\varnothing$ $t$ $r$
$t$ $t$ $s$ $r,s$
Then the state diagram $G_A$ is given by
\includegraphics[scale=0.70]{semiautomaton.eps}

What we would like to do is to extend the transition function $\delta$ so it is applicable to all finite strings over $\Sigma$ . This is done in two steps:

  • extend $\delta$ to a function $\delta': P(S)\times \Sigma \to P(S)$ via the subset construction,
  • extend $\delta'$ to a function $\delta_1: P(S)\times \Sigma^*\to P(S)$ recursively, given by

    \begin{displaymath} % latex2html id marker 265\delta_1(Q,u):= \left\{ \begin{a... ...$u=v a$ with $v\in \Sigma^*,a\in \Sigma.$} \end{array}\right. \end{displaymath}
Without causing any confusion, we may identify $\delta_1$ with $\delta$ . Basically, when a string $u=a_1a_2\cdots a_n$ is fed into a semiautomaton $A$ in state $s$ , $\delta$ takes the first symbol $a_1$ and computes the next states $\delta(s,a_1)$ . Then it takes the next symbol $a_2$ and computes the next states $\delta(\delta(s,a_1),a_2)$ , and so on. It continues to do this until the last symbol $a_n$ has been consumed, and the next states corresponding to $(s,u)$ is $\delta(s,u)$ . From the recursive definition above, it is not hard to see that $$\delta(Q,uv)=\delta(\delta(Q,u),v)$$ for any $u,v\in \Sigma^*,$ as the concatenation operation is associative.

In the case of a deterministic semiautomaton, $\delta$ is just a function $S\times \Sigma^*$ to $S$ .

Remark. Like groups and rings, semiautomata can be considered as algebraic objects, so that concepts such as subsemiautomata and homomorphisms between semiautomata may be defined. However, unlike groups and rings, which are defined based on a single set, semiautomata are two-sorted, in that two sets are needed for the definition.

Bibliography

1
A. Ginzburg, Algebraic Theory of Automata, Academic Press (1968).
2
M. Ito, Algebraic Theory of Automata and Languages, World Scientific (2004).




"semiautomaton" is owned by CWoo.
(view preamble | get metadata)

View style:

See Also: automaton, state-output machine

Other names:  fsm, finite state machine, state machine
Also defines:  semiautomata, state diagram

Attachments:
subsemiautomaton (Definition) by CWoo
semiautomaton homomorphism (Definition) by CWoo
characteristic monoid (Definition) by CWoo
Log in to rate this entry.
(view current ratings)

Cross-references: homomorphisms, subsemiautomata, objects, algebraic, rings, groups, associative, operation, concatenation, recursive, subset construction, strings, iff, edge, vertices, finite, function, singleton, deterministic, subset, transition function, states, elements, final states, automaton
There are 16 references to this entry.

This is version 16 of semiautomaton, born on 2008-01-30, modified 2009-09-22.
Object id is 10229, canonical name is Semiautomaton.
Accessed 1703 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)
 20M35 (Group theory and generalizations :: Semigroups :: Semigroups in automata theory, linguistics, etc.)
 68Q70 (Computer science :: Theory of computing :: Algebraic theory of languages and automata)

Pending Errata and Addenda
None.
Discussion
Style: Expand: Order:
forum policy

No messages.

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