邮件反垃圾技术之——汉明距离

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

1介绍

换句话说,它就是将 一个字符串变换成另外一个字符串所需要替换的字符个数。 例如:
* 1 与 0 之间的汉明距离是 1。
* 214 与 214 之间的汉明距离是 0。
* "abcd" 与 "aacd" 之间的汉明距离是 1。
汉明重量是字符串相对于同样长度的零字符串的汉明距离,也就是说,它是字符串中非零的元素个数:对于二进制字符串来说,就是 1 的个数,所以 11101 的汉明重量是 4。

2特性

对于固定的长度   n,汉明距离是该长度字符向量空间上的 度量,很显然它满足非负、唯一及对称性,并且可以很容易地通过 完全归纳法证明它满足 三角不等式
两个字   a  与   b  之间的汉明距离也可以看作是特定运算的   ab  的汉明重量。
对于二进制字符串   a  与   b  来说,它等于   a 异或 b以后所得二进制字符串中“1”的个数。另外二进制字符串的汉明距离也等于   n超正方体两个顶点之间的 曼哈顿距离,其中   n  是两个字串的长度。 [1]

3历史及应用

汉明距离是以理查德·卫斯里·汉明的名字命名的,汉明在误差检测与校正码的基础性论文中首次引入这个概念。在通信中累计定长二进制字中发生翻转的错误数据位,所以它也被称为信号距离。汉明 重量分析在包括信息论、 编码理论、密码学等领域都有应用。但是,如果要比较两个不同长度的字符串,不仅要进行替换,而且要进行插入与删除的运算,在这种场合下,通常使用更加复杂的编辑距离等 算法

转自百度百科: http://baike.baidu.com/link?url=LzNdyVge7ZKHscAZ1_mxHPbrcuYybXe-bEI5icucFRo0KHts0o8QsgUFCRwG-k36
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值