A new approach to text searching
Communications of the ACM
Approximate Boyer-Moore string matching
SIAM Journal on Computing
Fast string matching with mismatches
Information and Computation
A fast string searching algorithm
Communications of the ACM
Fast Regular Expression Search
WAE '99 Proceedings of the 3rd International Workshop on Algorithm Engineering
Boyer-Moore Strategy to Efficient Approximate String Matching
CPM '96 Proceedings of the 7th Annual Symposium on Combinatorial Pattern Matching
Tuning approximate Boyer-Moore for gene sequences
SPIRE'07 Proceedings of the 14th international conference on String processing and information retrieval
A randomized numerical aligner (rNA)
LATA'10 Proceedings of the 4th international conference on Language and Automata Theory and Applications
Approximate string matching with reduced alphabet
Algorithms and Applications
Average complexity of backward q-gram string matching algorithms
Information Processing Letters
A randomized Numerical Aligner (rNA)
Journal of Computer and System Sciences
Hi-index | 0.00 |
Approximate string matching is a fundamental and challenging problem in computer science, for which a fast algorithm is highly demanded in many applications including text processing and DNA sequence analysis. In this paper, we present a fast algorithm for approximate string matching, called FAAST. It aims at solving a popular variant of the approximate string matching problem, the k-mismatch problem, whose objective is to find all occurrences of a short pattern in a long text string with at most k mismatches. FAAST generalizes the well-known Tarhio-Ukkonen algorithm by requiring two or more matches when calculating shift distances, which makes the approximate string matching process significantly faster than the Tarhio-Ukkonen algorithm. Theoretically, we prove that FAAST on average skips more characters than the Tarhio-Ukkonen algorithm in a single shift, and makes fewer character comparisons in an entire matching process. Experiments on both simulated data sets and real gene sequences also demonstrate that FAAST runs several times faster than the Tarhio-Ukkonen algorithm in all the cases that we tested.