Approximate swapped matching
Let a text string T of n symbols and a pattern string P of m symbols from alphabet Σ be given. A swapped version P′ of P is a length m string derived from P by a series of local swaps (i.e., p′ ℓ← p ℓ+1 and p′ ℓ+1← p ℓ), where each element can participate in no more than one swap. The Pattern Matchi...
Uložené v:
| Vydané v: | Information processing letters Ročník 83; číslo 1; s. 33 - 39 |
|---|---|
| Hlavní autori: | , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
Amsterdam
Elsevier B.V
16.07.2002
Elsevier Science Elsevier Sequoia S.A |
| Predmet: | |
| ISSN: | 0020-0190, 1872-6119 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Shrnutí: | Let a text string
T of
n symbols and a pattern string
P of
m symbols from alphabet
Σ be given. A
swapped version
P′ of
P is a length
m string derived from
P by a series of
local swaps (i.e.,
p′
ℓ←
p
ℓ+1 and
p′
ℓ+1←
p
ℓ), where each element can participate in
no more than one swap. The
Pattern Matching with Swaps problem is that of finding all locations
i of
T for which there exists a swapped version
P′ of
P with an exact matching of
P′ in location
i of
T.
Recently, some efficient algorithms were developed for this problem. Their time complexity is better than the best known algorithms for pattern matching with mismatches. However, the
Approximate Pattern Matching with Swaps problem was not known to be solved faster than the
Pattern Matching with Mismatches problem.
In the
Approximate Pattern Matching with Swaps problem the output is, for every text location
i where there is a swapped match of
P, the
number of swaps necessary to create the swapped version that matches location
i. The fastest known method to-date is that of counting mismatches and dividing by two. The time complexity of this method is
O(n
m
logm
)
for a general alphabet
Σ.
In this paper we show an algorithm that counts the number of swaps at every location where there is a swapped matching in time O(
nlog
mlog
σ), where
σ=min(
m,|
Σ|). Consequently, the total time for solving the approximate pattern matching with swaps problem is O(
f(
n,
m)+
nlog
mlog
σ), where
f(
n,
m) is the time necessary for solving the
Pattern Matching with Swaps problem. Since
f(
n,
m) was shown to be O(
nlog
mlog
σ) this means our algorithm's running time is O(
nlog
mlog
σ). |
|---|---|
| Bibliografia: | SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 14 |
| ISSN: | 0020-0190 1872-6119 |
| DOI: | 10.1016/S0020-0190(01)00302-7 |