
< previous page page_109 next page >
Page 109
regular expressions over
A
. The language
L
(A) recognised by a generalised automaton A is defined as
follows. Let . Then if there is a path in A, which begins at one of the initial states, ends
at one of the terminal states, and whose labels are, in order, the regular expressions
r
1
,…, rn,
such that
x
can be factorised
x
=
x
1
…xn
in such a way that each . The definition of
L
(A) generalises the
definition of the language recognised by an
ε
-automaton. To use generalised automata to find the
regular expression describing the language recognised by an automaton, we shall need the following. A
normalised (generalised) automaton
is a generalised automaton with exactly one initial state, which I
shall always label
α,
and exactly one terminal state, which I shall always label
ω;
in addition, there are
no transitions into
α
nor any transitions out of
ω
. A normalised generalised automaton is therefore a
substantial generalisation of a normalised
ε
-automaton used in the proof of Theorem 5.3.1. Every
generalised automaton can easily be normalised in such a way that the language is not changed: adjoin
a new initial state with transitions labelled
ε
pointing at the old initial states, and adjoin a new terminal
state with transitions from each of the old terminal states labelled
ε
pointing at the new terminal state.
Terminology For the remainder of this section, ‘normalised automaton’ will always mean a ‘normalised
generalised automaton’.
The simplest kinds of normalised automata are those with exactly one initial state, one terminal state,
and at most one transition:
We call such a normalised automaton
trivial
. If a trivial automaton has a transition, then the label of
that transition will be a regular expression, and this regular expression obviously describes the language
accepted by the automaton; if there is no transition then the language is .
We shall describe an algorithm that converts a normalised automaton into a trivial normalised
automaton recognising the same language. The algorithm depends on three operations, which may be
carried out on a normalised automaton that we now describe.
(T)transition elimination Given any two states
p
and
q,
where
p
=
q
is not excluded, all the transitions
from
p
to
q
can be replaced by a single transition by applying the following rule:
In the case where
p
=
q,
this rule takes the following form:
< previous page page_109 next page >