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 条
  • [1] Fast string matching algorithm
    Al-Howaide, Ala'a
    Mardini, Wail
    Khamayseh, Yaser
    Yasin, Muneer Bani
    2010 INTERNATIONAL CONFERENCE ON MANAGEMENT SCIENCE AND ENGINEERING (MSE 2010), VOL 2, 2010, : 247 - 250
  • [2] Fast algorithm on string cross pattern matching
    Liu Gongshen
    Journal of Systems Engineering and Electronics, 2005, (01) : 179 - 186
  • [3] Fast algorithm on string cross pattern matching
    Bao, Zheng-Rong
    Wang, Yong-Cheng
    Liu, Gong-Shen
    Han, Ke-Song
    Shanghai Jiaotong Daxue Xuebao/Journal of Shanghai Jiaotong University, 2003, 37 (03): : 420 - 423
  • [4] A Fast Approximate String Matching Algorithm on GPU
    Nunes, Lucas S. N.
    Bordim, J. L.
    Nakano, K.
    Ito, Y.
    PROCEEDINGS OF 2015 THIRD INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING (CANDAR), 2015, : 188 - 192
  • [5] A FAST ALGORITHM FOR STRING-MATCHING WITH MISMATCHES
    DERMOUCHE, A
    INFORMATION PROCESSING LETTERS, 1995, 55 (02) : 105 - 110
  • [6] Fast algorithm for approximate string matching on gene sequences
    Liu, Z
    Chen, X
    Borneman, J
    Jiang, T
    COMBINATORIAL PATTERN MATCHING, PROCEEDINGS, 2005, 3537 : 79 - 90
  • [7] Fast multiple pattern algorithm for Chinese string matching
    Shen, Zhou
    Wang, Yong-Cheng
    Xu, Yi-Zhen
    Shanghai Jiaotong Daxue Xuebao/Journal of Shanghai Jiaotong University, 2001, 35 (09): : 1285 - 1289
  • [8] A Fast String Matching Algorithm Based on Lowlight Characters in the Pattern
    Cao, Zhengjun
    Yan, Zhenzhen
    Liu, Lihua
    2015 SEVENTH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTATIONAL INTELLIGENCE (ICACI), 2015, : 179 - 182
  • [9] A Very Fast String Matching Algorithm Based on Condensed Alphabets
    Faro, Simone
    ALGORITHMIC ASPECTS IN INFORMATION AND MANAGEMENT, 2016, 9778 : 65 - 76
  • [10] FAST STRING-MATCHING USING AN N-GRAM ALGORITHM
    KIM, JY
    SHAWETAYLOR, J
    SOFTWARE-PRACTICE & EXPERIENCE, 1994, 24 (01): : 79 - 88