Instruction Computation in Subset Construction

Subset construction is the method of converting a nondeterministic finite-state machine into a deterministic one. The process of determinization is important in any implementation of finite-state machines. The reasons are that nondeterministic machines are often easier to describe than their deterministic equivalents and the conversion of regular expressions to finite-state machines usually produces nondeterministic machines. We discuss one aspect of subset construction; namely, the computation of the instructions of the equivalent deterministic machine. Although the discussion is to a large extent independent of any specific assumptions, we draw some conclusions within the context of INR and Grail, both of which are packages for the manipulation of finite-state machines. Related work is described by Aho [1] and by Crochemore and Rytter [4] in the context of pattern matching, and by Perrin [10] in the context the conversion of regular expressions into finite-state machines. The aim of the discussion is to present the problem and suggest some possible solutions.