基于Horspool算法的模糊匹配

第30卷第1期计算机工程

2004年1月VoL30脑1ComputerEngineeringJanuary2004?基金项目论文?文llq",100啦一3428(2004)ol—1060—02文州融R面弓tA中田分类号tTP301.6基于Horspool算法的模糊匹配

铀立进,吴泽俊,董虹斌

(武汉大学软件工程国家重点实验室,计算机学院.武汉430072)

揞蔓:匹配模式中存在模糊信息的匹配形式称为模糊匹配,它是目前字符串匹配的重要研究方向。Horspoo[算_i击是精确厘配的经典算法,但不能实现模糊匹配。该文将要求匹配的模式转化为相应的二进制数序列,在ttorspool算j击基础上扩大其功能,使其能够实现模糊匹配,且不影响其楮确匹配的功能。

关悯:模式匹配;模糊匹配;BM算法;H06pool算法;精确匹配

ApproximateMatchingBasedonHorspoolAlgorithm

QIANLijin。WUZejun,DONGHongbin

(StateKeyLaboratoryofSoRwareEngineering,SchoolofComputerScience,WuimnUniversity,Wuhan438072)

lAbstractJ

ApproximatematchingisatypeofmatchingwhosepaReraincludesapproximateinformations

anditisOIICofthemainsearchaECSScurrentlyrelatedtOstringmatchingHorspoolalgorithmisOflCofthemostclassicalgorithmsrelatedtoaccuratematchingwhileitcannotIlulfillapproximatematchin91’illspapertransfolnl8patternintobinarylistsandimprovesHorspoolaIgorithminordertothinIIbothaccuratematchingandapproximatematching

IKeywords]Palternmatching;Approximatematching;Boyer-mooreaigorlthm.HorspoNatgotithm;Accuratemalchlng

长期以来对半结构化或非结构化数据(女[1html)的处理一直是众多学者研究的重点。而在这些流式文件上进行信息检索和分析,特别是带模糊信息内容的有效检索,更是一个难点。模式匹配即在冗长的二进制串或字符串中定位模式串所在的位置。模式匹配在自然语言处理、文本编辑、情报检索、DNA鉴定、病毒监测等众多领域都有着广泛应用。目前主要的研究方向集中在模糊匹配和容错匹配上,相关的研究方法主要有基于位并行模拟(女flShifl—Or算{去【“,BPAL2l等)和基于二自动机(女[IBDM算法”‘等)。

模糊匹配指的是模式中含有模糊信息的匹配形式,因模糊信息多样化,较精确匹配更难实现,且实现起来的代价更高。Horspoo}”算法是精确匹配的经典算法,以简洁、高效而著称,现有的众多匹配算法都以其为理论基础。本文将结合位并行模拟方法,将模式转化为特定的二进制数序列。改进Horsp00I算法使其既日E够实现精确匹配,也能够实现模糊匹配。

l介绍

1.I模翱匹配

设E为固定字符集,字符串pat=p,&…pl|l(长度为m,其中n∈∑),字符串文本text=t.t2…k(长度为11,n∈E),且认为m≤n.若pat是text的一个子串。则称模式州与主串text匹配。在主串中寻找子串(模式)的过程,则称为模式匹配。pat中包含不确定字符或者特定的约束条件时,则称为模糊匹配I“23”。模糊匹配包含以下3种情况:

(I)pat中含有””字符(通配符),表示这个字符可以由字符集E中的任意一个字符所代替。例如:pat书c*oo[与school和scaool都匹配;

(2)pat中含“【特定的多个字符】”,表示这个字符([】代表一个字符位置)可以由【l中的任意一个字符所代替。例如:pat=sc[ac]oo[(此时的模式长度是5)与scaoo[、sccool都匹配,而与scbool矸;匹配,因为b没有出现在¨中;

(3)patq,含有“c”,表示此字符可由任意不等于c的一60~字符所替代。例如pat=school与scaoo[匹配,而与school不匹配。

1.2BM算法爰其改进版Horspool算法

BM算法”1是由RBoyer和SMoore于1977年提出的,是最经典的模式匹配算法之一。后来众多的模式匹配算法都是在其基础上改进发展起来的。Horspool算洌”,又称为Boyer-Moore-Horspool算法,是BM算法的简化改进版。因Horspool算法与BM算法的继承关系,下面将只简述Horspool算法的主要思想。

此算法继承rBM算法中的逆序比较的思想。所孵逆序比较,即如果当前正在比较模式pat(=p州P—P。)和字符文本text中的t...b一一t…。则不采用一般从左往右比较的方法,而是从右向左比较,先判断t,。。是否等于pm,若相等卿继续比较‰..和卧。如此循环,直到比较到P,等于‘¨,则报告发现一个匹配;若中问比较到R(见图I或图2,对应于pat中阴影a字符)和‘+.(对应于text中阴影b字符)发现不等tl≤l≤m),此时{ti.i_。…t.m。}已经比较完毕且等于{Br??n,0(对应于阴影u,其中e是i1的最后一个字符),则在P.…pn卜.中看是否存在c字符,如不存在(第1种情况见图1)则模式pat直接向右移m位,否则如发现A(等于c)等于tm(I≤k≤m—I。第2种情况见图2)则将pat向右移m—k位;继续从右往左比较…

mtE二=]【j二亡二二二二]叫[卫匠j]——7

p|t[堕塑二=卫

lienPl""P。巾不存在c字耱

基盘疆目:国家自然科学基金重大研究计划资助项目(9020401I);

软件工程国家重点实验室第4批开放摹金赉助项日

柞者蕾介;钱立进订018一),男,硕士生,研究方向:数据仓库

逻辑程序设计;吴泽俊,硕士生;萤红斌,副教授、博士

收■H期:2002r12-18E-mail:whuaoin@sinatom

基于Horspool算法的模糊匹配

作者:钱立进, 吴泽俊, 董红斌

作者单位:武汉大学软件工程国家重点实验室/计算机学院,武汉,430072

刊名:

计算机工程

英文刊名:COMPUTER ENGINEERING

年,卷(期):2004,30(1)

被引用次数:1次

参考文献(6条)

1.Ricardo A.Yates B.Gonnet G H A New Approach to Text Searching[外文期刊] 1992(10)

2.Hyyro H.Navarro G Faster Bit-parallel Approximate String Matching[外文会议] 2002

3.Czumaj A.Crochemore M.Gasieniec L Speeding up Two String -matching Algorithms[外文期刊] 1994

4.Boyer R.Moore S A Fast String Searching Algorithm 1977

5.Horspool N Practical Fast Searching in Strings 1980

6.Yates R B.Navarro G A Hybrid Indexing Method for Approximate String Matching 2001

本文读者也读过(9条)

1.王强入侵检测系统中误用检测技术的研究[学位论文]2006

2.陈有君.蒙美莲.陈炀.CHEN You-jun.MENG Mei-lian.CHEN Yang分段位序比对法揭示两个序列之间关系[期刊论文]-内蒙古农业大学学报(自然科学版)2010,31(1)

3.陈中元.Chen Zhongyuan IE上用"Quick Search"免费快查USP和电脑翻译的方法[期刊论文]-计算机与应用化学2007,24(7)

4.姚全珠.丁晓剑.任雪利.张志锋.YAO Quan-zhu.DING Xiao-jian.REN Xue-li.ZHANG Zhi-feng BWT-Boyer-Moore压缩域搜索算法的研究[期刊论文]-计算机应用研究2006,23(7)

5.鲍峥嵘.王永成.刘功申.韩客松一种快速的字串交叉模式匹配算法[期刊论文]-上海交通大学学报2003,37(3)

6.杨薇薇.廖翔.YANG Wei-wei.LIAO Xiang一种改进的BM模式匹配算法[期刊论文]-计算机应用2006,26(2)

7.潘景昌.夏蔚然.宗文婷.吕润川按音标查询的英汉电子词典的设计与实现[期刊论文]-电子技术应用2005,31(1)

8.牛丹云.朱清新.Niu Danyun.Zhu Qingxin基于模式驱动和模糊查询的模式发现方法[期刊论文]-计算机研究与发展2009,46(z2)

9.廖一兰.王劲峰.马家奇.戚晓鹏.LIAO Yi-lan.WANG Jin-feng.MA Jia-qi.QI Xiao-peng基于BPM-BM算法的地名数据匹配[期刊论文]-测绘通报2008(6)

引证文献(1条)

1.张娜内容过滤防火墙的设计与实现[学位论文]硕士 2006

本文链接:https://www.360docs.net/doc/5518955057.html,/Periodical_jsjgc200401023.aspx

相关文档
最新文档