Optimal-Time Queries on BWT-runs Compressed Indexes
索引高度重复的字符串(即,具有许多重复的字符串)进行快速查询已经成为字符串处理中的中心研究课题,因为它在生物信息学和自然语言处理中具有广泛的应用。虽然到目前为止已经提出了大量的高度重复字符串的索引,但开发支持各种查询的压缩索引仍然是一个挑战。游程Burrows-Wheeler变换(RLBWT)是一种通过对输入字符串进行可逆置换和行程长度编码的无损数据压缩方法,它在高重复性字符串的索引方面受到广泛关注。LF和$ϕ^{-1}$是用于在RLBWT上构建索引的两个关键函数,并且最佳先前结果在$O(\log \log n)$时间内计算LF和$ϕ^{-1}$,其中$O(r)$字的空间用于RLBWT中的串长度$n$和运行次数$r$。本文对LF和$ϕ^{-1}$进行了改进,使它们可以用空间的$O(r)$字在常数时间内计算。随后,我们提出了OptBWTR(最佳时间查询BWT运行压缩索引),第一个字符串索引,支持各种查询,包括定位,计数,提取查询在最佳时间和$O(r)$字的空间。
2021-04-16 cs.DS
Computing Matching Statistics on Repetitive Texts
计算字符串$P[1..m]$相对于文本$T[1..n]$的{ \em匹配统计量}是应用于基因组序列比较的基本问题。在本文中,我们研究了高重复文本的匹配统计量的计算问题。我们设计了三种不同的数据结构,类似于LZ压缩索引。所有这些的空间成本都可以通过$γ$(最小弦吸引子的大小)[STOC'2018]和$δ$(重复性的更好度量)[LATIN'2020]来测量。
2022-01-13 cs.DS
Document Listing on Repetitive Collections with Guaranteed Performance
我们考虑在字符串集合上列出文档,即查找给定模式出现在哪些字符串中。特别是,我们专注于重复的集合:一个集合的大小$N$在字母表$[1,σ]$是由$n$大小的字符串的$D$副本,$s$编辑应用于范围内的副本。我们引入了第一个文档列表索引,其大小为$\tilde{O}(n+s)$,确切地说是$O((n\logσ+s\log^2 N)\log D)$位,并且具有有用的最坏情况时间保证:给定长度为$m$的模式,对于任何恒定的$ε>0$,索引报告$\ndoc>0$字符串在时间上出现的位置$O(m\log^{1+ε} N \cdot \ndoc)$(并且如果$\ndoc=0$,则在时间上告诉$O(m\log N)$)。我们的技术是增加一个范围数据结构,这是常用的基于语法的索引,所以,而不是检索所有的模式出现,它计算有用的摘要。我们的想法有独立的兴趣:我们引入了第一个基于语法的索引,在文本$T[1,N]$与语法的大小$r$,使用$O(r\log N)$位和计数的出现次数的模式$P[1,m]$在时间$O(m^2 + m\log^{2+ε} r)$,任何常数$ε>0$。我们还使用$O(z\log(N/z)\log N)$位给出了第一个索引,其中$T$由Lempel-Ziv解析为$z$短语,计算时间上出现的次数$O(m\log^{2+ε} N)$。
2018-11-14 cs.DS
Self-Index Based on LZ77
我们介绍了基于Lempel-Ziv 1977压缩格式(LZ 77)的第一个自索引。对于高度重复的文本集合,例如相关物种的基因组序列数据库、软件存储库、版本化文档集合和时间文本数据库,它特别具有竞争力。这样的集合是非常可压缩的,但是经典的自索引无法捕获可压缩性的来源。我们的自索引实际上占用的空间是用LZ 77压缩的文本的几倍(只有2.6倍),每秒提取1- 2百万个字符的文本,并以每次出现10- 50微秒的速度找到模式。它比当前用于重复收集的最佳自索引小(最多一半),并且在许多情况下更快。
2011-01-21 cs.DS
Fast and Small Subsampled R-indexes
提出 sr-index 及其变体 r-csa、sr-csa,通过子采样文本位置在时间和空间间取得平衡,在保持查询性能的同时显著减少索引空间占用。
2024-09-23 cs.DS
Self-Index based on LZ77 (thesis)
生物信息学、版本控制系统、协作编辑系统(wiki)等领域正在产生大量重复性很强的数据汇集。也就是说,集合的元素之间几乎没有什么区别。这一事实使得集合的可压缩性非常高。例如,包含所有不同版本的维基百科条目的集合可以使用Lempel-Ziv 1977(LZ 77)压缩方案压缩到其原始空间的0.1%。这些重复的集合中的许多都处理大量的文本数据。因此,我们需要一种方法来有效地存储它们,同时提供对它们进行操作的能力。最常见的操作是提取集合的随机部分,并在整个集合中搜索给定模式的所有出现。自索引是一种数据结构,它以压缩形式存储文本,并允许有效地找到模式的出现。另一方面,自索引可以提取集合的任何子字符串,因此它们能够替换原始文本。使用这些索引的主要目标之一是将它们存储在主存中。在这篇论文中,我们提出了一个方案,随机抽取文本压缩与Lempel-Ziv分析。此外,我们提出了一个LZ 77的变体,称为LZ-End,它可以使用接近LZ 77的空间有效地提取文本。本文的主要贡献是基于LZ 77/LZ-End的第一个面向重复文本的自索引,该自索引在许多方面都优于目前最新的自索引(RLCSA自索引)。最后,我们提出了一个语料库的重复文本,来自几个应用领域。我们的目标是为研究和实验提供一套标准的文本,因此这个语料库是公开的。
2011-12-20 cs.DS
Fast, Small, and Simple Document Listing on Repetitive Text Collections
在字符串集合上列出文档的任务是查找出现模式的所有文档。它被认为是最基本的文档检索问题,并在各种应用中是有用的。许多增长最快的字符串集合由非常相似的文档组成,例如版本化代码和文档集合、基因组存储库等。为重复文本集合设计的普通模式匹配索引实现了空间数量级的减少。相反,用于文档检索的类似索引并不多。在本文中,我们提出了一个简单的文件列表索引的重复字符串集合的总长度$n$,列出$ndoc$不同的文件中出现的模式的长度$m$在时间$\mathcal{O}(m+ndoc \cdot \log n)$。我们利用文档数组的重复性(即,粗化为文档标识符的后缀数组)来对其进行语法压缩,同时预计算对非终结符的回答,并且也以语法压缩的形式存储它们。我们的实验结果表明,我们的索引大大优于现有的替代品在空间/时间权衡地图。
2019-02-20 cs.DS cs.IR cs.IT
Dynamic r-index: An Updatable Self-Index in LCP-bounded Time
RIKEN Center for Advanced Intelligence Project(理化学研究所先进智能研究中心)
针对高重复字符串场景下动态可更新自索引的构建难题,研究团队提出基于RLBWT的动态r-index,实现LCP有界时间的更新与高效查询,并通过实验验证了其在高重复数据集上的实际效率。
2025-10-29 cs.DS
Engineering Fast and Space-Efficient Recompression from SLP-Compressed Text
Stony Brook University(石溪大学)
本文首次实现压缩时间内运行的再压缩RLSLP构建,基于LZ77近似,相比非压缩方法实现46倍加速和17倍内存降低,为快速索引构建提供实用路径。
2025-10-23 cs.DS
Fast and memory-efficient BWT construction of repetitive texts using Lyndon grammars
本文提出基于Lyndon直线程序从压缩表示计算BWT和eBWT的算法,在大规模重复性数据集上实现了比现有方法更快且更省内存的构建过程。
2025-09-23 cs.DS
Fully-Functional Suffix Trees and Optimal Text Searching in BWT-runs Bounded Space
自千年之交以来,索引高度重复的文本-如基因组数据库,软件库和版本化文本集合-已成为一个重要的问题。重复文本的相关可压缩性度量是r,其Burrows-Wheeler变换(BWT)中的运行次数。Run-Length FM索引是最早的重复集合索引之一,使用O(r)空间,能够有效地计算文本中长度为m的模式的出现次数(使用当前技术,以每个模式符号的对数时间为单位)。然而,它无法在以r为界的空间内有效地定位这些事件的位置。在本文中,我们关闭这个长期存在的问题,展示了如何扩展游程长度FM索引,使其能够在O(r)空间内有效地定位occ出现时间复杂度为O(m + occ),时间复杂度为O(m)。(r log log w(σ + n/r))空间,用于在RAM机器上具有w = Ω(log n)位的字的σ大小的字母表上的长度为n的文本。在这个空间内,我们的索引也可以在最佳时间内计数,O(m)。将空间乘以O(w/ log σ),我们支持O(dm log(σ)/we)和O(dm log(σ)/we + occ)时间的计数和定位,这在压缩设置中是最优的,以前在压缩空间中没有得到。我们还描述了一个使用O(rlog(n/r))空间的结构,该结构在几乎最优的时间O(log(n/r)+ ` log(σ)/w)内替换文本并提取长度为`的任何文本子串。在这个空间内,我们同样提供了直接存取后缀数组,反后缀数组,和最长的公共前…
2019-07-04 cs.DS
Grammar-Compressed Indexes with Logarithmic Search Time
设文本$T[1..n]$是由上下文无关文法生成的唯一字符串,该文法具有$g$(终结符和非终结符)符号,大小为$G$(以规则右侧的长度之和衡量)。这种语法称为$T$的语法压缩表示,可以基本上使用$G\lg g$位进行编码。我们引入了第一个语法压缩索引,它使用$O(G\lg n)$位,可以在时间$O((m^2+occ)\lg G)$中找到模式$P[1..m]$的$occ$出现。我们实现的索引,并证明其实用性与最先进的比较,高度重复的文本集合。
2020-04-01 cs.DS
Practical combinations of repetition-aware data structures
高度重复的字符串集合越来越多地被基因组测序和遗传变异实验所积累,以及存储人类生成的文件的所有版本,如网页和源代码。现有的索引用于在高度重复的字符串中定位模式的所有精确出现,它们利用了重复的单个度量。然而,在高度重复的字符串中,重复的多个不同度量都呈亚线性增长。在本文中,我们将探讨结合数据结构的实际优势,其大小取决于不同的重复措施。我们的结构的主要成分是游程长度编码的BWT(RLBWT),它需要的空间成比例的运行在一个字符串的Burrows-Wheeler变换的数量。我们描述了一系列实际的变体,结合RLBWT与字符串的Lempel-Ziv 77因子的边界集,其占用的空间与因子的数量成比例。这些变体分别使用字符串的RLBWT和其反向的RLBWT,或者在双向索引中只使用一个RLBWT,或者只使用一个支持单向提取的RLBWT。我们还研究了RLBWT与紧凑的有向非循环字图的字符串,一个数据结构,需要的空间成比例的最大重复的一个字符的扩展的数量相结合的实际优势。我们的方法易于实现,并在重要的数据集上提供竞争性权衡。
2016-04-21 cs.DS
Dynamic Grammar-Compressed Self-Index in $δ$-Optimal Space
RIKEN Center for Advanced Intelligence Project(理化学研究所先进智能项目中心)
本文提出动态RR索引,首次在δ-最优空间内实现动态语法压缩自索引,支持高效插入删除和定位查询,优于现有动态索引。
2026-07-09 cs.DS
Efficient construction of the extended BWT from grammar-compressed DNA sequencing reads
我们提出了一个算法,用于建立扩展的BWT(eBWT)的字符串集合从其语法压缩表示。我们的技术利用语法捕获的字符串重复来提高eBWT的计算。因此,集合的重复性越高,每个输入符号使用的资源就越少。我们依赖于一个新的语法最近提出的DCC'21,其非终端作为积木诱导eBWT。这个想法的一个相关应用是构建用于分析测序读数的自索引-原始基因组数据的大量重复字符串集合。自索引在生物信息学中越来越受欢迎,因为它们可以在更少的空间中编码更多的信息。我们高效的eBWT构建为在更大规模的序列数据集上执行准确的生物信息学分析打开了大门,这些数据集不适合当前的eBWT构建技术。
2021-02-08 cs.DS q-bio.GN
Suffixient Arrays: a New Efficient Suffix Array Compression Technique
本文提出 Suffixient Array,仅保留后缀数组中足以通过二分搜索定位模式及 MEM 的子集,实现压缩工作空间线性构建,并在重复集合上显著快于 SA 和 r-index。
2025-03-18 cs.DS
Adaptive encodings for small and fast compressed suffix arrays
Department of Computer Science, University of Helsinki(赫尔辛基大学计算机系)
本文提出可变长度阻塞编码技术,用于优化压缩后缀数组的空间与查询速度,通过动态调整索引信息以提升性能。
2026-02-19 cs.DS
Prefix-free parsing for building large tunnelled Wheeler graphs
本研究结合Wheeler图与无前缀解析(PFP)技术,通过对文本解析结果的Wheeler图隧道化再构建原图,解决隧道化最优块选择耗时难题,实现了泛基因组序列集合上更快、更低内存的空间高效索引构建。
2022-06-30 cs.DS
Grammar Index By Induced Suffix Sorting
提出一种基于诱导后缀排序的语法压缩索引,利用局部敏感解析性质,通过核心子串高效定位模式串的所有出现,时间复杂度和空间复杂度均与语法大小相关。
2026-06-17 cs.DS
Online Self-Indexed Grammar Compression
尽管到目前为止已经提出了几种基于语法的自索引,但它们的适用性仅限于离线设置,其中准备了整个输入文本,因此需要为给定的额外输入重建索引结构,这在大数据时代通常是这种情况。在本文中,我们提出了第一个在线自索引的语法压缩命名为OESP-index,可以逐步建立索引结构,通过读取输入字符一个接一个。这样的属性是另一个优点,它可以节省用于构造的工作空间,因为我们不需要在存储器中存储输入文本。实验测试了OESP-index在构建索引结构和搜索查询文本方面的能力,并展示了OESP-index的效率,特别是在构建索引结构方面的空间效率。
2015-07-06 cs.DS
A Searchable Compressed Edit-Sensitive Parsing
提出了一种实用的编辑敏感句法分析(ESP)数据结构。给定一个字符串S,它的ESP树等价于只生成S的上下文无关文法G,它由DAG表示。利用树和置换的简洁数据结构,G被分解为两个LOUDS位串和一个数组(1+ε)n \log n+4n+o(n)位,其中0<ε<1,且G中的变量数n为任意.计算P在S中出现次数的时间为O(\frac{1} ε(m \log n+occ_c(\log m \log u)),其中m = |P|,u = |S|,occ_c是P和S的ESP中最大公共子树的出现次数。该指标的效率进行了评估的几个基准上进行的实验符合其他压缩指标。
2011-01-09 cs.DS
A bloated FM-index reducing the number of cache misses during the search
FM-index是一个著名的压缩全文索引,基于Burrows-Wheeler变换(BWT)。在模式搜索期间,在“随机”位置访问BWT序列,这是高速缓存不友好的。在本文中,我们感兴趣的是加快FM索引的工作$q$ -克,而不是个别字符,在使用更多的空间为代价。第一个变体与$q$ -文法的倒排索引有关,但我们的解决方案中的出现列表是按排序后缀顺序,而不是传统倒排索引中的文本顺序。此变体在最坏情况下获得$O(m/|CL| + \log n \log m)$高速缓存未命中,其中$n$和$m$分别是文本和模式长度,而$|CL|$是CPU高速缓存行大小,以符号为单位(在现代硬件中通常为64)。这种索引通常比已知的最快FM索引快几倍(特别是对于长模式),然而空间需求是巨大的,理论上是$O(n\log^2 n)$位,实际上大约是$80n$ - $95n$字节。出于这个原因,我们称我们的方法为FM膨胀。第二个提出的变体需要$O(n\log n)$位空间。
2015-12-07 cs.DS
Optimally Computing Compressed Indexing Arrays Based on the Compact Directed Acyclic Word Graph
本文首次研究了从 CDAWG 转换为适用于高度重复文本的多种压缩索引结构的计算复杂度,并证明能在 $O(e)$ 最坏时间与工作空间内最优计算这些结构。
2023-08-04 cs.DS cs.FL cs.IR