如何计算多个相关的Levenshtein距离?

时间:2011-01-26 20:13:45

标签: levenshtein-distance

给定两个相等长度的字符串,Levenshtein距离允许找到获得第二个字符串所需的最小转换次数,给定第一个字符串。但是,我想找到一种方法来调整多对字符串的算法,因为它们都以相同的方式生成。

1 个答案:

答案 0 :(得分:0)

阅读评论,看来这就是问题所在:

给定一组字符串对,长度相同,每对都是与函数输出配对的某些函数的输入。所以,对于A,B对,我们知道f(A)= B.目标是使用大量A,B对对f()进行逆向工程。

在整个集合上使用Levenshtein距离最多会告诉您必须进行的最大转换次数。

更好的开始是汉明距离(修改为允许多个字符)或Jaccard相似性,以确定字符串中的多少个位置对于所有对都不会发生变化。然后,你只剩下那些做出改变的人。

如果字母移位,这将失败。

要检测移位,您需要使用全局对齐( Needleman-Wunsch )。然后,您将看到类似"ABCDE"=>"xABCD"的内容,以显示从输入到输出,左移。

总的来说,我觉得Levenshtein距离对于帮助你获得原始算法的作用很小。