PAMA: A fast string matching algorithm

被引:0
|
作者
Lu, SF [1 ]
Cao, F [1 ]
Lu, Y [1 ]
机构
[1] Wayne State Univ, Detroit, MI 48202 USA
关键词
D O I
10.1142/S0129054106003875
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
String matching is a fundamental operation in computer science, and its performance has great impact on many applications including database query, text processing, DNA and protein sequence analysis. In this paper, we propose a fast string matching algorithm, PAMA (PAttern MAtching). The shift rule used by PAMA not only subsumes both the bad character rule and the good suffix rule employed by the well-known Boyer-Moore algorithm, but also employs an additional key observation to enable faster shifting during the string matching process. Theoretically, we prove that from the same alignment, the next shift of PAMA will be at least as much as that of the Boyer-Moore algorithm. Experimentally, we show that PAMA indeed significantly outperforms the original Boyer-Moore algorithm in almost all cases, and outperforms other Boyer-Moore variants such as Tuned-BM, Turbo-BM and Horspool for long patterns (length >= 128) or for small alphabets (size < 8).
引用
下载
收藏
页码:357 / 378
页数:22
相关论文
共 50 条
  • [31] Fast string matching by using probabilities: On an optimal mismatch variant of Horspool's algorithm
    Nebel, Markus E.
    THEORETICAL COMPUTER SCIENCE, 2006, 359 (1-3) : 329 - 343
  • [32] A fast bit-vector algorithm for approximate string matching based on dynamic programming
    Myers, G
    COMBINATORIAL PATTERN MATCHING, 1998, 1448 : 1 - 13
  • [33] A Lightweight Multiple String Matching Algorithm
    Dai, Liuling
    Xia, Yuning
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY, 2008, : 611 - +
  • [34] A Consensus Algorithm for Approximate String Matching
    Rubio, Miguel
    Alba, Alfonso
    Mendez, Martin
    Arce-Santana, Edgar
    Rodriguez-Kessler, Margarita
    3RD IBEROAMERICAN CONFERENCE ON ELECTRONICS ENGINEERING AND COMPUTER SCIENCE, CIIECC 2013, 2013, 7 : 322 - 327
  • [35] An algorithm to improve the performance of string matching
    Hlayel, Abdallah A.
    Hnaif, Adnan
    JOURNAL OF INFORMATION SCIENCE, 2014, 40 (03) : 357 - 362
  • [36] A STRING PATTERN-MATCHING ALGORITHM
    CHANG, DK
    JOURNAL OF SYSTEMS AND SOFTWARE, 1993, 22 (03) : 207 - 216
  • [37] Derivation of a parallel string matching algorithm
    Misra, J
    INFORMATION PROCESSING LETTERS, 2003, 85 (05) : 255 - 260
  • [38] An aggressive algorithm for multiple string matching
    Dai, Liuling
    INFORMATION PROCESSING LETTERS, 2009, 109 (11) : 553 - 559
  • [39] A parallel algorithm for approximate string matching
    Kaplan, K
    Burge, LL
    Garuba, M
    PDPTA'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS 1-4, 2003, : 1844 - 1848
  • [40] AN APPROXIMATE STRING-MATCHING ALGORITHM
    KIM, JY
    SHAWETAYLOR, J
    THEORETICAL COMPUTER SCIENCE, 1992, 92 (01) : 107 - 117