中文

通过字母表重排序实现 BWT-runs 最小化的计算复杂性

数据结构与算法 2020-02-19 v2

摘要

Burrows-Wheeler 变换(BWT)一直是文本压缩与索引的重要工具。它于 1994 年首次提出,随后为经典后缀树数据结构在接近基于熵的下界的空间中的首次编码提供了支柱。近年来,出现了与 BWT 中 runs 数“rr”成比例的紧凑后缀树,以及 rr 出现在新算法时间复杂性中的情况。与其他流行的压缩度量不同,参数 rr 对文本字母表所给定的字典序敏感。尽管过去多次尝试利用这一点,但寻找或近似一个使 rr 最小的字母表排序的可证明高效算法多年来一直悬而未决。我们首次给出关于通过字母表重排序最小化 BWT-runs 的计算复杂性的结果。我们证明该问题的判定版本是 NP 完全的,且除非指数时间假设不成立,否则无法在 2o(σ+n)2^{o(\sigma + \sqrt{n})} 时间内求解,其中 σ\sigma 为字母表大小,nn 为文本长度。我们还证明该优化问题是 APX-hard 的。在此过程中,我们关联了两个此前互不相干的课题:最优旅行商路径与文本 BWT 中 runs 的数量,给出了图论问题与文本压缩之间令人惊讶的联系。此外,通过关联字典压缩领域的近期结果,我们说明任意字母表排序可提供 O(log2n)O(\log^2 n) 近似。我们给出了在排序约束下于符号子集(仅出现一次)上寻找 runs 最小化排序的最优线性时间算法,并证明该问题向一类具有类 BWT 性质的图(称为 Wheeler 图)的推广是 NP 完全的。

关键词

引用

@article{arxiv.1911.03035,
  title  = {On the Complexity of BWT-runs Minimization via Alphabet Reordering},
  author = {Jason Bentley and Daniel Gibney and Sharma V. Thankachan},
  journal= {arXiv preprint arXiv:1911.03035},
  year   = {2020}
}