Text Indexing and Searching in Sublinear Time
我们介绍了第一个索引,可以建立在$o(n)$时间的文本长度$n$,也可以在$o(q)$时间查询的模式长度$q$。在大小为$σ$的字母表上,我们的索引使用$O(n\sqrt{\log n\logσ})$位,在$O(n((\log\log n)^2+\sqrt{\logσ})/\sqrt{\log_σn})$确定性时间内构建,并计算模式在时间$O(q/\log_σn+\log n)$中出现的次数$\mathrm{occ}$。然后可以在$O(\sqrt{\log n\logσ})$时间中找到每个这样的出现。对于任何恒定的$0<\varepsilon<1/2$,通过将空间和构造时间分别稍微增加到$O(n(\sqrt{\log n\logσ}+ \logσ\log^\varepsilon n))$和$O(n\log^{3/2}σ/\log^{1/2-\varepsilon} n)$,我们可以找到$\mathrm{occ}$模式在时间$O(q/\log_σn + \sqrt{\log_σn}\log\log n + \mathrm{occ})$中的出现。我们建立在一个新的文本采样的基础上的差异覆盖,它享有的属性,使我们能够有效地计算最长的共同前缀在恒定的时间。我们扩展我们的研究结果的二级内存模型,以及,在那里我们给的第一个建设$o(\mathit{Sort}(n))$ I/O的数据结构与后缀数…
2019-07-15 cs.DS
Optimal-Time Text Indexing in BWT-runs Bounded Space
自世纪之交以来,索引高度重复的文本(如基因组数据库、软件库和版本化文本集合)已成为一个重要问题。重复文本的相关压缩性度量是$r$,即Burrows-Wheeler变换(BWT)中的运行次数。最早的重复集合索引之一,游程长度FM索引,使用$O(r)$空间,能够有效地计算文本中长度为$m$的模式的出现次数(使用当前技术,以每个模式符号的对数时间为单位)。然而,它无法在以$r$为界的空间内有效地定位这些事件的位置。从那时起,一些其他的索引与其他措施的重复性-在Lempel-Ziv解析短语的数量,生成文本的最小语法的大小,识别文本因素的最小自动机的大小-已被提出有效地定位,但不直接计数,出现的模式。在本文中,我们关闭这个长期存在的问题,展示了如何扩展的运行长度FM索引,使它可以有效地定位$occ$发生在$O(r)$空间(在对数时间每个),并达到最佳时间$O(m+occ)$内$O(r\log(n/r))$空间,在RAM机的$w=Ω(\log n)$位。在$O(r\log (n/r))$空间中,我们的索引也可以在最佳时间$O(m)$中计数。将空间提升到$O(r w\log_σ(n/r))$,我们支持在$O(m\log(σ)/w)$和$O(m\log(σ)/w+occ)$时间中进行计数和定位,这在打包设置中是最佳的,并且以前在压缩空间中没有获得。我们还描述了一个结构,使用$O(r\log(n/r…
2017-07-11 cs.DS
Text Indexing: From Reporting to Counting
CWI(荷兰数学与计算机科学研究学会);Vrije Universiteit(阿姆斯特丹自由大学);King’s College London(伦敦国王学院);Birkbeck, University of London(伦敦大学伯贝克学院);The Cyprus Institute(塞浦路斯研究所)
研究通过证明组合引理,将其应用于字符串后缀树,提出算法框架,存储频繁子串计数,利用报告查询计算不频繁子串,实现高效索引,支持多种字符串计数应用,提升查询时间。
2026-08-13 cs.DS
r*-indexing
该研究针对文本索引问题,提出一种基于BWT游程数之和$r^*$与LZ77短语数$z$的存储方案,实现了高效的模式匹配查询,包括报告所有出现位置及最左、最右出现位置。
2025-08-18 cs.DS
Data Structures for Range Sorted Consecutive Occurrence Queries
本文将间隙受限和 top-k 连续出现查询推广到文本子串范围模型,提出两种高效索引数据结构,并给出带权水平线段几何算法及连续出现与闭子串的联系。
2025-08-30 cs.CG cs.DS
Probabilistic Threshold Indexing for Uncertain Strings
字符串形成计算机系统中的基本数据类型。自从计算机科学诞生以来,字符串搜索一直被广泛研究。越来越多的应用程序必须处理不精确的字符串或字符串中的模糊信息。当字符串包含不确定性时,字符串匹配就变成了概率事件,即字符串的每个位置都可能有不同的可能字符,每个字符的出现概率都相关。这种不确定字符串在诸如生物序列数据、事件监测和自动ECG注释的各种应用中是普遍的。我们探讨的问题,索引不确定字符串,以支持高效的字符串搜索。在本文中,我们考虑两个基本问题的字符串搜索,即子串搜索和字符串列表。在子串搜索中,任务是在一个不确定的字符串中找到一个确定的字符串。我们制定的字符串列表问题的不确定字符串,其目标是输出所有的字符串从字符串的集合,包含可能发生的确定性查询字符串。这两个问题的索引解决方案是显着更具挑战性的不确定字符串比确定性字符串。给定构造时间概率值$τ$,我们的索引可以在线性空间中构造,并且对于概率阈值参数大于$τ$的任意值,支持在接近最佳时间的查询。据我们所知,这是第一个在不确定字符串中搜索的索引解决方案,它实现了强大的理论界,并支持概率阈值参数的任意值。我们还提出了一个近似的子串搜索索引,可以回答子串搜索查询的最佳时间与附加错误。我们进行实验来评估我们的指标的性能。
2015-09-29 cs.DB cs.DS
Gapped String Indexing in Subquadratic Space and Sublinear Query Time
本文研究间隙字符串索引的时空权衡,提出移位集合交集并证明其等价于 3SUM Indexing,通过归约首次实现多项式亚二次空间与亚线性查询时间,并改进 3SUM 报告和 Jumbled Indexing。
2024-03-05 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
Partial Data Compression and Text Indexing via Optimal Suffix Multi-Selection
考虑从无界字母表中提取的输入文本串T[1,N]。本文研究了基于后缀的数据压缩和文本索引问题中的部分计算,如(I)从T的Burrows-Wheeler变换中检索K<=N个连续符号的任何片段,以及(II)检索后缀数组或后缀树中K<=N个连续条目的任何块。以前的文献需要O(N log N)的比较(和时间)来解决这些问题,通过解决构建整个Burrows-Wheeler变换或T的文本索引的总问题,并执行后处理来挑选出想要的部分。我们引入了一种新的自适应方法来解决上述部分计算问题,并解决了O(K log K + N)比较和时间的部分问题,提高了K=O(N)的最佳运行时间O(N log N)。这些部分计算问题是密切相关的,因为它们共享一个共同的瓶颈:后缀多选择问题,即输出秩为r_1,r_2,.的后缀,r_1<r_2<... <r_K,r_i在[1,N]中。这个问题的特殊情况是众所周知的:K=N是后缀排序问题,它是弦乐学中的主力,有数百个应用程序,K=1是最近研究的后缀选择。我们证明了后缀多重选择可以在Theta(N log N - sum_{j=0} ^K Delta_j log Delta_j+N)时间和比较中解决,其中r_0=0,r_{K+1} =N+1,并且对于0<=j<=K,Delta_j= r_{j+1} -r_j。这是渐近最优的,并且也与[Dobkin,Munro,JACM 28(3…
2011-10-15 cs.DS
Space-Efficient String Indexing for Wildcard Pattern Matching
在本文中,我们描述了压缩索引,支持模式匹配查询字符串与通配符。对于固定大小的字母表,我们的数据结构使用$O(n\log^{\varepsilon}n)$位用于任何$\varepsilon>0$,并报告$O(m+σ^g \cdotμ(n) + \mathrm{occ})$时间内查询字符串的所有$\mathrm{occ}$出现,其中$μ(n)=o(\log\log\log n)$,$σ$是字母表大小,$m$是字母表符号的数量,$g$是查询字符串中查询符号的数量。我们还提出了一个$O(n)$位索引与$O((m+σ^g+\mathrm{occ})\log^{\varepsilon}n)$查询时间和$O(n(\log\log n)^2)$位索引与$O((m+σ^g+\mathrm{occ})\log\log n)$查询时间.这些是这个问题的第一个非平凡的数据结构,需要$o(n\log n)$位空间。
2014-01-03 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
Binary Jumbled Indexing: Suffix tree histogram
本文研究二进制乱序索引问题,证明游程数平均为 n/4 导致现有算法平均复杂度为二次方,并提出基于后缀树去重和向量化优化的 SFTree 算法,在保持相同理论复杂度下显著提升实际性能。
2024-12-30 cs.DS
Indexing Weighted Sequences: Neat and Efficient
在\emph{weighted sequence}中,对于序列的每个位置和字母表的每个字母,指定该字母在该位置出现的概率。加权序列通常用于表示不精确或不确定的数据,例如,在分子生物学中,它们以位置权重矩阵的名称而闻名。给定概率阈值$\frac1z$,如果$X$中位置$i,\ldots,i+m-1$处的$P$的字母的概率乘积至少为$\frac1z$,则我们说长度为$m$的字符串$P$出现在加权序列$X$中的位置$i$处。在这篇文章中,我们考虑一个\emph{indexing}变种的问题,在其中,我们要预处理一个加权序列,以回答多个模式匹配查询。我们提出了一个$O(nz)$ -时间结构的$O(nz)$ -大小的索引的加权序列的长度$n$在一个恒定大小的字母表,回答模式匹配查询的最佳,$O(m+Occ)$的时间,其中$Occ$是报告的发生次数。我们的数据结构的基石是一个新的构造家庭的$\lfloor z \rfloor$特殊字符串,携带的信息,发生在加权序列中的所有字符串具有足够的概率。我们获得了一个加权指数,其复杂性与Barton et al.(CPM 2016)之前已知的最有效指数相同,但我们的构造要简单得多。在我们的索引的基本形式所需的最复杂的算法工具是后缀树,我们使用它来开发一个新的,更简单的所谓的属性匹配问题的索引。我们提供了数据结构的实现。我们的构造还使我们能够显著改善Bis…
2017-08-25 cs.DS
Text Indexing and Pattern Matching with Ephemeral Edits
CWI, Amsterdam, The Netherlands(荷兰阿姆斯特丹CWI);Vrije Universiteit, Amsterdam, The Netherlands(荷兰阿姆斯特丹自由大学)
本文提出了一种基于瞬时编辑的文本索引与模式匹配方法,能够在动态编辑序列中高效支持模式匹配查询。
2026-01-07 cs.DS
Better Indexing for Rectangular Pattern Matching
针对矩形模式匹配索引构建问题,打破“无法达到类似正方形模式界”的普遍认知,提出一种简单结构:大小为O(nlogn)、查询时间O(m+klog^εn)(任意ε>0),且可在O~(n)时间内构建。
2025-08-24 cs.DS
Universal Compressed Text Indexing
重复数据集的兴起最近引起了人们对基于字典压缩的压缩自索引的兴趣,这是一个丰富而异构的家族,以不同的方式利用文本重复。对于每种这样的压缩方案,在过去二十年中已经提出了几种不同的索引解决方案。迄今为止,重复文本的最快索引是基于行程压缩的Burrows-Wheeler变换和紧凑有向非循环词图。另一方面,最节省空间的索引是基于Lempel-Ziv解析和语法压缩的。还没有提出更普遍的方案,如拼贴系统和宏观方案的索引。最近,Kempa和Prezza [STOC 2018]表明,所有字典压缩器都可以被解释为最小字符串吸引子的近似算法,即捕获所有不同子串的一组文本位置。从这个观察开始,在本文中,我们开发了第一个通用的压缩自索引,也就是说,第一个基于字符串吸引子的索引数据结构,因此可以建立在任何字典压缩文本表示的顶部。令$γ$为长度为$n$的文本的字符串吸引子的大小。我们的索引采用$O(γ\log(n/γ))$空间字,并支持在$O(m\log n + occ\log^εn)$时间内,对于任何常数$ε>0$,定位任何长度为$m$的模式的$occ$出现。特别是,这是一般宏观计划和大学系统的第一个指数。我们的研究结果表明,索引和压缩之间的关系比以前认为的要深得多:所有字典压缩器的核心的简单属性足以支持快速索引查询。
2018-09-06 cs.DS
Managing Unbounded-Length Keys in Comparison-Driven Data Structures with Applications to On-Line Indexing
本文提出了一种通用的技术,用于优化转换任何动态的数据结构,原子和不可分割的关键字的常数时间比较,到一个数据结构,处理无限长的关键字的比较成本不是一个常数。这些键的示例包括字符串、多维点、多精度数字、多键数据(例如~记录)、XML路径、URL地址等。该技术比以前的工作更通用,因为不需要特别利用的底层结构。唯一的要求是,插入的键必须标识它的前导键或后继键。使用所提出的技术,在线后缀树可以在最坏情况下的时间$O(\log n)$每输入符号(相对于摊销的$O(\log n)$时间每符号,通过先前已知的算法实现)。据我们所知,我们的算法是第一个实现$O(\log n)$最坏情况下的时间每输入符号。在结果后缀树中搜索长度为$m$的模式需要花费$O(\min(m\log |Σ|, m + \log n) + tocc)$时间,其中$tocc$是模式出现的次数。本文还描述了更多的应用,并展示了如何获得替代方法来处理后缀排序,动态最低共同祖先和顺序维护。
2013-06-03 cs.DS
Detecting $k$-(Sub-)Cadences and Equidistant Subsequence Occurrences
研究了等距子序列模式匹配问题。给定一个模式字符串$P$和一个文本字符串$T$,如果$P$是文本的一个子序列,使得$P$的连续符号在出现时是等间隔的,则我们说$P$是$T$的一个\emph{equidistant subsequence}。我们可以把等距终止问题看作是(子)终止的推广。我们给出了位并行算法,产生$o(n^2)$时间算法寻找$k$ -(子)节奏和等距序列。此外,$O(n\log^2 n)$和$O(n\log n)$时间算法,分别为等距和阿贝尔等距匹配的情况下$|P| = 3$,显示。该算法利用最近推出的一种技术,可以有效地计算卷积与线性约束。
2020-02-17 cs.DS
The Parameterized Suffix Tray
设$Σ$和$Π$是不相交的字母表,分别称为静态字母表和参数化字母表。如果在$Σ$上存在重命名双射$f$,并且在$Σ$上存在恒等的$Π$,并且将$x$的字符映射到$y$的字符,使得两个字符串变得相同,则称$Σ\cup Π$上的两个等长字符串$x$和$y$参数化匹配(p匹配)。在文本中找到给定模式的p-匹配出现的问题的索引版本是字符串匹配中的一个很好的研究课题。在本文中,我们提出了一种用于p匹配的最新索引结构,称为输入文本$T$的参数化后缀托盘,用$\mathsf{PSTray}(T)$表示。我们发现,$\mathsf{PSTray}(T)$占用$O(n)$空间,并支持模式匹配查询在$O(m + \log (σ+π) + \mathit{occ})$时间,其中$n$是$T$的长度,$m$是查询模式$P$的长度,$π$是$T$中$|Π|$的不同符号的数量,$σ$是$T$中$|Σ|$的不同符号的数量,$\mathit{occ}$是$P$在$T$中p匹配出现的数量。本文还介绍了如何利用参数化的$T$后缀树在$O(n)$时间内构造$\mathsf{PSTray}(T)$。
2021-02-04 cs.DS
Linear-size CDAWG: new repetition-aware indexing and grammar compression
在本文中,我们提出了一种新的方法,结合\emph{compact directed acyclic word graphs}(CDAWGs)和基于语法的压缩。这使我们得到一种高效的自索引,称为线性大小CDAWG(L-CDAWG),它可以用$O(\tilde e_T \log n)$位空间表示,允许对边缘标签进行$O(\log n)$ -时间随机访问和$O(1)$ -时间顺序访问,以及$O(m \log σ+ occ)$ -时间模式匹配。这里,$\tilde e_T$是$T$中最大重复的所有延伸的数目,$n$和$m$分别是文本$T$和给定模式的长度,$σ$是字母大小,$occ$是$T$中模式的出现次数。对于高度重复的文本,已知重复性度量$\tilde e_T$远小于文本长度$n$。对于常数字母表,我们的L-CDAWG实现$O(m + occ)$模式匹配时间与$O(e_T^r \log n)$位的空间,这提高了模式匹配时间Belazzougui等人。的游程长度BWT-CDAWG的系数为$\log \log n$,具有相同的空间复杂度。这里,$e_T^r$是$T$中最大重复的右延伸的数目。作为一个副产品,我们的结果给出了一种方法来构建一个SLP的大小$O(\tilde e_T)$为一个给定的文本$T$在$O(n + \tilde e_T \log σ)$时间。
2017-07-27 cs.DS
U-index: A Universal Indexing Framework for Matching Long Patterns
Brunel University London(布鲁内尔伦敦大学);Università di Palermo(巴勒莫大学);ETH Zurich(苏黎世联邦理工学院);King’s College London(伦敦国王学院);University of Maryland, College Park(马里兰大学帕克分校);Ca’ Foscari University of Venice(威尼斯卡福斯卡里大学);ISTI-CNR(意大利国家研究委员会信息科学技术研究所);CWI(荷兰数学和计算机科学研究学会);Vrije Universiteit, Amsterdam(阿姆斯特丹自由大学)
U-index通过在原始文本上增加少量额外空间,利用草图匹配和验证机制,实现高效长模式匹配,适用于计算生物学中的长读映射。
2025-05-27 cs.DS
Linear Time Construction of Cover Suffix Tree and Applications
本文提出了在整数字母表上以线性时间构造覆盖后缀树(CST)的算法,并基于对连续重叠出现的新刻画,将最短α-部分覆盖的计算复杂度从O(n log n)改进为O(n),同时给出了O(n)空间的重叠连续出现报告索引。
2023-08-08 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
Time-Space Trade-Offs for Lempel-Ziv Compressed Indexing
给定字符串$S$,\emph{compressed indexing problem}用于将$S$预处理为支持快速\emph{substring queries}的压缩表示。其目标是在支持快速查询的同时,使用相对于$S$压缩大小的很少空间。我们提出了一个压缩索引的Lempel-Ziv 1977压缩方案的基础上。我们得到以下时间-空间权衡:对于恒定大小的字母表;(i)使用$O(z\lg(n/z)\lg\lg z)$空间的$O(m + occ \lg\lg n)$时间,或(ii)使用$O(z\lg(n/z))$空间的$O(m(1 + \frac{\lg^εz}{\lg(n/z)}) + occ(\lg\lg n + \lg^εz))$时间。对于由$n$多项式约束的整数字母表;(iii)使用$O(z(\lg(n/z) + \lg\lg z))$空间的$O(m(1 + \frac{\lg^εz}{\lg(n/z)}) + occ(\lg\lg n + \lg^εz))$时间,或(iv)使用$O(z(\lg(n/z) + \lg^ε z))$空间的$O(m + occ(\lg\lg n + \lg^ε z))$时间,其中$n$和$m$分别是输入串和查询串的长度,$z$是输入串的LZ 77解析中的短语的数目,$occ$是查询在输入中出现的次数,$ε> 0$是一个任意小的常数。具体地,(i)以将…
2018-01-09 cs.DS
Real-Time Construction Algorithm of Co-Occurrence Network Based on Inverted Index
针对传统共现网络构建算法在大规模文本上时空复杂度高的问题,提出融合倒排索引与广度优先搜索的实时构建算法,并在 CSL 数据集上验证其显著性能优势。
2023-08-17 cs.DS cs.IR
Compact Enumeration of Maximal Closed Substrings in Run-Length Encoded Strings
Kyushu University(九州大学)
研究从字符串游程编码直接枚举最大封闭子串,引入紧凑族表示,证明\(O(m^2)\)个族有时必要且总是充分,借助后缀树等处理不同情况,能在特定时间和空间内列出所有最大封闭子串的紧凑表示。
2026-08-21 cs.DS
Single and multiple consecutive permutation motif search
令$t$是$[n]$上的置换(其将扮演{ \em文本}的角色),并且模式$p$是$[n]$的$m$不同整数$m\leq n$的序列。模式$p$出现在$t$中的位置$i$当且仅当$p_1... p_m$与$t_i... t_{i+m-1}$序同构,也就是说,对于所有$1 \leq k< \ell \leq m$,$p_k>p_\ell$当且仅当$t_{i+k-1}>t_{i+\ell-1}$。在文本$t$中搜索模式$p$在于识别$t$中$p$的所有出现。我们首先提出了一个向前的自动机,它允许我们搜索$p$在$t$在$O(m^2\log \log m +n)$时间。然后,我们引入了一个Morris-Pratt自动机表示的前向自动机,使我们能够减少这种复杂性,以$O(m\log \log m +n)$的价格,一个额外的摊销常数项的整数的文本。两个自动机都占用了$O(m)$空间。然后,我们扩展的问题,搜索一组模式,并表现出一个特定的Aho-Corasick算法。接下来,我们提出了一个次线性平均情况下搜索算法运行在$O(\frac{m\log m}{\log\log m}+\frac{n\log m}{m\log\log m})$时间,我们最终证明是最佳的平均。
2013-04-25 cs.DS
Position Heaps for Parameterized Strings
我们提出了一种新的索引结构参数化字符串,称为参数化位置堆。参数化位置堆适用于参数化模式匹配问题,其中如果存在从模式的符号到子串的符号的双射映射,则模式匹配文本的子串。我们提出了一个在线构造算法的参数化位置堆的文本,并表明我们的算法运行在线性时间相对于文本大小。我们还表明,通过使用参数化的位置堆,我们可以找到所有出现的模式在文本中的线性时间的产品的模式大小和字母表的大小。
2017-04-18 cs.DS
Optimal Random Access and Conditional Lower Bounds for 2D Compressed Strings
该研究针对二维数据压缩索引的次优问题,提出首个二维文法压缩字符串的最优随机访问数据结构,证明模式匹配条件下界及基本二维查询的硬度假设,建立二维与一维压缩索引复杂度的关联。
2025-10-22 cs.DS
Right-to-left online construction of parameterized position heaps
如果存在一个双射将一个字符串的字符映射到另一个字符串的字符,使得两个字符串变得相同,则称两个长度相等的字符串参数化匹配。参数化模式匹配问题是,给定两个字符串$T$和$P$,找出$T$中参数化匹配$P$的子串的出现次数. Diptarama等人[Position Heaps for Parameterized Strings,CPM 2017]提出了一种称为参数化位置堆的索引数据结构,并给出了从左到右的在线构造算法。本文提出了一种从右到左的参数化位置堆的在线构造算法。对于长度为$n$的文本串$T$,在两种分别大小为$σ$和$π$的字母表$Σ$和$Π$上,我们的构造算法在$O(n \log(σ+ π))$时间和$O(n)$空间中运行。我们的从右到左的参数化位置堆支持$O(m \log (σ+ π) + m π+ \mathit{pocc}))$时间的模式匹配查询,其中$m$是查询模式$P$的长度,$\mathit{pocc}$是要报告的出现次数。我们的建设和模式匹配算法是有效的Diptarama等人。的算法。
2018-08-03 cs.DS
Efficient Online String Matching Based on Characters Distance Text Sampling
在文本中搜索模式的所有出现是计算机科学中的一个基本问题,在许多其他领域,如自然语言处理,信息检索和计算生物学的应用。采样字符串匹配是最近推出的一种有效的方法,一方面,为了克服令人望而却步的空间要求的索引建设,并大大减少搜索时间的在线解决方案,另一方面。在本文中,我们提出了一种新的算法的采样字符串匹配问题的基础上,字符距离采样方法。其主要思想是在验证原始文本之前,对给定主元字符的连续出现之间的距离进行采样,然后在线搜索采样数据以查找采样模式的任何出现。从理论上证明了在适当的条件下,该方案可以同时获得线性最坏时间复杂度和最优平均时间复杂度.从实践的角度来看,我们的解决方案在实践中表现出次线性行为,并将在线搜索速度提高了9倍,使用有限的额外空间,其数量从文本大小的11%到2.8%,与以前的解决方案相比,增益高达50%。
2019-08-16 cs.DS
Indexing Strings with Utilities
本文提出实用字符串索引(USI)问题,通过基于 top-K 频繁子串的高效数据结构支持带效用值字符串的模式查询,并在十亿字母数据集上验证其准确性和比基线快最多 15 倍的查询性能。
2025-04-08 cs.DB cs.DS
Contextual Pattern Matching
University of Chile(智利大学)
本文针对重复字符串集合索引场景提出上下文模式匹配新查询,给出首个利用集合重复性相关空间的解决方案,实现了不同空间时间权衡,可高效查找指定上下文长度下的模式出现情况。
2026-08-19 cs.DS
Elastic Founder Graphs Improved and Enhanced
为模式匹配索引标记图是泛基因组学的核心挑战。Equi等人(Micromica,2022)开发了弹性创始人图($\mathsf{EFG}$),表示长度为$n$的$m$序列的比对,从字母表$Σ$加上特殊空位字符绘制:路径拼写原始序列或其重组。通过强制执行半无重复属性,$\mathsf{EFG}$允许用于线性时间模式匹配的多项式空间索引,突破了索引标记图的条件下界(Equi等人,SOFSEM 2021)。在这项工作中,我们提高了空间的$\mathsf{EFG}$索引回答模式匹配查询在线性时间,从线性的三个连续节点标签拼写的所有字符串的长度,线性的边缘标签的大小。然后,我们开发了线性时间构造算法优化不同的指标:我们改进现有的线性构造算法$O(mn)$,通过解决新的排他性祖先集问题的树,我们提出了,简化的无间隙设置,$O(mn)$时间的解决方案,最大限度地减少块高度,我们概括了替换块高度与前缀感知的高度。最后,为了展示框架的多功能性,我们开发了一个基于BWT的$\mathsf{EFG}$索引,并研究了如何编码和执行文档列表查询的一组路径的图形,报告哪些路径呈现给定的模式作为子串。我们提出的$\mathsf{EFG}$框架作为一个改进和增强版本的框架的无间隙设置,以及建设方法,是有效的,在任何设置有关的对齐序列的分割。
2023-03-09 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
Hardness of Frequency-Related Queries on Compressed Strings
Stony Brook University(石溪大学)
研究压缩字符串上频率相关查询,如秩查询和符号出现查询。通过建立条件下界,证明若用特定空间结构在多对数时间内回答此类查询,将意味着布尔矩阵乘法有更快算法,还扩展了下界范围并考虑了其他相关问题。
2026-07-09 cs.DS
Worst case efficient single and multiple string matching in the Word-RAM model
在本文中,我们探讨了字符串的单匹配和多匹配问题的最坏情况下的解决方案,在字RAM模型与字长w。在第一个问题中,我们必须基于长度为m的模式p在大小为sigma的字母表上构建一个数据结构,以便我们可以回答以下查询:给定长度为n的文本T,其中每个字符使用log(sigma)位进行编码,返回T中所有p出现的位置(在下文中,我们用occ表示报告出现的次数)。对于多模式匹配问题,我们有一个总长度为m的d个模式的集合S,对文本T的查询包括找到S中的模式在T中的所有出现的所有位置。由于文本的每个字符都使用log sigma位进行编码,并且我们可以在RAM模型中以恒定时间读取w位,因此我们假设我们可以在一个时间步长中读取文本的(w/log sigma)个连续字符。这意味着这两个问题的最快可能的查询时间是O((n(log sigma/w)+occ)。在本文中,我们提出了几个不同的结果,这两个问题接近最佳的查询时间。我们首先提出了两种不同的线性空间数据结构的第一个和第二个问题:第一个回答单一的模式匹配查询的时间为O(n(1/m+log sigma/w)+occ),而第二个回答多个模式匹配查询的时间为O(n((log d+log y+log log d)/y+log sigma/w)+occ),其中y是最短的模式在多模式匹配的情况下的长度。然后,我们将展示如何一个简单的应用程序的四个俄罗斯技术允许获得数据…
2011-01-14 cs.DS
Elastic-Degenerate String Matching with 1 Error
弹性简并弦是一个总长度为$N$的$n$有限弦集合的序列,用来表示一组相关的DNA序列,也称为泛基因组。ED字符串匹配(EDSM)问题在于报告ED文本中长度为$m$的模式的所有出现。这个问题最近受到了组合模式匹配团体的一些关注,最终产生了$\tilde{\mathcal{O}}(nm^{ω-1})+\mathcal{O}(N)$时间算法[Bernardini等人,SIAM J.计算2022],其中$ω$表示矩阵乘法指数,并且$\tilde{\mathcal{O}}(\cdot)$表示法抑制多对数因子。在$k$ -EDSM问题中,EDSM的近似版本,我们被要求报告所有模式出现最多$k$错误。$k$-EDSM可以在编辑距离下以$\mathcal{O}(k^2mG+kN)$时间求解,或者在汉明距离下以$\mathcal{O}(kmG+kN)$时间求解,其中$G$表示ED文本中的字符串的总数[Bernardini等人,Theor. Comput. Sci. 2020年]。不幸的是,$G$仅受$N$约束,因此即使对于$k=1$,现有算法在最坏情况下也在$Ω(mN)$时间内运行。本文证明了$1$-EDSM在编辑距离下可以在$\mathcal{O}((nm^2 + N)\log m)$或$\mathcal{O}(nm^3 + N)$时间内求解.对于决策版本,我们提出了一个更快的$\mathcal{…
2022-09-02 cs.DS
Hidden Words Statistics for Large Patterns
我们在这里研究所谓的子序列模式匹配,也被称为隐藏模式匹配,其中一个搜索给定的模式$w$的长度$m$作为子序列中的长度$n$的随机文本。感兴趣的量是作为子序列的$w$的出现次数(即,出现在不一定连续的文本位置中)。这个问题在入侵检测、痕迹重建、删除通道和基于DNA的存储系统中有着广泛的应用。在所有这些应用中,模式$w$具有可变长度。据我们所知,该问题仅针对固定长度的$m=O(1)$解决[Flajolet、Szpankowski和Vallée,2006]。在我们的主要结果,我们证明了$m=o(n^{1/3})$的子序列出现的次数是正态分布。此外,我们证明了在$w$的结构上的一些约束下,渐近正态性可以扩展到$m=o(\sqrt{n})$。对于由相同符号组成的特殊模式$w$,我们指出对于$m=o(n)$,连续数的分布要么是渐近正态分布,要么是渐近对数正态分布.我们猜想,这种二分法对所有的模式都是正确的。我们使用Hoeffding的投影方法的$U$ -统计来证明我们的研究结果。
2020-03-21 cs.DS math.PR
Position Heaps for Cartesian-tree Matching on Strings and Tries
Cartesian树模式匹配是最近引入的模式匹配方案,其检测具有与查询模式相似的结构的连续数据流中的片段。形式上,笛卡尔树模式匹配寻找文本串$S$的所有子串$S'$,使得$S'$的笛卡尔树与查询模式$P$的笛卡尔树一致。在本文中,我们提出了一个新的索引结构,这个问题称为笛卡尔树位置堆(CPH)。令$n$为输入文本字符串$S$的长度,$m$为查询模式$P$的长度,$σ$为字母表大小。我们发现,CPH的$S$,表示$\mathsf{CPH}(S)$,支持模式匹配查询在$O(m (σ+ \log (\min\{h, m\})) + occ)$时间与$O(n)$空间,其中$h$是高度的CPH和$occ$是模式出现的次数。我们展示了如何在$O(n)$工作空间的$O(n \log σ)$时间内构建$\mathsf{CPH}(S)$。此外,我们将问题扩展到文本是标记树(即Trie)的情况。给定一个trie $T$与$N$节点,我们表明,CPH的$T$,表示$\mathsf{CPH}(T)$,支持模式匹配查询的trie在$O(m (σ^2 + \log (\min\{h, m\})) + occ)$时间与$O(N σ)$空间。我们还展示了一个运行在$O(N σ)$时间和$O(N σ)$工作空间中的$\mathsf{CPH}(T)$的构造算法。
2021-08-14 cs.DS
Lempel-Ziv (LZ77) Factorization in Sublinear Time
本研究提出首个亚线性时间LZ77因子分解算法,打破近50年线性时间壁垒,同时构建高效索引解决其在线变体,在字符串处理领域具有重要理论意义。
2024-09-18 cs.DS
The Longest Run Subsequence Problem: Further Complexity Results
最长运行子序列是最近在基因组组装的支架阶段的背景下引入的问题(Schrinner等人,WABI 2020)。该问题要求给定字符串的最大长度子序列,其中每个符号最多包含一个游程(游程是连续相同符号的最大子串)。这个问题已经被证明是NP-难的,并且当参数是定义输入字符串的字母表的大小时,是固定参数易处理的。在本文中,我们进一步调查的问题的复杂性,我们表明,它是固定参数的易处理的,当它是参数化的运行在一个解决方案中,一个较小的参数。此外,我们调查的最长运行子序列的核化复杂性,我们证明了它不承认一个多项式核时,参数化的字母表的大小或运行的数量。最后,我们考虑了最长游程子序列的限制,当每个符号在输入字符串中最多出现两次时,我们证明了它是APX困难的。
2021-06-22 cs.CC cs.DS q-bio.GN
Space-Efficient Indexes for Uncertain Strings
针对不确定字符串索引空间开销过大的问题,提出一种预期大小为 $\mathcal{O}(\frac{nz}{\ell}\log z)$ 的空间高效索引,在保证较快查询速度的同时,将索引大小和构建空间缩减多达两个数量级。
2024-03-21 cs.DB cs.DS