
< previous page page_73 next page >
Page 73
and let
δa
be the restriction of
δ
to
Sa
×
A
. Put A
a
=
(Sa, A, I, δa, Ta)
. In other words, the automaton
A
a
is constructed by erasing all non-accessible states and any transitions to or from them. It is clear
that
L
(A)=
L
(A
a
). We call A
a
the
accessible part
of A. We already have an algorithm that computes the
set
Sa;
this is the ‘accessible subset construction’ of Section 3.1. Apply this algorithm to A, and the
states that occur as labels of the vertices in this algorithm are precisely the accessible states.
We now define a notion dual1 to that of accessibility. Let A be a non-deterministic automaton with state
set
S
and input alphabet
A
. A state
s
is
coaccessible
if there is a string such that
s
·
x
contains a
terminal state. We say A is
coaccessible
if every state is coaccessible. The algorithm for finding the
coaccessible states is simply a variant of the one for finding the accessible states. Notice that A is
coaccessible
if and only if Arev, the reverse of A, is accessible. Thus to calculate the coaccessible states
of A, it is enough to calculate the accessible states of Arev. The
coaccessible part
of A, denoted A
b
, is
defined in the same way as A
a
except that the states of A
b
are the coaccessible states of A. Clearly
L
(A
b
)=
L
(A).
An automaton is
trim
if it is both accessible and coaccessible. A trim automaton is therefore one in
which for each state
s
there is an initial state
s′
and a string
x
such that
,
and a string
y
and a
terminal state
t
such that
;
that is, in a trim automaton each state occurs on some path from an
initial state to a terminal state. For every automaton A the automata A
ab
and A
ba
are the same and
both are trim. See Exercises 3.4. We denote this common automaton by A
t
, called the
trim part of
A.
Clearly,
L
(A)=
L
(A
t
). We state this result formally as follows.
Proposition 3.4.1
Each recognisable language is recognised by a trim automaton.
It is straightforward to construct the trim part of an automaton. However, there is one point where the
reader has to be wary. The following example illustrates the difficulty.
Example 3.4.2 Consider the complete deterministic automaton A given by
1This is a useful term common in mathematics. It is applied in situations where there are exactly two
ways of progressing; for example, we might have a choice between left or right or, as here, between
initial and terminal, If we choose one of the pair, then the other is the ‘dual.’ Here we have a choice
between initial states and terminal states; accessibility was defined in terms of the initial states so the
dual is defined in terms of the terminal states. The prefix ‘co’ is often prefixed to a word to denote the
dual form if there is no other word readily available.
< previous page page_73 next page >