Abstract
We consider the classical exact multiple string matching problem. The proposed solution is based on a combination of a few ideas: using q-grams instead of single characters, pattern superimposition, bit-parallelism and alphabet size reduction. We discuss the pros and cons of various alternatives to achieve the possibly best combination of techniques. The main contribution of this paper are different alphabet mapping methods that allow to reduce memory requirements and use larger q-grams. The experimental results show that the presented algorithm is competitive in most practical cases. One of the tests shows also that tailoring our scheme to search over a byte-encoded text results in speedups in comparison to searching over a plain text.
Keywords
- Text algorithms
- pattern matching
- multiple pattern matching
- q-grams
- bit-parallelism
- compressed pattern matching
MSC
68W32
Cite this article
@article{cai-4269,
author = {Robert Susik and Szymon Grabowski and Kimmo Fredriksson},
title = {Revisiting Multiple Pattern Matching},
journal = {Computing and Informatics},
volume = {38},
number = {4},
pages = {937--962},
year = {2019},
issn = {1335-9150},
doi = {10.31577/cai_2019_4_937}
}
TY - JOUR AU - Robert Susik AU - Szymon Grabowski AU - Kimmo Fredriksson TI - Revisiting Multiple Pattern Matching JO - Computing and Informatics VL - 38 IS - 4 SP - 937 EP - 962 PY - 2019 SN - 1335-9150 DO - 10.31577/cai_2019_4_937 UR - https://doi.org/10.31577/cai_2019_4_937 KW - Text algorithms KW - pattern matching KW - multiple pattern matching KW - q-grams KW - bit-parallelism KW - compressed pattern matching ER -
Susik, R., Grabowski, S., & Fredriksson, K. (2019). Revisiting Multiple Pattern Matching. Computing and Informatics, 38(4), 937–962. https://doi.org/10.31577/cai_2019_4_937