Abstract
A locally testable language L is a language with the property that for some nonnegative integer k, called the order or the level of local testability, whether or not a word u is in the language L depends on (1) the prefix and suffix of the word u of length k-1 and (2) the set of intermediate substrings of length k of the word u. For given k the language is called k-testable. A finite deterministic automaton is called k-testable if the automaton accepts a k-testable language. In this paper, algorithms to verify 2-testability of order O(n3), 3-testability of order O(n4) and j-testability for j > 3 of order O(nj+1) are presented. An O(nn+2) time algorithm of finding the precise order of local testability is described. The time complexity of the algorithms improves on the previously known algorithms. We give necessary and sufficient conditions for an automaton to be k-testable in terms of the length of paths of related graphs. Some estimates of the upper and of the lower bound on the order of local testability follow.
Original language | English |
---|---|
Pages (from-to) | 183-204 |
Number of pages | 22 |
Journal | Theoretical Computer Science |
Volume | 235 |
Issue number | 1 |
DOIs | |
State | Published - 17 Mar 2000 |
Keywords
- Algorithm
- Finite automaton
- Locally testable
- Order of local testability
- Semigroup