首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 156 毫秒
1.
一种新的快速移动单模式匹配算法   总被引:1,自引:1,他引:0  
针对单模式匹配算法BM算法中平均移动距离较小的特性,文章对BM算法进行改进,提出了一种新的可以增加平均移动距离的字符串匹配算法BMN算法。该算法首先在预处理阶段使用任意的2个字符作为字符块来计算移动距离,并设置最大移动距离为模式串长度加1;然后在查找阶段通过比较连续的2个字符块来增加大距离移动的概率。实验表明,无论模式串的长短,所提出的算法对于英文文本和二进制串均具有较快的速度。  相似文献   

2.
BM是一种基于坏符号和好后缀规则的字符匹配算法,从右向左进行字符匹配,虽然算法简单易懂,但是有一些比较是多余的,导致效率不高,因此提出一种改进的BM算法,实验数据表明,随着文本串长度的增加,模式串和文本串的比较次数以及模式串的移动次数都明显降低,算法的效率得到提高。  相似文献   

3.
在分析了BM算法以及一些重要的改进算法的基础上,提出一种新的改进算法—Y_BMHS\r\n算法.该算法利用辅助的二维数组,考虑了文本串后间隔的两位字符和模式串首字符的唯一性,使\r\n得最大位移提升到m+3,出现概率也显著提高,加快了匹配速度.实验证明Y_BMHS算法比BM、\r\nBMH、BMHS等算法有更好的性能.  相似文献   

4.
模式匹配算法在各领域中有重大的应用价值。文章详细分析了BF、KMP、BM、Tuned BM和QS 5种单模式精确匹配算法;通过上机实验,采用不同的模式串长度对这些算法的匹配次数、比较过的字符个数和所需时间3方面进行测试;结果表明,BM、Tuned BM、QS算法在实际运行性能相对较好;而Tuned BM算法可有效地减少字符比较次数,是其中时间复杂最优的算法。  相似文献   

5.
周丽华 《科技信息》2010,(24):I0188-I0188,I0183
以BM算法为基础,提出一种快速的字符串模式匹配方法,该算法在匹配的过程中采用新的坏字符规则比传统的BM算法跳过的距离更大,并且在前缀不匹配的极端情况下能减少匹配的次数。实验证明,该算法具有良好的性能。  相似文献   

6.
分析了Snort中使用的字符串匹配BM算法, 在此基础上,着重对BM算法中字符串的比较次数和字符移动距离进行分析,通过增加遇到字符不匹配时字符串的移动距离来减少字符的比较次数,达到提高BM算法效率的目的.实验表明,优化后的算法比原算法的效率高7%左右.  相似文献   

7.
为提高模式匹配算法性能,介绍经典的模式匹配算法Byoer-Moore和Sunday,分析它们改进后的效率,根据分块法的特点,提出一种新的分块模式匹配(block pattern matching,BPM)算法?BPM算法在预处理阶段先确定模式串的首字符在文本串的位置,再确定此字符后长度等于模式串长度的字符是否等于模式串的尾字符,若符合条件,采用单链表存储结构进行存储,在匹配阶段,利用单链表信息进行双向匹配?实验结果表明,BPM算法大大减少了匹配次数和字符比较个数,从而提高匹配效率?  相似文献   

8.
在基于有限状态自动机的多模式匹配算法(DFSA算法)基础上,结合Tuned BM算法的优点,提出一种快速的多模式字符串匹配算法,实现了多模式匹配过程中不匹配字符的连续跳跃.在一般情况下,算法不需要匹配目标串中的每个字符,而是在实际比较之前跳过尽可能多的字符,以减少字符比较的操作,实现快速匹配.在模式串较长和较短的情况下,算法都有很好的性能.分析指出算法实际比较的字符数随着模式串长度的增加而下降,并随模式集的增大有所增多.实验表明,在模式串较短时,算法需要的匹配时间仅为AC算法的50%到33.3%,AQR算法的90%左右;在模式串较长时,所需时间为AC算法的25%至12.5%,AQR算法的75%左右.  相似文献   

9.
面向入侵检测系统的模式匹配算法研究   总被引:4,自引:0,他引:4  
针对入侵检测系统对基于攻击特征的网络数据包的检测效率低和丢包率高的问题,在分析典型的模式匹配算法的基础上,提出了一种Boyer Moor Horspool Fast(BMHF)匹配算法.引入一个新的判断函数Q(X)指出字符X在模式串中出现的次数,当出现次数为1时可以利用已匹配的信息加大移动距离,同时利用文本串中不匹配字符后面的一个字符进行匹配,从而得到一个移动距离.将不同移动规则下获得的移动距离的最大值作为实际的移动距离,依次进行,直到匹配完成.实验结果表明,BMHF算法的CPU运算时间比典型的模式匹配算法可平均节省5.7%,平均匹配次数减少12.5%.  相似文献   

10.
DHSWM:一种改进的WM多模式匹配算法   总被引:2,自引:0,他引:2  
针对WM算法的查找效率随着模式集规模的增大而降低的问题,提出一种改进算法.在预处理阶段,改变原有Hash表中的链表结构,采用双哈希法将模式串存放在Hash1表中指定的区间,Hash表中存放该存储区间的起始位置与区间长度;Prefix表用于判断模式集中是否存在与当前匹配窗口中文本前缀相同的模式;当Shift表中出现移动值为0时,根据后缀出现在模式串其他位置的信息计算匹配窗口可滑动的最大距离并存于Shift1表中.在查找阶段,采用双哈希法在Hash1表的某一区间中查找模式串,避免在大规模模式集情况下查找过长的模式链表,扩大匹配操作后匹配窗口滑动的距离,减少冗余的匹配操作,缩短查找时间.研究结果表明:在模式集规模较大时,改进后的算法显著地提高了匹配速度;当模式串数目超过5 000条时,改进算法的查找时间要比WM算法缩短40%~47%.  相似文献   

11.
马伟华  刘玉梅  叶飞  杨旭东 《应用科技》2007,34(10):32-34,38
在分析Wu—Manber算法的基础上,结合QS算法思想,设计了一种改进的多模式串匹配算法:QWM(quick Wu—Manber).算法充分利用紧邻当前窗口之后的B字符块,使算法的最大移动距离由原来的(m—B+1)增大至(m+B),平均移动距离也得到很大提高.同时对QWM算法和Wu-Manber算法进行了实验对比,无论模式串数量和最小长度怎么变化,性能都有较大提升.实验表明,改进的算法在对英文文本进行扫描时有4%~13%的提高.  相似文献   

12.
针对Sunday匹配算法在首字符和正文存在大量重复,使得其平均执行效率降低这一问题,提出了一种改进的Sunday算法。首先将重复的首字符压缩为一个字符,然后使用压缩后的字符串和正文进行匹配,若匹配成功,对成功匹配的位置信息前的字符和首字符进行循环匹配;如果匹配位数和模式串相同,则返回成功,否则返回失败。改进后的算法大大减少了匹配次数,使执行速度有了明显的提高。  相似文献   

13.
分析了几种常用的模式匹配算法,提出一种适合于中文的基于KMP的改进算法,即双向比较模式匹配算法.该算法以KMP算法为基础,引入特征数组以记录模式串尾字符在模式串中出现的位置信息,从而获得模式串在匹配过程中的最大移动距离和最少比较次数.实验结果表明,双向比较模式匹配算法可有效降低匹配次数.  相似文献   

14.
字符匹配效率是很多计算机应用系统的性能瓶颈,研究设计高效的匹配算法有助于提高相应系统的应用性能。在分析典型Sunday匹配算法的基础上,对其进行了较为有效的改进。改进算法在字符串匹配前先计算模式串的倒序特征值,也就是以此计算出模式串的最后s个字符在本模式串中倒序除自己以外的下一次出现的位置。每一次字符匹配都采用倒序匹配并利用这种匹配的结果,匹配结果结合倒序特征值可以直接决定特征串的下一次位移数。在进行完一次字符匹配后,采用增加一个遍历字符的Sunday算法来遍历模式串以计算下一次位移数,以此尽可能地排除无效匹配。实验结果表明改进算法的效率比Sunday算法有一定提高。  相似文献   

15.
一种改进的KMP高效模式匹配算法   总被引:9,自引:0,他引:9  
针对KMP算法存在着主串与模式串中多个相同字符重复比较的缺陷,在KMP算法的基础上,给出了一种新的模式匹配算法,该算法不像KMP算法那样向左滑动模式串的指针,而是每次比较字符不匹配时,根据模式串当前字符的特征值k,使主串的指针向前跳跃k个值,且使模式串的指针置于起始位置,开始新一轮的匹配,加快了主串的匹配速度.理论分析和试验证明,该算法需要的比较次数比KMP算法减少将近一半.  相似文献   

16.
基于混合策略的单模式匹配算法   总被引:2,自引:0,他引:2  
结合后缀有限自动机和正向有限自动机的优点,提出了两个单模式匹配算法.算法中,无论是后缀自动机还是正向有限自动机,只要扫描到的模式前缀长度R>0或者超过模式长度的1/2时,使用正向有限自动机继续向右进行扫描;否则都滑动m-R个字符,使用后缀自动机反向扫描模式串的前缀.两个算法的最差、最好时间复杂度分别为O(n)和O(n/m).结果表明,在短模式的情况下,两个算法的平均时间复杂度均好于RF和LDM,在小字符集长模式或大字符集短模式的情况下它们的平均性能好于BM.  相似文献   

17.
为改进串匹配的效率,通过引入有效载荷,对Horspool算法进行了分析。在字符集较小而模式串长度较大时,跳跃距离受字符集大小限制严重。结合好后缀思想,提出了基于好后缀的Horspool算法GsHor:比较窗口内对应末位字符相同的情况下使用好后缀距离移动窗口;结合Quick Search思想,提出了基于坏字符块的Horspool算法BcbHor。实验表明:字符集大小为4时,GsHor算法的比较次数比Horspool算法减小18%以上,BcbHor算法至少减少42.4%。  相似文献   

18.
字符串的模式匹配应用十分广泛,在信息的搜索查询等方面具有重要作用,研究串匹配算法的效率具有重要的理论价值和实际意义。在分析几种经典模式匹配算法的基础上,对当前应用最广泛的Sunday算法提出了改进的算法Zhusunday.算法主要改进之处是:在字符串从右向左匹配过程中,当文本字符中出现不匹配模式字符串的字符且该文本字符不是坏字符时,算法从右向左搜索当前文本字符在模式串中出现的位置;找到当前字符在模式串中的位置后继续再向左匹配模式串字符一次,如果仍不匹配时,模式窗口比Sunday算法多向右移动一个字符。改进的算法提高了模式匹配的执行效率,通过大量对比实验证明了该算法的有效性。最后得出结论:在实际应用中,坏字符大量存在的情况下,改进算法的最优时间复杂度可达O(n/m),在同一时间复杂度下,比Sunday算法效率提高25~50%.  相似文献   

19.
一种快速的多模式字符串匹配算法   总被引:15,自引:0,他引:15  
以基于有限自动机的多模式匹配算法(DFSA)为基础,结合Boyer-Moore(BM)和Quick Search(QS)快速单模式匹配算法的优点,提出了一种快速的多模式字符串匹配算法,在一般情况下,该算法不需要匹配目标文本中的每个字符,能充分利用匹配过程中本次匹配不成功的信息和已经匹配成功的信息,跳过尽可能多的字符。实验表明,模式串较短时,本算法所需时间为DFSA算法的1/2-1/3;模式串较长时,本算法所需时间为DFSA算法的1/2-1/3;模式串较长时,其所需时间为DFSA算法的1/3-1/5。  相似文献   

20.
以Snort入侵检测系统为研究对象,探讨其规则匹配环节的适用算法,并在Boyer算法的基础上设计一种改进方法.此方法首先设计了一个统计数组,然后以两个相邻字符为组合执行匹配,并分为3种策略判断如何确定最大移动长度.实验结果表明:这种改进措施,使得最大移动长度更加合理,相比于Boyer方法,改进方法的字符比较次数明显降低,窗口移动次数明显降低,执行时间明显减少.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号