1.定义
假设只有三种编辑方式:插入,删除,替换。每种编辑方式对应一次操作。按规定的编辑方式,将原始字符串变换到目标字符串所需的最少操作次数,被称为最小编辑距离。
Levenshtein距离中定义替换对应两次操作。
2.推导
设源字符串为A,长度m,目标字符串为B,长度n。
-
是否存在简单情况
很明显,两字符串长度较短时情况会比较简单。
如,m=0时,插入n次;n=0时,删除n次;m=n=1且A和B不同时,替换1次。 -
简单情况到复杂情况的变量是什么
是两个字符串的长度。因此我们设最小编辑距离为。
-
是否存在简单情况到复杂情况的递推关系
由1有
从向前回溯,有三条路径,对应三种编辑方式,
这里,
,
,
。
- 每一步取最短路径,最后一定是最短路径吗?对于每次都归结于一点的树形结构,这是必然的。
网友评论