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, s0, δ, Sf⟩, where:

A string a1...an ∈ Σ* is recognized by A if there exist states s1, ..., sn ∈ S such that ⟨si-1,ai,si⟩ ∈ δ for i=1,...,n, and sn ∈ Sf. 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/≈ = ⟨Σ, S/≈, [s0], δ/≈, Sf/≈⟩ is defined by[2]:5

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

Example

Quotient examples
Automaton
diagram
Recognized
language
Is the quotient of
A by B by C by
A: 1+10+100
B: 1*+1*0+1*00 a≈b
C: 1*0* a≈b, c≈d c≈d
D: (0+1)* a≈b≈c≈d a≈c≈d a≈c

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

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

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*0*". Informally, C can be thought of resulting from A by glueing state a onto state b, and glueing state c onto state d.

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

Properties

Notes

  1. ↑ Hopcroft and Ullman (sect.2.3, p.20) use a slightly deviating definition of δ, viz. as a function from S × Σ to the power set of S.
  2. ↑ In the automaton diagrams in the table, symbols from the input alphabet and state names are colored in green and red, respectively; final states are drawn as double circles.
  3. ↑ Strictly formal, the set is SC = { [a], [b], [c], [d] } = { [a], [c] }. The class brackets are omitted for readability.

References

  1. 1 2 John E. Hopcroft; Jeffrey D. Ullman (1979). Introduction to Automata Theory, Languages, and Computation. Reading/MA: Addison-Wesley. ISBN 0-201-02988-X.
  2. 1 2 Tristan le Gall and Bertrand Jeannet (Mar 2007). Analysis of Communicating Infinite State Machines Using Lattice Automata (PDF) (Publication Interne). Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA) — Campus Universitaire de Beaulieu. ISSN 1166-8687.
This article is issued from Wikipedia - version of the 6/7/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.