A linear time algorithm to solve the single function coarsest partition problem
The problem of finding the coarsest partition of a set S with respect to another partition of S and one or more functions on S has several applications, one of which is the state minimization of finite state automata. In 1971 Hopcroft presented an algorithm to solve the many function coarsest partition problem for sets of n elements in O(n log n) time and O(n) space. Aho, Hopcroft, and Ullman later presented an algorithm that solves the special case of this problem for only one function. Both these algorithms use a negative strategy that repeatedly refines the original partition until a solution is found. We present a new algorithm to solve the single function coarsest partition problem in O(n) time and space using a different, constructive approach.
KeywordsEquivalence Class Finite Automaton Linear Time Algorithm Finite State Automaton Negative Strategy
Unable to display preview. Download preview PDF.
- 1.Aho, A., Hopcroft, J., Ullman, J., Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.Google Scholar
- 2.Birkhoff, G. Lattice Theory. American Mathematical Society, Providence, 1966.Google Scholar
- 3.Booth, K. S. "Lexicographically Least Circular Substrings." IPL 10, 4,5 (July 1980), 240–242.Google Scholar
- 4.Downey, P., Sethi, R., and Tarjan, R. "Variations on the Common Subexpression Problem." JACM 27, 4 (Oct 1980), 758–771.Google Scholar
- 5.Hopcroft, J.E. An n log n Algorithm for Minimizing States in a Finite Automaton. In Theory of Machines and Computations, Kohavi, and Paz, Ed., Academic Press, New York, 1971, pp. 189–196.Google Scholar
- 6.Knuth, D.E., Morris, J.H., Pratt, V.R. "Fast Pattern Matching in Strings." SIAM J. Computing 6, 2 (1977), 323–350.Google Scholar
- 7.Nelson, G., and Oppen, D. "Fast Decision Procedures Based on Congruence Closure." JACM 27, 2 (Apr 1980).Google Scholar
- 8.Paige, R., and Koenig, S. "Finite Differencing of Computable Expressions." ACM TOPLAS 4, 3 (July 1982), 402–454.Google Scholar
- 9.Schwartz, J.T. "Automatic Data Structure Choice in a Language of Very High Level." CACM 18, 12 (Dec 1975), 722–728.Google Scholar
- 10.Shiloach, Y. "Fast Canonization of Circular Strings." Journal of Algorithms 2 (June 1981), 107–121.Google Scholar