Section 9.3 Finite-State Machines
741
Definition PArtition rEfinEMEnt
Given two partitions p 1 and p 2 of a set S, p 1 is a refinement of p 2 if each block
of p 1 is a subset of a block of p 2 .
example 35
Consider again the machine M of Example 34. We know the 0-equivalent states.
To find 1-equivalent states, we look for 0-equivalent states with 0-equivalent next
states. For example, the states 3 and 4 are 0-equivalent; under the input symbol
0, they proceed to states 1 and 6, respectively, which are 0-equivalent states, and
under the input symbol 1 they both proceed to 5, which of course is 0-equivalent
to itself. Therefore, states 3 and 4 are 1-equivalent. Similarly, states 1 and 3 are
1-equivalent and states 4 and 6 are 1-equivalent. Therefore the class 51, 3, 4, 66 of
1-equivalent states is unchanged from the class of 0-equivalent states. But states
0 and 5, themselves 0-equivalent, proceed under the input symbol 1 to states 3
and 0, respectively, which are not 0-equivalent states. So states 0 and 5 are not
1- equivalent; the input string 1 will produce an output string of 01 from state 0
and of 00 from state 5. States 0 and 2 are 1-equivalent. Therefore the l-equivalence
classes for M are
50, 26, 556, 51, 3, 4, 66
To find 2-equivalent states, we look for 1-equivalent states with 1-equivalent
next states. States 1 and 3, although 1-equivalent, proceed under input 1 to states
2 and 5, respectively, which are not 1-equivalent states. Therefore, states 1 and
3 are not 2-equivalent. The states 0 and 2, 1 and 6, and 3 and 4, respectively, are
2-equivalent. The 2-equivalence classes for M are
50, 26, 556, 51, 66, 53, 46
The 3-equivalence classes for M are the same as the 2-equivalence classes.
In Example 35 each successive partition of the states of M into equivalence classes is a refinement of the previous partition. This refinement will always happen; k-equivalent states must also be (k − 1)-equivalent, so the blocks
of the (k − 1)-partition can only be further subdivided. However, the subdivision process cannot continue indefinitely (at worst it can go on only until each
partition block contains only one state); there will eventually be a point where
(k − 1)-equivalent states and k-equivalent states coincide. (In Example 35,
2-equivalent and 3-equivalent states coincide.) Once this happens, all next states for
members of a partition block under any input symbol fall within a partition block.
Thus, k-equivalent states are also (k + 1)-equivalent and (k + 2)-equivalent,
and so on. Indeed, these states are equivalent.
The total procedure for finding equivalent states is to start with 0-equivalent
states, then l-equivalent states, and so on, until the partition no longer subdivides.
A pseudocode description of this algorithm is given. It isn’t nearly as complex as
it looks, but it does involve checking many pairs of states, just as in Example 35.
Précédent

- 758/986

Suivant