Pattern Matching with Swaps for Short Patterns in Linear Time

  • Authors:
  • Domenico Cantone;Simone Faro

  • Affiliations:
  • Dipartimento di Matematica e Informatica, Università di Catania, Catania, Italy I-95125;Dipartimento di Matematica e Informatica, Università di Catania, Catania, Italy I-95125

  • Venue:
  • SOFSEM '09 Proceedings of the 35th Conference on Current Trends in Theory and Practice of Computer Science
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Pattern Matching problem with Swaps consists in finding all occurrences of a pattern P in a text T , when disjoint local swaps in the pattern are allowed. In the Approximate Pattern Matching problem with Swaps one seeks, for every text location with a swapped match of P , the number of swaps necessary to obtain a match at the location. In this paper, we present a new approach for solving both the Swap Matching problem and the Approximate Swap Matching problem in linear time, in the case of short patterns. In particular, we devise a $\mathcal{O}(nm)$ general algorithm, named Cross-Sampling , and show an efficient implementation of it, based on bit-parallelism, which achieves $\mathcal{O}(n)$ worst-case time and $\mathcal{O}(\sigma)$-space complexity, with patterns whose length is comparable to the word-size of the target machine.