首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 93 毫秒
1.
模式匹配算法在各领域中有重大的应用价值。文章详细分析了BF、KMP、BM、Tuned BM和QS 5种单模式精确匹配算法;通过上机实验,采用不同的模式串长度对这些算法的匹配次数、比较过的字符个数和所需时间3方面进行测试;结果表明,BM、Tuned BM、QS算法在实际运行性能相对较好;而Tuned BM算法可有效地减少字符比较次数,是其中时间复杂最优的算法。  相似文献   

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

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

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

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

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

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

8.
张磊  陈娜 《科技信息》2010,(16):213-213
对SNORT的原有规则匹配算法BM算法改进,利用规则树实现了BM算法的多模式匹配功能,在跳跃方面主要依靠于最短模式串与规则树首字符重复出现间隔距离双重控制,在首字符不匹配的情况下,移动模式串的最大距离就是前缀树中最短模式串长度,在整个匹配过程中,最大移动距离是由该前缀树中最短模式串的长度决定;而首字符匹配时,最大移动距离是由规则树首字符重复出现间隔距离决定。  相似文献   

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

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

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

12.
一种快速的多模式字符串匹配算法   总被引: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。  相似文献   

13.
文章在详细分析KR匹配算法的基础上,提出了改进的I_KR算法.I_KR算法的改进之处:一是采用2次Hash函数的方法在计算T的子串的散列值之后,马上与P的散列值进行比较;二是采用双向并行方式进行匹配.为了分析I_KR算法的性能,从不同文本串和模式串角度,在匹配次数和比较的字符个数方面对I_KR算法进行实验.实验结果表明,I_KR算法能够极大地减少匹配次数,缩短匹配时间,有效地提高模式匹配速度.  相似文献   

14.
通过构建前缀匹配自动机,使得每轮匹配后下个匹配窗口的文本总是保持左端部分为模式的一个前缀、右端部分全为未比较过的字符的形式.对于与此相应的模式匹配算法,已证明文本内的每个字符在整个匹配过程中最多被比较一次,从而字符总比较次数不超过n,已达到任意算法最坏情况下字符总比较次数的最小值.另外,在适当条件下还从理论上证明了此算法的亚线性(即字符总比较次数小于cn,其中常数c<1).根据实验结果,算法的实际运行速度快于Boyer-Moore算法.  相似文献   

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

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

17.
Wu-Manber算法在大规模模式串下的改进   总被引:2,自引:2,他引:0  
对笔者在另一篇文章《一种改进的Wu-Manber多关键字匹配算法》中提出的算法进行了改进,把原算法中next链表中结点的Same-Subsuffix域中分裂成两个子域,使得搜索过程中字符比较的次数进一步减少,从而提高算法的效率.特别是在大规模模式串的情况下新算法的效率比原算法有进一步的提高.实验结果表明,当模式串较少时,新算法效率与原算法相比有一定的损失.而随着模式串的增加,新算法具有更高的效率.因此,新的算法比原算法具有更大的适用范围.  相似文献   

18.
本文在分析传统模式匹配BF算法、KMP算法和BM算法的基础上,提出对BM算法的改进.主要针对BM算法中模式串向右滑动距离进行改进,BM算法和改进后的BM算法在同等条件下,分别调用各自算法的滑动距离函数,实验结果可以看出改进后的BM算法查找效率、查找次数等均优于BM算法.  相似文献   

19.
在入侵检测技术的基础上利用模式匹配算法对数据包负载中的内容进行特征匹配具有重要意义,通过细致分析BM模式匹配算法并加以改进,设计出增强型的BM算法——EBM算法.EBM算法与BM算法相比,文本指针偏移值更大,字符匹配次数更少,使得改进后的入侵检测系统性能有了明显的提高.  相似文献   

20.
目前的入侵检测系统大多是基于特征的,系统的性能瓶颈在于模式匹配算法的执行效率.在探讨几种典型的模式匹配算法的基础上,提出了改进的BMH算法.该算法通过取文本串中的两个连续字符计算偏移量的方式,减少了匹配的次数.实验结果证明匹配速度得到了一定程度的提高.  相似文献   

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

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