时间:2022-04-29 17:56:56
序论:在您撰写匹配算法论文时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。
关键词串匹配,前缀函数,KMP算法
在计算机科学领域,串的模式匹配(以下简称为串匹配)算法一直都是研究焦点之一。在拼写检查、语言翻译、数据压缩、搜索引擎、网络入侵检测、计算机病毒特征码匹配以及DNA序列匹配等应用中,都需要进行串匹配。串匹配就是在主串中查找模式串的一个或所有出现。在本文中主串表示为S=s1s2s3…sn,模式串表示为T=t1t2…tm。串匹配从方式上可分为精确匹配、模糊匹配、并行匹配等,著名的匹配算法有BF算法、KMP算法、BM算法及一些改进算法。本文主要在精确匹配方面对KMP算法进行了讨论并对它做一些改进以及利用改进的KMP来实现多次模式匹配。
1KMP算法
最简单的朴素串匹配算法(BF算法)是从主串的第一个字符和模式串的第一个字符进行比较,若相等则继续逐个比较后续字符,否则从主串的第二个字符起再重新和模式串的第一个字符进行比较。依次类推,直至模式串和主串中的一个子串相等,此时称为匹配成功,否则称为匹配失败。朴素模式匹配算法匹配失败重新比较时只能向前移一个字符,若主串中存在和模式串只有部分匹配的多个子串,匹配指针将多次回溯,而回溯次数越多算法的效率越低,它的时间复杂度一般情况下为O((n-m+1)m)(注:n和m分别为主串和模式串的长度),最坏的情况下为O(m*n),最好的情况下为O(m+n)。KMP模式匹配算法正是针对上述算法的不足做了实质性的改进。其基本思想是:当一趟匹配过程中出现失配时,不需回溯主串,而是充分利用已经得到的部分匹配所隐含的若干个字符,过滤掉那些多余的比较,将模式串向右“滑动”尽可能远的一段距离后,继续进行比较,从而提高模式匹配的效率,该算法的时间复杂度为O(m+n)。
那么如何确定哪些是多余的比较?在KMP算法中通过引入前缀函数f(x)来确定每次匹配不需要比较的字符,保证了匹配始终向前进行,无须回溯。假设主串为s1s2,sn.,模式串为t1t2,tm.,其中m≦n,从si+1开始的子串遇到一个不完全的匹配,使得:
(1.1)
如果我们能确定一个最小的整数,使得:
(1.2)
其中,所以确定i''''等价于确定k,这里的k值就是我们要求的前缀函数f(x)。由式1.1和1.2中K值与主串s无关,只与给定的模式串t中与主串匹配的q有关,即k=f(q),
f(q)=max{i|0iq且t[1..i]是t[1..q]的后缀}(1.3)
确定KMP前缀函数的算法如下:
#defineMAXSIZE100
Typedefunsignedcharstring[MAXSIZE+1];//0号单元用来存放串的长度
voidf(sstringt,int*array)
{
m=t[0];//m为当前模式串的长度
array=(int*)malloc((m+1)*sizeof(int));//0号元不用
array[1]=0;k=0;
for(q=2;q<=m;q++)
{while(k>0&&t[k+1]!=t[q])k=array[k];
if(t[k+1]==t[q])k=k+1;
array[q]=k;
}
}
关于KMP算法的前缀函数f(x)的示例见表1。
当模式串中有i个字符串匹配成功,第i+1个字符不匹配时,则从i-f(i)个字符重新开始比较,这样不仅无须回溯,而且一次可以向前滑动i-f(i)个字符,大大提高了模式匹配的效率。下面给出朴素匹配算法和KMP匹配算法的比较,见表2。
表2朴素匹配算法和KMP匹配算法比较表
朴素算法KMP算法
时间复杂度O((n-m+1)m)O(m+n)
向前移动字符个数1q-f(q)
回溯次数q-1无
其中:n为主串长度,m为模式串长度,q为匹配成功的字符个数
2KMP算法的改进
在KMP算法的实际应用中,发现该算法也存在着不足,结合下面的表一来论述KMP模式匹配算法的改进。假设模式串前4个字符与主串的第i+1..i+4匹配成功,第5个字符匹配失败,此时前缀函数f(4)=1,下一次匹配将从第i+4开始,并直接将模式串中的第2个字符与主串中的第i+5个字符进行比较,从表1中可知,匹配必将失败,此次比较是多余的。这说明此时的前缀函数f(x)并不是最优,需要对前缀函数进行改进。实质上,所谓对KMP算法的改进就是对其前缀函数的改进。
4结语
本文给出的算法较朴素匹配算法在效率上有了较大的提高,尤其是对重复字符出现较少的数据段进行模式匹配可取得较高的查找效率。应用于大型数据库的数据查询,会更加有效地缩短查找时间。
参考文献
[1]严蔚敏,吴伟民.数据结构[M].清华大学出版社,2001
[2]傅清祥,王晓东.算法与数据结构[M].电子工业出版社,1998
【关键词】深度挖掘匹配算法 毕业论文管理 应用
在毕业论文管理工作不断加强的情况下,注重管理模式的更新和合理选用,提高匹配算法的针对性,才能真正提高高校教务管理水平。因此,对深度挖掘匹配算法在毕业论文管理中的应用有比较全面的了解,才能为高校教务管理工作提供可靠参考依据。
1 深度挖掘匹配算法的相关分析
根据深度挖掘匹配算法在毕业论文管理中的应用情况进行全面分析来看,其主要包括如下两个方面:
1.1 志愿自动匹配算法的相关分析
对学生和课题的选择关系进行合理分析可知,两者的最优、最大匹配,最好是根据学生的实际情况量身定做,才能真正实现课题与学生的最完美匹配。因此,教师提出相关题目时,需要对学生的情况、特性和要求等进行全面分析,才能在学生对课题的特性、关联性等有一定了解的情况下,提高课题与学生的匹配概率,最终让学生选定最合适的课题。在实践过程中,志愿自动匹配算法的合理运用,需要根据毕业论文的管理流程,从教师出题开始。一般情况下,教师应该先提出大题让学生自由选择,在匹配学生确定好以后将大题分成几个小题,从而将每个小题分配给合适的学生。在这种情况下,教师设定的课题需要从修读课程达到的分数、难度、所属类别等多个方面确定,并从教务管理系统中获取学生的成绩和选题积分点等,才能根据分数线来判定学生是否符合相关选题。其中,选题的难度在简单、一般、难、很难和非常难几个等级,对应的成绩是及格、良好、优秀、极好。在实际进行选题时,学生可以根据自己的情况选择三个题目作为志愿,以在系统完成匹配后,自定将题目下发给学生。在实践过程中,初始化志愿显示的是学生的第一志愿,在经过while、if、else、break、continue等流程后,系统会将题目和学生进行适当分类,以确保题目与学生的匹配最合理、最科学。由此可见,志愿自动匹配算法是优先对具有课题相关能力的学生进行匹配的,在学生人数低于匹配数量的情况下,可继续为积分点高、能力稍差的学生进行匹配,对于确保课程成绩与积分点的完美结合有着极大影响。
1.2 调剂学生算法的相关分析
在经过上述算法进行匹配后,根据学生的实际情况进行深层挖掘,可以实现课题与剩余学生的完美调剂。因此,对上述阶段中匹配失败的学生志愿所选的教师、课题类别、难度等因素进行深度挖掘,并将搜索结果作为匹配课题的依据,才能在缩小搜索范围的情况下,找到与剩余学生最合适的课题。如果出现相近课题较多的情况,则需要有学生、工作人员共同协商,以确定最终和最适合学生的课堂。在实践应用中,调剂学生算法的运用需要对需要调剂的学生进行合理分析,并通过if、else、return、while、continue、else等多个流程,才能真正匹配出最适合学生的课题。
2 深度挖掘匹配算法在毕业论文管理中的实际应用
根据深度挖掘匹配算法的实际应用来看,在毕业论文管理中学生可以了解到最适合自己的课题信息,教师可以根据学生的积分点和成绩等确定课题,从而避免选择某一课题的学生过多或过少的情况出现,对于提高第一志愿自动匹配成功率有着极大作用。因此,在实际应用中,注重教师、课题类别、难度的合理设定,确保它们的排序科学,将课堂与学生的匹配关系看作是二分图,并且,每个学生可以选择的课题有三个,系统可以根据学生的实际情况进行自动匹配,最终深度挖掘与学生志愿匹配的课题。例如:志愿自动匹配和调剂学生的总数都为102人,通过深度挖掘匹配算法匹配成功的人数分别为72人和90人,成功率达到了70%、88%。在不使用任何算法进行匹配的情况下,两者的成功率是52%左右。由此可见,在毕业论文管理系统中,深度挖掘匹配算法在科学应用,可以为教务管理工作提供可靠参考依据,对于提高毕业论文管理工作人员的工作效率有着重要影响。
3 结语
综上所述,在深度挖掘匹配算法不断推广的情况下,其在毕业论文管理中的实际应用受到了很多教务管理工作人员的青睐。因此,充分发挥深度挖掘匹配算法的作用,提高深度挖掘匹配算法在毕业论文管理中的应用效果,才能更好的满足学生的选题需求。
参考文献
[1]冯丽慧,冯立智.数据挖掘在毕业论文成绩管理中的应用研究[J].电脑知识与技术,2012,30:7150-7153.
[2]徐章韬.用信息技术深度挖掘课程内容――以数学学科为例[J].教育发展研究,2015,12:29-33.
[3]连伊娜.深度挖掘高校档案文化内涵,更好为教育事业发展服务[J].黑龙江史志,2013,11:104-105.
作者简介
刘冰洁(1983-),女,江西省南昌市人。工程硕士学位。现为江西交通职业技术学院副教授。研究方向为大数据、系统集成、智能化技术。
【关键词】藏文分词 匹配算法 哈希表 词典机制
1 引言
藏文信息处理存在着分词的问题,而藏文分词是对藏文词性标注、藏语音合成、机器翻译、大型语料库建设和信息检索等藏文信息处理的基础。藏文分词的效果会对进一步研究的藏文词性标注、藏语音合成、机器翻译、大型语料库建设和信息检索等藏文信息处理软件的性能和效果产生影响。
为了提高分词的准确率,需要有一个足够大的词库,面对足够大的词库,对词库中的词语的搜索技术就显得十分重要,对词库中词语的搜索速度直接关系到分词系统的性能。词库目前主要是采用索引的机制来实现的,一般用到的索引结构的包括线性索引、倒排表、Trie树、二叉树等。线性索引、倒排表都是静态的索引结构,不利于插入、删除等操作。
2 分词
2.1 词典机制算法
本系统采用的是基于Hash索引的分词词典。分词词典机制可以看作包含三个部分:首字Hash表、词索引表、词典正文。词典正文是以词为单位txt文件,匹配过程是一个全词匹配的过程。首先,通过首字Hash表确定该词在词典中的大概位置,然后根据词索引表进行定位,进而找到在词典正文中的具置。该系统是采用Myeclipse10平台,使用Java语言进行实现的,直接调用Java里的hashmap创建函数,找到该词之后,然后进行字符串匹配。
2.2 基于匹配算法分词
主流的分词方法有三种:分别为基于语言学规则的方法、基于大规模语料库的机器学习方法、基于规则与统计相结合的方法,鉴于目前藏文方面还没有超大型的句子语料库。该系统便采用了基于语言学规则的根据词典进行匹配的方法对藏文进行分词。
根据匹配的方向不同,分为正向和逆向两种匹配算法。本系统采用的是正逆向匹配算法相结合的减字匹配法对藏文进行分词的,因为藏文在每个字的结束时,都会以“”作为分界;每个句子会以“”或者“” 作为分界。因此,对藏文进行分词的减字算法首先以藏文的字符“”或者“”切分出句子,如此一来,原文就被分为相应的若干个句子了。接下来,再对每一个句子进行词典的匹配,如果没有匹配成功就根据藏文字符中“”从句末尾减去一个字符,然后再次进行匹配,直到匹配成功为止。对每个句子重复这些流程,直到每个句子全部分解为词为止。逆向最大匹配是从句子的末尾选择计算最大词的长度,从后往前匹配、切分,其基本原理是和正向最大匹配的原理是相同的。
为了提高切分的精度,该系统使用的是正向最大匹配和逆向最大匹配相结合的方法进行分词,先分别采用两种方法分词,然后根据概率比较两种分词结果,选择概率较大的那种匹配算法作为分词结果。
本系统的逆向最大匹配和正向最大匹配均是采用减字匹配算法,减字算法实现简单,切分效果也比较理想,流程如图1所示。
正向最大匹配(MM) 对于文本中的字串 ABCD,ABCD?W,若ABC∈W,并且AB∈W,然后再判别CD是否属于W,若是,则就切分为AB/CD,如果不是,则切分为AB/C/D。其中W 为分词的词典。逆向最大匹配对于文本中的字串 ABCD,ABCD?W,BCD?W,CD∈W,并且AB∈W,其中W为分词的词典,那么就取切分 AB/CD,根据藏文词组最长的为6个字符组成的,所以进行匹配算法的时候,初始化藏文最大字符串长度为6,流程图如图2所示。而逆向最大匹配算法是从句子的末尾开始进行匹配,其核心算法与正向最大匹配算法相同,只不过开始匹配的方向不同而已。
无论是正向匹配(MM)算法还是逆向匹配(RMM)算法都会产生大量的歧义字段。我们很容易举出这样的例子,如:(五十六个民族心连心)这一句藏语,采用正向匹配算法分词的结果为:,采用逆向匹配算法的分词结果为:,在采用逆向匹配的时候,将会被划分为,而(五十六)实际是一个词,不该划分,诸如此类的藏文句子还有很多,例如 等,无论使用正向最大匹配算法或者使用逆向最大匹配算法都会产生歧义,这种歧义称为组合歧义。为了减少这种歧义的影响,本系统使用两种分词方法相结合的方式。首先分别使用两种算法进行分词,然后通过统计的方法消除部分歧义。具体实现为:设正向最大匹配算法所切分的n个词分别为,则这个句子切分的频率则为;设逆向最大匹配算法所切分的n个词分别为,则这个句子切分的频率则为。如果,则选择正向最大匹配算法所切分的结果,反之,则选择逆向最大匹配算法所切分的结果。
3 结果和分析
结合26个大小不同的实验文本,对基于哈希表索引和匹配算法的分词系统的准确率进行了分析,准确率如图3所示。结果显示,该分词系统的准确率在92%以上。由此可得基于哈希表索引和匹配算法的分词系统在准确率上有不错的效果。
参考文献
[1]华却才让.基于树到串藏语机器翻译若干关键技术研究[D].陕西师范大学,2014.
[2]石方夏,邱瑞,张|,任帅.藏文信息隐藏技术综述[J].物联网技术,2014,12:28-32.
[3]王思力,张华平,王斌.双数组Trie树算法优化及其应用研究[J].中文信息学报,2006,05:24-30.
[4]陈硕,桂腾叶,周张颖等.信息检索在论文写作和项目申报中的应用[J].科技展望,2015,13:274-275.
[5]黄昌宁,赵海.中文分词十年回顾[J]. 中文信息学报,2007,03:8-19.
[6]奉国和,郑伟.国内中文自动分词技术研究综述[J].图书情报工作,2011,02:41-45.
[7]贺艳艳.基于词表结构的中文分词算法研究[D].中国地质大学(北京),2007.
[8]戴上静,石春,吴刚.中文分词中的正向增字最大匹配算法研究[J].微型机与应用,2014,17:15-18.
[9]刘遥峰,王志良,王传经.中文分词和词性标注模型[J].计算机工程,2010,04:17-19.
作者简介
陈硕(1995-),男,自治区拉萨市人。本科在读,主研领域为自然语言处理,数学建模及其应用。
周欢欢(1994-),女,湖南省衡阳市人。本科在读,研究方向为数学建模及其应用、交通运输规划与管理。
通讯作者简介
赵栋材(1976-),男,现为大学藏文信息技术研究中心副教授。主要研究方向为藏文信息处理。
作者单位
关键词:Rete算法,智能防火墙,规则,快速,匹配
Rete算法是一个快速的模式匹配算法,它通过形成一个Rete网络进行模式匹配,利用基于规则的系统的两个特征,即时间冗余性(Temporalredundancy)和结构相似性(structural similarity),提高系统模式匹配效率。
一、模式匹配的基本概念
1、可满足规则:一个规则称为可满足的,若规则的每一模式均能在当前工作存储器中找到可匹配的事实,且模式之间的同一变量能取得统一的约束值。形式化地说,规则
if P1,P2,…Pmthen A1,A2,…An
称为可满足的,若存在一个通代σ,使得对每一个模式Pi,在工作存储器中有一个元素Wi满足
Piσ=Wii=1,2,3 …m
这里,σ作用在某个模式的结果称为模式实例,σ作用在整个规则的结果称为规则实例。在专家系统中,可满足的规则称为标志规则。
2、冲突集:由全体规则实例构成的集合称为冲突集,也称上程表。免费论文参考网。
3、模式匹配算法的任务是:给定规则库,根据工作存储器的当前状态,通过与规则模式的匹配,把可满足规则送入冲突集,把不可满足的规则从冲突集中删去。
二、Rete算法的依据和基本思想
Rete算法快速匹配的重要依据是:
1、时间冗余性。免费论文参考网。工作存储器中的内容在推理过程中的变化是缓慢的,即在每个执行周期中,增删的事实只占很小的比例,因此,受工作存储器变化而影响的规则也只占很小的比例。由产生式系统的折射性,只要在每个执行周期中记住哪些事实是已经匹配的,需要考虑的就仅仅是修改的事实对匹配过程的影响。
2、结构相似性。许多规则常常包含类似的模式和模式组。
Rete算法的基本思想是:保存过去匹配过程中留下的全部信息,以空间代价来换取产生式系统的执行效率。
三、Rete匹配网络结构与过程
Rete算法的核心是建立Rete匹配网络结构,其由模式网络和连接网络两部分构成。其中,模式网络记录每一模式各域的测试条件,每一测试条件对应于网络的一个域结点,每一模式的所有域结点依次连起来,构成模式网络的一条匹配链。
Rete网络匹配过程由模式网络上的模式匹配和连接网络上的部分匹配构成。在模式网络的机器内部表示中,我们把共享一个父结点的所有结点表示成一条共享链。同时,把每一模式匹配链中的结点表示成一条下拉链,于是,每一结点由共享链和下拉链指向其后继结点,模式网络就是一棵可以使用典型遍历算法进行测试的二叉树。
四、智能防火墙Rete算法设计
Rete快速匹配算法,函数Rete设计为:取IP地址、端口号各部分折叠、异或运算后,以Rete长度取模。免费论文参考网。算法如下(无关或部分无关称为集合A,相关、包含相等和相等的称为集合B):
1、Addr=sa+da sa:源地址 da:目的地址
2、Port=sp+dp sp:源端口号 dp:目的端口号
int Rete(long addr, int port)
{int addrxor,key;\地址折叠异或
addrxor=(addr&~(~0﹤﹤16))∧((addr﹥﹥16)&~(~0﹤﹤16));
key=addrxor∧port; \与端口异或
return(key % max); }\max为Rete表长度
防火墙初始化时,首先从规则集A用该散列函数构造Rete表R为
Void Initialization(RULE-SET A){
FOR(r∈A)DO{ \r为每条规则
idx=Rete(r.addr,r.port);
R[idx]=&r; \R代表规则集合A
}}
因为Rete表的长度有限,但是如果设计太大会浪费存储空间,也降低了查找速度,所以免不了会出现冲突。解决冲突的方法是:如果两条规则经过散列后落到同一位置,则把这两条规则按照插入顺序组成一个链表结构。主要算法如下:
if(R[Rete(r.addr,r.port)]=NULL)\R为Rete表,r为规则
R[Rete(r.addr,r.port)]=&r;\没有冲突,则插入Rete表
Else{J=R[Rete(r.addr,r.port)];\冲突解决方法
while (j->next!=NULL) {j=j->next;} \插入链表末尾
j->next=&r;}
数据包匹配流程:当防火墙收到一个数据包以后,用算法Match查找规则集(A和B)。
Match(IP-Packet p) { \p为数据包
Int idx=Rete(p.addr,p.port) ; \首先用Rete算法查找A类规则
IF (R[idx].addr≧p.addr&& R[idx].port=p.port) \找到匹配规则
return R[idx] ;
Else {int idex I =halfquery(p.addr) ; \利用折半查找索引表
J=L[indexl] ; \L代表规则集合B
While(j!=NULL){\顺序匹配找到的规则链
IF (Matchrule(p)) return j; \ Matchrule为规则匹配函数
Else j=j->next;
}}
Return(Norulematch);
}
参考文献:
[1] 闫丽萍,潘正运. RETE算法的改进与实现.微计算机信息,2006 (36)
[2] 庞伟正,金瑞琪,王成武. 一种规则引擎的实现方法.哈尔滨工程大学学报,2005(03)
[3] 江建国,张景中. 基于Rete算法的几何自动推理系统. 四川大学学报(工程科学版), 2006(03)
关键词:双目视觉 立体匹配 导航定位 机器人
中图分类号:TP242 文献标识码:A 文章编号:1007-9416(2011)12-0059-02
引言
双目视觉是一种通过两幅图像获取物体三维信息的方法,具有通过二维图像认知物体三维立体信息的能力,其关键技术就是要解决两幅图像中对应点的匹配问题[1]。立体匹配一直都是机器视觉领域中的难点和热点,论文根据结合变电站及巡检机器人双目视觉系统的特点,运用匹配辅助区域匹配算法实现立体匹配,获得密集准确的深度图。
1、立体匹配原理
立体匹配基于视差原理,如图1所示。其中基线距B=两摄像机的投影中心连线的距离;摄像机焦距为f。设两摄像机在同一时刻观看空间物体的同一特征点,分别在“左眼”和“右眼”上获取了点的图像,它们的图像像素坐标分别为
采用平行摄像机模型,两摄像机的图像在同一个平面上,并且特征点p的图像坐标y坐标在左右图像平面上相同,
可以得到:
要想根据左右图像对完成立体匹配任务,就把只需计算左右图像对的立体视差,立体视差是景物点在左右图像中图像像素的横坐标之差,即:
从而就可以建立立体视差图(又称深度图)。所建立的立体视差图可以细分为两个子区域,零视差子区域和非零视差子区域,零视差子区域为机器人可以自由行走的无障碍平坦区域;非零视差子区域为平坦区域上的凸出区域,可能是障碍物存在的区域。
根据式(3)及立体视差原理,可以方便地计算世界坐标下的特征点在摄像机坐标系下的三维坐标:
左摄像机像面上的任意一点只要能在右摄像机像面上找到对应的匹配点,就可以确定出该点的三维坐标。这种方法是完全的点对点运算,像面上所有点只要存在相应的匹配点,就可以根据式(5)计算出对应的三维坐标。
2、立体匹配设计
经过图像预处理,可以为立体匹配提供较理想立体图像对,降低了匹配算法的难度。论文结合变电站、检机器人双目视觉系统的特点,运用特征辅助区域匹配算法实现立体匹配,该算法结合特征匹配算法及区域匹配算法的优点,可以在计算量不大的情况下,生成密集准确的立体视差图。
算法的总体上分三步:
2.1 匹配初始化阶段
匹配初始化阶段需要完成以下工作:对双目摄像机参数的标定;对摄像机所采用的图像运用高斯―拉普拉斯模板进行图像预处理;对预处理的图像运用加速主成分分析法实现图像的特征提取;这些过程都是为后面的立体匹配做准备,为之提供较理想的立体图像对。
2.2 特征匹配阶段
根据各种匹配准则缩小匹配点的搜索范围,利用特征匹配算法确定正确的匹配点。
2.3 区域匹配阶段
由于前面特征提取算法限制,不可能把景物所有特征点全部提取到,所以特征点匹配完成后,还存在一些有价值的非特征点未被匹配。但是这些未被匹配点被已匹配点限制在较小的范围内,对这些小范围点的匹配就是区域匹配算法的工作。
对多个可能的候选匹配点比较时,可能使用的依据有灰度、曲率、拉普拉斯变换、梯度等。结合变电站实际环境,运用连续性约束准则和灰度、x方向的灰度梯度、梯度方向唯一确定匹配点[2]。思路如下:
①┍算视觉连续性约束相关系数
其中d为已匹配点的视差均值,d为当前候选匹配点的视差。若,1为预先设定视觉连续性约束相关系数阈值,排除此候选匹配点,重复执行此步直到时,执行第2步;否则直接执行第2步执行。
②计算候选匹配点与待匹配点的灰度相关值Vcorr、x方向的灰度梯度接近程度系数Kgard_r、梯度方向相关系数式(7)-(8)中,K_gard_x、K_gard_y为基准图像上特征点x和y方向的梯度,Rgrad_x、Rgrad_y为候选匹配点x和y方向的梯度,fl、fr为左右图像的灰度函数,、为特征点和候选匹配点在窗口(2N+2M+1)中灰度均、为两点在窗口中灰度标准差。若有Vcorr
③计算总判断依据
计算出所有候选匹配点的Iall值,其Iall值最大者即认为是最佳候选匹配点,即特征点Pleft在右图像中的匹配点。
要匹配固定大小的图像窗口中的像素,相似约束准则是两幅图像在窗口中的相关性度量,当被搜索区域的点与待匹配点间相似约束准则最大化时,认为搜索区域的点是待匹配点的匹配点[3]。
设有立体图像对IMG1、IMGr,Pl、Pr为两幅图像中的像素点,相关窗口大小为,为图像IMGl中像素点Pl在图像3、实验与结果
图2中左右两图像,是左右摄像机对同一景物拍摄所得。
根据上图的左右两图,运用立体匹配算法求得立体视差图。实验结果如图3所示,其中左图像素深度图,右图是对左图经median处理后的效果图,看起来对左图清晰了不少,但不能显示真实图像视差关系。此算法消耗较长时间,将在以后工作中改进。
参考文献
[1]杨俊,贾秀芳.变电站防火防盗图像识别的研究.中国高等学校电力系统及其自动化专业第20届学术年会,2004.7.
[2]林琳.机器人双目视觉定位技术研究[D].西安电子科技大学硕士学位论文,2009.
[3]薛长松.基于DM642的双目视觉控制系统研究[D].河南大学硕士学位论文,2007.
>> 算法与模型 快速图像匹配算法及其水下导航应用 刍议华帝战略选择与匹配 入侵检测模式匹配算法的研究与改进 论文相似度匹配算法的研究与实现 字符串匹配算法比较与分析 正向最大匹配分词算法的分析与改进 基于模拟退火算法的P2P借贷平台的债权匹配模型 基于轮廓特征点的三维模型相似性匹配算法 一种基于语言学特征的本体匹配改进算法 动作与音乐的节奏特征匹配模型研究 基于SIFT算法与RANSAC算法的X射线图像匹配研究 电影语言与影片风格的匹配问题 基于启发式算法的品牌模型的选择 软件可靠性模型选择的SRMS算法 双目立体视觉区域局部匹配算法的改进及其实现 软件工程过程模型及其选择 混合Copula模型选择及其应用 模式匹配查询算法研究 指纹快速匹配算法研究 常见问题解答 当前所在位置:l 德国
[4]
ZAKI T, ESSAADY Y, MAMMASS D, et al. A hybrid method ngramsTFIDF with radial basis for indexing and classification of Arabic document [J]. International Journal of Software Engineering and Its Applications, 2014, 8(2): 127-144.
[5]
SIDOROV G, VELASQUEZ F, STAMATATOS E, et al. Syntactic dependencybased ngrams as classification features [C]// MICAI 2012: Proceedings of the 11th Mexican International Conference on Artificial Intelligence, LNCS 7630. Berlin: Springer, 2013: 1-11.
[6]
YI Y, GUAN J, ZHOU S. Effective clustering of microRNA sequences by ngrams and feature weighting [C] // Proceedings of the 2012 IEEE 6th International Conference on Systems Biology. Piscataway: IEEE, 2012: 203-210.
[7]
BOURAS C, TSOGKAS V. Enhancing news articles clustering using word ngrams [C] // DATA 2013: Proceedings of the 2nd International Conference on Data Technologies and Applications. London: dblp Computer Science Bibliography, 2013: 53-60.
[8]
GHANNAY S, BARRAULT L. Using hypothesis selection based features for confusion network MT system combination [C] // EACL 2014: Proceedings of the 3rd Workshop on Hybrid Approaches to Translation (HyTra). Stroudsburg: Association for Computational Linguistics, 2014: 2-6.
[9]
SIDOROV G, VELASQUEZ F, STAMATAOS E, et al. Syntactic ngrams as machine learning features for natural language processing [J]. Expert Systems with Applications, 2014, 41(3): 853-860.
[10]
HAN Q, GUO J, SCHTZE H. CodeX: combining an SVM classifier and character ngram language models for sentiment analysis on Twitter text [C]// SemEval 2013: Proceedings of the Second Joint Conference on Lexical and Computational Semantics (*SEM), Volume 2: Proceedings of the Seventh International Workshop on Semantic Evaluation. Stroudsburg: Association for Computational Linguistics, 2013: 520-524.
http://p.nus.edu.sg/~antho/S/S13/S13-2086.pdf
[11]
BESPALOY D, BAI B, QI Y, et al. Sentiment classification based on supervised latent ngram analysis [C] // CIKM 11: Proceedings of the 20th ACM International Conference on Information and Knowledge Management. New York: ACM, 2011: 375-382.
[12]
MILLER Z, DICKINSON B, HU W. Gender prediction on Twitter using stream algorithms with ngram character features [J]. International Journal of Intelligence Science, 2012, 2(4A): 143-148.
[13]
WRIGHT J, LLOYDTHOMAS H. A robust language model incorporating a substring parser and extended ngrams [C] // ICASSP 1994: Proceedings of the 1994 IEEE International Conference on Acoustics, Speech, and Signal Processing. Washington, DC: IEEE Computer Society, 1994: 361-364.
[14]
HACIOGLU K, WARD W. Dialogcontext dependent language modeling combining ngrams and stochastic contextfree grammars [C] // ICASSP 2001: Proceedings of the 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Washington, DC: IEEE Computer Society, 2001, 1: 537-540.
[15]
SIU M, OSTENDORF M. Variable ngrams and extensions for conversational speech language modeling [J]. Speech and Audio Processing, 2000, 1(8): 63-75.
[16]
ZHOU S, GUAN J, HU Y, et al. A Chinese document categorization system without dictionary support and segmentation processing [J]. Journal of Computer Research and Development, 2001, 38(7): 839-844. (周水庚,关佶红,胡运发,等.一个无需词典支持和切词处理的中文文档分类系统[J].计算机研究与发展,2001,38(7):839-844)
[17]
GAO Z, LI X. Feature extraction method based on sliding window application in text classification[J]. Science & Technology Information, 2008(34): 23-24. (高振峰,李锡祚.基于滑动窗口的特征提取方法在文本分类中的应用[J].科技信息:学术版,2008(34):23-24.)
[18]
PENG H, LONG F, DING C. Feature selection based on mutual information: criteria of maxdependency, maxrelevance, and minredundancy [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(8): 1226-1238.
关键词:入侵检测;模式匹配;算法。
中图分类号:TP309.08 文献标识码:A 文章编号:1007-9416(2013)06-0135-02
1 引言
在基于主机入侵检测技术中,应用比较多的是误用检测技术,其核心多采用字符串搜索算法模式匹配技术。通过对目前广泛应用的BM算法[1]和AC_ BM算法[2]的分析,提出基于AC_ BM算法的改进的多模式匹配算法NAC_ BM算法。该算法综合了BM算法和AC_ BM算法的优点,改进了BM算法跳跃步长,使得每次匹配获得最大的步长,同时应用AC算法有限状态机模式匹配自动机构造模式树,匹配过程中移动模式树,减少了规则匹配次数,为基于主机的入侵检测模式匹配技术提供了一种优化方法。
2 多模式字符串匹配算法
由于BM算法是一种单模式字符串匹配算法,它每次只能完成对一个模式的匹配工作,效率较低。虽然研究者对BM改进算法很多,但是这些算法都没有改变BM算法的基本思想,因此不能解决效率问题。
为了提高效率,研究者提出了多模式匹配问题[3],多模式匹配问题可以抽象描述为:设是一个模式集合,模式串Pi 中的字母来自于一个固定的字母表。多模式匹配问题是发现P中所有模式在文本T中的所有出现,。
3 AC_BM算法的改进—NAC_BM算法
4 仿真实验分析
为了对各个算法的性能、效率做具体的评测,在同一台计算机上分别对单模式匹配算法和多模式匹配算法进行了仿真测试。
在本测试中采用的搜索文件是来自麻省理工学院林肯实验室提供的“1999DARPA入侵检测测试数据集”[4],长度为10000000Bytes的文本,而匹配的模式串是随机抽取的。
由于对于单模式和多模式而言,各有其不同的特点,比如对于单模式匹配算法,它的时
间开销与模式串的个数成正比,不能用它们解决多模式匹配的性能问题。而对于绝大多数多模式匹配算法都要在执行搜索操作前,对模式串集合进行预处理,构造某种数据结构,以便为搜索过程提供支持;相对于单模式匹配算法对空间需求可以根据模式串的长度而估算出来。本实验对匹配的模式个数对各种匹配算法性能的影响进行了仿真并给出对比分析。
图5中“*”号表示该项未测试。对于模式串为1(即单模式串)时,AC算法、AC_BM算法和NAC_BM算法没有必要测试它们对单模式匹配的性能。当模式个数大于1时,多模式匹配算法扫描对象文本一遍,而单模式匹配算法则要扫描对象文本多遍,即对每一个模式串扫描一遍对象文本。对于模式串个数为1000时,对单模式匹配算法是十分费时,且其耗费时间也可估算出来。
从图5的结果来看,多模式匹配算法比单模式匹配算法的匹配速度快得多。三种多模式匹配算法仍然比其他单模式匹配算法速度快,而且AC_ BM算法和NAC_ BM算法比AC算法快,这两个算法随着模式串数目的增加,所耗费的时间仅有很小的增加,而不是成比例地增长。从表中可以看出,NAC_ BM算法比AC_BM算法在效率上有一定程度的提高。
5 结语
本文提出了一种改进的AC_BM算法:NAC_BM算法。该算法一是在BM算法的基础上,改进了跳跃步长,使得每次匹配获得最大的步长,二是应用AC算法有限状态机模式匹配自动机构造模式树,匹配过程中移动模式树,减少了规则匹配次数。最后通过仿真实验对比得知:NAC_BM算法效率优于BM和AC_BM算法。
参考文献
[1]A Pattern Matching Model for Misuse Intrusion Detection[A]. Sandeep Kumar, Eugene Spafford. In Proceedings of the 17th National Computer Security Conference[C],1995, 11-21.
[2]杨武,方滨兴,云晓春等.入侵检测系统中高效模式匹配算法的研究.计算机工程,2004,30(13).92-94.