In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, in particular in
formal language theory
In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules.
The alphabet of a formal language consists of sy ...
, a quotient automaton can be obtained from a given
nondeterministic finite automaton
In automata theory, a finite-state machine is called a deterministic finite automaton (DFA), if
* each of its transitions is ''uniquely'' determined by its source state and input symbol, and
* reading an input symbol is required for each state t ...
by joining some of its states. The quotient recognizes a superset of the given automaton; in some cases, handled by the
Myhill–Nerode theorem
In the theory of formal languages, the Myhill–Nerode theorem provides a necessary and sufficient condition for a language to be regular. The theorem is named for John Myhill and Anil Nerode, who proved it at the University of Chicago in 1958 . ...
, both languages are equal.
Formal definition
A (nondeterministic)
finite automaton
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
is a
quintuple
In mathematics, a tuple is a finite ordered list ( sequence) of elements. An -tuple is a sequence (or ordered list) of elements, where is a non-negative integer. There is only one 0-tuple, referred to as ''the empty tuple''. An -tuple is de ...
''A'' = ⟨''Σ'', ''S'', ''s''
0, ''δ'', ''S''
f⟩, where:
* ''Σ'' is the input
alphabet
An alphabet is a standardized set of basic written graphemes (called letters) that represent the phonemes of certain spoken languages. Not all writing systems represent language in this way; in a syllabary, each character represents a s ...
(a finite, non-empty
set of symbols),
* ''S'' is a finite, non-empty set of states,
* ''s''
0 is the initial state, an element of ''S'',
* ''δ'' is the state-transition
relation: ''δ'' ⊆ ''S'' × ''Σ'' × ''S'', and
* ''S''
f is the set of final states, a (possibly empty) subset of ''S''.
[Hopcroft and Ullman (sect.2.3, p.20) use a slightly deviating definition of ''δ'', viz. as a ]function
Function or functionality may refer to:
Computing
* Function key, a type of key on computer keyboards
* Function model, a structured representation of processes in a system
* Function object or functor or functionoid, a concept of object-orie ...
from ''S'' × ''Σ'' to the power set
In mathematics, the power set (or powerset) of a set is the set of all subsets of , including the empty set and itself. In axiomatic set theory (as developed, for example, in the ZFC axioms), the existence of the power set of any set is ...
of ''S''.
A
string
String or strings may refer to:
*String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects
Arts, entertainment, and media Films
* ''Strings'' (1991 film), a Canadian anim ...
''a''
1...''a''
''n'' ∈ ''Σ''
* is recognized by ''A'' if there exist states ''s''
1, ..., ''s''
''n'' ∈ ''S'' such that ⟨''s''
''i''-1,''a''
''i'',''s''
''i''⟩ ∈ ''δ'' for ''i''=1,...,''n'', and ''s''
''n'' ∈ ''S''
f. The set of all strings recognized by ''A'' is called the
language
Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
recognized by ''A''; it is denoted as ''L''(''A'').
For an
equivalence relation
In mathematics, an equivalence relation is a binary relation that is reflexive, symmetric and transitive. The equipollence relation between line segments in geometry is a common example of an equivalence relation.
Each equivalence relatio ...
≈ on the set ''S'' of ''A''’s states, the quotient automaton ''A''/
≈ = ⟨''Σ'', ''S''/
≈,
0">'s''0 ''δ''/
≈, ''S''
f/
≈⟩ is defined by
* the input alphabet ''Σ'' being the same as that of ''A'',
* the state set ''S''/
≈ being the set of all
equivalence class
In mathematics, when the elements of some set S have a notion of equivalence (formalized as an equivalence relation), then one may naturally split the set S into equivalence classes. These equivalence classes are constructed so that elements ...
es of states from ''S'',
* the start state
0">'s''0being the equivalence class of ''A''’s start state,
* the state-transition relation ''δ''/
≈ being defined by ''δ''/
≈(
's''''a'',
't'' if ''δ''(''s'',''a'',''t'') for some ''s'' ∈
's''and ''t'' ∈
't'' and
* the set of final states ''S''
f/
≈ being the set of all equivalence classes of final states from ''S''
f.
The process of computing ''A''/
≈ is also called factoring ''A'' by ≈.
Example
For example, the automaton A shown in the first row of the table
[In the automaton diagrams in the table, and are colored in and , respectively; final states are drawn as double circles.] is formally defined by
* ''Σ''
A = ,
* ''S''
A = ,
* ''s'' = a,
* ''δ''
A = , and
* ''S'' = .
It recognizes the finite set of strings ; this set can also be denoted by the
regular expression
A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
"1+10+100".
The relation (≈) = , more briefly denoted as a≈b,c≈d, is an equivalence relation on the set 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
* ''Σ''
C = ,
* ''S''
C = ,
[Strictly formal, the set is ''S''C = = . The class brackets are omitted for readability.]
* ''s'' = a,
* ''δ''
C = , and
* ''S'' = .
It recognizes the finite set of all strings composed of arbitrarily many 1s, followed by arbitrarily many 0s, i.e. ; this set can also be denoted by the regular expression "1
*0
*".
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/
a≈b, and D = C/
a≈c.
Properties
* For every automaton ''A'' and every equivalence relation ≈ on its states set, ''L''(''A''/
≈) is a superset of (or equal to) ''L''(''A'').
* Given a finite automaton ''A'' over some alphabet ''Σ'', an equivalence relation ≈ can be defined on ''Σ''
* by ''x'' ≈ ''y'' if ∀ ''z'' ∈ ''Σ''
*: ''xz'' ∈ ''L''(''A'') ↔ ''yz'' ∈ ''L''(''A''). By the
Myhill–Nerode theorem
In the theory of formal languages, the Myhill–Nerode theorem provides a necessary and sufficient condition for a language to be regular. The theorem is named for John Myhill and Anil Nerode, who proved it at the University of Chicago in 1958 . ...
, ''A''/
≈ is a deterministic automaton that recognizes the same language as ''A''.
As a consequence, the quotient of ''A'' by every
refinement
Refinement may refer to: Mathematics
* Equilibrium refinement, the identification of actualized equilibria in game theory
* Refinement of an equivalence relation, in mathematics
** Refinement (topology), the refinement of an open cover in mathe ...
of ≈ also recognizes the same language as ''A''.
See also
*
Quotient group
A quotient group or factor group is a mathematical group obtained by aggregating similar elements of a larger group using an equivalence relation that preserves some of the group structure (the rest of the structure is "factored" out). For exam ...
*
Quotient category
In mathematics, a quotient category is a category obtained from another one by identifying sets of morphisms. Formally, it is a quotient object in the category of (locally small) categories, analogous to a quotient group or quotient space, but ...
Notes
References
{{reflist
Finite automata