Skip to main content
QUICK REVIEW

[论文解读] Position Heaps for Parameterized Strings

Diptarama Diptarama, Takashi Katsura|arXiv (Cornell University)|Feb 8, 2017
Algorithms and Data Compression参考文献 11被引用 6
一句话总结

本文提出了参数化位置堆(PPH),一种用于参数化字符串的新颖索引结构,支持高效的参数化模式匹配。通过使用前驱编码(prev-encoding)和增强的最大可达指针扩展位置堆数据结构以处理参数化字符串,作者提出了一个在线构造算法,时间复杂度为 O(n log(|Σ| + |Π|)),以及一个模式匹配算法,时间复杂度为 O(m log(|Σ| + |Π|) + m|Π| + occ),其中 n 为文本长度,m 为模式长度,|Σ| 和 |Π| 分别为常量符号和参数符号的字母表大小,occ 为匹配次数。

ABSTRACT

We propose a new indexing structure for parameterized strings, called parameterized position heap. Parameterized position heap is applicable for parameterized pattern matching problem, where the pattern matches a substring of the text if there exists a bijective mapping from the symbols of the pattern to the symbols of the substring. We propose an online construction algorithm of parameterized position heap of a text and show that our algorithm runs in linear time with respect to the text size. We also show that by using parameterized position heap, we can find all occurrences of a pattern in the text in linear time with respect to the product of the pattern size and the alphabet size.

研究动机与目标

  • 为软件维护、抄袭检测和基因结构分析等应用中对参数化字符串高效索引结构的需求提供解决方案。
  • 设计一种数据结构,通过参数符号的双射重命名来利用字符串间的结构相似性,实现快速参数化模式匹配。
  • 通过前驱编码和增强的最大可达指针,将位置堆概念扩展至参数化字符串。
  • 实现索引结构的线性时间在线构建,以及具有可证明时间复杂度界限的高效模式匹配。

提出的方法

  • 提出参数化位置堆(PPH)作为参数化字符串后缀的前驱编码序列的哈希树结构。
  • 使用前驱编码对参数化字符串进行归一化,使得 p-匹配(双射符号映射)产生相同的编码结果。
  • 引入增强的位置堆指针(APPH),存储最大可达信息以加速模式匹配。
  • 基于 Kucherov 的方法设计在线构造算法,从右至左处理文本,增量式维护 PPH。
  • 设计一种模式匹配算法,检查模式的前驱编码是否在 PPH 中被直接表示;若否,则将模式拆分为前缀,通过最大可达指针逐个匹配。
  • 利用前驱编码的结构特性与 PPH 的树形层次结构,高效定位所有模式匹配位置,时间复杂度为 O(m log(|Σ| + |Π|) + m|Π| + occ)。

实验结果

研究问题

  • RQ1能否将类似位置堆的结构适配以支持高效构建与搜索的参数化模式匹配?
  • RQ2在线构建参数化位置堆的时间复杂度是多少?
  • RQ3当模式的前驱编码未在 PPH 中直接表示时,如何高效地使用参数化位置堆进行模式匹配?
  • RQ4参数化位置堆与其他参数化索引结构(如参数化后缀数组)之间存在何种关系?

主要发现

  • 参数化位置堆可在 O(n log(|Σ| + |Π|)) 时间内在线构建,其中 n 为文本长度,|Σ| 和 |Π| 分别为常量符号与参数符号字母表的大小。
  • 模式匹配算法的时间复杂度为 O(m log(|Σ| + |Π|) + m|Π| + occ),其中 m 为模式长度,occ 为匹配次数。
  • 通过使用增强的位置堆指针(APPH),可高效处理前驱编码未在 PPH 中直接存在的模式,方法是将模式拆分为前缀并逐个通过最大可达指针匹配。
  • 通过同时检查直接节点匹配和通过最大可达指针的后代节点,该方法能正确识别所有匹配,确保在 p-匹配定义下的正确性。
  • 该方法对模式长度与参数字母表大小的乘积保持线性依赖,使其在包含大量参数符号的模式下依然高效。
  • 本文为探索参数化位置堆与参数化后缀数组之间的联系奠定了基础,与先前关于标准位置堆与后缀数组关系的研究相呼应。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。