Abstract.
We study a recent algorithm for fast on-line approximate string matching. This is the problem of searching a pattern in a text allowing errors in the pattern or in the text. The algorithm is based on a very fast kernel which is able to search short patterns using a nondeterministic finite automaton, which is simulated using bit-parallelism. A number of techniques to extend this kernel for longer patterns are presented in that work. However, the techniques can be integrated in many ways and the optimal interplay among them is by no means obvious.
The solution to this problem starts at a very low level, by obtaining basic probabilistic information about the problem which was not previously known, and ends integrating analytical results with empirical data to obtain the optimal heuristic. The conclusions obtained via analysis are experimentally confirmed. We also improve many of the techniques and obtain a combined heuristic which is faster than the original work.
This work shows an excellent example of a complex and theoretical analysis of algorithms used for design and for practical algorithm engineering, instead of the common practice of first designing an algorithm and then analyzing it.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received March 31, 1998; revised November 18, 1998.
Rights and permissions
About this article
Cite this article
Navarro, G., Baeza-Yates, R. Improving an Algorithm for Approximate Pattern Matching. Algorithmica 30, 473–502 (2001). https://doi.org/10.1007/s00453-001-0034-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-001-0034-6