A Simple Streaming Bit-parallel Algorithm for Swap Pattern Matching
with
Ondřej Suchý and Tomáš Valla
In this paper we present a streaming algorithm for Pattern Matching with Swaps (Swap Matching).
Abstract
The pattern matching problem with swaps is to find all occurrences of a pattern in a text while allowing the pattern to swap adjacent symbols.
The goal is to design fast matching algorithm that takes advantage of the bit parallelism of bitwise machine instructions
and has only streaming access to the input.
We introduce a new approach to solve this problem based on the graph theoretic model and compare its performance to previously known algorithms.
We also show that an approach using deterministic finite automata cannot achieve similarly efficient algorithms.
Furthermore, we describe a fatal flaw in some of the previously published algorithms based on the same model.
Finally, we provide experimental evaluation of our algorithm on real-world data.