Faster Average Case Low Memory Semi-External Construction of the Burrows-Wheeler Transform
Burrows Wheeler变换在数据压缩以及全文索引中有应用。尽管其重要的应用和各种现有的算法方法的构造的变换的大数据集仍然是具有挑战性的。本文提出了一种新的构造Burrows Wheeler变换的半外存储算法。如果有足够的内部存储器可用于保存输入文本的固定部分,则它能够在平均时间$O(n\log^2\log n)$的有限字母表上构造长度为$n$的输入文本的变换。在最坏的情况下,运行时是$O(n\log n \log\log n)$。算法在外部存储器中使用的空间量为$O(n)$位。在串行算法的基础上,我们还提出了一种在$p$处理器可用的情况下平均按时间运行的共享内存并行算法$O(\frac{n}{p}\max\{\log^2\log n+\log p\})$。
2016-04-22 cs.DS
Teaching the Burrows-Wheeler Transform via the Positional Burrows-Wheeler Transform
Burrows-Wheeler变换(BWT)经常在算法生物信息学的本科课程中教授,因为它是FM索引的基础,因此也是Bowtie和BWA等重要工具的基础。它的崇拜者认为BWT是一件美丽的事情,但是,尽管近三十年来有数千页关于它的文章,对于第一次看到它的本科生来说,它仍然经常像魔法一样。一些坚持下来的人后来被展示了位置BWT(PBWT),它在BWT之后20年出版。在本文中,我们认为,PBWT应该教{ \em之前}的BWT。我们首先使用PBWT与从右到左的基数排序的密切关系来解释如何将其用作一组字符串上的{ \em位置搜索}的快速且空间有效的索引(即,给定一个模式和一个位置,快速列出包含该模式的字符串)。然后我们观察到{ \em prefix search}(列出所有以该模式开头的字符串)是位置搜索的一个简单特例,对单个字符串的后缀进行前缀搜索等价于对该字符串进行{ \em substring search}(列出该模式在字符串中出现的所有起始位置)。简单地存储字符串后缀的PBWT是空间-{ \em低效}的,但是,即使在相当小的示例中,其大多数列几乎相同。不难证明,如果我们存储字符串循环移位的PBWT,而不是它的后缀,那么所有列都完全相同-并且等于字符串的BWT。因此,我们可以通过PBWT来教导BWT和FM索引。
2022-08-21 cs.DS
In-Place Bijective Burrows-Wheeler Transforms
Burrows-Wheeler变换(BWT)[Burrows和Wheeler,1994]的最知名的变体之一是双射BWT(BBWT)[Gil和Scott,arXiv 2012],其应用扩展的BWT(EBWT)[Mantaci等人,TCS 2007]到给定文本的林登因子的多集。由于EBWT是可逆的,BBWT是一个双射变换,在这个意义上,EBWT的逆图像恢复这个多集的林登因子,使原始文本可以通过排序这些因素在非递增的顺序。在本文中,我们提出了算法的建设或反BBWT的地方使用二次时间。我们还介绍了从BBWT到BWT的转换,反之亦然,(a)使用二次时间的就地转换,或者(b)使用带有$O(r \lg n)$位字的$O(n \lg r / \lg \lg r)$时间的游程长度压缩设置,其中$r$是BWT和BBWT中字符游程的总和。
2020-04-27 cs.DS
Burrows-Wheeler transform for terabases
为了避免将读段映射到参考基因组所引入的参考偏倚,生物信息学家正在研究用于分析测序基因组的无参考方法。随着大型项目对数千个个体进行测序,这就需要能够处理序列数据的工具。一个关键的方法是Burrows-Wheeler变换(BWT),它被广泛用于压缩和索引读取。我们提出了一个实用的算法,通过合并子集合的BWT来构建一个大型读取集合的BWT。使用我们的2.4 Tbp数据集,该算法可以在单个系统上合并600 Gbp/天,在游程编码的BWT之上使用30 GB的内存开销。
2016-01-14 cs.DS
Computing the Parameterized Burrows--Wheeler Transform Online
参数化字符串是字符串的一种概括,因为它们的字符来自两个不同的字母表,其中一个被认为是静态字符的字母表,另一个被认为是参数字符的字母表。如果在所有字符上存在双射,使得双射将一个字符串转换为另一个字符串,同时保持静态字符(即,其表现为静态字母表上的标识)。Ganguly等人[SODA 2017]提出了参数化Burrows-Wheeler变换(pBWT)作为Burrows-Wheeler变换的变体,用于空间高效的参数化模式匹配。在本文中,我们提出了一个算法,通过从右到左逐个读取给定输入字符串的字符来在线计算pBWT。我们的算法工作在$O(|Π| \log n / \log \log n)$摊销时间为每个输入字符,其中$n$和$Π$分别表示输入字符串的大小和参数字符的字母表。
2022-08-31 cs.DS
IBB: Fast Burrows-Wheeler Transform Construction for Length-Diverse DNA Data
提出新型外部算法IBB,通过右对齐、树结构和细粒度桶高效构建长度多样DNA数据的BWT,比现有最优算法快10%-40%且内存消耗具竞争力。
2025-02-03 cs.DS
Efficient pattern matching in degenerate strings with the Burrows-Wheeler transform
字母表$Σ$上的退化或不确定字符串是$Σ$的非空子集的序列。给定一个长度为$n$的退化串$t$,本文提出了一种基于Burrows-Wheeler变换的新方法,用于在长度为$Σ$、运行于$O(mn)$时间的$t$中搜索长度为$m$的退化模式.此外,它是一种混合模式匹配技术,适用于常规和退化字符串。一个退化字符串是保守的,如果它的非实心字母的数量是由一个固定的正常数$q$的上限,在这种情况下,我们表明,搜索的复杂性时间是$O(qm^2)$。实验结果表明,我们的方法在实践中表现良好。
2017-08-03 cs.DS
Burrows-Wheeler transform and LCP array construction in constant space
在这篇文章中,我们扩展了Crochemore等人提出的优雅的原地Burrows-Wheeler变换(BWT)算法(Crochemore等人,2015)。我们的扩展是双重的:我们首先展示了如何同时计算最长公共前缀(LCP)数组以及BWT,使用恒定的附加空间;然后我们展示了如何使用Elias编码直接在压缩表示中构建LCP数组,仍然使用恒定的附加空间并且没有渐近减速。此外,我们提供了一个时间/空间权衡我们的算法时,允许额外的内存。我们的算法运行在二次时间,如Crochemore等人。的,并支持的BWT和LCP阵列的有趣的属性,有助于我们的理解的时间/空间的权衡曲线建立索引结构。
2016-11-24 cs.DS
String Partition for Building Long Burrows-Wheeler Transforms
针对长串 BWT 构建耗时耗内存的问题,提出基于后缀数组前缀的字符串划分方法,并实现 partDNA,在真实基因组数据上以 IBB 获得时间与内存的新权衡,且适用于任意字母表。
2025-05-14 cs.DS
Fully-functional bidirectional Burrows-Wheeler indexes
给定一个字符串$T$的大小为$σ$的字母表,我们描述了一个双向的Burrows-Wheeler索引,需要$O(|T|\logσ)$位的空间,并支持添加\emph{and removal}的一个字符,在左侧或右侧的任何子串$T$,在恒定的时间。以前已知的使用相同空间的数据结构允许对$T$的任何子串进行常数时间添加,但是它们只能支持从$T$的特定子串中删除。我们还描述了一个索引,支持双向添加和删除$O(\log{\log{|T|}})$的时间,并占据了一定数量的字成比例的$T$的最大重复的左,右扩展的数量。我们使用这种全功能索引在小空间中实现双向、频率感知、可变阶的de Bruijn图,其阶数没有上限,并且支持在遍历过程中增加和减少阶数的自然标准。
2019-06-09 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
On Bijective Variants of the Burrows-Wheeler Transform
排序变换(ST)是Burrows-Wheeler变换(BWT)的一种改进。这两种转换都将长度为n的任意字映射到由长度为n的字和1到n之间的索引组成的对。BWT对输入单词的所有旋转共轭进行排序,而k阶ST仅使用前k个字母对所有此类共轭进行排序。如果两个共轭以长度为k的相同前缀开始,则旋转的索引用于平局打破。这两种转换都输出排序列表的最后一个字母的序列和排序列表中输入的索引。在本文中,我们讨论了BWT的一个双射变体(由于Scott),证明了它的正确性以及与Gessel和Littenauer(1993)以及Crochemore,Desarmenien和Perrin(2005)的其他结果的关系。此外,我们提出了一个新的双射ST的变体。
2009-08-03 cs.DS
On Extensions of Maximal Repeats in Compressed Strings
本文给出了压缩字符串中最大重复和最大对的几个子集的上界,并给出了最大对与游程Burrows-Wheeler变换之间的一个未知关系。这个关系被用来获得Burrows-Wheeler猜想的一个不同的证明,该猜想最近被Kempa和Kociumaka在“Resolution of the Burrows-Wheeler Transform Conjecture”中证明。本文证明了一个具有$z$ LZ ~(77)-因子而不具有$q$次幂的串$S$在游程长度Burrows-Wheeler变换中至多有$73(\log_2 |S|)(z+2)^2$游程,并且$S$的紧致有向无环字图中的弧数由$18q(1+\log_q |S|)(z+2)^2$自上而下有界.
2020-02-14 cs.DS
Inverting Parameterized Burrows-Wheeler Transform
本文研究参数化 Burrows-Wheeler 变换的可逆性问题,证明可从长度为 n 的 pBWT 在 O(n²) 时间和 O(n) 空间内恢复原始字符串(至多相差参数符号重命名)。
2025-05-09 cs.DS
Burrows Wheeler Transform on a Large Scale: Algorithms Implemented in Apache Spark
随着下一代测序(NGS)技术的快速发展,每天收集大量的“组学”数据并需要处理。索引和压缩大型序列数据集是这方面最重要的任务之一。在这里,我们提出了依赖于大数据技术的Burrows Wheeler变换的计算算法,即,Apache Spark和Hadoop我们的算法是第一个分发索引计算的算法,而不仅仅是输入数据集,允许充分利用可用的云资源。
2021-07-07 cs.DC cs.DS
Extending the Burrows-Wheeler Transform for Cartesian Tree Matching and Constructing It
本文针对笛卡尔树匹配索引构造中指针结构空间开销过大的瓶颈,提出一种紧凑空间且近线性时间的构造方法,并将其扩展为支持多循环文本的动态索引,用于发现与偏移和缩放无关的重复基序。
2024-11-19 cs.DS
Space-Efficient Computation of the LCP Array from the Burrows-Wheeler Transform
我们证明了在字母表[1,σ]上总大小为n的文本集合的最长公共前缀数组可以在O(n log σ)时间内从Burrows-Wheeler变换的集合中使用O(n log σ)位的输入和输出工作空间来计算。我们的结果改进(小字母表)和推广(字符串集合)以前的解决方案从贝勒等人,这需要O(n)位的额外工作空间。我们还展示了如何在相同的时间和空间范围内合并总大小为n的两个集合的BWT。我们算法的核心程序可以用来枚举后缀树区间在简洁的空间从BWT,这是独立的利益。我们的第一个算法在DNA字母表上的工程实现以每秒2.92兆字节的速率在RAM中使用每个碱基总共1.5兆字节来诱导短(100个碱基)读段的大(16 GiB)集合的LCP。我们的第二个算法以每秒1.7兆字节的速度合并两个8 GiB的短读段集合的BWT,并在RAM中使用每个碱基0.625兆字节。该算法的扩展也计算合并集合的LCP阵列,以每秒1.48兆字节的速率处理数据,并在RAM中使用每个碱基1.625兆字节。
2019-01-22 cs.DS
A Big Data Approach for Sequences Indexing on the Cloud via Burrows Wheeler Transform
University of Palermo(巴勒莫大学)
索引序列数据在精准医学的背景下非常重要,每天必须收集和分析大量的“组学”数据,以便对患者进行分类并确定最有效的治疗方法。在这里,我们提出了一种依赖于大数据技术的Burrows Wheeler变换计算算法,即,Apache Spark和Hadoop我们的方法是第一个分发索引计算而不仅仅是输入数据集的方法,允许充分利用可用的云资源。
2020-07-20 cs.AI cs.DC cs.DS
On Arithmetically Progressed Suffix Arrays and related Burrows-Wheeler Transforms
我们的特点是这些字符串的后缀数组是基于等差数列,特别是,算术进展的置换,其中所有对连续条目的置换具有相同的差异模各自的字符串长度。我们表明,算术进展置换$P$符合后缀数组的一元,二进制或三进制字符串。我们进一步分析了一个给定的$P$的条件下,我们可以找到一个唯一定义的字符串,无论是二进制或三进制字母表有$P$作为其后缀数组。对于二进制的情况下,我们将其连接到较低的克里斯托弗的话,平衡的话,斐波那契的话。除了解决算术进展后缀数组问题,我们给出了解决这个问题的字符串的Burrows-Wheeler变换的形状。这些结果为今后的研究指明了方向。
2021-07-06 cs.DS cs.FL math.CO
High-performance BWT-based Encoders
1994年,Burrows和Wheeler开发了一种数据压缩算法,该算法的性能明显优于基于Lempel-Ziv的算法。从那时起,人们做了大量的工作来改进他们的算法,该算法基于输入字符串的可逆变换,称为BWT(Burrows-Wheeler变换)。在本文中,我们提出了一种基于BWT,MTF(移动到前端编码)的压缩方案,以及[Dragos Trinca,ITCC-2004]中提出的算法的一个版本。
2005-08-21 cs.DS
Resolution of the Burrows-Wheeler Transform Conjecture
Burrows-Wheeler变换(BWT)是一种可逆的文本变换,它根据文本后缀的词典顺序排列文本的符号。BWT是流行的无损压缩程序(例如bzip 2)以及最近强大的压缩索引(例如$r$ -index [Gagie等人,J. ACM,2020]),现代生物信息学的核心。BWT的压缩比通过相等字母运行的数量$r$来量化。尽管BWT的实际意义,没有非平凡的界限值的$r$是已知的。这与几乎所有其他已知的压缩方法相反,其大小已经被证明总是在来自$z$的${\rm polylog}\,n$因子(其中$n$是文本的长度)内,文本的Lempel-Ziv(LZ 77)解析的大小,或者在最坏情况下显著更大(对于$\varepsilon > 0$,通过$n^{\varepsilon}$因子)。在本文中,我们证明了$r = \mathcal{O}(z \log^2n)$适用于每一个文本。这一结果对文本索引和数据压缩有许多含义;例如:(1)它证明了许多与BWT相关的结果自动适用于基于LZ 77的方法,例如,可以在$\mathcal{O}(z\,{\rm polylog}\,n)$空间中获得后缀树的功能;(2)它表明,假设文本可以使用LZ 77通过足够大的${\rm polylog}\,n$因子压缩,则可以在最佳时间内解决许多文本处理任务;(3)它暗示了文本的BWT中的游程数与其逆游程数之间的第一个非平凡关…
2020-11-17 cs.DS
Merging RLBWTs adaptively
Faculty of Computer Science, Dalhousie University(达尔豪斯大学计算机科学学院)
本文提出一种在O(r)空间和O((r+L)log(m+n))时间内合并两个RLBWTs为eBWT的方法,其中m,n为未压缩字符串长度,r为最终eBWT的运行数,L为不可约LCP值之和。
2026-04-15 cs.DS
$r$-indexing Wheeler graphs
设$G$是一个Wheeler图,$r$是$G$的Burrows-Wheeler变换中的游程数,并假设$G$可以分解为$\upsilon$边不相交的有向路,其内部顶点的入度和出度均为1.我们展示了如何存储$G$在$O (r + \upsilon)$空间,这样以后,给定一个模式$P$,在$O (|P| \log \log |G|)$的时间,我们可以计算$G$的顶点可达的有向路径标记$P$,然后报告这些顶点在$O (\log \log |G|)$时间每个顶点。
2021-01-29 cs.DS
On the compressiveness of the Burrows-Wheeler transform
本文研究了BWT和BBWT的压缩性,证明其聚类效应可由多种度量捕捉且不显著增加字符串重复性,并发现对特定不可压缩字符串族,先应用BBWT可超越字典压缩极限。
2024-11-18 cs.DM cs.DS
A Bijective String Sorting Transform
给定一个字符串,Burrows-Wheeler变换重新排列其中的字符,以便产生另一个相同长度的字符串,该字符串更适合于压缩技术,例如移动到前面,行程长度编码和熵编码器。我们提出了一个变体的变换,它产生类似或更好的压缩值,但是,与原来的不同,我们提出的变换是双射的,因为逆变换存在于所有字符串。我们的实验表明,使用我们的变形的变换产生更好的压缩比比原来的Burrows-Wheeler变换。我们还表明,无论是变换和它的逆可以计算在线性时间和消耗线性存储。
2012-01-15 cs.DS
Decomposing Words for Enhanced Compression: Exploring the Number of Runs in the Extended Burrows-Wheeler Transform
本文研究单词分解方式对扩展 Burrows-Wheeler 变换中游程数的影响,证明分解数量呈指数级,并构造出最差与最佳分解游程数之比无界的无限单词族,揭示分解选择对压缩性能的潜在代价。
2025-06-05 cs.DM cs.DS cs.FL
Successor-bispecial strings with minimum Burrows--Wheeler transform runs
Postgraduate Program in Informatics, Federal University of Paraná(巴拉那联邦大学信息学研究生项目);Federal University of Technology – Paraná(巴拉那联邦技术大学)
研究字母表上后继右特殊字符串的最小BWT游程数,构造了阶为3的显式族,其游程数为σ²+2,并分析了χ/r比值的界。
2026-06-18 cs.DS
Large-scale compression of genomic sequence databases with the Burrows-Wheeler transform
Burrows-Wheeler变换(BWT)是许多文本数据压缩和索引算法的基础,但是计算非常大的字符串集合的BWT的成本阻止了这些技术被广泛应用于DNA测序实验中经常遇到的大量序列。在以前的工作中,我们提出了一种新的算法,使人类基因组规模的数据的BWT计算非常温和的硬件,从而使我们能够调查的BWT作为一种工具,用于压缩这样的数据集。结果我们首先使用模拟读段来探索压缩水平与出错率、读段长度和底层基因组采样水平之间的关系,并比较第二阶段压缩算法的选择。我们证明,压缩可以大大提高了一个特定的重新排序的序列中的集合,并给出了一种新的“隐式排序”的策略,使这些好处能够实现,而无需读取排序的开销。通过这些技术,45倍的真实人类基因组序列数据覆盖率将损失压缩到每个碱基0.5位以下,允许135.3Gbp的序列仅适合8.2Gbytes的空间(从读取中修剪一小部分低质量碱基进一步改善压缩)。这比标准的基于BWT的压缩器(bzip 2)在未修剪的读段上实现的大小小4倍以上,但是我们的方法的另一个重要优点是,它有助于构建压缩的全文索引,例如大规模DNA序列集合上的FM索引。
2012-05-11 cs.DS q-bio.GN
Generalized De Bruijn Words, Invertible Necklaces, and the Burrows-Wheeler Transform
本文定义广义 de Bruijn 词与可逆项链,证明其分别对应广义 de Bruijn 图 Hamilton 圈和有限域正规基,并建立二者间的代数对应。
2025-07-29 cs.DM cs.DS cs.FL
Bit catastrophes for the Burrows-Wheeler Transform
本文研究 BWT 的单字符比特灾难,构造使游程数 $r$ 分别增加 $Θ(\log n)$ 和 $Θ(\sqrt{n})$ 的字符串族,达到乘法上界并改进加性下界。
2025-06-09 cs.DM cs.DS
A New Class of Searchable and Provably Highly Compressible String Transformations
Burrows-Wheeler变换是一种字符串变换,对于自索引压缩数据结构的设计起着基础作用。多年来,研究人员已经成功地将这种转换扩展到了弦的领域之外。然而,试图找到25岁的Burrows-Wheeler弦变换的非平凡替代品的努力取得了有限的成功。在本文中,我们通过引入一个全新的具有BWT所有无数优点的变换家族来为这一领域带来新的淋巴:它们可以在线性时间内计算和反转,它们产生可证明的高度可压缩字符串,并且它们直接支持在变换后的字符串上进行线性时间模式搜索。这个新的家庭是一个特殊的情况下,一个更一般的类的转换的基础上上下文自适应字母排序,这里介绍的概念。这个更一般的类还包括交替BWT,另一个可逆的字符串变换最近引入的林登词的泛化。
2019-02-04 cs.DS
Novel Results on the Number of Runs of the Burrows-Wheeler-Transform
本文研究字符串BWT游程数与其逆串BWT游程数的比值ρ(v),构造出满足ρ(v)=Θ(log n)的无穷二元字符串族,给出ρ(n)的首个非平凡下界,表明r并非理想的字符串重复性度量。
2020-08-19 cs.DS cs.FL
On the combinatorics of suffix arrays
我们证明了后缀数组的几个组合性质,包括通过双射与一定的定义良好的一类置换后缀数组的表征。我们的方法是基于[1]中给出的Burrows-Wheeler阵列的特征,我们通过使用额外的哨兵符号将后缀排序减少到循环移位排序来应用。我们证明了[2]中给出的二进制字母表的一个特殊情况的后缀数组的特征很容易从我们的特征。基于我们的结果,我们还对文[3]中关于后缀数组的计数结果提供了简单的证明。我们的方法来表征后缀数组是第一个利用他们的关系与Burrows-Wheeler排列。
2012-06-18 cs.DS math.CO
Local Decodability of the Burrows-Wheeler Transform
Burrows-Wheeler变换(BWT)是文本压缩和DNA存储领域最有影响力的发现之一。这是一个可逆的预处理步骤,将$n$ -字母字符串重新排列为相同字符的串(通过利用上下文重排序),从而产生高度可压缩的字符串,并且是\texttt{bzip}压缩程序的基础。可惜的是,BWT的解码过程本质上是顺序的,甚至检索一个\emph{single}字符也需要$Ω(n)$时间。研究了在给定文本的\emph{compressed} BWT下局部解码短子串的简洁数据结构问题,即,在\emph{Move-To-Front}(\texttt{bzip})压缩上具有小的附加冗余$r$。著名的基于BWT的FM索引(FOCS '00)以及其它相关文献在要在$O(t)$时间中解码单个字符时产生$r=\tilde{O}(n/\sqrt{t})$比特的折衷。我们给出了一个近二次改进的$r=\tilde{O}(n\lg(t)/t)$。作为一个副产品,我们获得了一个\emph{exponential}(在$t$)的FM索引的冗余度的改进,用于计算压缩文本的模式匹配。在文本压缩为$n^{1-o(1)}$位的有趣的机制中,这些结果提供了$\exp(t)$ \emph{overall}空间减少。对于BWT的局部解码问题,我们还证明了“对称”数据结构的$Ω(n/t^2)$细胞探测下界。我们实现我们的主要结果通过设计一个压…
2018-12-05 cs.CC cs.DS cs.IR
Strong link between BWT and XBW via Aho-Corasick automaton and applications to Run-Length Encoding
基因组测序的繁荣使得序列集的压缩不可避免。这就需要多字符串索引数据结构来帮助压缩数据。这种数据结构最突出的例子是Burrows-Wheeler变换(BWT),它是文本的可逆置换,可以提高其压缩性。一个类似的数据结构,扩展Burrows-Wheeler变换(XBW),能够索引一个用字母符号标记的树。多字符串BWT和Aho-Corasick自动机之间的联系已经被发现,并导致了从多字符串BWT构建XBW的方法。我们展示了一个更强的多字符串BWT和XBW之间的联系,通过使用多字符串中的串联顺序。这种双射链接有几个应用:首先,它允许从另一个构建一个数据结构;其次,它使人们能够计算优化游程长度测量的输入字符串的排序(即,可压缩性)。
2018-05-25 cs.DS
The Alternating BWT: an algorithmic perspective
Burrows-Wheeler变换(BWT)是1994年为数据压缩引入的一种字变换。它已成为设计自索引数据结构的基本工具,在科学和工程的许多领域有着重要的应用。交替Burrows-Wheeler变换(ABWT)是最近在[Gessel et al. 2012]中引入的另一种变换,并在单词组合学领域进行了研究。它类似于BWT,除了它使用交替的字典顺序而不是通常的顺序。基于[Giancarlo et al. 2018]中的结果,我们已经证明BWT和ABWT是更大一类可逆变换的一部分,在这里我们提供了新变换ABWT的组合和算法研究。我们建立了一个深刻的类比BWT和ABWT证明他们是唯一的在上述类是秩可逆的,一个新的概念,保证有效的可逆性。此外,我们表明,向后搜索过程可以有效地推广到ABWT,这一结果意味着ABWT也可以作为一个基础,高效的压缩全文索引。最后,我们证明了ABWT可以通过使用差分覆盖后缀排序算法的组合来有效地计算[Kärkkäinen等人,2006]与线性时间算法,用于找到一个词的最小循环旋转相对于交替字典顺序。
2019-07-04 cs.DS
Tag arrays
本文提出标签数组概念,研究在重复文本中具有上下文局部性的属性在BWT顺序下的可压缩性,证明其可直接或经轻微处理后进行游程压缩。
2024-11-22 cs.DS
Bijective BWT based compression schemes
该研究探究双射Burrows-Wheeler变换(BBWT)的性质,证明其相关复杂度界、与标准BWT的分离性,给出所有循环旋转Lyndon分解的线性时间算法,并提出相关猜想且证明了部分情形。
2024-08-19 cs.DS
MONI can find k-MEMs
假设我们被要求索引一个文本$T [0..n - 1]$,这样,给定一个模式$P [0..m - 1]$,我们可以快速报告$P$的最大子串,每个子串在$T$中至少出现$k$次。我们首先展示了如何将$O (r \log n)$位添加到Rossi等人。的最近MONI索引,其中$r$是$T$的Burrows-Wheeler变换中的运行次数,使得它在$O (k m \log n)$时间内支持这样的查询。然后,我们将展示如何,如果我们在建设时给予$k$,我们可以减少查询时间$O (m \log n)$。
2022-12-21 cs.DS
Computing LZ77 in Run-Compressed Space
本文证明了文本T { \in n ^n}的LZ 77分解可以在O(Rlog n)位的工作空间和O(nlog R)时间内计算,R是T的Burrows-Wheeler变换的游程数.对于极端重复的输入,工作空间可以低至O(log n)位:比文本本身小。作为我们的结果的直接后果,我们表明,一类重复意识的自我索引的基础上的游程编码的BWT和LZ 77的组合可以建立在内置的渐近最佳O(R + z)字的工作空间,z是LZ 77解析的大小。
2015-10-21 cs.DS
String Synchronizing Sets: Sublinear-Time BWT Construction and Optimal LCE Data Structure
Burrows-Wheeler变换(BWT)是一种可逆的文本变换,给定长度为$n$的文本$T$,根据$T$的后缀的词典顺序来排列其符号。BWT是数据压缩中研究最多的算法之一,在索引,序列分析和生物信息学中有许多应用。它的构建在许多情况下都是一个瓶颈,解决这一任务的复杂性是序列分析中最重要的未解决问题之一,该问题已经开放了25年。给定长度为$n$的二进制串,占用$O(n/\log n)$机器字,Hon等人的BWT构造算法(SIAM J. Comput.,2009)在$O(n)$时间和$O(n/\log n)$空间中运行。最近的进展(Belazzougui,STOC 2014,和Munro等人,SODA 2017)专注于消除时间复杂度中的字母大小依赖性,但它们仍然需要$Ω(n)$时间。在本文中,我们提出了第一个算法,打破了$O(n)$的时间障碍的BWT建设。给定一个长度为$n$的二进制字符串,我们的过程在$O(n/\sqrt{\log n})$时间和$O(n/\log n)$空间中构建Burrows-Wheeler变换。我们用一个有条件的下限来补充这个结果,证明BWT构造的时间复杂度的任何进一步进展都将为非常好地研究的计数反转问题产生更快的算法:它将改进Chan和Padetrachecu(SODA 2010)的最先进的$O(m\sqrt{\log m})$时间解决方案。我们的算法是基于…
2019-05-05 cs.DS
Prefix-free parsing for building large tunnelled Wheeler graphs
本研究结合Wheeler图与无前缀解析(PFP)技术,通过对文本解析结果的Wheeler图隧道化再构建原图,解决隧道化最优块选择耗时难题,实现了泛基因组序列集合上更快、更低内存的空间高效索引构建。
2022-06-30 cs.DS
Parallelization of Weighted Sequence Comparison by using EBWT
扩展Burrows Wheeler变换(EBWT)有助于找到两个序列之间的距离。现有算法的实现对于小尺寸序列需要相当多的时间。在本文中,我们给出了一个并行实现该算法使用NVIDIA计算统一设备架构(CUDA)。平均而言,我们在性能上获得了2倍的改进。
2011-01-29 cs.DC 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
A framework for space-efficient string kernels
字符串内核通常用于比较基因组规模的序列,其长度使得比对不切实际,但它们的计算基于空间效率低下或导致大幅减速的数据结构。我们表明,一些精确的字符串内核,如$k$ -mer内核,子串内核,一些长度加权内核,最小缺失字内核,和马尔可夫校正内核,都可以计算在$O(nd)$时间和$o(n)$空间位除了输入,只使用一个$\mathtt{rangeDistinct}$数据结构上的Burrows-Wheeler变换的输入字符串,其在其输出中的每个元素花费$O(d)$时间。相同的界限适用于基于$k$的多个值的组成复杂性的许多测量,如$k$ -聚体分布和$k$ -阶经验熵,以及用于使用数据校准$k$的值。
2015-02-23 cs.DS
Linear time construction of compressed text indices in compact space
我们表明,压缩后缀数组和压缩后缀树的长度$n$在一个整数字母表的大小$σ\leq n$的字符串都可以内置的$O(n)$(随机)的时间只使用$O(n\logσ)$位的工作空间。以前使用$O(n\logσ)$位空间的最快构造算法分别花费时间$O(n\log\logσ)$和$O(n\log^εn)$(其中$ε$是小于$1$的任何正常数)。在传递中,我们表明,长度为$n$的字符串在大小为$σ$的字母表上的Burrows-Wheeler变换可以建立在确定性的$O(n)$时间和空间$O(n\logσ)$中。我们还表明,在相同的时间和空间内,我们可以进行多种序列分析任务,并构造压缩后缀数组和压缩后缀树的一些变体。
2016-05-23 cs.DS
Improving Run Length Encoding by Preprocessing
行程长度编码(RLE)压缩方法是一种长期存在的简单的无损压缩方案,其易于实现并且对包含重复连续符号的输入数据实现良好的压缩。RLE的纯形式不适用于自然文本或具有相同符号的短序列的其他输入数据。我们提出了一个组合的预处理步骤,把任意的输入数据在一个字节的编码成一个位串,这是非常适合RLE压缩。其主要思想是首先读取输入字节串的所有最高有效位,其次是第二个最高有效位,依此类推。我们结合了这种方法,通过一个动态的字节重映射,以及一个Burrows-Wheeler-Scott变换的字节级别。最后,我们在逐位RLE编码的输出上应用霍夫曼编码,以允许RLE的码字编码运行的更多动态长度。与我们的技术,我们可以实现一个无损的平均压缩,这是优于标准的RLE压缩的一个因素,平均8。
2021-03-30 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
Conversion from RLBWT to LZ77
在不显式解压缩的情况下将字符串的压缩格式转换为另一种压缩格式是字符串处理的中心研究课题之一。本文讨论了将字符串的游程Burrows-Wheeler变换(RLBWT)转换为反向字符串的Lempel-Ziv 77(LZ 77)短语的问题。使用Policriti和Prezza的转换算法[Micromica 2018]的第一个结果是字符串长度$n$的$O(n \log r)$时间和$O(r)$工作空间、RLBWT中运行次数$r$和LZ 77短语$z$的数量。Kempa转换算法[SODA 2019]的最新结果是RLBWT的字母大小$σ$的$O(n / \log n + r \log^{9} n + z \log^{9} n)$时间和$O(n / \log_σ n + r \log^{8} n)$工作空间。本文对Policriti和Prezza的转换算法进行了改进,提出了一种新的转换算法,该算法采用了通用的动态数据结构。我们认为,这些动态的数据结构可以被替换,并提出新的数据结构,更快的转换。我们的转换算法与新的数据结构的时间和工作空间分别为$O(n \min \{ \log \log n, \sqrt{\frac{\log r}{\log\log r}} \})$和$O(r)$。
2019-02-14 cs.DS
A Fast and Small Subsampled R-index
$r$指数(Gagie等人,JACM 2020)代表了重复文本集合的压缩索引的突破,其性能超过其替代品的数量级。它的空间使用,$\mathcal{O}(r)$,其中$r$是在文本的Burrows-Wheeler变换中运行的次数,但是比Lempel-Ziv和基于语法的索引大,并且使得它在各种较温和重复的现实生活场景中不有趣。在本文中,我们介绍了$sr$指数,一个变种,限制空间$\mathcal{O}(\min(r,n/s))$的长度为$n$和一个给定的参数$s$的文本,在乘以$s$的时间,每次发生的报告。$sr$索引是通过仔细地对由$r$索引索引的文本位置进行二次采样而获得的,以我们证明仍然能够以保证性能的方式支持模式匹配。我们的实验表明,$sr$索引大幅优于几乎所有其他压缩索引的重复文本,在时间和空间,甚至匹配性能的$r$索引,而使用1.5- 3.0倍的空间。只有一些基于Lempel-Ziv的索引比$sr$索引实现更好的压缩,使用大约一半的空间,但它们慢一个数量级。
2021-03-29 cs.DS
Another virtue of wavelet forests?
本文通过实验发现 wavelet forests 相比 wavelet trees 具有更好的访问局部性,从而将其价值从 BWT 与高阶压缩场景扩展到一般文本表示。
2023-08-15 cs.DS
An Optimal-Time RLBWT Construction in BWT-runs Bounded Space
高度重复的字符串的压缩(即,具有许多重复的字符串)一直是字符串处理中的中心研究课题,并且迄今为止已经提出了针对这些字符串的相当多的压缩方法。其中,一种有效的压缩格式越来越受到关注的是游程Burrows-Wheeler变换(RLBWT),它是一种游程编码的BWT,作为输入字符串在后缀的字典顺序上的可逆置换。最先进的RLBWT构造算法在以下方面存在严重问题:(i)非最优计算时间或(ii)与输入字符串长度成线性比例的工作空间。本文提出了有界游程空间中RLBWT的第一个最优时间构造算法\emph{r-comp}。也就是说,对于输入串的长度$n$和BWT中的等字母游程的数目$r$,r-comp的计算复杂性是$O(n + r \log{r})$时间和工作空间的$O(r\log{n})$位。计算时间是最佳的(即,$O(n)$),用于具有属性$r=O(n/\log{n})$的字符串,该属性适用于大多数高度重复的字符串。使用真实世界的数据集的高度重复的字符串的实验表明,相对于计算时间和空间的有效性。
2022-02-16 cs.DS
Optimal Construction of Compressed Indexes for Highly Repetitive Texts
我们提出的算法,给定的输入字符串的长度$n$在整数字母表的大小$σ$,构造的Burrows-Wheeler变换(BWT),置换最长公共前缀(PLCP)阵列,和LZ 77解析在$O(n/\log_σn+r\,{\rm polylog}\,n)$时间和工作空间,其中$r$是运行在BWT的输入。这些是许多压缩索引的基本组成部分,如压缩后缀树,FM索引,语法和基于LZ 77的索引,而且在序列分析和数据压缩中也有许多应用。$r$的值是重复性的常用度量,如果字符串高度重复,则该值明显小于$n$。由于只访问字符串的每个符号需要$Ω(n/\log_σn)$时间,所提出的算法是时间和空间最优的输入满足假设$n/r\inΩ({\rm polylog}\,n)$的重复性。对于这些输入,我们的结果改进了Belazzougui(STOC 2014)和Munro等人(SODA 2017)目前最快的通用算法,这些算法在$O(n)$时间内运行,并使用$O(n/\log_σ n)$工作空间。我们还展示了如何使用我们的技术,以获得最佳的解决方案,对其他基本字符串处理问题的高度重复的数据,如:林登因子分解,运行长度压缩后缀数组的建设,和一些经典的“教科书”的问题,如计算最长的子串发生至少一些固定的次数。
2019-05-20 cs.DS
R-enum: Enumeration of Characteristic Substrings in BWT-runs Bounded Space
枚举特征子串(例如,最大重复、最小唯一子串和最小缺失字)已经成为重要的研究课题,因为在诸如串处理和计算生物学的各种领域中存在各种各样的应用。虽然已经提出了几种特征子串的枚举算法,但它们的空间使用率与输入串的长度成正比,因此它们不是空间有效的。最近,游程编码Burrows-Wheeler变换(RLBWT)在字符串处理中引起了越来越多的关注,并且已经开发了各种RLBWT算法。然而,使用RLBWT开发特征子串的枚举算法仍然是一个挑战。本文提出了第一个基于RLBWT的特征子串枚举算法r-enum(RLBWT-based enumeration)。R-enum在$O(n \log \log (n/r))$时间内运行,并且对于字符串长度$n$和RLBWT中的运行次数$r$,具有$O(r \log n)$位的工作空间,其中对于高度重复的字符串,预期$r$显著小于$n$(即,重复多次的字符串)。使用高度重复字符串的基准数据集的实验表明,r-enum的结果比以前的结果更节省空间。此外,我们证明了r-enum的适用性,以一个巨大的字符串进行实验的300千兆字节的字符串的100个人类基因组。
2021-03-02 cs.DS