Semiautomaton

From HandWiki
Revision as of 13:46, 17 May 2023 by WikiG (talk | contribs) (link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

In mathematics and theoretical computer science, a semiautomaton is a deterministic finite automaton having inputs but no output. It consists of a set Q of states, a set Σ called the input alphabet, and a function T: Q × Σ → Q called the transition function. Associated with any semiautomaton is a monoid called the characteristic monoid, input monoid, transition monoid or transition system of the semiautomaton, which acts on the set of states Q. This may be viewed either as an action of the free monoid of strings in the input alphabet Σ, or as the induced transformation semigroup of Q.

In older books like Clifford and Preston (1967) semigroup actions are called "operands".

In category theory, semiautomata essentially are functors.

Transformation semigroups and monoid acts

Main page: Semigroup action

A transformation semigroup or transformation monoid is a pair [math]\displaystyle{ (M,Q) }[/math] consisting of a set Q (often called the "set of states") and a semigroup or monoid M of functions, or "transformations", mapping Q to itself. They are functions in the sense that every element m of M is a map [math]\displaystyle{ m\colon Q\to Q }[/math]. If s and t are two functions of the transformation semigroup, their semigroup product is defined as their function composition [math]\displaystyle{ (st)(q)=(s\circ t)(q)=s(t(q)) }[/math].

Some authors regard "semigroup" and "monoid" as synonyms. Here a semigroup need not have an identity element; a monoid is a semigroup with an identity element (also called "unit"). Since the notion of functions acting on a set always includes the notion of an identity function, which when applied to the set does nothing, a transformation semigroup can be made into a monoid by adding the identity function.

M-acts

Let M be a monoid and Q be a non-empty set. If there exists a multiplicative operation

[math]\displaystyle{ \mu\colon Q\times M \to Q }[/math]
[math]\displaystyle{ (q,m)\mapsto qm=\mu(q,m) }[/math]

which satisfies the properties

[math]\displaystyle{ q1=q }[/math]

for 1 the unit of the monoid, and

[math]\displaystyle{ q(st)=(qs)t }[/math]

for all [math]\displaystyle{ q\in Q }[/math] and [math]\displaystyle{ s,t\in M }[/math], then the triple [math]\displaystyle{ (Q,M,\mu) }[/math] is called a right M-act or simply a right act. In long-hand, [math]\displaystyle{ \mu }[/math] is the right multiplication of elements of Q by elements of M. The right act is often written as [math]\displaystyle{ Q_M }[/math].

A left act is defined similarly, with

[math]\displaystyle{ \mu\colon M\times Q \to Q }[/math]
[math]\displaystyle{ (m,q)\mapsto mq=\mu(m,q) }[/math]

and is often denoted as [math]\displaystyle{ \,_MQ }[/math].

An M-act is closely related to a transformation monoid. However the elements of M need not be functions per se, they are just elements of some monoid. Therefore, one must demand that the action of [math]\displaystyle{ \mu }[/math] be consistent with multiplication in the monoid (i.e. [math]\displaystyle{ \mu(q, st)=\mu(\mu(q,s),t) }[/math]), as, in general, this might not hold for some arbitrary [math]\displaystyle{ \mu }[/math], in the way that it does for function composition.

Once one makes this demand, it is completely safe to drop all parenthesis, as the monoid product and the action of the monoid on the set are completely associative. In particular, this allows elements of the monoid to be represented as strings of letters, in the computer-science sense of the word "string". This abstraction then allows one to talk about string operations in general, and eventually leads to the concept of formal languages as being composed of strings of letters.[further explanation needed]

Another difference between an M-act and a transformation monoid is that for an M-act Q, two distinct elements of the monoid may determine the same transformation of Q. If we demand that this does not happen, then an M-act is essentially the same as a transformation monoid.

M-homomorphism

For two M-acts [math]\displaystyle{ Q_M }[/math] and [math]\displaystyle{ B_M }[/math] sharing the same monoid [math]\displaystyle{ M }[/math], an M-homomorphism [math]\displaystyle{ f\colon Q_M\to B_M }[/math] is a map [math]\displaystyle{ f\colon Q \to B }[/math] such that

[math]\displaystyle{ f(qm)=f(q)m }[/math]

for all [math]\displaystyle{ q\in Q_M }[/math] and [math]\displaystyle{ m\in M }[/math]. The set of all M-homomorphisms is commonly written as [math]\displaystyle{ \mathrm{Hom}(Q_M, B_M) }[/math] or [math]\displaystyle{ \mathrm{Hom}_M(Q, B) }[/math].

The M-acts and M-homomorphisms together form a category called M-Act.

Semiautomata

A semiautomaton is a triple [math]\displaystyle{ (Q,\Sigma,T) }[/math] where [math]\displaystyle{ \Sigma }[/math] is a non-empty set, called the input alphabet, Q is a non-empty set, called the set of states, and T is the transition function

[math]\displaystyle{ T\colon Q\times \Sigma \to Q. }[/math]

When the set of states Q is a finite set—it need not be—, a semiautomaton may be thought of as a deterministic finite automaton [math]\displaystyle{ (Q,\Sigma,T,q_0,A) }[/math], but without the initial state [math]\displaystyle{ q_0 }[/math] or set of accept states A. Alternately, it is a finite state machine that has no output, and only an input.

Any semiautomaton induces an act of a monoid in the following way.

Let [math]\displaystyle{ \Sigma^* }[/math] be the free monoid generated by the alphabet [math]\displaystyle{ \Sigma }[/math] (so that the superscript * is understood to be the Kleene star); it is the set of all finite-length strings composed of the letters in [math]\displaystyle{ \Sigma }[/math].

For every word w in [math]\displaystyle{ \Sigma^* }[/math], let [math]\displaystyle{ T_w\colon Q\to Q }[/math] be the function, defined recursively, as follows, for all q in Q:

  • If [math]\displaystyle{ w=\varepsilon }[/math], then [math]\displaystyle{ T_\varepsilon(q)=q }[/math], so that the empty word [math]\displaystyle{ \varepsilon }[/math] does not change the state.
  • If [math]\displaystyle{ w=\sigma }[/math] is a letter in [math]\displaystyle{ \Sigma }[/math], then [math]\displaystyle{ T_\sigma(q)=T(q,\sigma) }[/math].
  • If [math]\displaystyle{ w=\sigma v }[/math] for [math]\displaystyle{ \sigma\in\Sigma }[/math] and [math]\displaystyle{ v\in \Sigma^* }[/math], then [math]\displaystyle{ T_w(q)=T_v(T_\sigma(q)) }[/math].

Let [math]\displaystyle{ M(Q,\Sigma,T) }[/math] be the set

[math]\displaystyle{ M(Q,\Sigma,T)=\{T_w \vert w\in\Sigma^* \}. }[/math]

The set [math]\displaystyle{ M(Q,\Sigma,T) }[/math] is closed under function composition; that is, for all [math]\displaystyle{ v,w\in\Sigma^* }[/math], one has [math]\displaystyle{ T_w\circ T_v=T_{vw} }[/math]. It also contains [math]\displaystyle{ T_\varepsilon }[/math], which is the identity function on Q. Since function composition is associative, the set [math]\displaystyle{ M(Q,\Sigma,T) }[/math] is a monoid: it is called the input monoid, characteristic monoid, characteristic semigroup or transition monoid of the semiautomaton [math]\displaystyle{ (Q,\Sigma,T) }[/math].

Properties

If the set of states Q is finite, then the transition functions are commonly represented as state transition tables. The structure of all possible transitions driven by strings in the free monoid has a graphical depiction as a de Bruijn graph.

The set of states Q need not be finite, or even countable. As an example, semiautomata underpin the concept of quantum finite automata. There, the set of states Q are given by the complex projective space [math]\displaystyle{ \mathbb{C}P^n }[/math], and individual states are referred to as n-state qubits. State transitions are given by unitary n×n matrices. The input alphabet [math]\displaystyle{ \Sigma }[/math] remains finite, and other typical concerns of automata theory remain in play. Thus, the quantum semiautomaton may be simply defined as the triple [math]\displaystyle{ (\mathbb{C}P^n,\Sigma,\{U_{\sigma_1},U_{\sigma_2},\dotsc,U_{\sigma_p}\}) }[/math] when the alphabet [math]\displaystyle{ \Sigma }[/math] has p letters, so that there is one unitary matrix [math]\displaystyle{ U_\sigma }[/math] for each letter [math]\displaystyle{ \sigma\in\Sigma }[/math]. Stated in this way, the quantum semiautomaton has many geometrical generalizations. Thus, for example, one may take a Riemannian symmetric space in place of [math]\displaystyle{ \mathbb{C}P^n }[/math], and selections from its group of isometries as transition functions.

The syntactic monoid of a regular language is isomorphic to the transition monoid of the minimal automaton accepting the language.

References

  • A. H. Clifford and G. B. Preston, The Algebraic Theory of Semigroups. American Mathematical Society, volume 2 (1967), ISBN 978-0-8218-0272-4.
  • F. Gecseg and I. Peak, Algebraic Theory of Automata (1972), Akademiai Kiado, Budapest.
  • W. M. L. Holcombe, Algebraic Automata Theory (1982), Cambridge University Press
  • J. M. Howie, Automata and Languages, (1991), Clarendon Press, ISBN 0-19-853442-6.
  • Mati Kilp, Ulrich Knauer, Alexander V. Mikhalov, Monoids, Acts and Categories (2000), Walter de Gruyter, Berlin, ISBN 3-11-015248-7.
  • Rudolf Lidl and Günter Pilz, Applied Abstract Algebra (1998), Springer, ISBN 978-0-387-98290-8