中文

Burrows-Wheeler变换的局部可解码性

数据结构与算法 2018-12-06 v2 计算复杂性 信息检索

摘要

Burrows-Wheeler变换(BWT)是文本压缩与DNA存储中最有影响的发现之一。它是一种可逆的预处理步骤,通过将一个nn字母字符串重排为相同字符的游程(利用上下文规律性),产生高度可压缩的字符串,并且是\texttt{bzip}压缩程序的基础。遗憾的是,BWT的解码过程本质上是顺序的,即使检索\emph{单个}字符也需要Ω(n)\Omega(n)时间。我们研究在给定文本的\emph{压缩}BWT下局部解码其短子串的 succinct 数据结构问题,即相对于\emph{Move-To-Front}(\texttt{bzip})压缩具有小的加性冗余rr。著名的基于BWT的FM-index(FOCS '00)以及相关文献,在单字符以O(t)O(t)时间解码时给出了r=O~(n/t)r=\tilde{O}(n/\sqrt{t})比特的权衡。我们给出了近乎二次的改进r=O~(nlg(t)/t)r=\tilde{O}(n\lg(t)/t)。作为副产品,我们在压缩文本上计数模式匹配的FM-index冗余方面获得了\emph{指数级}(关于tt)的改进。在文本压缩至n1o(1)n^{1-o(1)}比特的有趣区间中,这些结果提供了exp(t)\exp(t)的\emph{总体}空间缩减。对于BWT的局部解码问题,我们还证明了“对称”数据结构的Ω(n/t2)\Omega(n/t^2)单元探测下界。我们通过设计一种基于BWT的压缩部分和(Rank)数据结构实现了主要结果。关键组件是一种\emph{局部可解码}的Move-to-Front(MTF)码:每长度为nΩ(1)n^{\Omega(1)}的块仅多花O(1)O(1)比特,单字符的解码时间就能从Ω(n)\Omega(n)降至O(lgn)O(\lg n)。该结果在算法信息论中具有独立意义。

关键词

引用

@article{arxiv.1808.03978,
  title  = {Local Decodability of the Burrows-Wheeler Transform},
  author = {Sandip Sinha and Omri Weinstein},
  journal= {arXiv preprint arXiv:1808.03978},
  year   = {2018}
}

备注

The following two technical typos were fixed: (1) On page 2, following Theorem 1, the decoding time of a contiguous substring of size $\ell$ was corrected from $O(t + \ell)$ to $O(t + \ell \cdot \lg t)$. (2) In the statement of Theorem 2, the query time to count occurrences of patterns of length $\ell$ was corrected to $O(t \ell)$, independent of the number of occurrences