SIAM Journal on Computing · 1993 · 85 citations · 18 references
ComputingComputer ScienceAlgorithmsComputational LinguisticsNatural Language ProcessingPattern RecognitionSearching AlgorithmsString AlgorithmsText Similarity AnalysisComplexity Of String AlgorithmsConditional Independence AssumptionExact MatchingPattern Matching AlgorithmsString SearchString Searching
The Boyer–Moore idea applied in exact string matching is generalized to approximate string matching. Two versions of the problem are considered. The k mismatches problem is to find all approximate occurrences of a pattern string (length m) in a text string (length n) with at most k mismatches. The generalized Boyer–Moore algorithm is shown (under a mild independence assumption) to solve the problem in expected time $O(kn({1 / {(m - k) + ({k / c})}}))$, where c is the size of the alphabet. A related algorithm is developed for the k differences problem, where the task is to find all approximate occurrences of a pattern in a text with $ \leqslant k$ differences (insertions, deletions, changes). Experimental evaluation of the algorithms is reported, showing that the new algorithms are often significantly faster than the old ones. Both algorithms are functionally equivalent with the Horspool version of the Boyer–Moore algorithm when $k = 0$.
18
The String-to-String Correction Problem
Robert A. Wagner, Michael J. Fischer · Journal of the ACM · 1974 · 3.1K citations · Full text
Fast Pattern Matching in Strings
Donald E. Knuth, James H. Morris, Vaughan Pratt · SIAM Journal on Computing · 1977 · 2.9K citations
Alfred V. Aho, Margaret J. Corasick · Communications of the ACM · 1975 · 2.9K citations · Full text
A fast string searching algorithm
Robert S. Boyer, J Strother Moore · Communications of the ACM · 1977 · 2.3K citations · Full text