基于AC自动机的多模式匹配算法FACA

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

过程为 :从模 式串第 1 个字符起开始遍历整个模 式串 ,其初 始状态为 idxC]cdidx0, f根结点 的编号为 0 ,转 n e [ h ( e [] C) = n ( ) 移方程为 id xC+]c didxC】 f) n e [ f = h ( e [ iC+ ,若 id xC+] 1 n , 1 n e [ f 的值 1
第3 8卷 第 1 期 1
V0 - l38






21 0 2年 6月
J n 20l ue 2
N o 1 .1
Co mpu e t rEng n e i g i e rn
人工智能及识别技术 ・
文 编 0 _ 4 ( l1 _ 7 _ 文 标识 : 章 号t 0 3 8 0 )—0 3 0 1 22 21 l— 4 献 码 A
在线 操作 。
关翻
:模式匹配 ;自动机 ;动态规划 ;Ti树 r e
FACA : M u tp ePa t r a c ngAl o ihm A li l te n M t hi g rt Ba e nA C s do Aut m a a o t
CH EN i c , A N an- i JI Ji ng X n—hiH Ji r n, A o a
为 空, 则创建新 的结点 , 清空 , 并将 idxC+ 和c didxC】 n e[ f] h ( e [ i 1 n , G+ 的值全都赋为新结点 的结点号 。令 I idx为 T i 1 ) s ne] r R[ e树 上编号为 idx的结点的模 式串结束标志 ,令 m [ r Ti ne pc ] r u为 e
在最坏情 况下是 ON× 。Qs算法 充 分利用了模 式匹配中 (
了 Da Mac wg th匹配回溯现 象,加快匹配速度 , 但是该算法牺 牲了过多预处理时间 ,实际应 用中效果欠佳 。 为更好地提高多模式匹配算法的效率 ,并在模 式匹配过 程中统计出更多的模式匹配信息 ,本文提 出改进 的多模 式匹
防止 了无效 匹配和漏配 ,并在效率上有所提高 ,但 是这 2种 算法对模 式串本身 的特性具 有依 赖性 ,在 实际工程 中的效果 并不理 想。文 献[】 9在有序二叉树的快速 多模 式匹配算法 的基 础上 ,结合 QS算法的思想 ,对 A 算法进行 了优化 ,但其 C
跳跃 的速度并不快 ,而且算法在预处理阶段较复杂 ,因此在 实 际操作 中优化并 不明显 。WDa g thJ通过加权边避免 w Ma 【 c
1 概 述
模式 匹配算 法是信息领域 中的重要 内容 ,广泛应 用于 文 本搜索、 网络入侵检 测系统、病毒检测、信息检索、计算 生
物学等领域 。
提出平均情况下较高效的模式匹配算法 ,采用跳跃式匹配策 略 ,在 DF A算法 的基础上 ,吸收了 Q S S算法的思想 ,提 高 了效 率 ;而 I C M 算法 结合 了 B A B MH和 Qs的思想,有效
E ma :h j j u a - i a m@z . l n nc
14 7



21 0 2年 6 5日 月
2 相关概念
定义 1Ti r e树上从根结点到某个 结点经过 的字符集合称
为这个结点 的路径 。
结点号为空,则无法转移。因此 ,将模式串 P插入 Ti 树 的 r e
中 分 号: P1 圈 类 T3 2
基 于 AC 自动 机 的 多模 式 匹配 算 法 F A AC
陈新驰 ,韩建 民 ,贾


( 浙江师 范大 学计算机 系 ,浙江 金华 3 10 ) 2 0 4
要 :A oC rs k自动机算法在模 式匹配失配时 ,需要多次 回溯才转移到有效 的后继状态 。为此,提出一种快速多模式匹配算法 。该 h — oai c
配算法 F C F sAh - oaikAl rh ) A A(at oC rs — g i m ,该算法可 以避 — c ot
匹配不成功 的信 息,其最优情况下时间复杂度为 ONM 1。 (/ + )
多模式 匹配算 法能确定多个模式 串是否存在于某一主 串中以
及 各 模 式 串在 主 串 中 的 位 置 。在 多模 式 匹 配 算 法 中 , Ah - oai oC rs k算法[( c 4 以下简称 A 1 C算法) 是最 经典 的算法 , 通 过将 模式 串构成 Ti 树 , 主 串匹配的过程变为在 Ti 树上 r e 将 r e
( p r n f o ue, h a g r l iesyJn u 2 04 C ia De at t C mp t Z  ̄i ma v ri ,ih a3 1 0 , hn ) me o r n No Un t
[ src IA oCoaikatmaaag rh h st akrc rmut l t s osi otee et esb eu nes t e al i n Ab ta t h - rsc uo t loi m a bc t kf lpe i hft f ci u sq e c t ewhnifi o e t o a o i me t t h v a t sn
免 A 自动机 失配 时的过 多回溯 ,提高匹配的效率 。另外 , C
F C 算法在 自动机建立时 ,采用动态规 划的方法 ,在模式 A A
匹配过程 中,能够 统计 出模 式串在主 串中的重复 次数、最早 出现 的模式 串位置等重要信息。
基金项 目: 国家 自然科学基金资助项 1(17 18 6 10 9 ;  ̄ 6 10 0 , 10 1) 浙江省 1 新苗人才计划基金资 助项 目 2 1R 0 0 8 (0 4 4 1) 1
模式匹配从模式 串数 量角度可分为单模式匹配和多模式
匹配。单模式匹配是指给定一 个模 式 串,确定其是否存在于 某 一 主 串 中 以及 存 在 的 位 置 。在 单 模 式 匹 配 算 法 中 , B ueF re算 法是较 直接 的匹配 算法 ,但其 时间复杂 度较 rt oc -
高 ,为 D × ) MP算法 …是一种高效的模式匹配算法 , ( . 。K Ⅳ 其 时间复杂 度为 D Ⅳ 。B 算法 L是基于 后缀搜索的模式 ( ) M 2 J 匹配算法 ,该 算法理论时间复杂度在最优情况下是 O N M) (/ ,
算法为每个状态建 立失配时的后继指针 ,在 模式匹配失配 时,可以通过失配后继指针快速找到有效后继状态 ,从而避免 A oCoaik自动 h — rs c
机 失配时的过多 回溯,提 高匹配效率 。算法在 自动机建立 时采用动态规 划的方法,为每个状态建立 匹配长度和匹配量等信息 ,在模 式匹配
过程 中 ,基于这些信息统计模 式串在 主 串中 的重复次数 、最早 出现模 式串位置 等信息 。实验结果表明 , 算法匹配精确ห้องสมุดไป่ตู้效率高 ,且支持 该
定义 2如果一个结点的路径是模 式串,那么称这个结点
为匹配点 ,否则称 为无关点 。 定义 3 自动机 M 是一个五元组 ^ Q g 0 , 仁( , ,q, 其 中: O是有穷状态集( i Tr e树上的所有结点) ; 字母表( 堤 模 式 串中可能 出现的所有字符) ;g是转移 函数 ,转 向下一个状
转移 的过程 ,其 时间复杂 度是 D 胴_ 。WM( — n e) ( Ⅳ× WuMab r 算法 采用 B 算法的坏字启发方式 ,增大 了主 串和模式 串 J M 不 匹配的可能性 ,使用散列表筛选 匹配阶段应进行匹配的模 式 串,提高 了效率 。AC B 算法 I结合 A -M 6 C算法和 B 算法 M
ag rtm a d a tg so l oi h h sa v n e fmac iga c r c , f ce y a ds p rigo ・i peain a thn c ua y e i inc , n u potn n l o rto . ne
[ ywod lp t r th g atmaa d a c rga n ; i e Ke r s a enmaci ;uo t; y mipo mmig T et e n n r l r D0I 1 .9 9 .s . 0 -4 82 1 .1 5 : 03 6 /i n1 03 2 . 21 . 3 js 0 0 0
的优 势,将坏字启发规则和 自动机状态转移规 则放 在一棵树 上 同时进行搜 索匹配 ,能对 目标 串进行跳 跃式搜索 。文献[】 7
作者简介 : 陈新 驰(9 1 , , 19 一) 男 本科生 , 研方向: 主 模式匹配算法 ;
韩建民 ,副教授、博士 ;贾 洞 ,教授
收藕 日期 :2 1-81 01 — 0 7
p t r t h n I o d rt o v hi p o l m,t i a e r p s s a f s li e p te sma c n l o i m a e n Ah — r s c u o a a a t n ma c i g. n r e o s l e t s r b e e h s p p rp o o e a tmu t a t r thi g a g rt pl n h b s d o o Co a ik a t m t . Th m p o e l o i m u l st e s b e ue c o t r re c tt . a l g ma c ng i a h f o t e e f c i e s b e u n e sa e t r u h e i r v d a g rt h b id h u s q n e p i e sf a h sa e On f i n t hi , tc n s it fe tv u s q e c t t h o g n o i t h h u e u n epo n e se t e s bs q e c i t r f c e ty i in l,whih c l r d c a k a k n i e n Aho Co a i k a t ma a F rh r o e t r p s d a g r m c iv s c al e u e b c t c i g t s i r m — r sc u o t . u t e m r , hep o o e l o i h t a he e n o m to u h a t h n e t m t h i s e c f a h sa e d rn ui n u o t by d n mi r g a i f r a i n s c sma c i g lng , a c i g t e t r e c t t u i g b l i g a t m a y a c p o r mm i g m e o s Ba e n t i h n m o d a n t d . sd o s h h n o m to ,t l o i i f r a i n h e a g rt m a lc lult e r p a e i e fp te n srn s a le t o i o fp te n s r s Ex e me t lr s lss o t a e h c r a c a et e e t d t s o at r ti g ,e ri s s t n o at r ti . p r h m p i ng i n e u t h w tt a h h
相关文档
最新文档