English

Linear Approximate Pattern Matching Algorithm

Data Structures and Algorithms 2022-07-01 v2 Databases

Abstract

Pattern matching is a fundamental process in almost every scientific domain. The problem involves finding the positions of a given pattern (usually of short length) in a reference stream of data (usually of large length). The matching can be an exact or as an approximate (inexact). Exact matching is to search for the pattern without allowing for mismatches (or insertions and deletions) of one or more characters in the pattern), while approximate matching is the opposite. For exact matching, several data structures that can be built in linear time and space are used and in practice nowadays. For approximate matching, the solutions proposed to solve this matching are non-linear and currently impractical. In this paper, we designed and implemented a structure that can be built in linear time and space (O(n)O(n)) and solves the approximate matching problem in O(m+log2n(logΣn)k+1k!+occ)O(m + \frac {log_2n {(log_\Sigma n)} ^{k+1}}{k!} + occ) search costs, where mm is the length of the pattern, nn is the length of the reference, and kk is the number of tolerated mismatches (and insertion and deletions).

Keywords

Cite

@article{arxiv.2110.13802,
  title  = {Linear Approximate Pattern Matching Algorithm},
  author = {Anas Al-okaily and Abdelghani Tbakhi},
  journal= {arXiv preprint arXiv:2110.13802},
  year   = {2022}
}

Comments

15 pages double spaced