算法:汉明距离 vs 编辑距离 区别

1 汉明距离
        在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。例如,1011101 与 1001001 之间的汉明距离是 2。

        汉明距离是以理查德·卫斯里·汉明的名字命名的,汉明在误差检测校正码的基础性论文中首次引入这个概念。在通信中累计定长二进制字中发生翻转的错误数据位,所以它也被称为信号距离。汉明重量分析在包括信息论、编码理论、密码学等领域都有应用。它是用来衡量2个二进制码字之间的相似程度的。

2 编辑距离
        编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如,kitten与sitting之间的编辑距离为3。

        应用: DNA分析、拼字检查、语音辨识、抄袭侦测。

3 个人理解
        汉明距离更多的是强调向量,即每一位的值都有相应的实际意义。而编辑距离强调更多的是一个字符串转化为另外一个的最快速度,没有考虑不同位的含义。

        比如说,有两个对象A=”909”,B=”090”。A与B的汉明距离H(A, B) = 3,编辑距离ED(A, B) =2。

        若附加对象A,B的描述为其空间位置信息,H(A, B) = 3表示在三个维度上均不相同;ED(A,B) = 2表示操作两个维度便可完全相同。显然在这种情况下用汉明距离比编辑距离更具有合理性。而在误差检测和校正码时,多数情况向量维度是相同的,并且每一位都对应着特定的描述信息,也即这些时候多数是用汉明距离。

        若附加对象的A,B的描述文字信息(即拼字检查),显然用编辑距离表示更能反映A,B之间的相似程度。总之,在一些与序列相关但每一位又没有特定的含义的应用适合用编辑距离。
 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值