使用唯一元素编辑列表的距离


12

列表之间的Levenshtein-Distance编辑距离是一个经过充分研究的问题。但是如果知道每个列表中没有元素出现超过一次,我在可能的改进上找不到很多东西 。

我们还假设元素是可比较的/可排序的(但是要比较的列表并不是从头开始排序的)。

O(min(m,n)s)sO(min(s,m,n)s)s

更正式地说,

我们如何有效地计算两个给定字符串s,t \ in \ Sigma ^ *之间的编辑距离 s,tΣ ,并保证它们没有重复的字母?

Σ是一个非常大的字母。


您现在的问题是什么?如何加快成对编辑距离,或如何加快计算字符串列表的所有成对距离?
拉斐尔

2
我怀疑的问题是:如何计算之间的编辑距离,其中超过一些非常大的字母串,并且我们保证不信出现两次或在(OP将每个字符串表示为字母列表,即元素列表)。但这需要确认。小号牛逼∈ Σ * Σ 小号ŧs,ts,tΣΣst
DW

是的,在这种情况下,大字母由数据库索引组成,“字符串” s和t是包含这些索引的列表。
user362178 2015年

对于那些想了解复杂性的人:和是输入字符串的长度,而是实际的编辑距离,因此它包含在复杂性中。每次编辑的费用被认为是1,但与计算该距离(编辑数)可能无关紧要。Ñ 小号小号mnss
艾伯特·亨德里克斯

Answers:


3

TL; DR:当两个字符串(甚至只有一个)都具有唯一字符时,可以在线性运算时间内计算出一种限制更严格的编辑距离,在该距离中,我们只能插入和删除单个字符。这样可以在Levenshtein编辑距离上提供有用的上限和下限。

插入/删除编辑距离和最长的公共子序列

Levenshtein编辑距离允许单字符插入,删除和替换,将每个字符分配为1的成本。如果我们仅限制插入和删除,我们将得到一个类似的距离度量,现在导致替换的成本为2(因为任何替换都可以(通过插入和删除进行模仿)。我不知道这种限制更严格的编辑距离的标准名称,因此我将其称为“插入/删除编辑距离”。它与最长公共子序列(LCS)问题密切相关,在该问题中,我们给了两个分别为长度和字符串,并且想知道两个字符串中出现的最长子序列的长度。 如果两个字符串具有LCSn L n + m - 2 LmnL,那么它们的插入/删除编辑距离为n+m2L:最简单的方法是对齐字符串,以使LCS中的字符堆叠在一起,而LCS中不存在的字符则与-间隙相对字符。显然,我们可以通过在第一行中的第一个插入处和第二-行中的一个删除处将第一个字符串编辑为第二个字符串-。例如:

-C-IRC-LE
T-RI-CKLE

这里的LCS CIRCLETRICKLEICLE具有长度为4,并且所述编辑距离确实是。6+724=5

最长的递增子序列

绕道的原因是,当至少一个序列仅包含不同的字符时,有一种非常有效的方法来计算LCS(因此,插入/删除编辑距离):在这种情况下,LCS问题可以转化为找到最长的递增子序列的问题,可以在时间。假设我们给了两个字符串和,而字符串具有不同的字符。我们可以将的第一个字符重命名为1,将第二个字符重命名为2,依此类推,以跟踪我们为表中的每个字符分配的编号。然后在A B A A B O n + m log m A B n mO(nlogn)ABAAB,我们使用此表重命名其字符(即,每次出现的第一个字符A都会更改为1等)。最后,我们在中寻找最长的递增子序列B。这对应于A和之间的LCS B,从那里我们可以立即计算出插入/删除编辑距离。如果和长度分别为和,则所需的总时间仅为。O(n+mlogm)ABnm

Levenshtein上的边界编辑距离

插入/删除距离显然为Levenshtein距离提供了一个上限(因为在插入/删除距离下的任何有效编辑操作序列也是Levenshtein编辑操作的有效序列)。将插入/删除编辑距离除以2也会得到一个下界,因为在最坏的情况下,任何Levenshtein编辑操作都可以更改为2个插入/删除编辑操作。

概论

早在1977年,Hunt和Szymanski提出了一种算法,该算法可以看作是最长的递增子序列算法的推广。每当两个字符串之间的匹配字符位置对的数量很少时,此方法将非常有效。如果存在这样的对,则它们的算法将花费时间。(请注意,如果一个字符串中的所有字符都不同,则。)此算法是原始程序的基础,该程序将整个文本行视为单个字符。 后来切换到使用Myers的 -time算法,其中ø [R + Ñ 登录Ñ - [R ñ ø Ñ d drO((r+n)logn)rndiffdiffO(nd)d 是插入/删除编辑距离,因为当整体差异较小但某些“字符”(文本行)频繁出现(例如,在C程序代码中仅包含一个大括号的行)时,此效果会更好。

亨特,J。Szymanski,T.(1977),“一种计算最长公共子序列的快速算法”,ACM通信,20(5):350-353,doi:10.1145 / 359581.359603

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.