 
Summary: Pattern Matching with Swaps \Lambda
Amihood Amir yz Yonatan Aumann y Gad M. Landau x
BarIlan University & Georgia Tech BarIlan University Polytechnic University & Haifa University
Moshe Lewenstein y Noa Lewenstein y 
BarIlan University BarIlan University
Abstract
Let a text string T of n symbols and a pattern string P of m symbols from alphabet \Sigma be
given. A swapped version T 0 of T is a length n string derived from T by a series of local swaps,
(i.e. t 0
`
/ t `+1 and t 0
`+1
/ t ` ) where each element can participate in no more than one swap.
The Pattern Matching with Swaps problem is that of finding all locations i for which there
exists a swapped version T 0 of T with an exact matching of P in location i of T 0 . It has been
an open problem whether swapped matching can be done in less than O(nm) time.
In this paper we show the first algorithm that solves the pattern matching with swaps problem
in time o(nm). We present an algorithm whose time complexity is O(nm 1=3 log m log oe) for a
general alphabet \Sigma, where oe = min(m; j\Sigmaj).
Key Words: Design and analysis of algorithms, combinatorial algorithms on words, pattern
