Article ID Journal Published Year Pages File Type
431134 Journal of Discrete Algorithms 2008 14 Pages PDF
Abstract

In a string x on an alphabet Σ, a position i is said to be indeterminate   iff x[i]x[i] may be any one of a specified subset {λ1,λ2,…,λj}{λ1,λ2,…,λj} of Σ  , 2⩽j⩽|Σ|2⩽j⩽|Σ|. A string x containing indeterminate positions is therefore also said to be indeterminate  . Indeterminate strings can arise in DNA and amino acid sequences as well as in cryptological applications and the analysis of musical texts. In this paper we describe fast algorithms for finding all occurrences of a pattern p=p[1..m]p=p[1..m] in a given text x=x[1..n]x=x[1..n], where either or both of p and x can be indeterminate. Our algorithms are based on the Sunday variant of the Boyer–Moore pattern-matching algorithm, one of the fastest exact pattern-matching algorithms known. The methodology we describe applies more generally to all variants of Boyer–Moore (such as Horspool's, for example) that depend only on calculation of the δ (“rightmost shift”) array: our method therefore assumes that Σ is indexed (essentially, an integer alphabet), a requirement normally satisfied in practice.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics
Authors
, , ,