Abstract

The state complexity \(\kappa (L)\) of a regular language L is the number of states in the minimal deterministic finite automaton recognizing L. In a general pattern-matching problem one has a set T of texts and a set P of patterns; both T and P are sets of words over a finite alphabet \(\varSigma \). The matching problem is to determine whether any of the patterns appear in any of the texts, as prefixes, or suffixes, or factors, or subsequences. In previous work we examined the state complexity of these problems when both T and P are regular languages, that is, we computed the state complexity of the languages Open image in new window , Open image in new window , Open image in new window , and Open image in new window , where Open image in new window is the shuffle operation. It turns out that the state complexities of these languages match the naive upper bounds derived by composing the state complexities of the basic operations used in each expression. However, when P is a single word w, and \(\varSigma \) has two or more letters, the bounds are drastically reduced to the following: Open image in new window ; Open image in new window ; Open image in new window ; and Open image in new window . The bounds for factor and subsequence matching are the same as the naive bounds, but this is not the case for prefix and suffix matching. For unary languages, we have a tight upper bound of \(m+n-2\) in all four cases.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call