Papers
Topics
Authors
Recent
Search
2000 character limit reached

Practical KMP/BM Style Pattern-Matching on Indeterminate Strings

Published 18 Apr 2022 in cs.DS | (2204.08331v3)

Abstract: In this paper we describe two simple, fast, space-efficient algorithms for finding all matches of an indeterminate pattern p=p[1..m]p = p[1..m] in an indeterminate string x=x[1..n]x = x[1..n], where both pp and xx are defined on a "small" ordered alphabet Σ\Sigma −- say, σ=∣Σ∣≤9\sigma = |\Sigma| \le 9. Both algorithms depend on a preprocessing phase that replaces Σ\Sigma by an integer alphabet ΣI\Sigma_I of size σI=σ\sigma_I = \sigma which (reversibly, in time linear in string length) maps both xx and pp into equivalent regular strings yy and qq, respectively, on ΣI\Sigma_I, whose maximum (indeterminate) letter can be expressed in a 32-bit word (for σ≤4\sigma \le 4, thus for DNA sequences, an 8-bit representation suffices). We first describe an efficient version KMP Indet of the venerable Knuth-Morris-Pratt algorithm to find all occurrences of qq in yy (that is, of pp in xx), but, whenever necessary, using the prefix array, rather than the border array, to control shifts of the transformed pattern qq along the transformed string yy. We go on to describe a similar efficient version BM Indet of the Boyer- Moore algorithm that turns out to execute significantly faster than KMP Indet over a wide range of test cases. A noteworthy feature is that both algorithms require very little additional space: Θ(m)\Theta(m) words. We conjecture that a similar approach may yield practical and efficient indeterminate equivalents to other well-known pattern-matching algorithms, in particular the several variants of Boyer-Moore.

Citations (3)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.