my-server
← Wiki

Quotient automaton

In computer science, in particular in formal language theory, a quotient automaton can be obtained from a given nondeterministic finite automaton by joining some of its states. The quotient recognizes a superset of the given automaton; in some cases, handled by the Myhill–Nerode theorem, both languages are equal.

Formal definition

A (nondeterministic) finite automaton is a quintuple A = ⟨Σ, S, s<sub>0</sub>, δ, S<sub>f</sub>⟩, where:

  • Σ is the input alphabet (a finite, non-empty set of symbols),
  • S is a finite, non-empty set of states,
  • s<sub>0</sub> is the initial state, an element of S,
  • δ is the state-transition relation: δ ⊆ S × Σ × S, and
  • S<sub>f</sub> is the set of final states, a (possibly empty) subset of S.

A string a<sub>1</sub>...a<sub>n</sub> ∈ Σ<sup>*</sup> is recognized by A if there exist states s<sub>1</sub>, ..., s<sub>n</sub> ∈ S such that ⟨s<sub>i-1</sub>,a<sub>i</sub>,s<sub>i</sub>⟩ ∈ δ for i=1,...,n, and s<sub>n</sub> ∈ S<sub>f</sub>. The set of all strings recognized by A is called the language recognized by A; it is denoted as L(A).

For an equivalence relation ≈ on the set S of A’s states, the quotient automaton A/<sub>≈</sub> = ⟨Σ, S/<sub>≈</sub>, [s<sub>0</sub>], δ/<sub>≈</sub>, S<sub>f</sub>/<sub>≈</sub>⟩ is defined by

  • the input alphabet Σ being the same as that of A,
  • the state set S/<sub>≈</sub> being the set of all equivalence classes of states from S,
  • the start state [s<sub>0</sub>] being the equivalence class of A’s start state,
  • the state-transition relation δ/<sub>≈</sub> being defined by δ/<sub>≈</sub>([s],a,[t]) if δ(s,a,t) for some s ∈ [s] and t ∈ [t], and
  • the set of final states S<sub>f</sub>/<sub>≈</sub> being the set of all equivalence classes of final states from S<sub>f</sub>.

The process of computing A/<sub>≈</sub> is also called factoring A by ≈.

Example

For example, the automaton A shown in the first row of the table is formally defined by

  • Σ<sup>A</sup> = {0,1},
  • S<sup>A</sup> = {a,b,c,d},
  • s = a,
  • δ<sup>A</sup> = { ⟨a,1,b⟩, ⟨b,0,c⟩, ⟨c,0,d⟩ }, and
  • S = { b,c,d }.

It recognizes the finite set of strings { 1, 10, 100 }; this set can also be denoted by the regular expression "1+10+100".

The relation (≈) = { ⟨a,a⟩, ⟨a,b⟩, ⟨b,a⟩, ⟨b,b⟩, ⟨c,c⟩, ⟨c,d⟩, ⟨d,c⟩, ⟨d,d⟩ }, more briefly denoted as a≈b,c≈d, is an equivalence relation on the set {a,b,c,d} of automaton A’s states. Building the quotient of A by that relation results in automaton C in the third table row; it is formally defined by

  • Σ<sup>C</sup> = {0,1},
  • S<sup>C</sup> = {a,c},
  • s = a,
  • δ<sup>C</sup> = { ⟨a,1,a⟩, ⟨a,0,c⟩, ⟨c,0,c⟩ }, and
  • S = { a,c }.

It recognizes the finite set of all strings composed of arbitrarily many 1s, followed by arbitrarily many 0s, i.e. { ε, 1, 10, 100, 1000, ..., 11, 110, 1100, 11000, ..., 111, ... }; this set can also be denoted by the regular expression "1<sup>*</sup>0<sup>*</sup>". Informally, C can be thought of resulting from A by glueing state onto state b, and glueing state c onto state d.

The table shows some more quotient relations, such as B = A/<sub>a≈b</sub>, and D = C/<sub>a≈c</sub>.

Properties

  • For every automaton A and every equivalence relation ≈ on its states set, L(A/<sub>≈</sub>) is a superset of (or equal to) L(A).
  • Given a finite automaton A over some alphabet Σ, an equivalence relation ≈ can be defined on Σ<sup>*</sup> by x ≈ y if ∀ z ∈ Σ<sup>*</sup>: xz ∈ L(A) ↔ yz ∈ L(A). By the Myhill–Nerode theorem, A/<sub>≈</sub> is a deterministic automaton that recognizes the same language as A. As a consequence, the quotient of A by every refinement of ≈ also recognizes the same language as A.

See also

Notes

References