文本比较算法Ⅰ——LD算法.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文本比较算法Ⅰ——LD算法

 HYPERLINK /grenet/archive/2010/06/01/1748448.html 文本比较算法Ⅰ——LD算法   在日常应用中,文本比较是一个比较常见的问题。文本比较算法也是一个老生常谈的话题。   文本比较的核心就是比较两个给定的文本(可以是字节流等)之间的差异。目前,主流的比较文本之间的差异主要有两大类。一类是基于编辑距离(Edit Distance)的,例如LD算法。一类是基于最长公共子串的(Longest Common Subsequence),例如Needleman/Wunsch算法等。   LD算法(Levenshtein Distance)又成为编辑距离算法(Edit Distance)。他是以字符串A通过插入字符、删除字符、替换字符变成另一个字符串B,那么操作的过程的次数表示两个字符串的差异。   例如:字符串A:kitten如何变成字符串B:sitting。     第一步:kitten——》sitten。k替换成s     第二步:sitten——》sittin。e替换成i     第三步:sittin——》sitting。在末尾插入g   故kitten和sitting的编辑距离为3 ?   定义说明:   LD(A,B)表示字符串A和字符串B的编辑距离。很显然,若LD(A,B)=0表示字符串A和字符串B完全相同   Rev(A)表示反转字符串A   Len(A)表示字符串A的长度   A+B表示连接字符串A和字符串B      有下面几个性质:   LD(A,A)=0   LD(A,)=Len(A)   LD(A,B)=LD(B,A)   0≤LD(A,B)≤Max(Len(A),Len(B))   LD(A,B)=LD(Rev(A),Rev(B))   LD(A+C,B+C)=LD(A,B)   LD(A+B,A+C)=LD(B,C)   LD(A,B)≤LD(A,C)+LD(B,C)(注:像不像“三角形,两边之和大于第三边”)   LD(A+C,B)≤LD(A,B)+LD(B,C) ?   为了讲解计算LD(A,B),特给予以下几个定义   A=a1a2……aN,表示A是由a1a2……aN这N个字符组成,Len(A)=N   B=b1b2……bM,表示B是由b1b2……bM这M个字符组成,Len(B)=M   定义LD(i,j)=LD(a1a2……ai,b1b2……bj),其中0≤i≤N,0≤j≤M   故:  LD(N,M)=LD(A,B)       LD(0,0)=0       LD(0,j)=j       LD(i,0)=i ?   对于1≤i≤N,1≤j≤M,有公式一   若ai=bj,则LD(i,j)=LD(i-1,j-1)   若ai≠bj,则LD(i,j)=Min(LD(i-1,j-1),LD(i-1,j),LD(i,j-1))+1 ?   举例说明:A=GGATCGA,B=GAATTCAGTTA,计算LD(A,B)   第一步:初始化LD矩阵   ? LD算法矩阵 ??GAATTCAGTTA?01234567891011G1???????????G2???????????A3???????????T4???????????C5???????????G6???????????A7????????????   第二步:利用上述的公式一,计算第一行 ? LD算法矩阵 ??GAATTCAGTTA?01234567891011G1012345678910G2???????????A3???????????T4???????????C5???????????G6???????????A7????????????   第三步,利用上述的公示一,计算其余各行?    LD算法矩阵 ??GAATTCAGTTA?01234567891011G1012345678910G211234566789A321123456788T

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档