


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、有限自动机在模式匹配中的应用与研究 摘 要:有限自动机匹配算法是多模式匹配中的重要算法. 反向有限自动机在一定的条件下能压缩自动机的规模,从而提高模式匹配的速度. 将反向有限自动机算法与 BM 算法相结合,利用当前获取信息进一步增大匹配过程中的跳跃距离,可进一步提高模式匹配的速度.关键词:模式串;有限自动机;模式匹配1 利用有限自动机实现字符串匹配有限自动M通常用一个五元组来表示,MQ,S,A,其中Q是状态的有限集合,即状态自动机中所有可能出现的转移状态;S是有线自动机的起始状态,其满足SQ;A是一个接受状态集合,它是Q的一个子集,通常一个字符串输
2、入完毕后,如果当前的状态是A中的一个元素,则表示该字符串被接受,否则表示被拒绝 所有可能的输入字母表集合,它一定是一个有限集,是构成字符串的基本元素集合 被称为状态转移函数,Q×Q的一个映射函数 有限状态自动机开始于S,每次读入输入的字符串的一个字符 如果当前有限自动机的状态为p,读入字符为a,则它从p变为状态(p,a)的过程就是一次转移 如果(p,a)Q,则表示自动机接受迄今为止输入的所有字符 而没有被接受的输入被称为拒绝的输入 当一个文本字符串被自动机读取过程中存在状态F A,则表示当前字符串被接受,匹配成功,否则匹配失败针对模式串,构造一个有穷自动机,那么,有穷自动机接收的语言
3、就是该模式串匹配的句子 对于每个模式串,都存在一个字符串匹配自动机,必须在预处理阶段,根据模式构造出相应的自动机后,才能利用它来搜索字符串 构造自动机的核心是构造其状态转移函数 这种方法功能比较强大,因为它可以搜索以正则式表达的模式串,而其他算法则不能因此有限自动机是解决模式串匹配问题的一种十分有效的方法,在众多领域有着广泛的应用5,尤其是在多模式匹配中,能仅通过对目标串的一次扫描,把所有的模式串都找出来132反向有限自动机匹配算法的思想有限自动机的构造过程是将模式串集合变换成由转向函数、失效函数和输出函数所组成的有限自动机 在正向有限自动机的构造中,模式串的字符是从前到后依次加到树型有限自动
4、机中的,匹配过程也是按照从前到后的次序 而在反向有限自动机的构造中,每个模式串的字符是从后到前,加到树型自动机中,同时在匹配过程中,目标串的输入也是从后往前的顺序,即逆向扫描例:以模式串集合he,me,re,she,are为例,构造的反向自动机如图 1 所示 由图 1 可知反向有限自动机匹配算法的状态数较少,特别是第一层节点的减少,将使匹配的平均速度大大提高 其中第一层节点是指只与起始节点0 相邻的第一层节点 下面再看利用该集合构造的正向有限自动机,结论就一目了然了(如图2 所示)由图 1、图 2 可以看出正向有限自动机的第一层的分支有 5 个,而反向自动机第一层只有 1 个分支,同时正向有限
5、自动机的转向函数 (0,a)在匹配时要比较 5 个字符,而反向有限自动机的转向函数 (0,a)只要比较 1 个字符,显然反向自动机的 (0,a)的计算速度要快 在匹配过程中转向函数 (p,a)的计算量是最大的部分之一,尤其当模式串在文本串中出现概率较低时,第一层的每一个分支几乎都要计算,因此提高(0,a)的计算速度对整个匹配过程速度的提高是至关重要的3 BM算法与反向有限自动机相结合文献2提出了 BM 算法 该算法在匹配过程中模式串 P0,1,m1由左向右移动,而字符比较由右向左进行比较,即 Pm1,Pm2,P0的次序,当某趟比较中出现不匹配的字符时,BM 采用两条启发式规则计算模式串移动的距
6、离,即 bad character shift rule 坏字符和 good suffix shift rule 好后缀规则31坏字符规则P 中的某个字符与 T 中的某个字符不相同时使用坏字符规则右移模式串 P,P 右移的距离可以通过Skip(x)函数计算出来 Skip(x)函数的定义如下:即如果字符 x 在模式 P 中没有出现,那么从字符 x 开始的 m 个文本显然不可能与 P 匹配成功,直接全部跳过该区域即可 如果 x 在模式 P 中出现,则以该字符进行对齐32 好后缀规则当不匹配发生时,如果 P 串中已有部分字符匹配,即形成后缀 Pj 1m,则可以用到此规则 第一种情况:P 串中的某一子
7、串js 1 ms与已匹配部分 pj1 m相同,可让 P 串右移 s 位距离 第二种情况:P串中已匹配部分 Pj 1 m的后缀s 1 m与 P 的前缀1 m s相同,可让 P 串右移 s位距离 选择上述两种情况的最小值 移动距离如 Shif(tj)函数所示:在 BM 算法匹配的过程中,取 Skip(x)与 Shif(tj)中的较大者作为跳跃的距离进一步提高模式匹配算法效率的主要途径就是利用当前已知信息进一步增大跳跃距离 利用上述 BM算法在匹配过程中跳跃式的优点,结合反向有限自动机的多模式匹配算法;先对模式串进行预处理,把模式串集合转换成一个反向的树型有限自动机,得出转向函数 (p,a)和输出函
8、数 outpu(tp),然后根据当前尝试中匹配失败字符的位置信息,分别计算坏字符规则Skip(x)和好后缀规则 Shif(tj),取 Skip(x)与 Shift(j)中的较大者作为跳跃的距离,就能够尽可能多地跳过待查文本串字符,从而进一步真正提高模式匹配的效率4 结束语有限自动机匹配算法是多模式匹配中的重要算法 ,如何进一步提高匹配的速度 ,如何压缩自动机的规模是大家所关注的问题 本文讨论了反向有限自动机的优点,指出采用反向有限自动机在一定的条件下能压缩自动机的规模,从而提高模式匹配的速度;将反向有限自动机算法与 BM 算法跳跃式匹配的特点相结合,利用当前获取信息进一步增大匹配过程中的跳跃距
9、离,可进一步提高模式匹配的速度 该算法的查找时间对模式串数目的增加不敏感,并且在模式串较长和较短的条件下,该算法都有相当好的性能 在应用中,可对模式串和目标文本串的特点作进一步的分析,使算法的速度能进一步得到提高参考文献1许一震 一种基于反向有限自动机的匹配算法J 高技术通讯,2001(2):30332Cole R Tight Bounds on Complexity of the BoyerMoore String Matching Algorithm J SIAM Journal on Computing,1994,23(5):107510913许一震 一种快速的多模式字符串匹配算法J 上海交通大学学报,2002,36(4):5165204关超
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州兴黔人才资源有限责任公司模拟试卷及完整答案详解一套
- 2025初级经济师金融专业常考知识点:企业合同的分类及其特点
- 2025年宣城宣州区水阳镇选拔村级后备干部18人模拟试卷及答案详解1套
- 2025年齐齐哈尔工程学院博士人才招聘50人模拟试卷及参考答案详解一套
- 2025湖北黄冈市武穴市事业单位第二批考核招聘三支一扶服务期满人员1人考前自测高频考点模拟试题及完整答案详解1套
- 2025北京大兴区庞各庄镇中心卫生院招聘临时辅助用工模拟试卷附答案详解(突破训练)
- 2025广西玉林市福绵区石和镇人民政府招聘代理服务记账中心编外人员2人考前自测高频考点模拟试题及一套参考答案详解
- 2025涟水县事业单位招聘人员40人考前自测高频考点模拟试题及1套完整答案详解
- 2025广西钦州市钦南区林业局招聘1人模拟试卷带答案详解
- 2025航空工业集团通飞华南校园招聘考前自测高频考点模拟试题含答案详解
- 教师晋升答辩常见问题汇编
- 新加坡安全培训题库及答案解析
- (人教A版)选择性必修一数学高二上册 第一章 空间向量与立体几何(A卷·知识通关练+B卷提升练习)(原卷版)
- 2025煤矿安全规程解读
- 2025-2026学年北师大版数学小学三年级上册(全册)教案设计及教学计划
- 2025年“学宪法讲宪法”主题活动知识竞赛题库附答案
- 2025年党纪法规知识测试题(含答案)
- 护理伦理与法律
- 网赌网贷专题教育
- (2025年)【辅警协警】笔试模拟考试试题含答案
- 急性阑尾炎护理诊断及措施
评论
0/150
提交评论