
< previous page page_178 next page >
Page 178
I have marked certain rows with an ‘x.’ I shall explain why below. We could continue extending our table
by considering the effects of all strings of length 3; however, we do not need to. This is because each
string of length 2 has the same effect on the states of A as a string of length at most 1; we have
highlighted these rows with an ‘x.’ Thus we have the following:
We now have all the information needed to compute the effect of
any
input string with the minimum
effort. Consider the first few strings of length 3 in the tree order:
These calculations are correct by Proposition 8.1.6. It should be clear that every string of length 3 has
the same effect as one of the strings
ε, a, b
. More generally, every string in
A
* has the same effect as
one of these three strings.
The above example is typical: although there are infinitely many input strings there are only finitely
many effects that these input strings can have, because the automaton has only finitely many states. As
a result, the extended transition table, which is potentially infinite, can in fact be represented in finite
terms. It is this finite table that we shall call the
extended transition table
. The algorithm below is similar
to the construction of the transition tree of an automaton, described in Section 3.1, for the following
reason. If A=
(S, A, i, δ, T)
is a deterministic automaton with
n
states
{s
1
,…sn},
construct a new
automaton B as follows: the set of states is
Sn,
the initial state is
(s
1
,…, sn),
the transition function is
(s
1
,…, sn)
·
a
=
(s
1·
a,…, sn
·
a),
the terminal states are chosen arbitrarily. The algorithm below just
constructs the transition tree of B, but does so in tabular form.
Algorithm 8.2.2 (The extended transition table) Choose an order for the alphabet, and
accordingly order all input strings using the tree order. Construct a table whose columns are labelled by
the states of A in some order and whose rows will be labelled by some of the strings in
A
*. In addition,
certain rows will be marked with a cross.
(1) To start the algorithm off, the first row is labelled
ε
and contains the states of A in the given order.
For each
,
calculate
δ(s, a)
for each state
s;
if the resulting row of states is a repeat of an earlier
row, then mark it with a cross. We say that this row is ‘closed.’
< previous page page_178 next page >