Efficient Lyndon factorization of grammar compressed text
我们提出了一个算法计算的Lyndon分解的字符串,给出了语法压缩形式,即,一个直线程序(SLP)。该算法在$O(n^4 + mn^3h)$时间和$O(n^2)$空间中运行,其中$m$是林登因子分解的大小,$n$是SLP的大小,并且$h$是SLP的导出树的高度。由于解压缩的字符串的长度可以是指数级的,$n, m$和$h$,我们的结果是第一个多项式时间的解决方案时,字符串是SLP。
2013-04-26 cs.DS
Grammar Compressed Sequences with Rank/Select Support
序列表示不仅支持对其符号的直接存取,而且支持秩/选择操作,是许多压缩数据结构中的基本构建块。最近的几个应用程序需要表示高度重复的序列,经典的统计压缩证明是无效的。相反,我们介绍了基于语法的表示重复序列,使用统计压缩表示所需的空间的6%,并支持直接存取和排名/选择操作在几十微秒内。我们展示了我们的结构在文本索引应用程序的影响。
2019-11-21 cs.DS
Constant Delay Traversal of Grammar-Compressed Graphs with Bounded Rank
我们提出了一种基于指针的数据结构,用于边标记(字母表$Σ$)有向超图(一个图,其中的边可以是事件到两个以上的顶点,和事件的顶点是有序的)给定的超边替换文法$G$的边的常数时间遍历。假设文法具有固定秩$κ$(连接到非终结超边的顶点的最大数目),并且所表示的图的每个顶点在每个方向上至多与一个$σ$ -边关联($σ\in Σ$).预计算数据结构需要$O(|G||Σ|κr h)$空间和$O(|G||Σ|κrh^2)$时间,其中$h$是$G$的导出树的高度,而$r$是文法中出现的终端边的最大秩。
2019-07-24 cs.DS
The CDAWG Index and Pattern Matching on Grammar-Compressed Strings
本研究提出将CDAWG用作语法压缩字符串的索引,实现了高效模式匹配,实验验证其运行时性能达当前最优,且空间复杂度符合已知最优渐近界。
2024-07-11 cs.DS
Random Access to Grammar Compressed Strings
基于语法的压缩是一种简单而强大的范例,它可以捕获许多流行的压缩方案,其中一个人用生成字符串的小型上下文无关语法替换长字符串。在本文中,我们提出了一种新的语法表示,允许有效的随机访问任何字符或子串,而不解压字符串。令$S$为长度为$N$的字符串,该字符串被压缩为大小为$n$的上下文无关语法$\mathcal{S}$。我们提出了两种表示的$\mathcal{S}$实现$O(\log N)$随机访问时间,或$O(n\cdot α_k(n))$建设时间和空间上的指针机器模型,或$O(n)$建设时间和空间上的RAM。这里,$α_k(n)$是阿克曼函数的$k^{th}$行的逆。我们的表示也有效地支持解压缩的任何子串在$S$:我们可以在相同的复杂性作为一个单一的随机访问查询和额外的$O(m)$时间的长度$m$的任何子串。结合这些结果与快速算法的未压缩近似字符串匹配导致几个有效的算法近似字符串匹配的语法压缩字符串不解压。例如,我们可以找到模式$P$在时间$O(n(\min\{|P|k, k^4 + |P|\} + \log N) + occ)$上的所有近似出现,其中$occ$是$P$在$S$中出现的次数。最后,我们将我们的结果推广到导航和语法压缩有序树的其他操作。所有上述界限显着改善目前最知名的结果。为了实现这些界限,我们引入了几个新的技术和数据结构的独立利益,包括前身的数据结构,两个“有偏见的”…
2013-10-29 cs.DS
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
随着大量高维数据在研究和工业中的普遍存在,对用于数据分析和知识发现的更具可扩展性的计算技术的需求日益强烈。将这些数据转化为知识的关键是学习具有高度可解释性的统计模型的能力。当前用于学习统计模型的方法要么产生不可解释的模型,要么在应用于大量数据时具有令人望而却步的计算成本。在本文中,我们通过提出一种可扩展的偏最小二乘回归(PLS)算法来解决这一需求,我们称之为基于压缩的PLS(cPLS),以从大量高维数据中学习具有高度可解释性的预测线性模型。我们提出了一种新的语法压缩表示的数据矩阵,支持快速的行和列访问,而数据矩阵是在一个压缩的形式。对原始数据矩阵进行语法压缩,然后在压缩后的数据矩阵上学习PLS中的线性模型,从而大大减少了工作空间,极大地提高了可扩展性。实验测试了cPLS学习线性模型进行分类、回归和特征提取的能力,结果表明,cPLS在预测精度、计算效率和可解释性方面都具有较好的性能。
2016-06-16 cs.DS
GraCT: A Grammar based Compressed representation of Trajectories
我们提出了一个压缩的数据结构存储自由的移动对象(船舶在海上,例如)的轨迹,允许时空查询。我们的方法,GraCT,使用一个$k^2$树存储的绝对位置的所有对象在定期的时间间隔(快照),而快照之间的位置表示为日志的相对运动压缩与重新配对。我们的实验评估表明,相对于公平的基线,在空间和时间上节省了大量时间。
2016-12-10 cs.DS
On Two LZ78-style Grammars: Compression Bounds and Compressed-Space Computation
我们研究了两种密切相关的基于LZ 78的压缩方案:LZMW(Miller和Wegman的旧方案)和LZD(Goto等人的最新变体)。LZD和LZMW自然产生一个字符串的长度$n$的语法,我们表明,这种语法的大小可以大于最小的语法的大小的一个因素$Ω(n^{\frac{1}3})$,但总是在一个因素$O((\frac{n}{\log n})^{\frac{2}{3}})$。此外,我们表明,使用$Θ(z)$工作空间来构建LZD和LZMW解析的标准算法,其中$z$是解析的大小,在最坏的情况下工作在$Ω(n^{\frac{5}4})$时间。然后,我们描述了一个新的拉斯维加斯LZD/LZMW解析算法,使用$O (z \log n)$空间和$O(n + z \log^2 n)$时间WP。
2017-07-25 cs.DS
Grammar-compressed Self-index with Lyndon Words
我们引入了一类新的直线程序(SLP),命名为林登SLP,灵感来自林登树(Lyndon Trees,1990)。基于此SLP,我们提出了一种$O(g)$空间字的自索引数据结构,该数据结构可以从$T$在$O(n \lg n)$期望时间内的字符串建立,检索长度为$m$的模式$P$在$O(m + \lg m \lg n + occ \lg g)$时间内的所有出现的开始位置,其中$n$是$T$的长度,$g$是$T$的Lyndon SLP的大小,$occ$是$P$在$T$中出现的次数。
2020-04-27 cs.DS
Simulation computation in grammar-compressed graphs
像[1]一样,我们提出了一个算法来计算标记节点和未标记边的图中的查询模式的模拟。然而,我们的算法是在压缩的图语法上工作的,而不是在原始图上。与[1]中的算法相比,我们的算法的速度随着图的大小和压缩强度而增长。
2020-01-14 cs.DB cs.DS
Pattern Matching on Grammar-Compressed Strings in Linear Time
文本处理算法中考虑的最基本问题是模式匹配:给定长度为$m$的模式$p$和长度为$n$的文本$t$,$p$是否出现在$t$中?这个基本问题的多个版本已经被考虑过了,现在我们知道在实践和理论上都很快的算法。然而,生成和存储的数据量的快速增长带来了设计直接对数据的压缩表示进行操作的算法的需求。在压缩模式匹配问题中,我们给出文本的压缩表示,其中$n$是压缩表示的长度,$N$是文本的长度,以及长度为$m$的未压缩模式。最具挑战性的(但在处理高度重复的数据时也是相关的,比如生物信息)场景是当所选择的压缩方法能够描述指数长度的字符串时(在其表示的大小上)。这种压缩方法的一种优雅的形式是直线程序,它只是描述一个字符串的上下文无关文法。虽然已经知道对于这种压缩方法,压缩的模式匹配问题可以在$O(m+n\log N)$时间内解决,但是设计线性时间算法仍然是开放的。我们解决这个悬而未决的问题,提出了一个$O(n+m)$时间算法,给定一个上下文无关文法大小$n$,产生一个单一的字符串$t$和模式$p$的长度$m$,决定是否$p$出现在$t$作为一个子串。为此,我们设计改进的解决方案的加权祖先问题和子串连接问题。
2021-11-09 cs.DS
Compressed Indexing with Signature Grammars
压缩索引问题是将长度为$n$的字符串$S$预处理为支持模式匹配查询的压缩表示。也就是说,给定长度为$m$的字符串$P$,报告$S$中所有出现的$P$。我们提出了一种数据结构,支持模式匹配查询在$O(m + occ (\lg\lg n + \lg^εz))$时间使用$O(z \lg(n / z))$空间,其中$z$是$S$和$ε> 0$的LZ77解析的大小是一个任意小的常数,当字母表是小或$z = O(n^{1 - δ})$的任何常数$δ> 0$。我们还提出了两种数据结构的一般情况下,一个空间增加了$O(z\lg\lg z)$,和一个查询时间的变化从最坏的情况下预期。这些结果改进了以前最好的已知的解决方案。值得注意的是,这是第一个决定$P$是否在$O(m)$时间中使用$O(z\lg(n/z))$空间出现在$S$中的数据结构。我们的研究结果主要是通过一种新的随机语法构建算法与众所周知的技术相结合,模式匹配的2D范围报告。
2018-04-11 cs.DS
Speeding-up $q$-gram mining on grammar-based compressed texts
我们提出了一个有效的算法计算$q$ -gram频率的字符串表示在压缩的形式,即,作为一个直线程序(SLP)。给定表示字符串$T$的大小为$n$的SLP $\mathcal{T}$,算法通过将问题简化为大小为$m = |T|-\mathit{dup}(q,\mathcal{T})$的trie-like结构上的加权$q$-gram频率问题来计算$T$中所有$q$-gram的出现频率,其中$\mathit{dup}(q,\mathcal{T})$是表示SLP捕获的关于$q$ -gram的冗余量的量。简化后的问题可以在线性时间内求解。由于$m = O(qn)$,我们的算法的运行时间是$O(\min\{|T|-\mathit{dup}(q,\mathcal{T}),qn\})$,改进了我们以前的$O(qn)$算法时,$q = Ω(|T|/n)$。
2012-02-15 cs.DS
GraCT: A Grammar-based Compressed Index for Trajectory Data
我们引入了一种压缩的数据结构,用于存储移动对象(如船舶和飞机)的自由轨迹,有效地支持各种时空查询。我们的结构,被称为GraCT,存储的绝对位置的所有对象在定期的时间间隔(快照)使用$k^2$树,这是一个空间和时间效率的版本的区域四叉树。快照之间的位置表示为相对运动的日志,并使用基于语法的压缩器Re-Pair进行压缩。此语法的非终结符使用MBR信息进行了增强,以支持快速查询。数据集的GraCT结构比使用强大的传统压缩器(如p7 zip)压缩的原始数据占用更少。此外,GraCT支持直接存取对象轨迹或它们在特定时刻的位置,以及空间范围和关于时刻和/或时间间隔的最近邻查询,而不是像传统压缩器那样需要完全解压缩来访问数据。与传统的时空数据存储和索引方法相比,GraCT需要的空间少两个数量级,并且在查询时间上具有竞争力。特别地,由于其压缩表示,GraCT结构可以在任何经典的未压缩索引必须诉诸于磁盘的情况下驻留在主存中,从而快一个或两个数量级。
2019-11-11 cs.DS
Grammar compression with probabilistic context-free grammar
我们提出了一种新的通用无损文本压缩方法,基于语法压缩。在文献中,目标字符串$T$已被压缩为满足$L(G) = \{T\}$的乔姆斯基范式的上下文无关文法$G$。这种语法通常称为\emph{straight-line program}(SLP)。在本文中,我们认为概率文法$G$生成$T$,但不一定是唯一的元素$L(G)$。为了明确地恢复原始文本$T$,我们以压缩的形式保持语法$G$和从$G$中的开始符号开始的$T$的推导树。我们展示了一些简单的证据,证明我们的建议确实比SLP更有效的某些文本,无论是从理论和实践的角度来看。
2020-03-18 cs.DS
Rank, select and access in grammar-compressed strings
给定$σ$符号的固定字母表上的长度为$N$的字符串$S$,语法压缩器产生大小为$n$的上下文无关语法$G$,其生成$S$并且仅生成$S$。在本文中,我们描述的数据结构,以支持以下操作的语法压缩字符串:$\mbox{rank}_c(S,i)$(返回的符号$c$的出现次数之前的位置$i$在$S$); $\mbox{select}_c(S,i)$(返回的位置$i$的$c$在$S$);和$\mbox{access}(S,i,j)$(返回子字符串$S[i,j]$)。对于秩和选择,我们描述了支持$O(\log N)$时间中的两个操作的大小为$O(nσ\log N)$位的数据结构。我们提出了另一种结构,使用$O(nσ\log (N/n)(\log N)^{1+ε})$位,并支持在$O(\log N/\log\log N)$,其中$ε>0$是一个任意常数的两个查询。据我们所知,我们是第一个研究的渐进复杂性的排名和选择语法压缩设置,我们提供了一个硬度的结果表明,显着提高我们实现的界限将意味着一个重大突破的硬图论问题。我们的主要结果访问是一种方法,需要$O(n\log N)$位的空间和$O(\log N+m/\log_σN)$时间提取$m=j-i+1$连续符号从$S$。或者,我们可以使用$O(n\log (N/n)(\log N)^{1+ε})$位空间来实现$O(\log N/\log\log N+m…
2014-08-14 cs.DS
Practical Random Access to SLP-Compressed Texts
基于语法的压缩是一种流行且强大的压缩重复文本的方法,但直到最近,它在现实生活中构建时相对较差的时空权衡使得它对于真正的大规模数据集(如基因组数据库)不切实际。在最近的一篇论文(SPIRE 2019)中,我们展示了简单的预处理如何显着改善这些权衡,在本文中,我们将注意力转向使基于语法的压缩如此有吸引力的功能之一:支持快速随机访问的可能性。这是许多算法中的一个基本要素,这些算法处理语法压缩的文本而不解压缩它们,并且已经发表了许多关于它的理论界限,但实验已经落后了。我们给出了一种新的语法编码,它与现有技术的实际状态一样小(Maruyama等人,SPIRE 2013),但查询速度明显更快。
2020-07-19 cs.DS
Finger Search in Grammar-Compressed Strings
基于语法的压缩是一种简单而强大的范例,它可以捕获许多流行的压缩方案,其中使用生成字符串的小上下文无关文法替换长字符串。给定一个语法,随机访问问题是在压缩表示该语法的同时支持随机访问,也就是说,给定原始未压缩字符串中的一个位置,报告该位置的字符。本文研究了具有手指搜索性质的随机接入问题,即随机接入查询的时间依赖于指定索引$f$(称为\emph{finger})与查询索引$i$之间的距离.我们考虑静态变体,其中我们首先放置手指并随后有效地访问手指附近的索引,以及动态变体,其中还移动手指,使得时间取决于移动的距离。令$n$为语法的大小,令$N$为字符串的大小。对于静态变量,我们给出了一个线性空间表示,支持放置在$O(\log N)$时间的手指,并随后在$O(\log D)$时间访问,其中$D$是手指和访问的索引之间的距离。对于动态变量,我们给出了一个线性空间表示,支持放置在$O(\log N)$时间的手指和访问和移动的手指在$O(\log D + \log \log N)$的时间。与随机访问的最佳线性空间解决方案相比,我们改进了静态变量绑定到$O(\log D)$,动态变量绑定到$O(\log D + \log \log N)$的$O(\log N)$查询,同时保持线性空间。作为我们的结果的应用,我们得到了一个改进的解决方案的最长公共扩展问题的文法压缩字符串。为了获得我们的结果,我们引入…
2016-11-16 cs.DS
Detecting regularities on grammar-compressed strings
我们解决的问题,检测和计数的各种形式的字符串表示为一个直线程序(SLP)中的字符串。给定一个大小为$n$的SLP,它表示一个长度为$N$的字符串$s$,我们的算法在$O(n^3h)$时间和$O(n^2)$空间中计算$s$中的所有游程和平方,其中$h$是SLP的导出树的高度。我们还展示了一个算法来计算所有的间隙回文在$O(n^3h + gnh\log N)$时间和$O(n^2)$空间,其中$g$是间隙的长度。上述解决方案的关键技术还允许我们分别在$O(n^2 h)$时间和$O(nh(n+\log^2 N))$时间中计算字符串的周期和覆盖。
2013-04-26 cs.DS
Computing convolution on grammar-compressed text
长度为$N$的文本串$S$和长度为$m$的模式串$P$之间的卷积可以通过FFT在$O(N \log m)$时间内计算。众所周知,各种类型的近似字符串匹配问题都可以简化为卷积。在本文中,我们假设输入的文本字符串是在一个压缩的形式,作为一个\emph{straight-line program (SLP)},这是一个上下文无关的语法在乔姆斯基范式,推导出一个单一的字符串。给定大小为$n$的SLP $\mathcal{S}$描述长度为$N$的文本$S$,以及长度为$m$的未压缩模式$P$,我们提出了一个简单的$O(nm \log m)$时间算法来计算$S$和$P$之间的卷积。然后,我们表明,这可以提高到$O(\min\{nm, N-α\} \log m)$的时间,其中$α\geq 0$是一个值,表示的冗余量,SLP捕获的长度$m$子串。改进的关键是我们的新算法,在$O(r \log m)$时间内计算大小为$r$的trie和长度为$m$的模式串$P$之间的卷积。
2013-03-16 cs.DS
Compressed Tree Canonization
直线(线性)上下文无关树(context-free tree,简写为CWT)文法已经被用来压缩表示有序树。众所周知,等价文法在多项式时间内是可判定的。本文推广了这一结果,并证明了以文法形式给出的无序树的同构在多项式时间内是可判定的。该证明构造了由输入文法表示的树的规范形式的压缩版本。通过在多项式时间内对压缩树进行“重根”,将结果推广到无根树。我们进一步证明了无根无序树的互模拟等价是可判定的多项式时间。对于具有双指数压缩比的非线性同构文法,我们证明了无序同构是PSPACE-困难的且在EXPTIME中。相同的复杂性界限示出互模拟等价。
2015-02-16 cs.DS cs.FL
FM-Indexing Grammars Induced by Suffix Sorting for Long Patterns
与FM索引中引入的向后搜索结合使用的游程压缩Burrows-Wheeler变换(RLBWT)是大多数压缩索引的核心,用于高度重复的数据集,如生物序列。与语法索引相比,RLBWT的大小通常要大得多,但是像计算长模式出现次数这样的查询可以比迄今为止任何现有的语法索引快得多。在本文中,我们结合了一个文法与RLBWT的优点,建立RLBWT上的一个特殊的文法基于诱导后缀排序。我们的实验表明,我们的混合方法优于经典的RLBWT的索引大小,并在生物数据集上的查询时间足够长的模式。
2021-10-04 cs.DS
RePair in Compressed Space and Time
给定一个长度为$N$的字符串$T$,语法压缩的目标是构造一个仅生成$T$的小型上下文无关语法。在现有的语法压缩方法中,RePair(递归配对)[Larsson和Moffat,1999]在实践中以实现良好的压缩比而闻名。虽然原论文已经实现了一个时间最优的算法来计算RePair文法RePair($T$)在预期的$O(N)$时间内,但减少其工作空间,使其适用于大规模数据的研究仍在进行中。在本文中,我们提出了第一个在压缩空间中工作的RePair算法,即,潜在的$o(N)$空间用于高度可压缩的文本。其核心思想是给出一种新的方法,在压缩的空间和时间内将任意文法$S$ for $T$重构为RePair($T$)。基于再压缩技术,提出了一种在$O(\min(N, nm \log N))$空间和期望的$O(\min(N, nm \log N) m)$时间或$O(\min(N, nm \log N) \log \log N)$时间上的RePair($T$)算法,其中$n$是$S$的大小,$m$是RePair($T$)中的变量数.我们实现了我们的算法运行在$O(\min(N, nm \log N) m)$时间,并表明它实际上可以运行在压缩空间。我们还提出了一种新的方法,以减少现有的RePair算法结合我们的算法的峰值内存使用,并表明新的方法优于,无论是在计算时间和空间,最有效的空间线性时间RePair实…
2018-11-05 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
Restructuring Compressed Texts without Explicit Decompression
我们考虑的问题{ \em重组}压缩文本没有显式解压缩。我们提出的算法,允许从任何基于语法的压缩算法产生的字符串$T$的压缩表示转换,表示由几个特定的压缩算法,包括LZ 77,LZ 78,行程长度编码,和一些基于语法的压缩算法。这些是第一个算法,实现运行时间多项式的大小压缩的输入和输出表示的$T$。由于我们考虑的大多数表示都可以实现指数压缩,因此在最坏的情况下,我们的算法理论上比任何首先解压缩字符串进行转换的算法都要快。
2011-07-14 cs.DS
Improving Matrix-vector Multiplication via Lossless Grammar-Compressed Matrices
随着当今机器学习(ML)技术正在生成巨大的数据汇集,如何有效地设计其存储和操作的问题变得至关重要。在这篇文章中,我们提出了一个新的实值矩阵的无损压缩方案,实现有效的性能方面的压缩比和线性代数运算的时间。实验表明,作为一个压缩器,我们的工具是明显优于gzip,它通常是在20%的xz在压缩比方面。此外,我们的压缩格式支持与压缩表示的大小成比例的时间和空间中的矩阵向量乘法,不像gzip和xz需要完全解压缩压缩矩阵。据我们所知,我们的无损压缩器是第一个实现的时间和空间复杂度性相匹配的理论极限表示的$k$阶统计熵的输入。为了实现进一步的时间/空间减少,我们提出了一个新的列相似性得分上的列重排序算法。我们在ML矩阵的各种数据集上的实验表明,在适度的预处理时间下,我们的列重新排序可以在矩阵向量乘法期间进一步减少高达16%的峰值内存使用。最后,我们将我们的建议与最先进的压缩线性代数(CLA)方法进行比较,结果表明我们的运行速度总是至少快两倍(在多线程设置中),并且对于大多数测试数据集都实现了更好的压缩空间占用。这证实了实验证明有效的理论界限,我们展示了我们的压缩矩阵的方法。
2022-03-30 cs.DS
Grammar Boosting: A New Technique for Proving Lower Bounds for Computation over Compressed Data
本文提出了一种不依赖近似比且完全通用的Grammar Boosting技术,用于证明文法压缩数据上算法与数据结构的下界,并成功推导出多种主流压缩算法的随机访问时间下界及压缩计算的条件下界。
2023-07-17 cs.DS
Compact q-gram Profiling of Compressed Strings
我们考虑计算大小为$N$的字符串\str的q-gram配置文件的问题,该字符串由具有$n$产生式规则的上下文无关文法语法压缩。我们提出了一个算法,运行在$O(N-α)$预期的时间,并使用$O(n+q+\kq)$空间,其中$N-α\leq qn$是由算法解压缩的字符的确切数量和$\kq\leq N-α$是不同的q-gram在$\str$的数量。这同时匹配当前最佳已知时间界限并改进最佳已知空间界限。我们的空间界是渐近最优的,在这个意义上,任何算法存储的语法和q-gram配置文件必须使用$Ω(n+q+\kq)$空间。为了实现这一点,我们引入了q-gram图,它可以有效地捕获字符串的q-gram结构,并展示了如何从语法中构建它。
2014-06-06 cs.DS
A Grammar-based Compressed Representation of 3D Trajectories
已经发表了许多关于地面或海上轨迹管理的研究,但飞行轨迹的压缩或索引通常较少探索。然而,空中交通管理是一个挑战,因为空域变得越来越拥挤,并且必须保存大量飞行数据汇集并将其用于各种目的。本文提出了3DGraCT,一种新的方法来表示这些飞行轨迹。它扩展了GraCT紧凑数据结构,以处理第三维(海拔),同时保留其空间/时间复杂度。3DGraCT将传统时空数据结构的空间需求提高了两个数量级,在所考虑的查询类型中具有竞争力,甚至在特定查询的比较中领先。
2018-12-28 cs.DS
Counting on General Run-Length Grammars
提出一种数据结构,能在与 grammar 大小成正比的空间内,于 O(m log^{2+ε} n) 时间内计算任意 run-length context-free grammar 压缩文本中模式的出现次数,解决了 Christiansen 等人的开放问题并增强了压缩数据计算能力。
2025-01-28 cs.DS
Optimal Random Access and Conditional Lower Bounds for 2D Compressed Strings
该研究针对二维数据压缩索引的次优问题,提出首个二维文法压缩字符串的最优随机访问数据结构,证明模式匹配条件下界及基本二维查询的硬度假设,建立二维与一维压缩索引复杂度的关联。
2025-10-22 cs.DS
Random Access in Grammar-Compressed Strings: Optimal Trade-Offs in Almost All Parameter Regimes
Max Planck Institute for Informatics(马克斯·普朗克信息学研究所);Saarbrücken Graduate School of Computer Sciences(萨尔布吕肯计算机科学研究生院)
研究在语法压缩字符串中随机访问的最优折中,提出在不同参数下高效的数据结构,支持快速查询和扩展功能。
2026-05-12 cs.DS
Fast and Space-Efficient Construction of AVL Grammars from the LZ77 Parsing
语法压缩是仅次于Lempel-Ziv(LZ 77)和游程Burrows-Wheeler变换(RLBWT)的表示和处理高度可压缩字符串的最灵活的方法之一。其主要思想是将文本表示为上下文无关文法,其语言正是输入字符串。这就是所谓的直线文法(straight-line grammar,SLG)。一个AVL文法,由Rytter [Theor. Comput.科学,2003]是一种额外满足AVL属性的SLG类型:每个非终结符的子节点的解析树的高度最多相差1。与其他SLG结构相比,AVL语法可以在压缩时间内从LZ 77解析中构造:$\mathcal{O}(z \log n)$其中$z$是LZ 77解析的大小,$n$是输入文本的长度。尽管有这些优点,AVL文法被认为太大而不实用。我们提出了一种新技术,用于从LZ 77或类似LZ 77的解析快速构建小型AVL语法。我们的算法产生的文法总是比原始算法产生的文法小至少五倍,并且永远不会超过实际重新配对压缩器产生的文法大小的两倍[Larsson和Moffat,Proc. IEEE,2000]。我们的算法还实现了低峰值RAM使用。通过将该算法与LZ 77解析的最新进展相结合,我们表明,我们的方法有可能在其他方法所需的时间和峰值RAM的三分之一左右从LZ 77解析构建一个游程长度BWT。总的来说,我们表明,AVL语法是令人惊讶的实用,打开大门,更快地建设的关…
2021-05-24 cs.DS
LZ78 Substring Compression in Compressed Space
Joint Graduate School of Mathematics for Innovation, Kyushu University(九州大学数学创新联合研究生院);Department of Computer Science and Engineering, University of Yamanashi(山形大学计算机科学工程系)
本文提出了一种在压缩空间中实现子串压缩的算法,能够在查询时快速返回指定子串的LZ78因子分解。
2025-12-19 cs.DS
Compressed Subsequence Matching and Packed Tree Coloring
提出了一种新的文法压缩串的子序列匹配算法。给定一个大小为$n$的文法,在一个大小为$σ$的字母表上压缩一个大小为$N$的字符串和一个大小为$m$的模式字符串,我们的算法使用$O(n+\frac{nσ}{w})$空间和$O(n+\frac{nσ}{w}+m\log N\log w\cdot occ)$或$O(n+\frac{nσ}{w}\log w+m\log N\cdot occ)$时间。这里$w$是字的大小,而$occ$是模式出现的次数。我们的算法使用更少的空间比以前的算法,也是更快的$occ=o(\frac{n}{\log N})$发生。该算法使用了一种新的数据结构,使我们能够有效地找到下一次出现的一个给定的字符后,一个给定的位置在压缩字符串。该数据结构又基于树颜色问题的新数据结构,其中节点颜色被打包在位串中。
2014-06-05 cs.DS
Computing all-vs-all MEMs in grammar-compressed text
提出一种压缩感知方法,通过构建满足fix-free属性的完全平衡语法,在不解压的情况下增量计算重复集合中所有字符串间的最大精确匹配,并探讨了其在压缩空间近似模式匹配中的应用。
2023-06-29 cs.DS cs.IR
Dynamic Grammar-Compressed Self-Index in $δ$-Optimal Space
RIKEN Center for Advanced Intelligence Project(理化学研究所先进智能项目中心)
本文提出动态RR索引,首次在δ-最优空间内实现动态语法压缩自索引,支持高效插入删除和定位查询,优于现有动态索引。
2026-07-09 cs.DS
Hardness of Frequency-Related Queries on Compressed Strings
Stony Brook University(石溪大学)
研究压缩字符串上频率相关查询,如秩查询和符号出现查询。通过建立条件下界,证明若用特定空间结构在多对数时间内回答此类查询,将意味着布尔矩阵乘法有更快算法,还扩展了下界范围并考虑了其他相关问题。
2026-07-09 cs.DS
A Grammar Compression Algorithm based on Induced Suffix Sorting
我们介绍GCIS,这是一种基于Nong等人在2009年提出的归纳后缀排序算法SAIS的语法压缩算法。我们的解决方案建立在SAIS在后缀排序期间执行的因子分解的基础上。我们构造了一个上下文无关文法的输入字符串,它可以进一步减少到一个较短的字符串,通过取代每个子串由其相应的因子。由此产生的语法编码通过探索一些冗余,如后缀规则之间的共同前缀,这是根据SAIS框架排序。当比较知名的压缩工具,如重新配对和7-zip,我们的算法是有竞争力的,非常有效地处理重复字符串的压缩比,压缩和解压缩运行时间。
2017-11-08 cs.DS
Grammar-based Compression of Unranked Trees
我们引入森林直线程序(FSLP)作为一个压缩表示无序有序节点标记的树。FSLPs是基于森林代数的运算,推广了树直线程序。我们比较了FSLP的简洁性与其他两个压缩方案的未排名的树:顶部dags和树直线程序的第一个孩子/下一个兄弟编码。提供了这些形式主义之间的有效翻译。最后,我们表明,平等的unranked树中的设置,某些符号是关联的或可交换的,可以在多项式时间测试。这推广了以前的结果测试压缩无序排序树的同构。
2018-02-15 cs.DS cs.FL
LZBE: an LZ-style compressor supporting $O(\log n)$-time random access
Joint Graduate School of Mathematics for Innovation, Kyushu University(九州大学数学创新联合研究生院);Department of Informatics, Kyushu University(九州大学信息学系);Department of Information and Physical Sciences, Osaka University(大阪大学信息与物理科学系)
LZBE是一种支持O(log n)时间随机访问的LZ风格压缩方法,通过结构限制实现更高效的分解和查询。
2026-01-21 cs.DS
Dynamic index and LZ factorization in compressed space
本文针对动态文本$T$,提出了一种新的$O(w)$空间的\emph{dynamic compressed index},其中$w = O(\min(z \log N \log^*M, N))$是$T$的签名编码的大小,$z$是$T$的Lempel-Ziv 77(LZ 77)分解的大小,$N$是$T$的长度,$M \geq 3N$是字RAM模型下可以在常数时间内处理的整数.我们的索引支持在$O(|P| f_{\mathcal{A}} + \log w \log |P| \log^* M (\log N + \log |P| \log^* M) + \mathit{occ} \log N)$时间内在$T$中搜索模式$P$,并在$O((y+ \log N\log^* M)\log w \log N \log^* M)$时间内插入/删除长度为$y$的子串,其中$f_{\mathcal{A}} = O(\min \{ \frac{\log\log M \log\log w}{\log\log\log M}, \sqrt{\frac{\log w}{\log\log w}} \})$。此外,我们提出了一个新的空间有效的LZ 77分解算法的长度$N$,它运行在$O(N f_{\mathcal{A}} + z \log w \log^3 N (\log^* N)^2)$时间与$O(w)$工作空间的…
2016-07-19 cs.DS
Lempel-Ziv Computation In Compressed Space (LZ-CICS)
我们表明,无论是Lempel Ziv 77-和78-因式分解的文本长度$n$上的整数字母表的大小$σ$可以计算在$O(n \lg \lg σ)$时间(线性时间,如果我们允许随机化)使用$O(n \lg σ)$位的工作空间。假设后缀树的压缩表示被加载到RAM中,我们可以使用空间的$z \lg n + O(n)$位在$O(n)$时间内计算两个因子分解,其中$z$是因子的数量。
2016-05-28 cs.DS
Efficient terabyte-scale text compression via stable local consistency and parallel grammar processing
提出基于稳定局部一致性的并行文法压缩算法,实现太字节级数据高效处理,在7.9TB细菌基因组上以16线程九小时内完成压缩,体积缩小85倍。
2025-02-24 cs.DS
Dynamic index, LZ factorization, and LCE queries in compressed space
在本文中,我们提出了以下结果:(1)提出了一种新的$O(w)$空间的\emph{dynamic compressed index},它支持在$O(|P| f(M,w) + \log w \log |P| \log^* M (\log N + \log |P| \log^* M) + \mathit{occ} \log N)$时间内搜索当前文本中的模式$P$,在$O((y+ \log N\log^* M)\log w \log N \log^* M)$时间内插入/删除长度为$y$的子串,其中$N$是当前文本的长度,$M$是动态文本的最大长度,$z$是当前文本、$f(a,b) = O(\min \{ \frac{\log\log a \log\log b}{\log\log\log a}, \sqrt{\frac{\log b}{\log\log b}} \})$和$w = O(z \log N \log^*M)$的Lempel-Ziv 77(LZ 77)因子分解的大小。(2)针对给定长度的文本$N$,提出了一种新的空间有效的LZ 77分解算法,该算法在$O(w')$工作空间和$O(N f(N,w') + z \log w' \log^3 N (\log^* N)^2)$时间内运行,其中$w' =O(z \log N \log^* N)$ . (3)我们提出了一种$O(w)$空间的数据…
2016-04-06 cs.DS
Streaming Right Multiplication over Grammar-Compressed Matrices: A Memory-Bounded GPU Engine for Genotype and Graph Data
Sant’Anna School of Advanced Studies(圣安娜高等研究学院);University of Pisa(比萨大学)
研究在GPU内存受限场景下语法压缩矩阵右乘问题,提出基于特定有向无环图及分层语法的方法,实现流式评估,在基因型矩阵和软件遗产图上有空间优势、时间性能良好且能量较低。
2026-07-29 cs.DC cs.DS cs.MS
Online Grammar Compression for Frequent Pattern Discovery
在过去的十年中,已经提出了各种语法压缩算法。语法压缩是一种确定性地导出字符串的受限CFG。有效的语法压缩通过查找重复的模式并将其删除来开发更小的CFG。这一过程就是一个通过语法推理频繁发现模式的过程。虽然我们可以使用预处理的字符串在线性时间内获得任何频繁模式,但对于较长的模式需要巨大的工作空间,并且必须预先将整个字符串加载到内存中。我们提出了一个在线算法近似压缩空间内的这个问题。的主要贡献是以前最好的已知的近似比$Ω(\frac{1}{\lg^2m})$到$Ω(\frac{1}{\lg^*N\lg m})$,其中$m$是在一个字符串的长度$N$和$\lg^*$的最佳模式的长度是迭代的对数底$2$的改进。对于足够大的$N$,$\lg^*N$实际上是恒定的。实验结果表明,我们的算法提取接近最优的模式,并取得了显着改善的内存消耗相比,离线算法。
2016-08-31 cs.DS
Fast and memory-efficient BWT construction of repetitive texts using Lyndon grammars
本文提出基于Lyndon直线程序从压缩表示计算BWT和eBWT的算法,在大规模重复性数据集上实现了比现有方法更快且更省内存的构建过程。
2025-09-23 cs.DS
Ranked MSO-enumeration over compressed words
Universität Siegen(锡根大学)
本文研究在文法压缩字符串上,固定 MSO 查询的排名查询枚举问题,实现了线性预处理和常数延迟,并推广了 polyregular 函数的符号枚举结果。
2026-06-02 cs.DB cs.DS cs.LO
Tree structure compression with RePair
在这项工作中,我们引入了一个新的线性时间压缩算法,称为“重新对树”,压缩排序有序树使用线性直线上下文无关树文法。这样的文法推广了直线上下文无关的字符串文法,并允许基本的树操作,如沿边遍历,无需事先解压缩即可执行。我们的算法可以看作是N. Jesper Larsson和Alistair Moffat于2000年。后一种算法是一种基于字典的字符串压缩算法。我们还介绍了一个简洁的编码,这是专门在进一步压缩我们的算法产生的语法。这是在不损失直接对输入树的压缩表示执行查询的能力的情况下完成的。最后,我们比较的语法和输出文件所产生的原型的重新对树算法与类似的压缩算法。实验结果表明,该算法在压缩比、运行时间和内存使用方面均优于同类算法。
2010-07-30 cs.DS
Grammar Compression By Induced Suffix Sorting
在这项工作中,语法压缩算法,称为GCIS。GCIS基于Nong等人在2009年提出的诱导后缀排序算法SAIS。所提出的解决方案建立在由SAIS在后缀排序期间执行的因子分解的基础上。使用上下文无关文法将因子替换为非终结符。该算法,然后递归地应用于较短的序列的非终端。所得到的语法是通过利用一些冗余来编码的,例如根据SAIS排序的规则的右手之间的公共前缀。GCIS在获得有竞争力的压缩比的同时,压缩所需的空间和时间较低。我们对常规和重复的,中等和非常大的文本的实验表明,GCIS是一个非常方便的选择相比,众所周知的压缩器,如Gzip,7-Zip和RePair,在语法压缩的黄金标准。作为交换,GCIS的减压速度很慢。然而,语法压缩器比Lempel-Ziv压缩器更方便,因为可以直接以压缩形式访问文本子串,而无需解压缩文本。我们证明,GCIS是这种情况下的一个很好的候选人,因为它显示出其基于修复的替代品之间的竞争力。我们还显示,如何GCIS与SAIS的关系,使其成为一个很好的中间结构,以建立后缀数组和LCP数组在解压缩的文本。
2020-11-25 cs.DS
Engineering Fast and Space-Efficient Recompression from SLP-Compressed Text
本文首次实现压缩时间内运行的再压缩RLSLP构建,基于LZ77近似,相比非压缩方法实现46倍加速和17倍内存降低,为快速索引构建提供实用路径。
2025-10-23 cs.DS
Fully dynamic data structure for LCE queries in compressed space
对长度为$N$的文本$T$的最长公共扩展(LCE)查询要求从给定的两个位置开始的后缀的最长公共前缀的长度。我们表明,大小为$w = O(\min(z \log N \log^* M, N))$的签名编码$\mathcal{G}$ [Mehlhorn等人,198,1997],其可以被看作是$T$的压缩表示,具有在$O(\log N + \log \ell \log^* M)$时间内支持LCE查询的能力,其中$\ell$是查询的答案,$z$是$T$的Lempel-Ziv 77(LZ 77)因子分解的大小,并且$M \geq 4N$是可以在字RAM模型下在恒定时间内处理的整数。在压缩空间中,这在许多情况下是最快的确定性LCE数据结构。此外,可以增强$\mathcal{G}$以支持高效的更新操作:在$O(w f_{\mathcal{A}})$时间中处理$\mathcal{G}$之后,我们可以在$O((y+ \log N\log^* M) f_{\mathcal{A}})$时间中将长度为$y$的任何(子)字符串插入$T$的任意位置/从$T$的任意位置删除任何(子)字符串,其中$f_{\mathcal{A}} = O(\min \{ \frac{\log\log M \log\log w}{\log\log\log M}, \sqrt{\frac{\log w}{\log\log w}} \}…
2016-06-26 cs.DS
Optimal-Time Dictionary-Compressed Indexes
我们描述了第一个自我索引能够计数和定位模式发生在最佳时间内的空间范围内的最流行的字典压缩机的大小。为了实现这一结果,我们结合了几个最近的研究结果,包括\emph{string attractors} -新的组合对象,包括最知名的压缩性措施高度重复的文本-,和语法的基础上\emph{locally-consistent parsing}。更详细地,令$γ$为长度为$n$的文本$T$的最小吸引子的大小。$γ$是一个(渐近)下界的大小字典压缩器的基础上Lempel-Ziv,上下文无关的语法,和许多其他的。已知最小的吸引子文本表示使用空间$O(γ\log(n/γ))$,而我们最轻的索引在相同的渐近空间内工作。令$ε>0$是在构造时固定的适当小的常数,$m$是模式长度,$occ$是其文本出现的次数。我们的索引在$O(m+\log^{2+ε}n)$时间中计数模式出现,并在$O(m+(occ+1)\log^εn)$时间中定位它们。这些时间已经超过了大多数字典压缩索引的时间,同时在$O((m+occ)\,\textrm{polylog}\,n)$时间内为任何索引搜索获得最小的渐近空间。此外,通过将空间增加到$O(γ\log(n/γ)\log^εn)$,我们将定位时间减少到最佳$O(m+occ)$,并且在$O(γ\log(n/γ)\log n)$空间内,我们还可以计入最佳$O(m)$时间。以前没有获…
2019-09-04 cs.DS