Abstract
AbstractMany papers in the intersection of theoretical and applied algorithms show that the simple, asymptotically less efficient algorithm, performs better than the bestcomplex theoretical algorithms on random data or in specialized “real world” applications. This paper considers the Knuth–Morris–Pratt automaton, and shows a counter-intuitive practical result. The classical pattern matching paradigm is that of seeking occurrences of one string—the pattern, in another—the text, where both strings are drawn from an alphabet set $$\Sigma$$
Σ
. Assuming the text length is n and the pattern length is m, this problem can naively be solved in time O(nm). In Knuth, Morris and Pratt’s seminal paper of 1977, an automaton, was developed that allows solving this problem in time O(n) for any alphabet. This automaton, which we will refer to as the KMP-automaton, has proven useful in solving many other problems. A notable example is the parameterized pattern matching model. In this model, a consistent renaming of symbols from $$\Sigma$$
Σ
is allowed in a match. The parameterized matching paradigm has proven useful in problems in software engineering, computer vision, and other applications. It has long been believed that for texts where the symbols are uniformly random, the naive algorithm will perform as well as the KMP algorithm. In this paper, we examine the practical efficiency of the KMP algorithm versus the naive algorithm on a randomly generated text. We analyze the time under various parameters, such as alphabet size, pattern length, and the distribution of pattern occurrences in the text. We do this for both the original exact matching problem and parameterized matching. While the folklore wisdom is vindicated by these findings for the exact matching case, surprisingly, the KMP algorithm always works significantly faster than the naive in the parameterized matching case. We check this hypothesis for DNA texts and image data and observe a similar behavior as in the random text. We also show a very structured exact matching case where the automaton is much more efficient.
Funder
Israel Science Foundation
United States - Israel Binational Science Foundation
Bar-Ilan University
Publisher
Springer Science and Business Media LLC
Reference38 articles.
1. Amir A, Aumann A, Lewenstein M, Porat E. Function matching. SIAM J Comput. 2006;35(5):1007–22.
2. Amir A, Benson G, Farach M. An alphabet independent approach to two dimensional pattern matching. SIAM J Comp. 1994;23(2):313–23.
3. Amir A, Church KW, Dar E. Separable attributes: a technique for solving the submatrices character count problem. In: Proceedings of 13th ACM-SIAM symposium on discrete algorithms (SODA); 2002. pp. 400–401.
4. Amir A, Farach M. Efficient 2-dimensional approximate matching of half-rectangular figures. Inf Comput. 1995;118(1):1–11.
5. Amir A, Farach M, Muthukrishnan S. Alphabet dependence in parameterized matching. Inf Process Lett. 1994;49:111–5.
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献