Algorithms for Computing Small NFAs

We give new methods for constructing small nondeterministic finite automata (NFA) from regular expressions or from other NFAs. Given an arbitrary NFA, we compute the largest right-invariant equivalence on the states and then merge the states in the same class to obtain a smaller automaton. When applying this method to position automata, we get a way to convert regular expressions into NFAs which can be arbitrarily smaller than the position, partial derivative, and follow automata. In most cases, it is smaller than all NFAs obtained by similar constructions.

[1]  Ken Thompson,et al.  Programming Techniques: Regular expression search algorithm , 1968, Commun. ACM.

[2]  Lucian Ilie,et al.  Constructing NFA s by Optimal Use of Positions in Regular Expressions , 2002, CPM.

[3]  Djelloul Ziadi,et al.  Computing the Equation Automaton of a Regular Expression in Space and Time , 2001, CPM.

[4]  Gérard Berry,et al.  From Regular Expressions to Deterministic Automata , 1986, Theor. Comput. Sci..

[5]  V. Glushkov THE ABSTRACT THEORY OF AUTOMATA , 1961 .

[6]  Anca Muscholl,et al.  Computing epsilon-free NFA from regular expressions in O(n log2(n)) time , 2000, RAIRO Theor. Informatics Appl..

[7]  Anca Muscholl,et al.  Computing epsilon-Free NFA from Regular Expressions in O(n log²(n)) Time , 1998, MFCS.

[8]  Jeffrey E. F. Friedl Mastering Regular Expressions , 1997 .

[9]  Chia-Hsiang Chang,et al.  From Regular Expressions to DFA's Using Compressed NFA's , 1992, Theor. Comput. Sci..

[10]  Valentin M. Antimirov Partial Derivatives of Regular Expressions and Finite Automaton Constructions , 1996, Theor. Comput. Sci..

[11]  Thomas Wilke,et al.  Translating Regular Expressions into Small epsilon-Free Nondeterministic Finite Automata , 1997, STACS.

[12]  Anne Brüggemann-Klein Regular Expressions into Finite Automata , 1993, Theor. Comput. Sci..

[13]  Djelloul Ziadi,et al.  New Finite Automaton Constructions Based on Canonical Derivatives , 2000, CIAA.

[14]  Robert McNaughton,et al.  Regular Expressions and State Graphs for Automata , 1960, IRE Trans. Electron. Comput..

[15]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[16]  Janusz A. Brzozowski,et al.  Derivatives of Regular Expressions , 1964, JACM.

[17]  John E. Hopcroft,et al.  An n log n algorithm for minimizing states in a finite automaton , 1971 .