Faster Compressed Quadtrees
真实世界的点集往往是聚集的,因此对每个点使用机器字是浪费的。在本文中,我们首先展示了如何使用$\Oh{1}$位每个节点的四叉树的紧凑表示可以打破这一限制的聚类点集,同时提供有效的范围搜索。然后,我们描述了一个新的紧凑的四叉树表示重路径分解的基础上,它支持查询速度比以前的紧凑结构。我们目前的实验证据表明,我们的结构在实践中是有竞争力的。
2021-12-08 cs.DS
Follow the Compressed Leader: Faster Online Learning of Eigenvectors and Faster MMWU
Microsoft Research(微软研究院);Princeton University(普林斯顿大学)
计算顶部特征向量的在线问题是机器学习的基础。在对抗和随机设置中,以前的结果(如矩阵乘法权重更新,遵循正则化领导者,遵循压缩领导者,块功率方法)要么实现最佳遗憾,但运行缓慢,要么以损失总遗憾中的$\sqrt{d}$因子为代价快速运行,其中$d$是矩阵维数。我们提出了一个$\textit{follow-the-compressed-leader (FTCL)}$框架,实现了最佳的遗憾,而不牺牲运行时间。我们的想法是将矩阵策略“压缩”到对抗设置中的3维或随机设置中的1维。这两个分别解决了两个开放的问题,关于设计的最佳和有效的算法的在线特征向量问题。
2017-09-18 cs.DS cs.LG math.OC
Faster Repetition-Aware Compressed Suffix Trees based on Block Trees
后缀树是字符学中的一种基本数据结构,但其空间占用率虽然是线性的,但却成为其应用中的一个重要问题。我们设计并实现了一个新的压缩后缀树,针对高度重复的文本,如大型基因组集合的相同物种。我们的后缀树树建立在块树上,块树是一种最近的Lempel-Ziv有界数据结构,它捕获了输入的重复性。我们使用块树来压缩后缀树的拓扑结构,并使用数据来增加块树节点,以加快后缀树导航。我们的压缩后缀树比以前的基于语法的重复感知后缀树稍大,但在时间上优于它们,通常是数量级。表示树拓扑的组件实现了与通用压缩树相当的速度,同时使用了少2.3- 10倍的空间,并且可能在其他场景中感兴趣。
2019-02-08 cs.DS
Faster STR-EC-LCS Computation
最长公共子序列(LCS)问题是字符串学中的一个核心问题,它寻找给定的两个字符串$A$和$B$的最长公共子序列。最近,Chen和Chao提出了一组四个约束LCS问题(称为广义约束LCS问题)[J. Comb. Optim,2011]。本文研究了不含子串的约束LCS(STR-EC-LCS)问题。如果$Z$是$A$和$B$中不包含$P$作为子串的最长公共序列之一,则称字符串$Z$是两个给定字符串$A$和$B$(不包括$P$)的STR-EC-LCS。Wang等人提出了一种动态编程解决方案,其在$O(mnr)$时间和空间中计算STR-EC-LCS,其中$m = |A|, n = |B|, r = |P|$ [Inf. Process.信件:2013年]。本文给出了STR-EC-LCS问题的一种新的解法。我们的算法在$O(n|Σ| + (L+1)(m-L+1)r)$时间内计算STR-EC-LCS,其中$|Σ| \leq \min\{m, n\}$表示在$A$和$B$中出现的不同字符的集合,并且$L$是STR-EC-LCS的长度。该算法比用于短/长STR-EC-LCS(即,$L \in O(1)$或$m-L \in O(1)$)的$O(mnr)$ -时间算法更快,并且对于所有情况至少与$O(mnr)$ -时间算法一样有效。
2020-01-16 cs.DS
CPMA: An Efficient Batch-Parallel Compressed Set Without Pointers
提出基于PMA的无指针批量并行压缩集合CPMA,通过优化缓存友好性克服更新与扫描的权衡,在批量插入和范围查询及动态图处理应用中均显著优于现有最先进方案。
2024-02-18 cs.DC cs.DS cs.PF
Faster fully compressed pattern matching by recompression
本文研究了一个完全压缩的模式匹配问题。压缩由直线程序(SLP)表示,即一种上下文无关文法,只生成一个字符串;该术语完全意味着模式和文本都以压缩形式给出。使用最近开发的局部再压缩技术来处理这个问题:重构SLP,使得模式和文本的子串以相同的方式在两个SLP中编码。为此,SLP被本地解压缩,然后以统一的方式重新压缩。该技术产生用于压缩模式匹配的O((n+m)log M)算法,假设M适合O(1)机器字,其中n(m)是文本(模式)的压缩表示的大小,而M是解压缩模式的大小。如果只有m+n适合O(1)机器字,则运行时间增加到O((n+m)log M log(n+m))。算法复杂度为O(n^2m)。
2013-06-25 cs.DS
Quadratic-time Algorithm for the String Constrained LCS Problem
最近提出了求两个主序列的最长公共子序列的问题(STR-IC-LCS)。它是约束最长公共子序列问题的一个变种。由于STR-IC-LCS问题的已知算法都是二次时间算法,本文提出的二次时间算法明显快得多。
2011-06-30 cs.DS
Faster Dynamic Compressed d-ary Relations
$k^2$树是一种成功的二元关系的紧凑表示,表现出稀疏性和/或聚类属性。它可以扩展到$d$维,在这里它被称为$k^d$树。表示归结为一个长位向量。我们表明,解释的$k^d$树作为一个动态特里的莫顿代码的点,而不是作为一个动态表示的位向量在以前的工作中所做的,产生的操作时间是低于动态位向量的下限,并在实践中提供了改进的时间性能。
2019-11-20 cs.DS
Approximating binary longest common subsequence in almost-linear time
最长公共子序列(LCS)是一个基本的字符串相似性度量,计算两个字符串的LCS是一个经典的算法问题。教科书上的动态规划算法给出了二次时间的精确算法,这在合理的细粒度复杂性假设下基本上是最好的,所以一个自然的问题是找到更快的近似算法。当输入是两个二进制字符串时,在线性时间中有一个简单的$\frac{1}{2}$近似:计算最长的公共全0或全1子序列。即使在真正的次二次时间中,是否有可能得到更好的近似值,这一点一直是开放的。Rubinstein和Song证明,在两个输入字符串长度相等的假设下,答案是肯定的。我们解决这个问题,推广他们的结果不等长的字符串,证明,对于任何$\varepsilon>0$,存在$δ>0$和$(\frac{1}{2}+δ)$ -近似算法的二进制LCS运行在$n^{1+\varepsilon}$时间。作为我们的结果和Akmal和Vassilevska-Williams的结果的结果,对于任何$\varepsilon>0$,存在在$n^{1+\varepsilon}$时间上的$q$ -ary字符串上LCS的$(\frac{1}{q}+δ)$ -近似。我们的技术建立在最近的工作Guruswami,他和李谁证明了新的界限容忍删除错误的纠错码。他们证明了一个组合的“结构引理”的字符串分类,他们根据自己的振荡模式。我们证明和使用的算法推广这个结构引理,这可能是独立的利益。
2023-02-09 cs.DM cs.DS math.CO
Efficient Fully-Compressed Sequence Representations
我们提出了一种数据结构,存储序列$s[1..n]$在字母表$[1..σ]$在$n\Ho(s) + o(n)(\Ho(s){+}1)$位,其中$\Ho(s)$是零阶熵的$s$。此结构支持查询\access、\rank \和\select,它们是许多其他压缩数据结构的基本构建块,在最坏情况下为时间$\Oh{\lg\lgσ}$和平均时间$\Oh{\lg \Ho(s)}$。最坏情况下的复杂度与以前的最佳结果相匹配,但这些结果是通过使用$n\Ho(s)+o(n\lgσ)$位的数据结构实现的。在高度可压缩的序列上,冗余的$o(n\lgσ)$位与编码数据的$n\Ho(s)$位相比可能是重要的。相反,我们的表示也压缩了冗余。此外,我们的平均情况复杂性是前所未有的。我们的技术是基于分区的字母相似的频率的字符。然后,对应于每个组的子序列可以使用快速未压缩表示进行编码,而不会损害整体压缩比,即使在冗余中。该结果还改进了其他几种数据结构的最佳当前压缩表示。例如,我们实现了$(i)$压缩冗余,保留最佳的时间复杂度,为最小的现有全文自索引; $(ii)$压缩排列$π$与时间为$π()$和$\pii()$改进为对数对数;和$(iii)$的第一个压缩表示的动态集合的不相交集。我们还指出了倒排索引,后缀数组,二进制关系和数据压缩器的各种应用。...
2012-04-02 cs.DS
Decompressing Lempel-Ziv Compressed Text
我们考虑使用尽可能接近输入的大小$z$的工作空间来解压缩长度为$n$的字符串$S$的Lempel-Ziv 77表示的问题。该问题的民间传说解决方案在$O(n)$时间内运行,但需要随机访问整个解压缩文本。另一种民间传说的解决方案是将LZ 77转换为大小为$O(z\log(n/z))$的语法,然后在线性时间内流式传输$S$。在本文中,我们表明,$O(n)$时间和$O(z)$工作空间可以实现恒定大小的字母表。在大小为$σ$的一般字母表上,我们描述了(i)对于任何$0\leq δ\leq 1$实现$O(n\log^δσ)$时间和$O(z\log^{1-δ}σ)$空间的折衷,以及(ii)实现$O(n)$时间和$O(z\log\log (n/z))$空间的解决方案。后一种解决方案,特别是,占主导地位的民俗算法的问题。更一般地说,我们的解决方案可以提取$S$的任何指定的子序列,而在线性运行时间和工作空间之上的开销很小。作为一个直接的推论,我们表明,我们的技术产生LZ 77压缩文本的模式匹配问题的改进结果。
2019-11-04 cs.DS
A Data-Structure for Approximate Longest Common Subsequence of A Set of Strings
给定一组$k$字符串$I$,它们的最长公共子序列(LCS)是具有最大长度的字符串,该字符串是$I$中所有字符串的子集。用于该问题的数据结构将$I$预处理为数据结构,使得可以更快地计算具有$I$的字符串的查询字符串集合$Q$的LCS。由于该问题对于任意$k$都是NP难的,因此我们允许一个错误,该错误允许某些字符被其他字符替换。我们用额外的输入$m$来定义问题的近似版本,它是描述输入的正则表达式(regex)的长度,近似因子是算法返回的regex中可能性数量的对数,除以具有最小可能性数量的对数regex。然后,我们使用树型数据结构来实现次线性时间LCS查询。我们还解释了如何将这个想法扩展到最长递增子序列(LIS)问题。
2021-01-12 cs.DS
Faster Dynamic Range Mode
在动态范围模式的问题,我们给出了一个序列$a$的长度由$N$界定,并要求支持元素插入,删除,和查询的最频繁的元素的连续子序列的$a$。在这项工作中,我们设计了一个确定性的数据结构,在最坏情况下的$\tilde{O}(N^{0.655994})$时间处理每个操作,从而打破了$O(N^{2/3})$每操作的时间障碍,这个问题。数据结构是通过将Williams和Xu(SODA 2020)中用于批量范围模式的思想与Min-Plus产品的新型数据结构变体相结合来实现的。
2020-04-19 cs.DS
Faster run-length compressed suffix arrays
该研究针对游程长度压缩后缀数组(RLCSA),通过修改其结构并应用新结果,将查找aP的SA区间的时间复杂度从O(log r_a + log log n)降至O(log r_a),同时不增加空间复杂度,还探讨了其对两级索引及最大精确匹配启发式方法的优化作用。
2025-04-19 cs.DS
Incongruity-sensitive access to highly compressed strings
本文提出了一种基于不一致性的高效访问高度压缩字符串中不可压缩子字符串的方法,通过构建特定数据结构实现快速访问。
2026-02-04 cs.DS
Solving Classical String Problems on Compressed Texts
在这里,我们研究字符串问题的复杂性作为一个程序的大小,产生输入的函数。我们考虑直线程序(SLP),因为所有的算法SLP生成的字符串可以应用于处理LZ压缩文本。主要结果是一个新的算法的模式匹配时,一个文本T和一个模式P的SLP(所谓的完全压缩模式匹配问题)。我们展示了如何找到第一次出现,计数所有出现,检查任何给定的位置是否在时间O(n^2m)内出现。这里m,n是生成相应P和T的直线程序的大小。然后,我们提出了多项式算法计算指纹表和压缩表示的所有覆盖(第一次),并找到一个给定的压缩字符串的周期(我们的算法比以前已知的更快)。另一方面,我们证明了计算两个SLP生成的字符串之间的汉明距离是NP-和coNP-困难的。
2006-04-13 cs.CC cs.DS
Faster Approximate Pattern Matching in Compressed Repetitive Texts
受即将增长的大规模,高度冗余的基因组数据库,我们研究的问题,压缩字符串数据库,同时支持快速随机访问,子串提取和模式匹配的基础字符串(S)。Bille等人(2011)最近展示了如何给定一个具有$r$规则的直线程序,用于长度为$n$的字符串$s$,我们可以构建一个$\Oh{r}$ -word数据结构,允许我们在$\Oh{\log n + m}$时间内提取长度为$m$的任何子串。他们还展示了,给定长度为$m$和编辑距离(k \leq m)的模式$p$,他们的数据结构如何支持在$\Oh{r (\min (m k, k^4 + m) + \log n) + \occ}$时间内找到$s$中与$p$近似匹配的所有\occ。Rytter(2003)和Charikar et al.(2005)证明了$r$总是至少是$s$的LZ 77解析中短语的个数$z$,并给出了用$\Oh{z \log n}$规则构建直线程序的算法。在本文中,我们给出了一个简单的$\Oh{z \log n}$字的数据结构,需要同样的时间为子串提取,但只有$\Oh{z \min (m k, k^4 + m) + \occ}$时间近似模式匹配。
2012-10-31 cs.DS
Faster Compact Top-k Document Retrieval
解决top-k文档检索的最优索引[Navarro and Nekrich,SODA 12]对于长度为m的模式需要O(m + k)时间,但对于n个符号的集合,其空间至少为80 n字节。我们减少到1.5n到3 n字节,O(m+(k+log log n)log log n)的时间,在典型的文本。该索引比以前最好的压缩解决方案快25倍,实际上最多需要5%的空间(在某些情况下只需一半)。除了用压缩的数据结构代替传统的数据结构外,我们的主要思想是用频率阈值代替后缀树采样来实现压缩。
2012-11-22 cs.DS cs.IR
Multivariate Fine-Grained Complexity of Longest Common Subsequence
我们重温了经典的组合模式匹配问题,找到一个最长的共同子序列(LCS)。对于长度为$n$的字符串$x$和$y$,教科书算法在时间$O(n^2)$中求解LCS,但是尽管已经花费了很多努力,但是没有$O(n^{2-\varepsilon})$时间算法是已知的。最近的工作确实表明,这样的算法将反驳强指数时间假设(SETH)[Abboud,Backurs,Vassilevska Williams + Bringmann,Künnemann FOCS'15]。尽管有二次时间的障碍,但40多年来,一个持久的科学兴趣继续为LCS及其变体产生快速算法。特别注意的是识别和利用输入参数,产生强次二次时间算法的特殊情况下的利益,例如,差异文件比较。这条研究路线一直成功地进行到1990年,当时重大的改进停止了。在本文中,使用细粒度复杂性的镜头,我们的目标是(1)证明缺乏进一步的改进和(2)确定是否LCS的某些特殊情况下承认比目前已知的更快的算法。为此,我们对LCS的多变量复杂性进行了系统的研究,并考虑了文献中先前讨论的所有参数:输入大小$n:=\max\{|x|,|y|\}$,较短字符串$m:=\min\{|x|,|y|\}$的长度,$x$和$y$的LCS的长度$L$,删除数$δ:= m-L$和$Δ:= n-L$,字母表大小,以及匹配对$M$和显性对$d$的数量。对于任何一类的实例,通过固定每个参数单独的输…
2018-03-02 cs.CC cs.DS
A compressed dynamic self-index for highly repetitive text collections
我们提出了一种新的压缩动态自索引高度重复的文本集合。签名编码是一种针对高度重复文本的压缩的动态自索引,并且具有对短模式的模式搜索缓慢的很大缺点。我们利用截断后缀树的思想改进了这一缺点,以更快的模式搜索,并提出了第一个压缩的动态自索引命名为TST索引,不仅支持快速模式搜索,但也动态更新操作的索引高度重复的文本。使用高度重复文本的基准数据集的实验表明,TST索引的模式搜索显着改善。
2018-04-24 cs.DS
Fine-Grained I/O Complexity via Reductions: New lower bounds, faster algorithms, and a time hierarchy
本文从细粒度复杂度(条件多项式下界)的角度出发,对I/O算法(最小化缓存未命中)进行了研究。具体来说,我们的目标是回答为什么稀疏图的问题是如此困难,为什么最长的公共子序列的问题得到了一个因素的高速缓存的大小乘以高速缓存行的长度,但没有更多的节省。我们从复杂性和细粒度复杂性中提取减少和技术,并将其应用于I/O模型,以生成新的(条件)下限以及更快的算法。我们还证明了存在的时间层次的I/O模型,这激励细粒度的减少。使用细粒度的减少,我们给出了一个算法,用于区分2与3的直径和半径,运行在$O(|E|^2/(MB))$缓存未命中,稀疏图,提高了以前的$O(|V|^2/B)$运行时间。我们给出了从半径和直径到Wiener指数和中值的新的约化。我们表现出有意义的减少之间的问题,在RAM模型中的线性时间的解决方案。这些缩减使用低I/O复杂度(通常为$O(n/B)$),因此有助于精确地捕获“I/O线性时间”$Θ(n/B)$和RAM线性时间$Θ(n)$之间的关系。我们生成新的I/O假设的基础上,提高稀疏图问题的运行时间在I/O模型的困难。我们创建的apturtures,目前最知名的算法单源最短路径(SSSP),直径和半径是最佳的。从这些I/O模型假设,我们表明,许多已知的减少字RAM模型可以自然地扩展到保持在I/O模型以及(例如,匹配最佳已知运行时间的最长公共子序列的I/O复杂度的下限)。最后,我们证…
2017-12-05 cs.CC cs.DS
Restructuring Compressed Texts without Explicit Decompression
我们考虑的问题{ \em重组}压缩文本没有显式解压缩。我们提出的算法,允许从任何基于语法的压缩算法产生的字符串$T$的压缩表示转换,表示由几个特定的压缩算法,包括LZ 77,LZ 78,行程长度编码,和一些基于语法的压缩算法。这些是第一个算法,实现运行时间多项式的大小压缩的输入和输出表示的$T$。由于我们考虑的大多数表示都可以实现指数压缩,因此在最坏的情况下,我们的算法理论上比任何首先解压缩字符串进行转换的算法都要快。
2011-07-14 cs.DS
Fast $q$-gram Mining on SLP Compressed Strings
我们提出了简单而有效的算法,用于计算$q$ -克频率的字符串表示在压缩的形式,即,作为一个直线程序(SLP)。给定一个表示字符串$T$的大小为$n$的SLP,我们提出了一个计算$T$中$q$ -gram出现频率的$O(qn)$时空算法.计算实验表明,我们的算法和它的变化是实用的小$q$,实际上运行速度更快的各种真正的字符串数据,相比,工作在未压缩文本的算法。我们还讨论了字符串数据的数据采掘和分类中的应用,我们的算法对此很有用。
2011-07-13 cs.DS
A Space-Efficient Algorithm for Longest Common Almost Increasing Subsequence of Two Sequences
本文研究两个序列的最长公共近似递增子序列问题,提出改进空间复杂度的动态规划算法,并进一步设计在匹配对数量较少时更快的算法。
2025-05-07 cs.DS
A Faster Implementation of Online Run-Length Burrows-Wheeler Transform
行程长度编码Burrows-Wheeler变换字符串的行程长度BWT(RLBWT)是处理高度重复字符串的一个强大工具。提出了一种新的运行压缩空间下的在线RLBWT算法,该算法在$O(n\lg r)$时间和$O(r\lg n)$空间中运行,其中$n$是到目前为止接收到的输入串$S$的长度,$r$是反向$S$在BWT中的运行次数.我们改进了最先进的在线RLBWT算法的经验建设时间。采用动态链表来维护全序,通过动态链表中标签的直接比较,可以代替动态小波树中对游程压缩串的秩查询。各种基准测试的实验结果表明,我们的算法的效率,特别是对高度重复的字符串。
2017-10-15 cs.DS
Efficient Compressed Wavelet Trees over Large Alphabets
{ \em小波树}是一种灵活的数据结构,它允许在压缩空间内表示大小为$σ$的字母表上的符号序列$S[1,n]$,并支持对$S$的各种操作。当与$n$相比,$σ$是显著的时,当前小波树表示引起显著的空间或时间开销。在这篇文章中,我们介绍了{ \em小波矩阵},这是一种大型字母表的替代表示,它保留了小波树的所有属性,但速度明显更快。我们还展示了如何小波矩阵可以被压缩到零阶熵的序列,而不牺牲,实际上提高,它的时间性能。我们的实验结果表明,小波矩阵优于所有的小波树变种沿空间/时间的折衷地图。
2014-05-06 cs.DS
Fast Compressed Tries through Path Decompositions
Tries是用于存储一组字符串的流行数据结构,其中公共前缀由公共根到节点路径表示。五十多年的使用产生了许多变体和实现,以克服它们的一些限制。我们探索新的简洁的表示路径分解尝试和实验评估相应的减少空间使用和内存延迟,与国家的art.We研究两种情况下的应用:(1)压缩字典(压缩)字符串,(2)单调最小完美哈希字符串,保持其字典顺序。对于(1),我们获得了在空间效率方面优于其他最先进的压缩字典的数据结构,同时获得了与从业者优选的数据结构竞争的可预测查询时间。在(2)中,我们的尝试比其他基于trie的单调完美哈希函数快几倍,而占用的空间几乎相同。
2011-12-03 cs.DS
Faster STR-IC-LCS computation via RLE
约束LCS问题要求在一定的约束条件下找到两个输入字符串$A$和$B$的最长公共子序列。STR-IC-LCS问题是约束LCS问题的变体,其中解必须包括给定的约束字符串$C$作为子串。给定两个长度分别为$M$和$N$的字符串$A$和$B$,以及一个长度至多为$\min\{M, N\}$的约束字符串$C$,Deorowicz(\em Inf. Process. Lett.},11:423--426,2012),以$O(MN)$时间运行。在这项工作中,我们提出了一个$O(mN + nM)$的时间解决方案的STR-IC-LCS问题,其中$m$和$n$表示的运行长度编码的$A$和$B$的大小,分别。由于$m \leq M$和$n \leq N$总是成立,我们的算法总是与Deorowicz的算法一样快,并且当输入字符串通过RLE可压缩时更快。
2017-03-15 cs.DS
Faster optimal univariate microgaggregation
本研究将单变量微聚合重新表述为凹最小权重子序列问题,提出了时间与空间复杂度均为 $O(n)$ 的改进算法,支持多种成本函数并在实际实验中验证了性能提升。
2024-01-04 cs.DS
Faster Rates for Compressed Federated Learning with Client-Variance Reduction
Princeton University(普林斯顿大学);KAUST(阿卜杜拉国王科技大学);Carnegie Mellon University(卡内基梅隆大学)
本文针对联邦学习中通信瓶颈与客户端方差问题,提出压缩且客户端方差缩减方法 COFIG 和 FRECON,在凸与非凸设定下均取得首个或更快的通信轮数收敛界,并通过实验验证其优于现有基线。
2023-09-24 cs.DC cs.DS cs.LG
Semi-local string comparison: algorithmic techniques and applications
字符串比较的一个经典度量是由一对字符串上的最长公共子序列(LCS)问题给出的。我们认为它的推广,称为半本地LCS问题,这自然会出现在许多字符串相关的问题。半局部LCS问题要求每个输入字符串相对于其他输入字符串的每个子字符串的LCS得分,以及每个输入字符串的每个前缀相对于其他输入字符串的每个后缀的LCS得分。这样的比较模式提供了比单个LCS分数更详细的字符串相似性图片;它也自然出现在许多字符串相关的问题中。事实上,半局部LCS问题被证明是字符串比较的基础,为经典的动态规划提供了一个强大而灵活的替代方案。当字符串比较问题的输入可能无法同时使用时,它特别有用:例如,比较动态变化的字符串;比较压缩的字符串;并行字符串比较。同样的方法也可以应用于置换字符串,为最长递增子序列(LIS)问题的局部版本提供有效的解决方案,以及计算圆图中的最大团的问题。此外,半局部LCS问题在一些看似无关的领域,如计算几何和半群代数中有着惊人的联系。本文致力于探索半局部LCS问题的结构、有效解及其在弦比较和计算分子生物学等相关领域的应用。
2013-11-23 cs.DM cs.DS
A Linear-Time $n^{0.4}$-Approximation for Longest Common Subsequence
我们考虑计算两个长度为$n$的字符串的最长公共子序列(LCS)的经典问题。虽然一个简单的二次算法已经知道的问题超过40年,没有更快的算法已被发现,尽管广泛的努力。缺乏进展的问题最近解释了阿布德,Backurs,和Vassilevska威廉姆斯[FOCS'15]和Bringmann和Künnemann [FOCS'15]谁证明了没有次二次算法,除非强指数时间假设失败。这使得社区寻找次二次近似算法的问题。然而,不像编辑距离问题,其中一个常数因子近似在几乎线性的时间是已知的,非常小的进展已经取得了LCS,使其成为一个众所周知的困难的问题,也在近似领域。对于一般的设置,对于任何常数$0 < \varepsilon \le 1$,只有一个运行时间为$\tilde{O}(n^{2-\varepsilon})$的朴素$O(n^{\varepsilon/2})$ -近似算法是已知的。最近,Hajiaghayi、Seddighin、Seddighin和Sun [SODA'19]的突破性结果提供了一种线性时间算法,该算法在预期中产生$O(n^{0.497956})$近似;首次改进了朴素的$O(\sqrt{n})$近似。在本文中,我们提供了一个算法,在时间$O(n^{2-\varepsilon})$计算$\tilde{O}(n^{2\varepsilon/5})$ -近似的概率很高,任何$0 < \va…
2021-06-15 cs.DS
Stronger L2/L2 Compressed Sensing; Without Iterating
我们考虑广泛研究的问题,$\ell_2/\ell_2$压缩感知。我们工作的主要贡献是改进[Gilbert,Li,Porat和Strauss,STOC 2010],具有更快的解码时间和显着更小的列稀疏性,回答了上述工作的两个开放问题。以前的工作亚线性时间压缩传感采用迭代过程,恢复阶段的沉重的坐标。我们完全脱离这个框架,并给出了第一个子线性时间$\ell_2/\ell_2$计划,实现了最佳的测量次数,而无需迭代,这种新的方法是我们的进展的关键一步。为此,我们满足$\ell_2/\ell_2$保证利用的方式,没有利用在以前的工作中的坐标的沉重。通过我们的技术,我们获得了各种稀疏恢复任务的改进结果,并指出可能的进一步应用领域中的问题,上述迭代过程中产生显着的障碍。
2019-03-07 cs.DS
Fast Compressed Self-Indexes with Deterministic Linear-Time Construction
我们介绍了一个压缩后缀数组表示,在一个文本$T$的长度$n$在一个字母表的大小$σ$,可以建立在$O(n)$确定性的时间,在$O(n\logσ)$位的工作空间,并计数的次数出现的任何模式$P$在$T$在时间$O(|P| + \log\log_w σ)$上的RAM机器的$w=Ω(\log n)$位字。这个新索引的性能优于所有其他可以在线性确定性时间内构建的压缩索引以及其他一些索引。唯一更快的索引只能在预期的线性时间内构建,或者需要$Θ(n\log n)$位。我们还表明,通过使用$O(n\logσ)$位,我们可以在线性时间内建立一个索引,在时间上计数$O(|P|/\log_σn + \log n(\log\log n)^2)$,这是RAM最佳的$w=Θ(\log n)$和足够长的模式。
2017-09-01 cs.DS
Faster Maximal Exact Matches with Lazy LCP Evaluation
针对 MONI 索引中 LCE 查询耗时问题,提出惰性评估 LCP 的变体,使处理时间由 MEM 数量界定并保持对数延迟。
2023-11-08 cs.DS
Pattern matching in Lempel-Ziv compressed strings: fast, simple, and deterministic
Lempel-Ziv压缩的无数变体广泛用于许多实际应用中。这篇论文关注的是经典的模式匹配问题的一个自然的修改,这是受到这种压缩方法的流行的启发:给定一个未压缩的模式s [1]。m]和字符串t [1.. n],s在t中发生吗?Farach和Thorup给出了这个问题的随机化O(nlog^2(N/n)+m)时间解,其中n是t的压缩表示的大小。我们改进了他们的结果,开发了一个更快的和完全确定的O(nlog(N/n)+m)时间算法具有相同的空间复杂度。请注意,对于高度可压缩的文本,log(N/n)可能是n阶,因此对于此类输入,改进非常显著。我们的方法的一个(微小的)片段可以用来给出Farach和Muthukrishnan考虑的子串哈希问题的渐近最优解。
2011-04-21 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
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
Dynamic Grammar-Compressed Self-Index in $δ$-Optimal Space
RIKEN Center for Advanced Intelligence Project(理化学研究所先进智能项目中心)
本文提出动态RR索引,首次在δ-最优空间内实现动态语法压缩自索引,支持高效插入删除和定位查询,优于现有动态索引。
2026-07-09 cs.DS
Faster Space-Efficient STR-IC-LCS Computation
本文研究字符串必须包含 P 为子串的 STR-IC-LCS 问题,提出三种兼顾时间与空间效率的动态规划算法,并给出多种复杂度界。
2024-05-19 cs.DS
Bounding the Average Move Structure Query for Faster and Smaller RLBWT Permutations
Department of Computer Science, Johns Hopkins University(约翰霍普金斯大学计算机系)
本文提出通过截断长区间来简化分裂方法,从而在保持最优查询时间的同时提升构造时间,并在理论和实践中展示出空间压缩和查询效率的改进。
2026-04-24 cs.DS
How Compression and Approximation Affect Efficiency in String Distance Measures
真实世界的数据通常以压缩形式出现。直接分析压缩数据(而不解压缩)可以节省大量的空间和时间。在这项工作中,我们专注于基本的序列比较问题,并试图量化的增益时,底层数据是高度可压缩的时间复杂度。我们考虑语法压缩,它统一了许多实际相关的压缩方案。对于总长度$N$和总压缩大小$n$的两个串,已知编辑距离和最长公共子序列(LCS)可以在时间上精确地计算$\tilde{O}(nN)$,这与未压缩设置的$O(N^2)$相反。许多应用需要同时比对多个序列,并且用于$k$字符串的中值编辑距离和LCS的已知最快精确算法在$O(N^k)$时间内运行。这自然提出了一个问题:压缩是否有助于显著减少$k \geq 3$的运行时间,可能是减少到$O(N^{k/2}n^{k/2})$或$O(Nn^{k-1})$。不幸的是,我们显示的下界,排除了任何改善超过$Ω(N^{k-1}n)$时间的任何这些问题假设强指数时间假设。同时,我们表明,近似和压缩在一起可以是令人惊讶的有效。我们开发了一个$\tilde{O}(N^{k/2}n^{k/2})$时间FPTAS的$k$序列的中值编辑距离。相比之下,没有$O(N^{k-Ω(1)})$时间PTAS已知的中值编辑距离的问题,在未压缩的设置。对于两个字符串,我们得到编辑距离和LCS的$\tilde{O}(N^{2/3}n^{4/3})$时间FPTAS。相比之下,对于未压缩的字符串,…
2021-12-10 cs.DS
FM-Indexing Grammars Induced by Suffix Sorting for Long Patterns
与FM索引中引入的向后搜索结合使用的游程压缩Burrows-Wheeler变换(RLBWT)是大多数压缩索引的核心,用于高度重复的数据集,如生物序列。与语法索引相比,RLBWT的大小通常要大得多,但是像计算长模式出现次数这样的查询可以比迄今为止任何现有的语法索引快得多。在本文中,我们结合了一个文法与RLBWT的优点,建立RLBWT上的一个特殊的文法基于诱导后缀排序。我们的实验表明,我们的混合方法优于经典的RLBWT的索引大小,并在生物数据集上的查询时间足够长的模式。
2021-10-04 cs.DS