Automated Pattern Detection--An Algorithm for Constructing Optimally Synchronizing Multi-Regular Language Filters
In the computational-mechanics structural analysis of one-dimensional cellular automata the following automata-theoretic analogue of the change-point problem from time series analysis arises: Given a string σ and a collection {D_i} of finite automata, identify the regions of σ that belong to each D_i and, in particular, the boundaries separating them. We present two methods for solving this multi-regular language filtering problem. The first, although providing the ideal solution, requires a stack, has a worst-case compute time that grows quadratically in σ's length and conditions its output at any point on arbitrarily long windows of future input. The second method is to algorithmically construct a transducer that approximates the first algorithm. In contrast to the stack-based algorithm, however, the transducer requires only a finite amount of memory, runs in linear time, and gives immediate output for each letter read; it is, moreover, the best possible finite-state approximation with these three features.
READ FULL TEXT