390 likes | 489 Views
基于一个中心度图的带有通配符和间隙长度约束的模式匹配. 导师:武优西教授 学生:沈丛. 基于一个中心度图的带有通配符和间隙长度约束的模式匹配. 作者 - Dan Guo, Xuegang Hu, Fei Xie, Xindong Wu 论文名 - Pattern matching with wildcards and gap-length constraints based on a centrality-degree graph 发表期刊或会议及页码 - Applied Intelligence 出版年份2012 页码1-18 - 该文被EI索引收录. 目录.
E N D
基于一个中心度图的带有通配符和间隙长度约束的模式匹配基于一个中心度图的带有通配符和间隙长度约束的模式匹配 导师:武优西教授 学生:沈丛
基于一个中心度图的带有通配符和间隙长度约束的模式匹配基于一个中心度图的带有通配符和间隙长度约束的模式匹配 • 作者 -Dan Guo, Xuegang Hu, Fei Xie, Xindong Wu • 论文名 - Pattern matching with wildcards and gap-length constraints based on a centrality-degree graph • 发表期刊或会议及页码 - Applied Intelligence 出版年份2012 页码1-18 - 该文被EI索引收录
本文核心内容 • 本文主要提出的是一个图结构WON网。这个图代表着一个网络,该网络带有基于每个结点的中心度的权重度量。使用该网络去获取所有候选匹配解;同时本文设计WOW算法,WOW代表基于WON网的带有通配符的模式匹配。
背景和事例 • 模式匹配的在生物信息学上的例子: • TATA在DNA序列中经常于CAATCT之后30-50个通配符出现。 • 一个PROSITE模式是一带有固定长度间隙为[4,9]的字符组成的序列。 • 在信息获取中,带有无用或者“不经心“的字符间隙的词汇更有意义。
背景和事例 • 例1 已知S = gagggcc和P = g ε0(1,2) ×g ε1(1,2)c,其中ε0(1,2)是一个长度可变的间隙,其通配符个数在1到2之间,通配符φ可匹配文本中的任意字符。 • 该表表示了模式的出现。
背景和事例 • 在S中所有的出现为{<0,2,5>,<0,3,5>,<0,3,6>,<2,4,6>}。 • 一次性条件下,我们的目标是取得解{<0,3,5>,<2,4,6>},而非{<0,2,5>}或者{<0,3,6>}。
背景和事例 • 现存的工作中,没有多项式算法能实现一个关于以上PMGO问题的完整解。虽然一系列的算法有提出,但在最优解问题上更胜一筹的算法还未出现。现有的算法均为启发式算法,未考虑在一次性条件下在整个候选解空间中不同出现之间的冲突。 • 本文所做的工作: • (1)我们提出了一个图结构WON-Net,来表示在已知序列S中模式P的所有出现。其拥有三个优点:(a)它能够处理一个模式,每个子模式可由一些字符组成。(b)在在WON-Net的子结构上的并行执行能在不丢失解的同时改善效率。(c)可通过结点的中心度在所有出现中取得每个子模式的频繁度。
背景和事例 • (2)基于WON-Net,提出了WOW算法来解决PMGO问题。比起其他同类算法,WOW的理念是,出现的权重中心度越小,与其他出现交叠的可能更小,来据此取得最优解。WOW比同类算法更为有效和稳定。 • (3)我们还提出一个调整机制来平衡解与运算时间之间的关系。我们定义了一个新的WOW变量,WOW-δ。理论分析和实验表明,WOW和WOW-δ比同类算法更有效。运行时间也更有优势。
相关工作 • 一个通配符可以匹配在一个已知字母表中的任何字符。带通配符的模式匹配问题首先在文献16中有提出。之后,Cole等人提出了在模式中带有固定长度的通配符。U.Manber等人描述了带有间隙约束为[0,g]的通配符,其中g为一个可变的长度。在文献17中,提出有另一个间隙约束,其中的通配符有着同样的间隙约束[a,b](a≤b),诸如Aε(1, 3)Cε(1, 3)Gε(1, 3)C. • 【16】Fischer MJ, Paterson MS (1974) String matching and other products.Technical report, Massachusetts Institute of Technology,Cambridge, MA, USA • 【17】Zhang M, Kao B, Cheung DW, Yip KY (2005) Mining periodic patterns with gap requirement from sequences. In: Proceedings of ACM SIGMOD, Baltimore, Maryland, USA, pp 623–633
相关工作 • 通过打破该限制,Navarro和Raffinot提出了一个更为灵活的定义,用户被允许分别用不同长度的约束来指定通配符,例如模式P=Aε(0, 2)Cε(1, 3)G。为了移除大量无用的信息,在问题中兼有非重叠条件和一次性条件。Ding等人提出非交叠的条件,其不允许相同字符在已知序列中的同一个位置出现超过一次。一次性条件更为严格。 • 本文中,我们关注于定义在文献【8】中带有可变通配符的问题和文献【15】中一次性条件问题。 • 【8】Navarro G, Raffinot M (2002) Flexible pattern matching in strings—practical on-line search algorithms for texts and biological sequences. Cambridge University Press, Cambridge • 【15】Chen G, Wu X, Zhu X, Arslan AN, He Y (2006) Efficient stringmatching with wildcards and length constraints. Knowl Inf Syst10(4):399–419
相关工作 • 在带有通配符的模式匹配问题上已经有一些研究努力成果。该问题也已经被延伸至近似匹配,模式挖掘,模式建模,等等。当前在带有通配符的模式匹配上的努力,Gaps-Shift-And和Gaps-BNDM不能处理间隙约束为[0,g]这样的两个通配符间有一个字符的模式。他们只能表示模式中每个出现的初始的或者最终的字符位置。PAIG和NAMEIC改善了在模式匹配时间上的效率。但是它们不能处理在一次性条件下的问题。而且,在NAMEIC中的图结构一定要被描述为一个字符。其缺乏可变性。进一步地,SAIL和BPBM以及快速搜索(Quicksearch)能有效地处理一次性条件下的序列模式的的匹配。但是这些基于一个局部启发式策略(最左最优)的算法没有更优的解来处理在线模式匹配。
相关工作 • 不同于通过从头至尾地扫描序列的SAIL算法,RSAIL和HSO通过通过反方向扫描序列来取得一个最优解。Wu等人则提出基于HSO的AGSP和SBO算法。然而,没有算法在最优解上胜过其他。以上算法在整个解集上缺乏理论性的分析。 • 本文中打破了限制,子模式可以是连续间隙间的一个或若干个字符。同时考虑间隙长度条件和一次性条件来取得每个子模式的确切匹配位置。本文的工作度量了一个出现在整个候选出现空间中的影响来取得最优解。
问题陈述 • 已知一个主序列S和一个带有通配符的模式P,我们的目标是取得S中关于PMGO(带有间隙长度约束和一次性条件的模式匹配)问题的P的出现。 • 用于抽取模式的序列S=s0s1……sn-1称为主序列。模式P=p0ε0(N0,M0)p1 · · · εm−2(Nm−2,Mm−2)pm−1是带有通配符的一个序列,其中一个通配符可匹配任意字符,子模式pi(0≤i≤m-1)是一个不带有通配符的序列,间隙εi(Ni,Mi) (Ni ≤ Mi )代表pi和pi+1之间通配符的局部长度约束[Ni,Mi]。
问题陈述 • 例如,ε0(9, 12)匹配p0和p1之间长度为9,10,11或者12的任意字符。然后,[GN,GM](GN≤GM)是带有间隙的P的全局长度约束。令|PGL|作为模式P的全局长度。 • P的长度必须满足
问题陈述 • 定义3.1 一个出现occ=(k0,……,km-1)是带有间隙约束的S中P的一个位置序列。在S中的位置ki,存在pi,0 ≤ i < m, 0 ≤ ki < n。其须满足如下的长度间隙约束: • 定义3.2 假设occ1=<k0,……,km-1>,occ2=<h0,……,hm-1>是P的两个出现。Set_occ1 = ∪0≤i<m{ki, ki + 1, . . . , ki + |pi| − 1}且 Set_occ2 = ∪0≤i<m{hi,hi + 1, . . . , hi + |pi| − 1}. 如果Set_occ1 ∩ Set_occ2 = null,我们称其满足一次性条件。
问题陈述 • 性质3.1 令OPMGO(P,S)作为在S中P的关于PMGO问题的一个解, OPMG(P,S)作为一个集,其包含S中P的所有出现。 |OPMGO(P,S)|是OPMGO(P,S)中出现的数目, |OPMG(P,S)|是在OPMG(P,S)中出现的数目。 OPMGO(P,S) ⊆ OPMG(P,S)。 • 例2 已知S=ggggggcc, P=gg ε0(1,2) ×g ε1(1,2)c,且[GN,GM]=[6,8],p0=gg,p1=g,p2=c。 • OPMG(P,S)={<0,3,6>,<0,4,6>,<0,4,7>,<1,4,6>,<1,4,7>,<1,5,7>,<2,5,7>}。| OPMG(P,S)|=7。 • OPMGO(P,S)={<0,3,6>}或者{<0,4,6>,<2,5,7>}或者{<0,4,7>}或者{<1,4,6>}或者{<1,4,7>}或者{<1,5,7>}或者{<2,5,7>}。如表1中所示,occ0,occ1,occ2,occ3,occ4和occ5共享在S中第一个位置的g字符。Occ0和occ6共享在S中第三个位置的g字符。 • OPMGO_MAX(P,S)={occ1,occ5}={<0,4,6>,<2,5,7>}。| OPMGO_MAX(P,S)|=2。这里<0,4,6>,<2,5,7>满足一次性条件。
WON-Net(P,S)和度 • 这一部分定义了数据结构WON-Net来表示S中P的所有出现。已知相关性质。 • 4.1 WON-Net(P,S) • WON-Net(V,E)是一个与每个结点的中心度相关的直接图,其中V和E分别是一组结点和边。如同在树的理论中,其有父结点,子结点,叶结点。我们定义每个结点的中心度是WON-Net中通过该结点的从根结点到叶结点的路径数。
WON-Net(P,S)和度 • 定义4.1 已知一个模式P和一个主序列T,我们构造一个直接图WON-Net。如果在WON-Net中从根结点到叶结点的路径对应S中P的所有出现,WON-Net视为PMGO问题的候选出现空间,表示为WON-Net(P,S)。在出现Occ=<occ0,……,occj,……,occm-1>中对应于occj 结点的层是j,0 ≤ j ≤ m。 • 对于在WON-Trie=(VT,ET)中WON-Net中第j层的结点n,有Set_n={n,n+1,……,n+|pj|-1}。 • 定义4.2 如果WON-Trie=( VT,ET),满足SetTrie ∩SetNet-Trie = null,我们说WON-Trie是WON-Net的一个子结构。这里,SetTrie = ∪n∈WON-Trie Set_n 并且SetNet-Trie = ∪n∈{WON-Net−WON-Trie} Set_n.
WON-Net(P,S)和度 • 性质4.1 存在OPMGO(P,S) ⊆ OPMG(P,S) ≌ {Path},其中Path=<root node,……,leaf node>∈WON-Net(P,S)。 • 性质4.2 WON-Net(P,S) = ∪ 0≤i<|Net|,其中WON-Trie i(P, S) ∩ WON-Triej (P, S) = null (i ≠ j)。 • 这里,0 ≤ i, j < |Net|, |Net|是WON-Net(P,S)中子结构的数目, |Net|≥1。
中心度 • 在WON-Net(P,S)中出现于第i个子结构WON-Triei( P,S )的第j层的结点n表示为ni,j。对于结点ni,j,我们定义ni,j的入度Din(ni,j)作为从根结点到ni,j的路径数。ni,j的出度Dout(ni,j)作为从叶子结点到ni,j的路径数。则, ni,j的中心度D(ni,j)是经过ni,j的从根结点到叶结点的路径数。其等于入度乘以出度。结点ni,j的中心度表明了子模式的频度,而pj表示在所有出现中第j个匹配的位置。D(n)表示ni,j的中心度的总和,0≤j≤m。
中心度 • 公式4.1 • 其中nki,j-1是ni,j的第k个双亲结点,h是ni,j的双亲结点数。 • 其中nki,j+1是ni,j的第k个子结点,h是ni,j的子结点数。
中心度 • 性质4.3 如果n∈WON-Triei(P,S),存在D(ni,j)|WON-Trieh(P,S)=0(i≠h),并且D(n)|WON-Net(P,S)=D(n)|WON-Triei(P,S)。 • 目前已有的工作中,子模式的长度是1。为了方便将本文的工作同先前的工作【15,20-22】做比较, • 【15】Chen G, Wu X, Zhu X, Arslan AN, He Y (2006) Efficient stringmatching with wildcards and length constraints. Knowl Inf Syst10(4):399–419 • 【20】Guo D, Hong X, Hu X, Gao J, Liu Y, Wu G, Wu X (2011) A bitparallel algorithm for sequential pattern matching with wildcards.Cybern Syst 42(6):382–401 • 【21】 Wang H, Xie F, Hu X, Li P, Wu X (2010) Pattern matchingwith flexible wildcards and recurring characters. In: 2010IEEE international conference on granular computing (GrC 2010),Silicon Valley, USA, 2010. IEEE Comput Soc, Los Alamitos,pp 782–786 • 【22】 Wu Y, Wu X, Jiang H, Min F (2011) A heuristic algorithm forMPMGOOC. Chin J Comput 32(8):1452–1462
中心度 • 这里在例3中设置|pi|=1(0≤i≤m),其中m是子模式数。实际上,本文中处理的情形都是|pi|>1(0≤i≤m)。 • 例3 S=ttcctcctcaadttctccttcdddttcatcac,P=tε0(0, 2)cε1(0, 2)tε2(0, 2)c,GN=4, GM=10。如图,WON-Net(P,S)分解为WON-Trie0,WON-Trie1,WON-Trie2。结点161,3代表出现在WON-Trie1第三层中的结点,在图中表示为 • Din(161,3)=2,Dout(161,3)=1,D(161,3)=2×1=2,D(16)=D(161,3)+D(161,1)=2×1+2×2=4
子树 • 根据WON-Net(P,S)中子结构的独立性,我们可分别处理WON-Trieg(P,S)(0≤g<|Net|)。对于每个WON-Trieg(P,S)(0≤g<|Net|),基于最小结点的层,我们将WON-Trieg(P,S)划分为多个子树。如果某些层有同样最小的结点,我们选择最靠近叶结点的层。 • 将WON-Trieg(P,S)简化为Tg,将Tg中的第i个子树化简为Si,g,在Si,g中的第k个出现写做occk,i,g。|Tg|是在Tg中子树的个数。|Si,g|是在Si,g中从根结点到叶结点的路径数。
子树 • Si,g = (VS,ES) ⊆ Tg = (VT ,ET ) ⊆WON-Net = (V ,E)。 • 可在子树Si,g上使用公式4.1来取得Dnode∈Si,g 和Docc{nodek}∈Si,g。
子树 • 其中m是P的子模式的数目,Dnode∈Si,g是在Si,g中包含结点出现的数目。 • 例4 如在例3和图2中所示,根结点在第0层。划分为T0和T1。 • T0在第2层有两个子树。在第三层中将T1划分为S0,1,S1,1,S2,1。其表明了在S0,1中,结点151,2的中心度为2×1=2,但是在T1中2×2=4。
子树 • 其中m是P的子模式的数目,Dnode∈Si,g是在Si,g中包含结点出现的数目。 • 例4 如在例3和图2中所示,根结点在第0层。划分为T0和T1。 • T0在第2层有两个子树。在第三层中将T1划分为S0,1,S1,1,S2,1。其表明了在S0,1中,结点151,2的中心度为2×1=2,但是在T1中2×2=4。
权重中心度量 • 在这部分中,我们定义了权重中心度量,记录了WON-Net中从根结点到叶结点的距离(横切结点的数目)。距离(重叠)越小,中心度越小。这里使用了两种测度方法:聚簇和局部化。聚簇的测度捕捉了子树的中心度。局部测度捕捉了在一个子树中一个单一出现的中心度。权重特征表示怎样中心化其某单元(聚簇或者局部化)与如何中心化所有其他的单元(聚簇或者局部化)在WON-Net相关联。
权重中心度量 • 定义5.1 我们定义距离docc,occ'作为occ与occ'之间相交叠字母的数目。 • 正如例3中,如果occ=<12,14,15,17>和occ'=<15,17,19,20>,docc,occ'=2
权重中心度量 • 性质5.1 如果h≠g,则存在CWC[Si,g]|Th=0并且LWC[occk,i,g]|Th=0。 时间复杂度代价对于通过公式5.1计算所有不同出现对的代价过高。基于子树中结点中心度由公式5.1改进至5.2。 在一棵子树中只有一个结点的层表示为第dep层。在子树中第dep层的唯一个结点表示为nodedep。
算法设计 • 对于PMGO问题,我们设计了WOW算法(基于WON-Net)的带有通配符的模式匹配。首先,基于WON-Net(P,S),其确保了候选出现的完整度。其次,基于子结构的独立性(性质4.1(2)),分别处理Tg((0 ≤ g <|Net|)。在{Tg}上并行处理可有效提高效率。第三,根据定理6.1--6.5中的条件,使用LMO(最左优化)策略和RMO(最优优化)策略来实现最优解。最后,为改善在一次性条件下结点的利用率,设计了带有权重中心度测度的CMP(中心度测度修剪)策略来取得最小中心度聚簇Si,g, 然后选择在Si,g中最小中心度局部单元occ。
算法设计 • 如图3中所示和算法1 ,WOW算法的过程如下。首先,基于搜索在S中的每个子模式pi(0≤i≤ m−1) ,构造WON-Net(P,S),并将其分解为子结构。{Tg}, 0 ≤ g < |Net|。其次,对于每个Tg,选择一个出现。
算法设计 • (a)如果P没有冗余子模式,或者每个间隙有着同样的大写和小写限制(Ni=Mj for ∀i, 0≤i<m-1)或者Tg没有自由结点(后面的定义6.1),使用LMO(最左优化)策略和RMO(最优优化)策略来实现最优解。
算法设计 • (b)否则,使用CMP(中心度测度修剪)策略取得最优解。还使用了RMO策略来替代LMO策略。LMO可以处理在线过程,但是RMO和CMP不能。之后,将出现放入OPMGO_Tg(P, S),并使用出现修剪策略来更新Tg。该过程循环执行直到Tg不再有一个出现。这里OPMGO_Tg(P, S)是一个在Tg中OPMGO(P, S)的子集。最后,将OPMGO_Tg(P, S)放入OPMGO(P, S)。
LMO/RMO • LMO策略从在Tg中的第0层到第m-1层选取最左结点,如算法2,其中m是P的子模式数目。RMO策略相似于LMO策略。但是RMO策略选择的是最右结点,如算法3。 • 如例3,通过LMO得到像<0,2,4,5>这样的第一个出现,通过RMO取得<4,6,7,8>。
CMP • LMO/RMO策略可有效得处理算法1的第4步中提到的情况。然而,在现实世界中的多数模式是没有这些特征的无序状态。在算法4中,CMP策略可处理权重中心测度的大多数模式。思想是一个出现的中心度越小,和其他相重叠的越小。因此,应在一次应条件下取得尽可能多的出现。
CMP • 在CMP策略中,首先选择Tg中带有最小结点的层。如果某些层有着同样最小的结点,我们选择最靠近叶结点的层,表示为第dep层。将在第dep层上的Tg划分为子树的一个最小集。这是因为,在一次性条件下出现的数目不比在第dep层上Tg中的结点出现数多。之后,我们通过权重中心度量(聚簇测度和局部化测度)来取得最小中心度子树Si,g和最小中心度出现occk,i,g。
CMP • 例如,在例3中T1上采用了CMP策略。在图4(a)中,通过聚簇测度取得了最小中心度S2,1,之后,在图4(b)中,通过局部化测度在S2,1上选择最小中心度occ0,2,1<13, 16, 18, 20>或者occ1,2,1<13, 16, 19, 20>。之后修剪occ0,2,1和occ1,2,1,留下了<12, 14, 15, 17>。通过|OPMGO_T2(P, S)| = 2的CMP策略取得T2的最优解,但是可通过LMO策略或者RMO策略取得|OPMGO_T2(P, S)| = 1。