中文

用多项式大小自动机表示模式匹配算法

数据结构与算法 2016-07-04 v1 形式语言与自动机理论

摘要

用于在文本 TΣnT\in\Sigma^n 中查找模式 SΣmS\in\Sigma^m 精确出现的模式匹配算法,已在渐近最优、最差和平均情况运行时间方面得到了广泛分析。为了进行更详细的分析,研究者考虑了算法 A\mathcal{A} 在长度为 nn 的随机文本中搜索固定模式 SS 时所执行的文本字符访问次数 XnA,SX^{\mathcal{A},S}_n。构建反映模式匹配算法行为的状态空间及相应转移规则(例如在马尔可夫链中),是现有对 XnA,SX^{\mathcal{A},S}_n 在渐近(nn\to\infty)和非渐近状态下分析的关键步骤。因此,该状态空间的大小是此类分析的一个关键参数。本文引入了一种构建相应状态空间的通用方法,并证明其适用于广泛的算法,包括 Boyer-Moore (BM)、Boyer-Moore-Horspool (BMH)、Backward Oracle Matching (BOM) 和 Backward (Non-Deterministic) DAWG Matching (B(N)DM)。除 BOM 外,我们的方法在所有情况下都能得到模式长度 mm 下大小为 O(m3)O(m^3) 的状态空间,这一结果此前仅在 BMH 上获得。在所有其他情况下,此前仅报道过大小随 mm 呈指数增长的状态空间。我们的结果直接意味着,对于一类非常通用的随机文本模型,存在一种算法可以在多项式时间内计算固定 SS、固定 nnA{BM,BMH,B(N)DM}\mathcal{A}\in\{\text{BM},\text{BMH},\text{B(N)DM}\}XnA,SX^{\mathcal{A},S}_n 的分布。

关键词

引用

@article{arxiv.1607.00138,
  title  = {Representing Pattern Matching Algorithms by Polynomial-Size Automata},
  author = {Tobias Marschall and Noemi E. Passing},
  journal= {arXiv preprint arXiv:1607.00138},
  year   = {2016}
}