zbMATH — the first resource for mathematics

Efficient construction of semilinear representations of languages accepted by unary nondeterministic finite automata. (English) Zbl 1281.68146
Summary: In languages over a unary alphabet, i.e., an alphabet with only one letter, words can be identified with their lengths. It is well known that each regular language over a unary alphabet can be represented as the union of a finite number of arithmetic progressions. Given a nondeterministic finite automaton (NFA) working over a unary alphabet (a unary NFA), the arithmetic progressions representing the language accepted by the automaton can be easily computed by the determinization of the given NFA. However, the number of the arithmetic progressions computed in this way can be exponential with respect to the size of the original automaton. M. Chrobak [Theor. Comput. Sci. 47, 149–158 (1986; Zbl 0638.68096)] has shown that in fact \(O(n^{2})\) arithmetic progressions are sufficient for the representation of the language accepted by a unary NFA with \(n\) states, and Martinez (2002) has shown how these progressions can be computed in polynomial time. Recently, To (2009) has pointed out that Chrobak’s construction and Martinez’s algorithm, which is based on it, contain a subtle error and has shown how to correct this error. V. Geffert [Inf. Comput. 205, No. 11, 1652–1670 (2007; Zbl 1130.68069)] presented an alternative proof of Chrobak’s result, also improving some of the bounds. In this paper, a new simpler and more efficient algorithm for the same problem is presented, using some ideas from [log. cit.]. The time complexity of the presented algorithm is \(O(n^{2}(n + m))\) and its space complexity is \(O(n + m)\), where \(n\) is the number of states and \(m\) the number of transitions of a given unary NFA.

68Q45 Formal languages and automata
Full Text: DOI