Abstract
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.
This work was supported under grants from the Natural Sciences and Engineering Research Council of Canada, from the Information Technology Research Centre of Ontario, and from the Research Grants Committee of Hong Kong.
Preview
Unable to display preview. Download preview PDF.
References
A.V. Aho. Algorithms for finding patterns in strings. In J. van Leeuwen, editor, Algorithms and Complexity, volume A of Handbook of Theoretical Computer Science, pages 255–300. The MIT Press, Cambridge, MA, 1990.
A.V. Aho, J.E. Hopcroft, and J.D. Ullman. Data Structures and Algorithms. Addison-Wesley, Reading, MA, 1983.
Th. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.
M. Crochemore and W. Rytter. Text Algorithms. Oxford University Press, Oxford, England, 1994.
J.E. Hopcroft and J.D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading, MA, 2 edition, 1979.
J.H. Johnson. INR: A program for computing finite automata, 1986.
D.E. Knuth. The Art of Computer Programming, Vol. 3: Sorting and Searching. Addison-Wesley, Reading, MA, 1973.
T. K. S. Leslie. Efficient approaches to subset construction. Technical Report CS-92-29, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada, 1992.
T. K. S. Leslie, D. R. Raymond, and D. Wood. The expected performance of subset construction, 1996.
D. Perrin. Finite automata. In J. van Leeuwen, editor, Formal Models and Semantics, volume B of Handbook of Theoretical Computer Science, pages 1–57. The MIT Press, Cambridge, MA, 1990.
D. R. Raymond and D. Wood. Grail: Engineering automata in C++, version 2.5. Technical Report HKUST-CS96-24, Department of Computer Science, Hong Kong University of Science & Technology, Clear Water Bay, Kowloon, Hong Kong, 1996.
K. Thompson. Regular expression search algorithm. Communications of the ACM, 11:419–422, 1968.
D. Wood. Theory of Computation. John Wiley & Sons, Inc., New York, NY, 1987.
D. Wood. Data Structures, Algorithms, and Performance. Addison-Wesley, Reading, MA, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Johnson, J.H., Wood, D. (1997). Instruction computation in subset construction. In: Raymond, D., Wood, D., Yu, S. (eds) Automata Implementation. WIA 1996. Lecture Notes in Computer Science, vol 1260. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63174-7_6
Download citation
DOI: https://doi.org/10.1007/3-540-63174-7_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63174-3
Online ISBN: 978-3-540-69205-8
eBook Packages: Springer Book Archive