Board 版 (精华区)

发信人: WeskitKeeper (马甲守护神), 信区: Board
标  题: [范文]最小编辑矩离学习笔记
发信站: 哈工大紫丁香 (Sat Nov 12 10:27:17 2005), 转信

论文阅读

谢欣 10208105

论文

Allison, L. “Dynamic programming algorithm (DPA) for editdistance.”

In Algorithms and Data Structures Research & Reference Material. School of Computer Science and Software Engineering, Monash University, Australia 3168. 1999

 

时间

2004年3月9日

 

笔记
1.      基本概念

编辑距离是指两个字符串通过插入字符、删除字符、改写字符而变为相同字符串所需要的操作次数。

比如:

d(“abc”,”abd”) = 1

d(“abc”,”ab”) = 1

d(“abc”, “abcdf”) = 2

d(“serverU”,” ser-u”)=4

显而易见,利用递规能够实现这个算法,但其时间和空间复杂度都不理想,为指数量级。本文作者就是要提出一个算法使计算更有效。
2.      算法

1)本文讨论了利用动态算法计算编辑距离的方法。

2)本方法的时间复杂性可以达到O(n2),空间复杂性为O(n2)

3)如果更精确的表示,对于字符串s1和s2,时间复杂性为O(|s1|*|s2|);对于空间复杂性,如果仅仅用于计算最终距离,利用垃圾回收策略,空间复杂性可以降至O(n)
3.      变形

1)计算最大共同子串
4.      相关研究

Ukkonen(1983)曾经给了一个算法,其最差时间复杂度为O(n*d),平均时间复杂度为O(n+d2)。其中n是字符串的长度,d是他们的编辑距离。对于很小的字符串来说,当d<<n时,这个算法是很快的。
5.      应用

原文列出了很多应用,从生物学到语音识别等各个方面,可见作者射猎之广。
6.      体会

本文的算法讲解非常清晰易懂,文章也不长,但被很多其它文章所引用,还有很多后来人在研究对它的优化,可见本文章是很有价值的。

我这里附加的不是pdf格式的文章,而是一篇html格式的文件,作者可以用Javascript实现了这个算法,非常精炼,可以在页面直接运行。很有意思。
7.      和我们的实际关系

在文件搜索中,经常出现用户的查询词和实际文件名略有不同的情况,比如上面提到的serverU和serv-U等。如果应用此算法,则能够提高查全率。

--

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.236.206]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.080毫秒