Bouma2:一种准无状态、可调节的多字符串匹配算法
数据结构与算法
2012-09-21 v1
摘要
Bouma2 算法试图通过提出一种“准无状态”方法来挑战流行的“有状态”精确字符串匹配范式。我们声称,使用状态机来解决多精确字符串匹配问题引入了一种隐藏的人为约束,即消耗顺序依赖性,这导致了不必要的开销。Bouma2 不受此限制;我们推测这使得其在内存效率和性能方面优于其状态机等效物。Bouma2 预处理问题的核心被表述为一个加权整数线性规划问题,可以针对内存占用和性能优化进行调节。具体而言,这使得 Bouma2 具有输入敏感性,因为调节可以基于输入特征。通过将 Bouma2 与流行的 Snort 入侵防御系统的 Aho-Corasick 变体进行评估对比,我们证明了其在仅使用约 10% 内存的情况下实现了双倍的吞吐量。
引用
@article{arxiv.1209.4554,
title = {Bouma2 - A Quasi-Stateless, Tunable Multiple String-Match Algorithm},
author = {Erez M. Buchnik},
journal= {arXiv preprint arXiv:1209.4554},
year = {2012}
}
备注
33 pages, 3 figures