6 research outputs found
Fast Searching in Packed Strings
Given strings and the (exact) string matching problem is to find all
positions of substrings in matching . The classical Knuth-Morris-Pratt
algorithm [SIAM J. Comput., 1977] solves the string matching problem in linear
time which is optimal if we can only read one character at the time. However,
most strings are stored in a computer in a packed representation with several
characters in a single word, giving us the opportunity to read multiple
characters simultaneously. In this paper we study the worst-case complexity of
string matching on strings given in packed representation. Let be
the lengths and , respectively, and let denote the size of the
alphabet. On a standard unit-cost word-RAM with logarithmic word size we
present an algorithm using time O\left(\frac{n}{\log_\sigma n} + m +
\occ\right). Here \occ is the number of occurrences of in . For this improves the bound of the Knuth-Morris-Pratt algorithm.
Furthermore, if our algorithm is optimal since any
algorithm must spend at least \Omega(\frac{(n+m)\log
\sigma}{\log n} + \occ) = \Omega(\frac{n}{\log_\sigma n} + \occ) time to
read the input and report all occurrences. The result is obtained by a novel
automaton construction based on the Knuth-Morris-Pratt algorithm combined with
a new compact representation of subautomata allowing an optimal
tabulation-based simulation.Comment: To appear in Journal of Discrete Algorithms. Special Issue on CPM
200
On Unification Modulo One-Sided Distributivity: Algorithms, Variants and Asymmetry
An algorithm for unification modulo one-sided distributivity is an early
result by Tid\'en and Arnborg. More recently this theory has been of interest
in cryptographic protocol analysis due to the fact that many cryptographic
operators satisfy this property. Unfortunately the algorithm presented in the
paper, although correct, has recently been shown not to be polynomial time
bounded as claimed. In addition, for some instances, there exist most general
unifiers that are exponentially large with respect to the input size. In this
paper we first present a new polynomial time algorithm that solves the decision
problem for a non-trivial subcase, based on a typed theory, of unification
modulo one-sided distributivity. Next we present a new polynomial algorithm
that solves the decision problem for unification modulo one-sided
distributivity. A construction, employing string compression, is used to
achieve the polynomial bound. Lastly, we examine the one-sided distributivity
problem in the new asymmetric unification paradigm. We give the first
asymmetric unification algorithm for one-sided distributivity
Algorithms on Compressed Strings and Arrays
. We survey the complexity issues related to several algorithmic problems for compressed one- and two-dimensional texts without explicit decompression: pattern-matching, equality-testing, computation of regularities, subsegment extraction, language membership, and solvability of word equations. Our basic problem is one- and two-dimensional pattern-matching together with its variations. For some types of compression the pattern-matching problems are infeasible (NP-hard), for other types they are solvable in polynomial time and we discuss how to reduce the degree of corresponding polynomials. 1 Introduction In the last decade a new stream of research related to data compression has emerged: algorithms on compressed objects. It has been caused by the increase in the volume of data and the need to store and transmit masses of information in compressed form. The compressed information has to be quickly accessed and processed without explicit decompression. In this paper we consider severa..