改进的带可变长度通配符的近似模式串匹配算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
改进的带可变长度通配符的近似模式串匹配算法
汪浩;王驰
【摘要】针对处理可变长度通配符的近似模式串匹配传统算法结果质量不高、易丢解等问题,提出1种启发式的文本-模式倒置算法。
基于动态规划思想采用文本-模式倒置策略,搜索得到符合匹配条件子串的开始位置并划分候选集。
通过获取初始解、集合划分及优化组合2个过程,筛选出匹配子串的最优解。
与同类动态规划( DP)和Sail-Approx算法进行实验对比,结果表明该文算法解的平均增长率为21.9%。
%A heuristic text-pattern reversion algorithm is proposed for the low result quality and losing solution problems of traditional approximate pattern matching algorithms for variable length wildcards. The starting position of the substrings meeting the matching condition is searched and the candidate sets are partitioned based on dynamic programming and text-pattern reversion. The optimal solution of matching substrings is screened by obtaining the initial solution,dividing and assembling the sets optimally. Compared with the similar dynamic programming ( DP ) and Sail-Approx algorithms,the experimental results show that the average growth rate of the solution of this algorithm is improved by 21 . 9%.
【期刊名称】《南京理工大学学报(自然科学版)》
【年(卷),期】2016(040)006
【总页数】7页(P687-693)
【关键词】可变长度通配符;近似模式串匹配;动态规划;文本-模式倒置
【作者】汪浩;王驰
【作者单位】合肥工业大学计算机与信息学院,安徽合肥230009;合肥工业大学计算机与信息学院,安徽合肥230009
【正文语种】中文
【中图分类】TP394.1
在生物信息学、信息检索等领域研究的驱动下,通配符的概念[1-3]由单个通配字符扩展到了可变长度通配符。
Akutsu[4]基于动态规划(Dynamic programming,DP)算法,提出带有可变长度通配符的近似模式串匹配算法。
Cole等人[5]给出了具有容错和通配符的匹配算法。
Chen等人[6]针对约束条件下的可变长度通配符的精确模式串匹配问题提出回溯算法SAIL(Stands for string matching with wildcards and length constraints),为了对其解的结构进行优化,在算法中引入了全局one-off条件。
全局one-off条件规定,在匹配过程中文本中的字符只可以被模式中的非通配符字符使用1次。
在此基础上,He 等人[7]提出了带有全局one-off条件的近似匹配Sail-Approx算法。
随着并行计算的发展,Zhong等人[8]提出了在异构机群上的近似串匹配算法,Xu[9]和Prasad等人[10]分别介绍了在图形处理器(Graphic processing unit,GPU)上进行模式串近似匹配的算法,但上述工作未考虑在模式中引入通配符。
Wu等人[11]提出基于网树结构的启发式全局搜索算法,虽得到了更好的匹配解质量,却忽略了解结构的可分性,也影响了匹配效率。
Wang等人[12]分析了模式中无重复字符结构的完备性;Min等人[13] 提出在不考虑one-off条件下能得到问题的完备匹配数。
可见,带有可变长度通配符的近似模式串匹配问题比同类型精确匹配问题更复杂,如何达到解集中的匹配数和匹配解的编辑距离是该问题求解的关键[14,15]。
本文针对带有约束条件的可变长度通配符的模式串近似匹配问题,给出了1种在线搜索算法与优化策略。
基于文本-模式倒置的思想,改进DP算法,进行近似匹配,建立相应的匹配子串集合,然后结合局部one-off和通配符局部约束的限制条件,进行集合划分合并,最后按相应选择策略得出匹配子串的优化组合。
可变长度通配符,即,可以匹配长度在a至b之间的任意模式串,其中a和b为可以匹配模式串的上下限。
在近似模式串匹配问题中,编辑距离的概念被用来衡量2个模式串之间的相似程度[13]。
编辑距离是指2个模式串之间,由1个转换成另一个需要编辑操作的最少次数。
允许的编辑操作包括替换、插入和删除,如ab和abc 之间编辑距离为1,ab和ate之间编辑距离为2。
编辑距离越小,说明2个模式串之间越相似。
因此模式串近似匹配问题相当于在文本T中寻找与模式串P之间编辑距离小于给定阈值K的子串的问题。
同时考虑到通配符局部约束条件,在实际应用中,如DNA检索,可以减少不必要的匹配过程。
在约束条件下带有可变长度通配符的模式串近似匹配问题可定义为:指定1个阈值K与固定字符集ΣY∪*(*为通配符),在文本T中寻找到尽可能多符合匹配条件的子串,该子串与模式串P之间的编辑距离小于或等于K。
其中,T=t0,…,ti,…,tn-1,P=p0,…,pj,…,pm-1,0<K<m,
ti∈Σ,0≤i≤n-1,pj∈Σ,0≤j≤m-1。
当0≤j≤m-2时,在pj和pj+1之间可能存在通配符。
利用通配符可以匹配任何字符的特点,Akutsu[4]设计了带有通配符的近似匹配动态规划解法,但是其中由于用到回溯方法,在解决带有可变长度通配符的近似模式匹配全局问题时在某些情况下可能陷入局部最优,因此面临着丢解的问题。
Chen等人[6]基于SAIL算法设计了Sail-Approx算法以解决带有可变长度通配符的近似模式串匹配问题,同样使用了动态规划思想,基于滑动窗口的概念,通过前向搜索和后向搜索2个阶段最终确定近似匹配的位置。
为了对匹配结果的结构进行优化,Sail-Approx 算法引入SAIL中的全局one-off条件,约束了匹配子串的出现次数,即在匹配过程
中被模式中非通配符字符匹配过的文本字符只允许被匹配1次。
这一条件在现实生活中也有重要的意义,比如在货物库存系统中,每个被卖出的物品就不应该再被搜索到。
但是,此条件并不广泛适用于求解一般的近似匹配问题。
把one-off条件放入近似串匹配中,则暴露出一定的局限性。
首先,近似串匹配本来就允许匹配有误差。
在近似匹配中求出的解中可能包括近似匹配解和精确匹配解,而单一的全局one-off会在近似匹配解和精确匹配解之间有部分重复字符的情况下造成丢解,特别是在重复模式频繁出现和带有通配符的条件下,这种丢解的情况也较为严重。
其次,在近似匹配中使用one-off条件寻找最优解与精确匹配不同。
因为在1个解集中,精确找到的成功匹配与模式串的编辑距离都是0,也就是说解之间是相等的;而在近似匹配的某个候选集中,内部的匹配子串编辑距离可能不同,也就是并不相等,有的时候需要优先考虑后面的匹配子串。
近似匹配和精确匹配的优化选择也不同。
所以从文本串整体来看,单一地使用one-off条件找到的最优解可能是局部最优而并不是全局最优。
考虑到传统算法存在解集不完备问题,因而本文提出1种改进算法,即基于文本-模式倒置的动态规划算法(W-dynamic programming based on inversion,W-DPBI),使得近似串匹配在匹配过程中能够找到尽可能多的匹配子串,并从这些匹配子串中得到一些优化的匹配子串组合。
W-DPBI算法分为3个主要步骤:
(1)通过文本-模式倒置求解得到符合匹配条件的子串的开始位置;
(2)由匹配子串开始位置划分候选集;
(3)合并候选集并进行筛选,求出匹配子串优化组合。
算法求解目标是在近似串匹配的过程中能够找到尽可能多的匹配子串,并从这些匹配子串中得到一些优化的组合。
2.1 算法描述
W-DPBI算法的输入为文本T和带可变长度通配符的模式P,其中P带有可变长度
通配符,搜索的限制条件为容错阈值K。
算法的输出为符合限制条件的匹配子串优化组合,以点位置表示。
定义1 给定文本T=t0,t1,…,tn-1,P=p0,p1,…,pm-1,局部约束[ui,vi],0≤i<m,满足符合局部约束条件下的匹配子串起始位置的集合为候选集。
候选解可表示为
Γj={(α0,j,α1,j,…,αm-1,j)|t[αi,j]=
p[i]∧αi+1,j-αi,j∈[ui,vi],0≤i<m}
Γ={Γj|1≤j≤K}
候选解的开始位置组成的集合可表示为
B={Bi|Bi=α0,i,1≤i≤K}
候选解的结束位置组成的集合可表示为
E={Ei|Ei=αm-1,i,1≤i≤K}
定义2 满足局部one-off条件的候选集为解集。
局部one-off是指在候选集内部的匹配位置只能被使用1次,候选解之间不能互相包含。
因而解集S可表示为
S={s1,s2,…,sK|∀si,sj,si⊄sj∨sj⊄si,
si=[Bi,Ei],1≤i≠j≤K}
定义3 带有可变长度通配符的模式串近似匹配问题。
输入:文本T=t0t1,…,tn-1,模式P=p0p1,…,pm-1,局部约束gi=g(Ni,Mi),编辑距离为k。
输出:满足匹配条件和局部one-off的解集。
P 在T中匹配约束条件下的匹配子串优化组合,在组合中每个匹配子串的开始点位置只被使用1次,每个开始位置的匹配子串的编辑距离最小,同时组合中的匹配子串可能相交。
算法主要分为2步,首先利用文本-模式倒置方法和DP算法求解所有满足限制条件的匹配子串的开始位置并建立候选集;再通过开始位置建立匹配子串的集合,然后对
所有匹配子串进行集合划分和筛选,得出优化匹配子串组合。
2.1.1 通过文本-模式倒置求解匹配子串开始点与建立候选集
DP算法仅可以得出匹配子串的结束点位置,无法准确确定匹配串的开始位置[5]。
W-DPBI算法利用DP算法的这个特性,使用倒置的思想进行求解。
引理1 假设PR和TR是模式P和文本T完全倒置的字符串,如果SR是模式PR在文本TR中匹配的1个子串,其中SR结尾的最后1个字符在T中的第i个位置,n为T的字符数,那么,SR对应的S在T的开始位置为n-i。
由于DP算法可以确定所有匹配子串的结束位置[6],所以利用这一特性把文本和模式全部倒置,利用初始值M0,j=0的DP算法,能够很容易地得到PR在文本TR中匹配的所有结束位置,经过简单计算就可以得到模式P在文本T的所有匹配子串的开始位置。
在开始位置确定的情况下,引入全局约束条件,再利用M0,j=j的DP算法,确定与开始点对应的匹配子串组合的所有结束位置,这样就可以找到同一开始点的所有匹配子串组合。
由于DP算法对匹配子串的结束位置求解是完备的,因而由倒置思想得到开始位置是完备的,进而从开始位置得到的所有结束位置也是完备的。
2.1.2 匹配子串候选集的优化
使用DP算法求解倒置的文本和模式,可以得到初始求解结果。
通过设计合并、优化规则,最终筛选出匹配的最优解。
(1)获取初始解集。
首先利用文本-模式倒置的动态规划算法,获得所有匹配的开始点位置。
从每一个开始点位置计算相应满足近似匹配的所有子串,称满足匹配条件的子串为解,这些匹配子串构成初始解的集合,简称解集。
解集具有以下特性:如果某2个匹配子串在文本中的开始位置相同,则它们属于同一解集;解集中最长的匹配子串为特征模式串,特征匹配子串在文本中的开始位置为解集的开始位置,其结束位置为解集的结束位置。
(2)集合划分、合并与优化组合。
由于文本扫描顺序可以是从左到右,也可以是从右到左。
在这2种顺序下,求解可能不同,W-DPBI算法采用从左到右的搜索策略,得到近似匹配优化解组合。
为了去除冗余,需要给出解集的新特性:如果某模式串是某一特征模式串的子串,则此模式串属于特征模式串所属于的那个解集。
如要把解集处理成需要的形式,合并分为3步,在前2步完成后开始寻找优化解,第3步在求解的过程中进行,并对结果产生重要的影响。
规则1 当1个开始点st的集合中含有编辑距离为k-1的匹配子串时,则其相邻的开始点的解集中必有编辑距离为k的解,则此相邻的开始点之间的所有候选集可以合并。
规则2 若某一开始点A位于另一开始点B的右边,比较其候选集中匹配子串的最远结束位置,以A为开始点的位于以B为开始点的左边或重合,则开始点A与开始点B 的候选集相互合并。
若在根据规则1和规则2合并后的某一候选集或某一开始点A的候选集中,搜索到局部最优子串,并在另外1个集合R所包含的字符重合位置中,此局部最优解需并入候选集R中,即得到候选集R中的局部最优解。
在W-DPBI算法拥有候选集的基础上,使用局部one-off条件可以对解进行优化选择。
但是由于候选集可能有交集,所以文本中的同一位置可以在不同候选集中重复使用。
为了避免求得冗余解,通过候选集合并可以把相似的、相关的解并入同一候选集。
然后在候选集内部使用局部one-off条件求近似匹配的最优解。
在近似匹配中,优化组合的定义不同于精确匹配中的最优定义,通常人们希望查询的结果和给定的条件(模式)越接近越好。
所以在1个候选集内部和局部one-off条件下,应当首先找出编辑距离最小的匹配子串,然后逐步查找编辑距离更大的解。
这样得到的组合具有编辑距离最小的最优性。
若候选集内部所有匹配子串的编辑距离相同,则返回此候选集中最长的模式串,即特征模式串,因为其他的匹配子串都可以被特
征模式串所包含。
2.1.3 算法运行示例
需要在文本T=aatteegasdeatage中寻找模式匹配子串组合。
文本T与模式P进行倒置,倒置后的文本与模式分别为。
文本T记为T=t0t1,…,t17。
生成1个m+1行n+1列(即17行4列)的矩阵M0…m,0…n,然后对矩阵的第0行、第0列进行初始化,为后面位置的计算提供初始值。
矩阵初始化为M0,j=j,Mi,0=i,
其中0≤j≤n,0≤i≤m。
依次计算矩阵的每个元素
为了计算匹配位置扫描矩阵,发现编辑距离小于或等于1的子串。
从0开始扫描矩
阵的最后1行,找出所有值小于或等于K的位置。
每当发现1个小于K的位置,就说明出现1次成功匹配,而该位置亦是成功匹配的结束位置,即最后1个字符在Tj中的位置。
开始位置共8个,为{0,1,2,7,9,10,11,13},从8个开始点分别建立候选集
B0,B1,B2,B7…B13。
候选集内部匹配子串组合分别
为:{(0,2),(0,3),(0,4),(0,5),(0,6)},{(1,3),(1,4),(1,5),(1,6)},{(2,4),(2,5)},…,{(13,15)}。
根据算法候选集合并规则1,第2阶段的候选集
为:{(0,2),(0,3),(0,4),(0,5),(0,6),(1,3),(1,4),(1,5),(1,6),(2,4),(2,5)},{(7,10)},{(9,15),(10 ,15),(11,15),(13,15)}。
按照原有规则,选择编辑距离最小,同时根据由左及右方式进行筛选得出优化的匹配子串组合为S={(0,4),(7,10),(9,15)}。
2.2 时间复杂度分析
如前文所述,W-DPBI算法处理过程分为 3个步骤:
(1)步骤1,寻找符合匹配子串的开始点位置。
其与文本长度有直接关系。
寻找匹配
开始点的时间复杂度为O(mn)。
若有x个开始点,其中0≤x≤n,匹配子串最大长度
为c,则寻找所有匹配的时间复杂度为O(cmx)。
(2)步骤2,按照开始点位置建立相关集合并相互合并,时间复杂度为O(x2)。
(3)步骤3,建立后的集合按左优先原则,选择优化的组合,若共有y个匹配子串,其中
0≤y≤cn,时间复杂度为O(y)。
综上所述,W-DPBI算法的时间复杂度为O(n2)。
而对于空间复杂度,动态规划矩阵
需要的存储空间为O(mn),存储所有匹配结果需要的存储空间为O(y),则空间复杂
度为O(mn)。
此外,DP算法和Sail-Approx算法的时间复杂度都为O(lmn),其中l 表示通配符局部约束的区间长度,m表示模式长度,n表示文本长度。
因此,在处理长文本时W-DPBI算法时间复杂度更高。
可见W-DPBI算法的优势在于解的完整性,消耗更多计算时间才能达到此目的。
通过实验验证W-DPBI算法的匹配能力。
算法使用Java语言,在Netbeans环境
下实现。
3.1 实验1
实验1将W-DPBI算法与DP算法及Sail-Approx算法进行实验对比,通过查找符合匹配子串的数目比较算法的查找能力。
由于Sail-Approx算法使用了全局one-off约束条件,对搜索结果进行了限制,在与W-DPBI算法进行匹配数量的比较时,设置为在同样限制条件下,因此在实验1使用的Sail-Approx算法中取消了全局one-off条件。
另外,在实验1中对W-DPBI算法结果仅统计初始查找到的模式串的个数,而不是候选集合并优化后的匹配子串个数。
实验1分为2组:为了考察算法在大字符集和小字符集下的表现,分别选用常规英文文本与DNA序列作为查找文本。
其中英文文本为小说《Wuthering Heights》第1章,共计11.6万字符,使用的查找模式串为e和序列来自NCBI数据库中的SARS 病毒(NC_000001.11),序列区间为109238182至109213893,查找模式为和。
实验1设定容错阈值K=1,即搜索与模式串之间编辑距离小于等于1的匹配模式串。
从表1可以看出,W-DPBI算法与DP算法、Sail-Approx算法相比可以搜索到更
多的解。
3.2 实验2
实验2将W-DPBI算法与带有全局one-off约束条件的Sail-Approx 算法进行对比,通过对分别查找的模式串结果进行分析,比较2种算法的查找质量。
实验2着重考察W-DPBI算法在动态规划基础上加入候选集合并在局部约束one-off条件下
的模式匹配子串查找质量。
首先使用短文本串T=aatfeegasdeatage、模式串e
分析查找的结果,容错阈值K=1。
分析W-DPBI算法在文本中查找近似匹配子串的结果,见表2。
从表2中可以看出W-DPBI算法把搜索到的18个匹配子串根据候
选集的定义划分为3个候选集。
进而利用局部one-off条件进行优化筛选,见表3。
表3列出了对文本T=aatfeegasdeatage W-DPBI算法以及Sail-Approx算法的最终处理结果。
W-DPBI算法列出3个结果,Sail-Approx算法列出4个结果。
仔
细考察Sail-Approx算法的结果,可以看出它所列出的结果全部被W-DPBI算法结果所包含,如“aatfe(0-4)”,“atfe e(1-5)”被“aatfee(0-5)”所包含。
全局one-off条件2:在匹配过程中,标记被模式中非通配符字符匹配过的文本字符,如文本T=rtneh,模式h,解出匹配子串s=rtneh后,标记T中‘r’‘n’‘h’所在的位置被匹配过。
实验2说明了Sail-Approx算法中全局one-off条件2的局限。
在Sail-Approx
算法的匹配结果中,首先发现了“aatfe(0-4)”,编辑距离为0,因此文本T中0、2、5号位被标记占用;接着,算法发现了“atfee(1-5)”,编辑距离计算结果为1,因为‘t’所在的2号位被第1次匹配占用,所以‘t’被通配符匹配,进而导致编辑距离被计
算为1,其实不难发现“atfee(1-5)”与模式串的编辑距离为0。
同理,在“atag(11-14)”中的占位导致后面编辑距离为0的子串“atage(11-15)”无法被查找到。
这也部分解释了Sail-Approx算法丢解的原因。
搜索得出的匹配模式串长度越长,越可能包含更多“隐含”的匹配子串。
同时,如果
实验使用的容错阈值K=3,搜索结果可能包含编辑距离为0、1、2、3的匹配子串。
从搜索的角度希望得到编辑距离更小的匹配子串,而编辑距离为0、1、2、3的解
的数量的分布,能体现出算法的搜索质量。
使用2种算法在长文本中进行搜索,在比较优化匹配子串个数的基础上,综合搜索模式串的平均长度和搜索模式串编辑距离的主要分布情况,考察其算法的搜索质量。
实验2使用与实验1中同样的文本,搜索的模式串为T。
优化解查找数目与平均匹配模式串长度的实验结果见表4。
对于Sail-Approx算法的分布统计,根据表3分析可知,由于Sail-Approx算法会提供错误的编辑距离,所以在统计其匹配结果分布前,其搜索结果的编辑距离已经被重新计算。
从表4中可以看出,W-DPBI算法在匹配子串数目和平均匹配模式串长度上均优于Sail-Approx算法,编辑距离更小,更少地使用插入操作。
3.3 实验结果分析
为便于说明W-DPBI算法解的优势,引入解的增长率的算法表达式
由表5可以看出,在容错阈值K=3的情况下,在8组测试实例中W-DPBI算法全部占据优势,且解的平均增长率可达21.91%,其中最高可达57.70%。
这说明W-DPBI 算法可以搜索到更多的匹配子串,同时可以筛选出较高质量的解,证明了该方法的优越性。
通过与DP算法和Sail-Approx算法的实验对比可以看出,W-DPBI算法利用文本-模式倒置策略,基于动态规划思想,首先求得所有匹配的开始点,再从开始点进行匹配搜索,避免了使用回溯算法时求解初始位置。
与Sail-Approx算法相比,W-DPBI算法在融合通配符局部约束和局部one-off条件后,减少了丢失符合匹配条件子串的可能性,因而可以搜索到更多的匹配模式串子串;此外,W-DPBI算法的匹配解编辑距离更小,因而解的质量更高。
实验采用的文本数据集源于标准的生物序列测试样本和普通的英文原著,因而W-DPBI算法可以适用于不同数据集。
本文针对带有可变长度通配符的近似模式串匹配问题,通过对经典DP算法的梳理分析,提出了W-DPBI算法。
该算法使用文本-模式倒置策略和基于开始点建立候选
集筛选搜索的思想,改进了经典动态规划方法。
在分别选用常规英文文本与DNA 序列作为查找文本的实验中,通过获取初始解、集合划分及优化组合 2 个过程,筛选出匹配子串的最优解。
W-DPBI算法在匹配子串数目和平均匹配模式串长度上均优于Sail-Approx算法,解的平均增长率可达到21.91%,其中最高可达57.70%,反映了其有效性及其在求解同类问题中更加灵活的优势。
此外,W-DPBI算法正确率的评价指标有待于进一步研究。
后续工作将研究W-DPBI算法如何在线输出质量更高的解,即编辑误差较小,获取解的总个数更多,并对该算法的时间及空间性能加以改进。
【相关文献】
[1]Fischer M J,Paterson M S.String matching and other
products[R].Cambridge,MA,USA:Massachusetts Institute of Technology,1974:113-125. [2]Sellers P H.The theory and computation of evolutionary distances:Pattern recognition[J].Journal of Algorithms,1980,1(4):359-373.
[3]Manber U,Baeza-Yates R.An algorithm for string matching with a sequence of don’t cares[J].Inf Proc Lett,1991,37(3):133-136.
[4]Akutsu T.Approximate stri ng matching with variable length don’t care
characters[J].IEICE Transactions Info and Systems,1996,79(9):1353-1354.
[5]Cole R,Gottlieb L A,Lewenstein M.Dictionary matching and indexing with errors and don’t cares[C]//Proceedings of the 36th ACM Symposium o n the Theory of Computing.New York,USA:ACM Press,2004:91-100.
[6]Chen G,Wu X D,Zhu X Q,et al.Efficient string matching with wildcards and length constraints[J].Know-ledge and Information Systems,2006,10(4):399-419.
[7]He D,Wu X,Zhu X.SAIL-APPROX:An efficient on-line algorithm for approximate pattern matching with wildcards and length constraints[C]//Proceedings of the IEEE International Conference on Bioinformatics and Biomedicine.Silicon Valley,CA,USA:IEEE Computer Society Press,2007:151-158.
[8]Zhong Cheng,Fan Dajuan.Parallel algorithms for approximate string matching with multi-round distribution strategy on heterogeneous cluster computing systems[J].Journal of Computer Research and Development,2008,51:105-112.
[9]Xu Kefu,Cui Wenke,Hu Yue,et al.Bit-parallel multiple approximate string matching
based on GPU[J].Procedia Computer Science,2013,17:523-529.
[10]Prasad R,Sharma A K,Singh A.Efficient bit-parallel multi-patterns approximate string matching algorithms[J].Scientific Research and Essays,2011,6(4):876-881.
[11]Wu Youxi,Wu Xindong,Min Fan,et al.A net tree for pattern matching with flexible wildcard constraints[C]//Proceedings of the 11th IEEE International Conference on Information Reuse and Integration(IR12010).Las Vegas,USA:IEEE,2010:109-114.
[12]Wang Haiping,Xie Fei,Hu Xuegang,et al.Pattern matching with flexible wildcards and recurring characters[C]//Pro of the 2010 IEEE Conference on Granular Computing(GrC-2010).Washington,DC,USA:IEEE Computer Society,2010:782-786.
[13]Min Fan,Wu Xindong,Lu Zhenyu.Pattern matching with independent wildcard
gaps[C]//Proceedings of the 8th IEEE International Conference on Pervasive Intelligence and Computing(PICom2009).Chengdu:IEEE,2009:12-14.
[14]Wang Chi,Wang Hao,Xie Zhao,et al.Exact string matching with variable length of don’t cares based on suffix tree[C]//2011 International Conference on Information Science and Technology.Nanjing:IEEE,2011:109-113.
[15]黄国林,郭丹,胡学钢.基于通配符和长度约束的近似模式匹配算法[J].计算机应
用,2013,33(3):800-805. Huang Guolin,Guo Dan,Hu Xuegang.Algorithms for approximate pattern matching with wildcards and length constraints[J].Journal of Computer Applications,2013,33(3):800-805.。