The Dynamic Longest Increasing Subsequence Problem
在本文中,我们构造了一个数据结构来有效地计算动态更新序列的最长递增子序列。我们的数据结构支持在$O(r+\log n)$最坏情况下查询最长递增子序列,并支持在$O \left(r\log{n/r}\right)$最坏情况下插入序列中的任何位置(其中$r$是最长递增子序列的长度)。如果在序列的末尾执行插入,则相同的数据结构经过微小修改后支持$O(\log n)$最差情况时间插入。所提出的数据结构还可以被扩充以在与插入相同的最坏情况时间内支持删除操作。
2013-12-15 cs.DS
An Algorithm for the Constrained Longest Common Subsequence and Substring Problem
本文针对带有约束字符串的两个字符串的最长公共子序列与子串问题,提出了一种寻找同时满足子序列、子串及约束条件的最长字符串的算法。
2023-08-02 cs.DS
A Faster Subquadratic Algorithm for the Longest Common Increasing Subsequence Problem
最长公共递增子序列(LCIS)是经典最长公共子序列(LCS)的一个变体,其中我们额外要求公共子序列严格递增。虽然著名的“四个俄罗斯人”技术可以用来找到LCS在次二次时间,它似乎不适用于LCIS。最近,Duraj [STACS 2020]使用了一种基于LCIS组合特性的完全不同的方法来设计$\mathcal{O}(n^2(\log\log n)^2/\log^{1/6}n)$时间算法。我们表明,利用制表的基础上的方法可以用来构建一个渐近更快的$\mathcal{O}(n^2 \log\log n/\sqrt{\log n})$时间算法。由于我们的解决方案避免了使用LCIS的特定组合属性,因此它也可以适用于最长公共弱递增子序列(LCWIS)。
2020-03-30 cs.DS
Deterministic Longest Common Subsequence Approximation in Near-Linear Time
本研究提出一种确定性算法,能在近线性时间内求解最长公共子序列的O(n^{3/4} log n)近似解,是首个达成近线性时间亚线性近似比的LCS确定性算法。
2025-07-30 cs.DS
Longest Square Subsequence Problem Revisited
最长平方子序列(LSS)问题包括计算给定字符串$S$的最长子序列,该字符串是正方形,即,出现在$S$中的形式$XX$的最长子序列。众所周知,长度为$n$的字符串$S$的LSS可以使用$O(n^2)$时间[Kosowski 2004]计算,或者使用$O(n^2 (\log \log n)^2 / \log^2 n)$时间[Tiskin 2013]进行(依赖于模型的)多对数加速。我们提出了第一个算法的LSS的运行时间取决于其他参数,即,我们证明了$S$的LSS可以在$O(r \min\{n, M\}\log \frac{n}{r} + n + M \log n)$时间和$O(M)$空间中计算,其中$r$是$S$的LSS的长度,$M$是$S$上的匹配点的数量。
2020-07-29 cs.DS
An $O(n^2)$ Algorithm for Computing Longest Common Cyclic Subsequence
{ \em最长公共子序列(LCS)}问题是计算机科学中一个经典的研究较多的问题。LCS是字符串学中的一个核心问题,在文本压缩、检错码和生物序列比较中有着广泛的应用。然而,在许多上下文中,单词表示符号的循环序列,并且LCS必须被推广以考虑字符串的所有循环移位。这尤其发生在计算生物学中,当遗传物质从环状DNA或RNA分子中测序时。这就引发了{ \em longest common cyclic subsequence(LCCS)}的问题,该问题在两个字符串的所有循环移位之间找到最长的子序列。本文给出了求解LCCS问题的一个$O(n^2)$算法,其中$n$是字符串中符号的个数。
2010-04-18 cs.DS
Finding a reconfiguration sequence between longest increasing subsequences
研究最长递增子序列重构问题,提出多项式时间判定算法,并在底层二分排列图情形下给出寻找最短重构序列的多项式算法。
2023-10-02 cs.DS
Space-Efficient Algorithms for Longest Increasing Subsequence
给定一个整数序列,我们想找到序列的最长递增子序列。已知该问题可以在$O(n \log n)$时间和空间中解决。本文的目标是在保持小的时间复杂度的同时减少空间消耗。对于$\sqrt{n} \le s \le n$,我们提出的算法,使用$O(s \log n)$位和$O(\frac{1}{s} \cdot n^{2} \cdot \log n)$时间计算最长的增加子序列的长度,和$O(\frac{1}{s} \cdot n^{2} \cdot \log^{2} n)$时间找到一个实际的子序列。我们还表明,我们的算法的时间复杂度是最佳的多对数因子的框架中的顺序存取算法与规定的空间量。
2017-12-26 cs.DS
Longest Common Subsequence: Tabular vs. Closed-Form Equation Computation of Subsequence Probability
最长公共子序列问题(LCS)是在给定的一组字符串中寻找最长的子序列。LCS问题是一个NP难问题,这使得它成为一个目标,大量的努力,以找到一个更好的解决方案,与数学方法。大多数著名的概率统计函数的基线是一个表格随机,概率方法。这种方法在每次迭代中近似LCS的长度。束搜索和基于概率的列表算法的结合,导致了大量的建议和成就的算法来解决LCS问题。在这项工作中,我们引入了一个封闭的形式方程的概率表计算首次。此外,我们提出了其他相应的形式的封闭形式的方程,并证明了所有这些。该封闭式方程为分析和进一步近似开辟了新的方法。利用这些定理和束搜索,我们提出了一种估计剩余子序列的LCS长度的解析方法。此外,我们提出了另一种启发式函数的基础上的变异系数。结果表明,我们提出的方法优于国家的最先进的方法对LCS问题。
2022-06-23 cs.DS
Longest Increasing Subsequence under Persistent Comparison Errors
我们研究了在存在持续比较错误的情况下,计算$n$不同元素序列$S$中最长递增子序列的问题。在此模型中,两个元素之间的每次比较都可能以一定的固定(小)概率$ p $返回错误结果,并且不能重复进行比较。在这个模型中,精确计算最长递增子序列是不可能的,因此,目标是识别一个子序列,该子序列(i)确实在递增,并且(ii)具有近似于最长递增子序列长度的长度。我们提出了渐近紧的上界和下界的近似因子和运行时间。特别是,我们提出了一种算法,计算的$O(\log n)$近似时间$O(n\log n)$,具有很高的概率。这种近似依赖于这样的事实,即我们可以在$O(n\log n)$时间内近似地对$n$元素进行排序,使得元素的最大位错至多为$O(\log n)$。对于下界,我们证明:(一)有一组序列,这样,从这个集合中随机挑选的序列,每个算法必须返回一个$Ω(\log n)$ -近似的概率很高,和(ii)任何$O(\log n)$ -近似算法最长的增加子序列需要$Ω(n \log n)$比较,即使在没有错误。
2018-08-09 cs.DS
A sub-quadratic algorithm for the longest common increasing subsequence problem
最长公共递增子序列问题(LCIS)是著名的最长公共子序列问题(LCS)的一个自然变体。对于LCIS以及LCS,存在$O(n^2)$时间算法和$O(n^{2-\varepsilon})$的基于SETH的条件下限。对于LCS,还有Masek-Paterson $O(n^2 / \log{n})$ -time算法,它似乎不以任何明显的方式适应LCIS。因此,一个自然的问题出现了:任何(稍微)次二次算法存在的最长共同增加子序列问题?我们肯定地回答这个问题,提出了一个$O(n^2 / \log^a{n})$ -时间算法的$a = \frac{1}{6}-o(1)$ .该算法不是基于记忆小块数据(通常用于对数加速,包括LCS中的“四个俄罗斯人的把戏”),而是利用一种新技术,限制两个序列之间重要符号匹配的数量。
2020-01-29 cs.DS
Heuristic algorithms for the Longest Filled Common Subsequence Problem
在CPM 2017上,Castelli等人定义并研究了最长公共子序列问题的一个新变体,称为最长填充公共子序列问题(LFCS)。对于LFCS问题,输入由两个字符串$A$和$B$以及多字符集$\mathcal{M}$组成。目标是将来自$\mathcal{M}$的字符插入到字符串$B$中,从而获得新字符串$B^*$,使得$A$和$B^*$之间的最长公共子序列(LCS)最大化。Casteli等人证明了该问题是NP难的,并给出了一个3/5-近似算法。本文从实验的角度对这一问题进行了研究。我们介绍,实施和测试新的启发式算法,并将它们与Casteli等人的近似算法进行比较。此外,我们引入了一个线性规划(ILP)模型的问题,我们使用的状态,最先进的ILP求解器,Guesthouse,获得精确的解决方案,中等大小的实例。
2019-04-16 cs.DS
Parallel Algorithm for Longest Common Subsequence in a String
在模式识别和匹配领域中,寻找最长公共子序列是一个非常重要的问题。本文提出了一种基于并行计算的算法。我们使用OpenMPAPI包作为中间件将数据发送到不同的处理器。我们已经测试了我们的算法在一个系统中有四个处理器和2 GB的物理内存。最好的结果表明,并行算法的性能(计算速度)提高了3.22。
2013-06-19 cs.DS
Small Longest Tandem Scattered Subsequences
我们考虑的问题,确定串联分散的连续性内的字符串。我们的算法确定了一个最长的子序列,出现两次没有重叠的字符串。该算法基于Hunt-Szymanski算法,因此如果字符串不是自相似的,则其性能会提高。这在大字母表上的字符串上自然发生。我们的算法依赖于新的数据结构,支持动态最长增加的子序列的结果。在这个过程中,我们也得到了改进的算法的递减字符串比较问题。
2020-06-24 cs.DS
A hardness result and new algorithm for the longest common palindromic subsequence problem
2-LCPS问题,首先由Chowdhury等人[Fundam.通知。,129(4):329-340,2014],要求计算两个给定字符串$A$和$B$之间的最长回文公共子序列(的长度)。我们表明,2-LCPS问题是至少一样难的研究最长的公共子序列问题的四个字符串(4-LCS问题)。然后,我们提出了一个新的算法,解决了2-LCPS问题在$O(σM^2 + n)$时间,其中$n$表示的长度$A$和$B$,$M$表示之间的匹配位置的数量$A$和$B$,和$σ$表示的数量不同的字符出现在$A$和$B$。我们的新算法比Chowdhury等人的算法更快。的稀疏算法时,$σ= o(\log^2n \log\log n)$。
2016-12-22 cs.DS
Longest Common Subsequence in at Least $k$ Length Order-Isomorphic Substrings
我们考虑最长公共子序列(LCS)问题的限制,公共子序列被要求至少由$k$长度的子串。首先,我们展示了一个$O(mn)$时间算法的问题,它提供了一个更好的最坏情况下的运行时间比现有的算法,其中$m$和$n$是输入字符串的长度。此外,我们主要考虑了LCS在至少$k$长序同构子串中的问题。我们表明,这个问题也可以解决在$O(mn)$最坏情况下的时间由一个易于实现的算法。
2017-02-06 cs.DS
An Algorithm for the Longest Common Subsequence and Substring Problem for Multiple Strings
本文针对多字符串场景,提出一种求解最长公共子序列与子串问题的算法,该问题要求找到同时为多个X串的子序列且为多个Y串的子串的最长字符串。
2024-11-24 cs.DS
Near-Linear Preprocessing for Range Weighted Longest Increasing Subsequence Queries
Yokohama National University(横滨国立大学)
该研究提出确定性数据结构,实现范围加权LIS查询的近线性预处理,解决相关开放问题,具备高效查询与最优子序列输出能力。
2026-10-16 cs.DS
Efficient algorithms for the longest common subsequence in $k$-length substrings
在$k$长度的子串中寻找最长公共子序列(LCS $k$)是最近提出的一个计算生物学问题。这是公知的LCS问题的推广,其中来自两个序列$A$和$B$的匹配符号被来自$A$和$B$的长度为$k$的匹配非重叠子串替换。我们提出了几种算法LCS $k$,是非平凡的体现,从LCS研究(动态规划,稀疏动态规划,制表)的主要概念。我们的算法利用线性时间和线性空间的预处理,从一个序列中找到所有长度为$k$的子串在另一个序列中的出现。
2013-11-18 cs.DS
Fast and Simple Computation of All Longest Common Subsequences
本文证明了一个简单的算法,产生的{ \em所有前缀LCS图}在$O(mn)$时间为两个输入序列的大小$m$和$n$。给定第一输入序列的任何前缀$p$和第二输入序列的任何前缀$q$,一旦构造了全前缀LCS图,就可以在与输出大小成比例的时间内生成$p$和$q$的所有最长公共序列(LCS)。这个问题可以在生成表示LCS的所有不同字符串的上下文中解决,或者在生成将LCS嵌入两个输入字符串的所有方式的上下文中解决。
2011-03-08 cs.DS
Reducing approximate Longest Common Subsequence to approximate Edit Distance
给定一对字符串,计算它们的最长公共子序列和编辑距离的问题已经被广泛研究了几十年。对于精确算法,LCS和编辑距离(具有字符插入和删除)是等效的;最先进的运行时间(几乎)是二次的,这在合理的细粒度复杂性假设下是紧密的。但是对于近似算法,情况就不同了:有一长串的工作改进了编辑距离的近似因子,但是对于LCS(使用二进制字符串),只有一个微不足道的$1/2$近似是已知的。在这项工作中,我们给出了一个减少近似LCS的近似编辑距离,产生第一个有效的$(1/2+ε)$近似算法的LCS为一些常数$ε>0$。
2019-04-10 cs.DS
Computing the Number of Longest Common Subsequences
本文提供了计算两个输入字符串的不同最长公共连续数和计算LCS嵌入数的非常简单、有效的算法。
2003-01-29 cs.DM cs.DS
The Longest Common Bitonic Subsequence: Match-Sensitive Algorithms and Conditional Hardness
American International University-Bangladesh(孟加拉国美国国际大学)
本文提出两种算法解决最长公共双峰子序列问题,通过动态规划和匹配敏感方法提高效率。
2026-10-20 cs.DS
Computing a Longest Common Palindromic Subsequence
{ \em最长公共子序列(LCS)}问题是计算机科学中一个经典的研究较多的问题。回文是一个词,它读起来和读起来是一样的。{ \em longest common palindromic subsequence(LCPS)}问题是经典LCS问题的一个有趣的变体,经典LCS问题寻找两个给定字符串之间的最长公共子序列,使得计算出的子序列也是回文。本文研究了LCPS问题,给出了求解该问题的有效算法。据我们所知,这是第一次尝试研究和解决这个有趣的问题。
2011-10-24 cs.DM cs.DS
An $n^{8/5+o(1)}$-Time $Ω(λ^3)$-Approximation for Longest Common Subsequence
针对最长公共子序列问题,提出一种 $n^{8/5+o(1)}$ 时间的 $\Omega(\lambda^3)$ 近似算法,将运行时间指数从 1.95 改进至 1.6+o(1)。
2026-09-28 cs.DS
Computing Longest Increasing Subsequence Over Sequential Data Streams
本文提出了一种数据结构--四重邻居表(QN-list),用于支持序列数据流上所有最长递增子序列(LIS)和有约束LIS的实时的查询。由我们的算法构建的QN-List需要$O(w)$空间,其中$w$是时间窗口大小。构建初始QN列表的运行时间需要$O(w\log w)$时间。应用QN-列表时,插入新项目需要$O(\log w)$时间,删除第一个项目需要$O(w)$时间。据我们所知,这是第一个工作,支持LIS枚举和LIS的约束计算,通过使用一个统一的数据结构的实时的顺序数据流。我们的方法优于国家的最先进的方法在时间和空间成本,不仅在理论上,而且经验。
2016-10-11 cs.DS
A Simple Algorithm for the Constrained Sequence Problems
在本文中,我们解决的约束最长公共子序列问题。给定两个序列$X$、$Y$和约束序列$P$,如果$Z$是$X$和$Y$的最长子序列,使得$P$是$Z$的子序列,则序列$Z$是$X$和$Y$相对于$P$的约束最长公共子序列。最近,Tsai \cite{Tsai}利用动态规划技术提出了一种解决该问题的$O(n^2 \cdot m^2 \cdot r)$时间算法,其中$n$、$m$和$r$分别是$X$、$Y$和$P$的长度。本文给出了一个在$O(n \cdot m \cdot r)$时间内求解约束最长公共子序列问题的简单算法,并证明了约束最长公共子序列问题等价于约束多序列比对问题的一个特例,该问题也是可解的.
2021-03-04 cs.DS
Dynamic Longest Increasing Subsequence and the Erdös-Szekeres Partitioning Problem
在本文中,我们提供了新的近似算法的动态变化的最长增加子序列(\textsf{LIS})的问题,和互补距离单调性(\textsf{DTM})的问题。在这种设置中,以下形式的操作按顺序到达:(i)添加元素,(ii)删除元素,或(iii)用一个元素替换另一个元素。在每个时间点,算法都有一个最长递增子序列的近似值(或单调性距离)。我们提出了一个$(1+ε)$ -近似算法的\textsf{DTM}与多对数最坏情况下的更新时间和一个常数因子近似算法的\textsf{LIS}与最坏情况下的更新时间$\tilde O(n^ε)$的任何常数$ε> 0$。运行时中的$n$表示操作到达时数组的大小。我们的动态算法\textsf{LIS}导致一个几乎最佳的算法的Erdös-Szekeres分区问题。Erdös-Szekeres分割问题是由Erdös和Szekeres在1935年提出的,当时被认为是可以在时间上求解的$O(n^{1.5}\log n)$。后续工作仅在1998年将运行时改进为$O(n^{1.5})$。我们的动态\textsf{LIS}算法导致Erdös-Szekeres分区问题的解决方案与运行时$\tilde O_ε(n^{1+ε})$的任何常数$ε> 0$。
2021-01-18 cs.DS
Improved Dynamic Algorithms for Longest Increasing Subsequence
研究了最长递增子序列(\textsf{LIS})问题的动态算法。动态\textsf{LIS}算法维护一个序列,该序列服从以下形式的操作,这些操作逐个到达:(i)插入元素,(ii)删除元素,或(iii)用一个元素替换另一个元素。在执行每个操作之后,算法必须报告当前序列的最长递增子序列的长度。我们的主要贡献是第一个精确的动态\textsf{LIS}算法与次线性更新时间。更确切地说,我们提出了一个随机算法,执行每个操作的时间$\tilde O(n^{2/3})$和每次更新后,报告的答案正确的\textsf{LIS}问题的概率很高。我们使用了几种新的技术和意见,这个算法,可能会发现他们的应用在未来的工作。在本文的第二部分,我们研究了近似动态\textsf{LIS}算法,这是允许低估的解的大小在一个有界的乘法因子。在这种情况下,我们给出了一个确定性算法的更新时间$O(n^{o(1)})$和近似因子$1-o(1)$。该结果大大改进了Mitzenmacher和Seddighin(STOC'20)的先前工作,该工作提出了对于任何常数$ε> 0$具有更新时间$\tilde O(n^ε)$的$Ω(ε^{O(1/ε)})$近似算法。
2021-03-09 cs.DS
Longest Common Subsequence with Gap Constraints
本文研究带多种间隙约束的最长公共子序列问题,并针对连续符号距离受上下界限制及整体有界范围两类情形,给出求两字符串间最长公共受约束子序列长度的高效算法。
2023-06-02 cs.DS cs.FL
Approximating the Longest Common Subsequence problem within a sub-polynomial factor in linear time
两个字符串的最长公共子序列(LCS)是一个基本的字符串相似性度量,经典的动态规划解决方案需要二次时间。尽管做出了重大努力,但在改进运行时方面几乎没有取得进展。即使在近似领域,除了平凡的$\sqrt{n}$ -近似之外,对线性时间算法也知之甚少。最近的突破性结果提供了一种$n^{0.497}$ -因子近似算法[HSSS 19],最近将其改进为$n^{0.4}$ -因子1 [BCD 21]。后一篇论文还展示了一个$n^{2-2.5α}$时间算法,该算法输出LCS的$n^α$近似,但到目前为止,还没有真正的次二次时间的次多项式近似。在这项工作中,我们展示了一个算法,它运行在$O(n)$时间,并输出一个$n^{o(1)}$因子近似LCS $(x,y)$,具有很高的概率,对于任何一对长度$n$输入字符串。我们的整个算法仅仅是最近在[ANSS 21]中引入的Block-LIS问题的有效黑盒简化,并直接解决Block-LIS问题。
2021-12-15 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
A Practical O(R\log\log n+n) time Algorithm for Computing the Longest Common Subsequence
在本文中,我们重新研究了两个给定序列的LCS问题。本文在Iliopoulos和Rahman求解LCS问题的算法的基础上,提出了三种新的改进算法。我们首先用一种非常简洁的形式重新表述这个问题。利用Update(S,x)运算将LCS问题抽象为有序正整数集上的抽象数据类型DS。对于两个等长的输入序列X和Y,第一种改进算法使用van Emde Boas树进行DS,其时间和空间复杂度分别为O(R \log \log n+n)和O(R),其中R是两个输入序列的匹配对数。第二种算法使用平衡二叉查找树,其时间和空间复杂度分别为O(R \log L+n)和O(R),其中L是X和Y的最长公共子序列的长度。第三种算法使用有序向量进行DS,其时间复杂度和空间复杂度分别为O(nL)和O(R)。
2015-08-23 cs.DS
Longest Common Subsequence in k-length substrings
在本文中,我们定义了一个新的问题,出于计算生物学,$LCSk$的目的是找到最大数量的$k$长度$substrings$,在两个输入字符串匹配,同时保持其出现顺序。传统的LCS定义是我们问题的一个特例,其中$k = 1$。我们提供了一个算法,解决一般情况下的$O(n^2)$时间,其中$n$是输入字符串的长度,等于所需的时间为特殊情况下的$k=1$。该算法的空间需求是$O(kn)$。%,但是,为了启用解决方案的%回溯,需要$O(n^2)$空间。我们还定义了一个互补的$EDk$距离测度,并证明了$EDk(A,B)$可以在$O(nm)$时间和$O(km)$空间中计算,其中$m$,$n$分别是输入序列$A$和$B$的长度。
2014-02-10 cs.DS
Fixed-Parameter Algorithms for Longest Heapable Subsequence and Maximum Binary Tree
可堆序列是可以排列在“最小堆数据结构“中的数字序列。Byers、Heeringa、Mitzenmacher和Zervas(ANALCO 2011)提出了寻找给定序列的最长可堆子序列,作为已研究的最长递增子序列问题的推广,其复杂性仍然是开放的。最长可堆子序列问题的一个等价公式是在给定的置换有向无环图(置换DAG)中寻找最大二叉树。在这项工作中,我们研究了最长可堆子序列以及最大二叉树的参数化算法。结果表明:1.最长可堆子序列问题可以在$k^{O(\log{k})}n$时间内解决,其中$k$是输入序列中不同值的数量。我们引入了“字母大小”作为一个新的参数在研究的计算问题的置换DAG。我们的最长可堆子序列的结果意味着,在一个给定的置换DAG的最大尺寸的二叉树问题是固定参数的参数时,由字母表的大小易处理的。2.我们表明,相对于一个固定的拓扑顺序的字母表的大小可以计算在多项式时间,承认一个最小-最大的关系,并有一个多面体的描述。3.针对无向图的最大二叉树问题,设计了一个以树宽$w$为参数的固定参数的运行时$w^{O(w)}n$算法.我们的研究结果从参数化算法的角度对理解置换DAG中最长可堆子序列和最大二叉树的复杂性做出了进展。我们相信,我们引入的参数字母表的大小可能是有用的上下文中定义的置换DAG的优化问题。
2021-10-06 cs.DM cs.DS
Lower Bounds and Improved Algorithms for Asymmetric Streaming Edit Distance and Longest Common Subsequence
本文研究了Saks和Seshadhri [SS13]提出的非对称流模型中的编辑距离(ED)和最长公共子序列(LCS)。作为随机访问模型和流模型之间的中间模型,该模型允许对一个字符串进行流访问,并对另一个字符串进行随机访问。我们的第一个主要贡献是系统的研究空间下界的ED和LCS的非对称流模型。以前,在此上下文中没有明确说明的结果,尽管可以从[SW 07][GG 10][EJ08]中最长递增子序列(LIS)的下限推断出LCS的一些下限。然而,这些界限只适用于大的字母表大小。在本文中,我们开发了几种新的技术来处理ED一般和LCS小字母表的大小,从而建立强有力的下界这两个问题。特别是,我们的ED下限在非对称流模型中提供了编辑距离和汉明距离之间的指数分离。我们的下界也扩展到LIS和最长非减序列(LNS)的标准流模型。与以前的结果一起,我们的边界提供了一个几乎完整的图片,这两个问题。作为我们的第二个主要贡献,我们给出了改进的算法ED和LCS在非对称流模型。对于ED,我们将[FHRS 20][CJLZ 20]中的常数因子近似算法的空间复杂度从$\tilde{O}(\frac{n^δ}δ)$改进为$O(\frac{d^δ}δ\;\mathsf{polylog}(n))$,其中$n$是每个字符串的长度,$d$是两个字符串之间的编辑距离.对于LCS,我们给出了二进制字母表上任意常数$δ>0$的空间为$…
2021-10-07 cs.DS
Improved Lower Bounds on the Expected Length of Longest Common Subsequences
本研究针对Chvátal-Sankoff常数精确值未知的公开问题,通过优化下界求解算法的运行时、并行化及内存读写方案,改进了σ=2、d=2等多类情形下的最长公共子序列期望长度下界。
2024-07-15 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
Variants of Constrained Longest Common Subsequence
在这项工作中,我们考虑一个变种的经典最长公共子序列问题称为双约束最长公共子序列(DC-LCS)。给定字母表A上的两个字符串s1和s2,字符串集合Cs,以及从A到N的函数Co,DC-LCS问题在于找到s1和s2的最长子序列s,使得s是Cs中所有字符串的超序列,并且使得A中每个符号a在s中出现的次数的上界为Co(a)。DC-LCS问题为计算生物学中的序列比较问题提供了一个清晰的数学公式,并推广了LCS问题的其他两个约束变体:约束LCS和无重复LCS。我们提出了两个DC-LCS问题的结果。首先,我们说明了一个固定参数的算法,其中的参数是解决方案的长度。其次,当参数为约束串的个数和字母表A的大小时,我们证明了约束LCS问题的参数化困难性结果。这个困难性结果也暗示了DC-LCS问题的参数化困难性(具有相同的参数)和当字母表的大小是常数时的NP-困难性。
2009-12-02 cs.DM cs.DS
The Longest Subsequence-Repeated Subsequence Problem
本文提出最长子序列重复子序列问题,给出 $O(n^6)$ 算法计算 LSRS,并证明 $d=4$ 时 NP 困难、$d=3$ 时 $O(n^5)$ 可解。
2023-08-31 cs.CC cs.DS
Bounds on the Number of Longest Common Subsequences
本文进行必要的分析,以约束已知的,有效的算法生成所有最长的共同序列的运行时间。也就是说,对于时间基本上与输出大小成比例的算法,我们将运行时间限制为输入大小的函数。本文考虑了计算所有不同LCS的情况和计算所有LCS嵌入的情况。还包括分析有多少更好的高效算法比标准的方法生成LCS嵌入。一个完整的分析进行与运行时间测量作为输入字符的总数的函数,和大部分的分析也提供的情况下,其中两个输入序列是相同的指定长度或两个独立的指定长度。
2003-08-06 cs.DM cs.DS
Polynomial-Time Solutions for Longest Common Subsequence Related Problems Between a Sequence and a Pangenome Graph
College of Big Data Statistics, Guizhou University of Finance and Economics(贵州财经大学大数据统计学院);Algorithm and Computational Complexity Laboratory of School of Information, Guizhou University of Finance and Economics(贵州财经大学信息学院算法与计算复杂性实验室)
本研究提出多项式时间算法,将序列与全基因组图的最长公共子序列问题转换为DAG最长路径问题,证明相关问题属于复杂性类P。
2026-02-05 cs.CC cs.DS
Deposition and Extension Approach to Find Longest Common Subsequence for Multiple Sequences
寻找序列集的最长公共子序列是计算机科学中一个非常有趣和具有挑战性的问题。该问题是一个NP完全问题,但由于其重要性,人们提出了许多启发式算法,如长期算法和扩展算法。然而,许多现有的启发式算法的性能恶化迅速时,序列的数量和序列长度的增加。本文提出了一种求解LCS问题的后处理启发式算法--沉积与扩展算法(DEA)。该算法首先通过序列沉积过程生成公共子序列,然后对公共子序列进行扩展。该算法被证明可以产生具有保证长度的公共子序列。实验结果表明,DEA算法的结果优于Long Run和Expansion算法,尤其是在多个长序列上。该算法在时间和空间上都有很高的效率。
2009-06-29 cs.DM cs.DS math.CO
Quadratic-time Algorithm for the String Constrained LCS Problem
最近提出了求两个主序列的最长公共子序列的问题(STR-IC-LCS)。它是约束最长公共子序列问题的一个变种。由于STR-IC-LCS问题的已知算法都是二次时间算法,本文提出的二次时间算法明显快得多。
2011-06-30 cs.DS
A Space-Efficient Algorithm for Longest Common Almost Increasing Subsequence of Two Sequences
本文研究两个序列的最长公共近似递增子序列问题,提出改进空间复杂度的动态规划算法,并进一步设计在匹配对数量较少时更快的算法。
2025-05-07 cs.DS
Algorithm to derive shortest edit script using Levenshtein distance algorithm
字符串相似性、最长公共子序列和最短编辑脚本是相互关联的三元组问题。通过求解最长公共子序列问题来生成编辑脚本有不同的算法。提出了一种利用字符串相似性问题生成最短编辑脚本的算法。为此,我们使用著名的Levenshtein距离算法,该算法计算表示从0到n的字符串之间的相似度的数值,其中n是最长输入字符串的长度,并产生包含插入,删除和替换指令的最短编辑脚本。
2022-08-18 cs.DS
Longest Common Subsequence on Weighted Sequences
本文研究加权序列的最长公共子序列问题。加权序列是经典字符串的扩展,其中在每个位置,字母表中的每个字母都可能以一定的概率出现。先前的结果提供了PTAS,并注意到除非P=NP,否则不可能有FPTAS。在本文中,我们基本上关闭上界和下界之间的差距,提高两者。首先,我们给出了有界字母表的EPTAS(这是最自然的情况),并证明了除非FPT=W,否则不存在无界字母表的EPTAS [1]。此外,根据指数时间假设,我们提供了一个下限,这表明没有显着更好的PTAS可以存在无限的字母。作为一个侧记,我们证明,它是足够的工作,只有一个阈值的一般变体的问题。
2020-07-19 cs.CC cs.DS
A faster reduction of the dynamic time warping distance to the longest increasing subsequence length
一对时间序列之间的相似性,即,按时间顺序排列的索引值序列,通常由动态时间规整(DTW)距离估计,而不是包括最长公共子序列(LCS)长度和编辑距离在内的已充分研究的度量家族中的任何度量。虽然它可能看起来好像DTW和LCS(类)措施是本质上不同的,我们揭示了DTW距离可以表示的整数序列的最长递增子序列(LIS)的长度,这是整数序列和本身之间的LCS长度排序。对于给定的一对时间序列的长度$n$,使得任何元素之间的相异性是一个整数之间的零和$c$,我们提出了一个整数序列,表示任何子串的子串DTW距离作为其频带子串LIS长度。所产生的整数序列的长度是$O(c n^2)$,对于常数相异度函数,其可以被转换为$O(n^2)$。为了证明LCS(类)措施下开发的技术是直接适用于分析的时间序列,通过我们减少DTW LIS,我们提出了时间有效的算法DTW相关的问题,利用半本地序列比较技术开发的LCS相关的问题。
2022-04-18 cs.DB cs.DS
Repetition-free longest common subsequence of random sequences
两个序列x和y的无重复最长公共子序列(LCS)是x和y的LCS,其中每个符号可以最多出现一次。令R表示两个序列的n个符号的无重复LCS的长度,每个符号在k元字母表上随机、均匀且独立地选择。我们研究的渐近,在n和k,R的行为,并建立有三个不同的制度,这取决于n和k的相对增长速度。对于每一个区域,我们建立了R的极限行为。事实上,我们做得更多,因为我们实际上建立了R与其极限行为的大偏差的尾界。我们的研究是基于Sankoff(1999)提出的样本模型和Adi等人(2007)提出的相似性度量。一个自然的问题,出现在这种情况下,这是因为我们表明,是有关长期开放的问题,在该地区的概率组合,是要了解的渐近,在n和k,参数R的行为。
2013-05-21 cs.DS math.CO
Estimating the Longest Increasing Subsequence in Nearly Optimal Time
最长递增子序列(LIS)是序列的一个基本统计量,研究了几十年。虽然长度为$n$的序列的LIS可以在时间$O(n\log n)$中精确计算,但是在次线性时间中估计LIS(的长度)的复杂性,特别是当LIS $\ll n$时,仍然是开放的。我们表明,对于任何整数$n$和任何$λ= o(1)$,存在一个(随机)非自适应算法,给定一个序列的长度$n$与LIS $\ge λn$,近似LIS的$1/λ^{o(1)}$的一个因素在$n^{o(1)} / λ$时间。我们的算法大大提高了以前的工作在近似和运行时间方面:(i)我们提供了第一次多项式近似LIS在次线性时间;和(ii)我们的运行时间复杂度基本上匹配平凡的样本复杂度下限的$Ω(1/λ)$,这是需要获得任何非平凡的近似LIS。作为我们的解决方案的一部分,我们开发了两个新的想法,这可能是独立的利益:首先,我们定义了一个新的序列LIS问题,其中每个序列元素可能是真正的或损坏。在这个模型中,用户可以不受限制地访问实际序列,但不知道先验哪些元素是真实的。目标是仅使用真正的元素来估计LIS,并使用最少数量的“重复性测试”。第二个想法,精确森林,使准确的估计组成的一般功能从“粗”(子)估计。精确森林本质上推广了经典的精确采样,它只适用于求和。作为一个核心工具,Precision Forest首先对一组样本进行预处理,然后由算法的多个子部分重复使用,从而提高…
2022-11-01 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
Range Longest Increasing Subsequence and its Relatives
本文提出了针对范围最长递增子序列问题及其变种的高效算法,改进了传统方法的时间复杂度,并在理论基础上证明了算法的最优性。
2025-12-01 cs.DS
Heapable Sequences and Subsequences
让我们称一个数字序列是可堆的,如果它们可以顺序插入以形成具有堆属性的二叉树,其中第一次插入之后的每个插入都发生在树的叶子上,即在先前放置的数字之下。在本文中,我们考虑了各种问题的堆序列和序列,似乎没有被研究过。我们提出这些概念的动机是双重的。首先,这样的问题对应于自然延伸的著名的秘书问题,雇用一个组织的层次结构。其次,从纯组合的角度来看,我们的问题是类似的最长递增子序列问题的有趣变化,这是一个导致许多深刻的数学联系的问题范式。我们提供了几个基本的结果。我们得到了一个判定序列可堆性的有效算法,并证明了序列能否排在完全二叉堆中的问题是NP-难的。关于连续性,我们表明,以高概率,最长的可堆的子序列的随机排列的n个数字的长度为(1 - o(1))n,和子序列的长度(1 - o(1))n实际上可以找到在线高概率。同样,我们证明了对于一个随机置换,对于常数α,可以以很高的概率找到一个产生大小为αn的完全堆的子序列。我们的工作突出了这类子序列问题的有趣结构,我们留下了许多有趣的变化,为未来的工作开放。
2010-07-14 cs.DS
An Efficient Dynamic Programming Algorithm for STR-IC-SEQ-EC-LCS Problem
本文考虑了一个广义最长公共子序列问题,其中长度为$s$的约束序列必须作为两个主序列的子串被包含,长度为$t$的约束序列必须作为两个主序列的子串被排除,且结果的长度必须是最大的.对于长度分别为$n$和$m$的两个输入序列$X$和$Y$,以及给定的长度分别为$s$和$t$的两个约束序列,我们给出了求解新的广义最长公共子序列问题的$O(nmst)$时间动态规划算法.在更详细的分析中,时间复杂度可以进一步降低到立方时间。证明了新算法的正确性。
2015-05-30 cs.DS