一个用于存储和搜索最大公共子序列的紧凑有向无环图

摘要:最大公共子序列(MCS)是两个字符串X和Y的同时子序列,其最大性是指其在包含关系下是最大的。MCS放宽并推广了已知和广泛使用的最长公共子序列(LCS)的概念,可以看作是最长公共子序列的最大长度。虽然LCS和MCS的数量都可能在字符串的长度上呈指数增长,但LCS一直被广泛应用于字符串和文本分析,因为从70年代以来,通过动态规划或自动机构建的简单紧凑的表示方法已经知道了两个字符串之间的所有LCS。MCS具有更具挑战性的结构:即使最近才解决了高效列举它们的问题,因此缩小了这两个问题之间的复杂性差距,但差距仍然很大。在本文中,我们消除了这个复杂性差距:我们展示了如何构建一个多项式大小的有向无环图(DAG) -在多项式时间内-可以对所有MCS进行高效操作,例如常摊时间枚举(CAT),计数和对第i个元素的随机访问(即,等级和选择操作)。除了改进已知的算法结果,这项工作为基于MCS的新的序列分析方法铺平了道路。

作者:Alessio Conte, Roberto Grossi, Giulia Punzi and Takeaki Uno

论文ID:2307.13695

分类:Data Structures and Algorithms

分类简称:cs.DS

提交时间:2023-07-26

PDF 下载: 英文版 中文版pdf翻译中