单模式字符串匹配算法效率的研究

被引量 : 11次 | 上传用户:ghz2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
字符串匹配的应用范围非常广泛,包括文档编辑、入侵检测、病毒特征码查找、防火墙技术、基因序列匹配等多个领域。Sunday算法是当前应用广泛并且比较高效的单模式匹配算法。但是当模式串和文本串均存在大量的重复字符时,Sunday算法的匹配次数将随着首字符的重复次数快速增加,在这种情况下,算法的执行效率将大大低于KMP算法。为了扩大Sunday算法的适用范围,提高其平均执行效率。本文提出了一种基于Sunday算法的改进算法,在算法匹配工作开始前进行预处理,将重复的首字符压缩为一个字符,然后使用压缩后的字符串和正文进行匹配,如果匹配成功,返回成功匹配的位置信息,然后开始进行回溯,即对成功匹配的位置信息前的字符和首字符进行循环匹配,如果匹配位数和模式串相同,则返回成功,否则返回失败。可以减少大量无意义的匹配次数,提高算法的执行速度。最后,分析改进后算法的性能,并通过实验进一步证明了改进算法的有效性。由于直接对字符串匹配算法构造状态转化图进行效率分析时的计算过程过于复杂。本文提出了一种以穷举算法为基准,根据算法匹配差值计算算法效率的方法,并以Sunday算法为例进行了效率分析。因为Barth对穷举算法的估计结果偏差较大,但穷举算法起着非常重要的基准作用。因此首先对穷举算法进行效率分析。在对穷举算法的匹配过程进行了详细分析的基础上,构建马尔可夫链的状态转换图描述其匹配过程,并对状态转换图进行简化。最终的状态图没有吸收态,且当n较大时每个状态的转换概率都会收敛为一个稳定值。根据以上特点可求得每个状态的转换概率,得到穷举算法比较精确的平均效率估计公式。其次,Sunday算法是最新的对BM算法进行了大幅改进的算法,和BM算法相比效率有了较大的提高,在实践中得到了广泛使用,具有新颖性和代表性。因此选择Sunday算法进行效率分析。对Sunday算法的匹配过程比较复杂、使用坏字符启发跳转、难以构建马尔可夫链的特点,采用间接的方法得到算法效率。即在得到穷举算法精确的匹配效率后,对Sunday算法和穷举算法的匹配过程进行详细的分析,得出两者的区别。将两种算法按照模式串尾字符所对应文本字符的下一个字符是否属于模式串分类讨论,通过概率论相关知识计算出Sunday算法和穷举算法平均匹配次数的差值。最后将穷举算法的匹配效率与两种算法的差值相减,得出Sunday算法平均效率估计公式。为使实验文本串的大小和字母表容量严格相同,并在最差情况下匹配成功。我们将文本串的字符随机交换位置后形成新的文本,将新文本和模式串进行匹配。如此不断循环,直到不产生新的匹配次数。最后删去匹配次数相同和不在最差情况下匹配的文本串。实验结果表明,由理论计算的估计值确实是算法实际匹配次数的平均值。
其他文献
采用访谈法和问卷调查法,在北京、上海和西安等城市采集入境游客信息;运用地图法和社会网络分析法对旅华外国团队旅游流的地理分布和网络结构进行研究,主要结论为:①外国团队
异议股东股份回购请求权,是指在公司做出重要的决定时,一些股东可能对此持有异议,但是根据“资本多数决”的原则,这些股东不能阻止此项决定的通过,这时为了避免这些股东的权益受到
耕地利用系统安全是保护耕地健康和保障粮食安全的基础。论文以巴彦县为例,采用遗传算法对神经网络模型进行改进,识别耕地利用系统安全的敏感性影响因子,并应用通径分析法,确
神话故事中的女性形象是后世女性文学的雏形,西方神话多位美丽动人、自由奔放;而中国神话女性多为传统德行的楷模,勤劳朴实,贤良淑德。她们个性不一,却又能从中找出共性,这些
市政施工中道路桥梁的质量控制对于确保行车安全、减少交通事故发生率、延长道路使用寿命有积极意义,解决施工问题、保障路桥质量是必然选择。本文分析了市政施工中道路桥梁
在司法实践中,贪污贿赂犯罪分子逃匿或者死亡后,往往出现巨额违法所得长期无法追缴的情况。为了依法追缴、没收违法所得扫清法律障碍,实现与国际公约的衔接,与缔约国展开刑事司法
中小型企业是我国企业的重要构成部分,对我国的经济发展有着不可忽视的重要意义。然而,在我国的经济结构和体制下,中小企业所拥有的资金却远远落后于大型企业,融资难问题已成为制
本论述认为兰州建设创新型城市应借鉴国内外创新型城市的经验和模式,在理论上有深入的认识,便于指导建设创新型城市的工作。同时结合兰州实际状况、政策以及国家倾斜政策,制
自然保护区有效管理日益成为学术界、政府部门和非政府组织关注的一个焦点,管理效率也成为自然保护区管理中不容回避的重要问题。本文基于GAP分析技术,构建包含一系列指标的