CN110232084A - 具有局部-整体约束的近似模式匹配方法 - Google Patents

具有局部-整体约束的近似模式匹配方法 Download PDF

Info

Publication number
CN110232084A
CN110232084A CN201910530519.3A CN201910530519A CN110232084A CN 110232084 A CN110232084 A CN 110232084A CN 201910530519 A CN201910530519 A CN 201910530519A CN 110232084 A CN110232084 A CN 110232084A
Authority
CN
China
Prior art keywords
node
tree
net
character
subpattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910530519.3A
Other languages
English (en)
Other versions
CN110232084B (zh
Inventor
武优西
菅博境
范金泉
王月华
刘茜
张帅
李艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hebei University of Technology
Original Assignee
Hebei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hebei University of Technology filed Critical Hebei University of Technology
Priority to CN201910530519.3A priority Critical patent/CN110232084B/zh
Publication of CN110232084A publication Critical patent/CN110232084A/zh
Application granted granted Critical
Publication of CN110232084B publication Critical patent/CN110232084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Character Discrimination (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明具有局部‑整体约束的近似模式匹配方法,涉及电数字数据处理技术领域,是通过网树结构来解决(δ,γ)‑距离下的近似模式匹配问题,首先读入序列S、模式P,局部阈值δ和整体阈值γ,然后根据输入条件创建一棵网树,最后根据网树叶子层的各个结点,计算模式P在序列S中的所有出现数。本发明方法在具有间隙约束的情况下,实现了(δ,γ)‑距离下的近似模式匹配,克服了现有技术针对具有局部‑整体约束的近似模式匹配问题,存在很难兼顾解的完备性以及求解的灵活性、准确性和一般性的缺陷。

Description

具有局部-整体约束的近似模式匹配方法
技术领域
本发明的技术方案涉及电数字数据处理技术领域,具体地说是具有局部-整体约束的近似模式匹配方法。
背景技术
随着大数据时代的来临,在众多领域涌现出大量数据,如何从这些数据中挖掘出有价值的信息,已成为一个研究热点,频繁模式挖掘是指从大量数据中找出频繁出现的模式,其主要任务是模式匹配,因为频繁模式挖掘通常需要计算一个模式的支持度,而支持度计算的实质就是模式匹配问题,因此,模式匹配是频繁模式挖掘的基础与核心,不仅应用于时间序列频繁模式挖掘,而且应用于音乐信息检索,具有重要的研究价值。
模式匹配是指在序列S中查找与模式P相同或者相似的子序列的过程,其发展趋势主要有以下两种:①从传统的模式匹配到具有间隙约束的模式匹配;②从精确模式匹配到近似模式匹配。
具有间隙约束的模式匹配能够匹配出用户感兴趣的模式,比传统的模式匹配具有灵活性,因此成为模式匹配的一种发展趋势,具有间隙约束的模式表示为P=p1[min1,max1]p2…[minj,maxj]pj+1…[minm-1,maxm-1]pm,其中,minj和maxj分别表示子模式pj和子模式pj+1之间能够匹配的通配符的最小个数和最大个数,区间[minj,maxj]称为间隙约束,m表示模式P的长度,下例A对具有间隙约束的模式匹配问题进行了详细说明。
例A.给定序列S=s1s2s3s4s5s6s7=aabacba,模式P=p1[0,1]p2[0,1]p3=a[0,1]b[0,1]a。
例A中,以a[0,1]b为例,[0,1]称为间隙约束,其中0表示子模式a和子模式b之间最少能够匹配0个通配符,1表示子模式a和子模式b之间最多能够匹配1个通配符;为了方便描述各出现,模式P在序列S中出现的所有字符,用序列S中对应字符的位置下标进行表示,则该例中给定模式P在给定序列S中的出现有3个,分别是<1,3,4>、<2,3,4>和<4,6,7>;<1,3,4>表示子序列s1s3s4与模式p1p2p3完全一致,字符s1和字符s3之间有1个字符,满足间隙约束[0,1],字符s3和字符s4之间没有字符,满足间隙约束[0,1];<2,3,4>表示子序列s2s3s4与模式p1p2p3完全一致,字符s2和字符s3之间没有字符,满足间隙约束[0,1],字符s3和字符s4之间也没有字符,满足间隙约束[0,1];<4,6,7>表示子序列s4s6s7与模式p1p2p3完全一致,字符s4和字符s6之间有1个字符,满足间隙约束[0,1],字符s6和字符s7之间没有字符,满足间隙约束[0,1];由此可见,用户将根据具体的应用设置间隙的大小和长度,匹配出有意义的模式,间隙约束比传统的通配符“?”和“*”更具灵活性。
具有间隙约束的模式匹配又分为精确模式匹配和近似模式匹配,精确模式匹配在数据存在噪音的情况下抗干扰性差,近似模式匹配则允许噪音存在,因此成为模式匹配的另一种发展趋势,度量距离是近似模式匹配的关键,Hamming距离是最常用的一种度量距离,其在度量字符序列时表现性能良好,对于数值型的时间序列,其在符号化过程中容易引入噪音,Hamming距离不但不能消除噪音,还会引入更大噪音,另一种度量距离是最初用于音乐信息检索的(δ,γ)-距离,其能够解决Hamming距离引入噪音的问题,下例B通过Hamming距离和(δ,γ)-距离度量时间序列进行对比说明,下例C采用例A中的序列S和模式P,对(δ,γ)-距离下的近似模式匹配进行详细说明。
例B.给定模式P=b[0,1]d[0,1]b。
说明书附图的图1表明,图1中的(1)与无间隙的给定模式P一致;图1中的(2)、(3)具有间隙约束,并且能够与给定模式P精确匹配。
用Hamming距离作为给定模式P的度量距离:给定两个等长的序列X和序列Y,序列X和序列Y的Hamming距离为对应位置的不同字符的个数;图1中的(4)、(5)、(6)不能与给定模式P精确匹配,能够在Hamming距离的阈值为1时与给定模式P近似匹配,但阴影片段都与给定模式P的相应片段存在巨大偏差,进而导致图1中的(4)、(5)、(6)都与图1中的(1)在整体上不相似。
用(δ,γ)-距离作为给定模式P的度量距离:δ-距离:给定字符集Σ中的任意两个字符x和字符y,字符x和字符y的δ-距离为|x-y|,记作Dδ(x,y);γ-距离:给定两个等长的序列X=x1x2…xn和序列Y=y1y2…yn,序列X和序列Y的γ-距离为其中1≤i≤n,记作Dγ(X,Y),其中n表示序列的长度;
给定两个等长的序列X=x1x2…xn和序列Y=y1y2…yn,给定局部阈值δ和整体阈值γ,当:
(1)则称序列X和序列Y满足局部近似度约束,简称局部约束,记作X=δY;
(2)Dγ(X,Y)≤γ,则称序列X和序列Y满足整体近似度约束,简称整体约束,记作X=γY;
(3)X=δY且X=γY,则称序列X和序列Y同时满足局部约束和整体约束,简称局部-整体约束,记作X=(δ,γ)Y;
图1中的(7)、(8)、(9)不能与给定模式P精确匹配,但在(δ,γ)-距离下能够与给定模式P近似匹配,其中,图1中的(7)、(8)在局部阈值δ为1,整体阈值γ为1时能够与给定模式P近似匹配,并且都与图1中的(1)在整体上具有良好的相似性,说明δ-距离能够度量序列之间的局部近似度,使得序列之间满足局部约束;图1中的(9)在局部阈值δ为1,整体阈值γ为1时不能与给定模式P近似匹配,但在局部阈值δ为1,整体阈值γ为2时能够与给定模式P近似匹配,说明γ-距离能够度量序列之间的整体近似度,使得序列之间满足整体约束。
说明书附图的图1表明,由于Hamming距离无法度量序列之间的局部近似度,导致序列之间的整体不相似;(δ,γ)-距离能够同时对序列之间的局部近似度和整体近似度进行度量,保证了序列之间的整体相似性。
例C.给定序列S=s1s2s3s4s5s6s7=aabacba,模式P=p1[0,1]p2[0,1]p3=a[0,1]b[0,1]a,局部阈值δ=1,整体阈值γ=1。
出现:给定序列S=s1s2...sn,模式P=p1[min1,max1]p2…[minm-1,maxm-1]pm,局部阈值δ和整体阈值γ,当存在m个整数l1,l2,…,lm,同时满足以下两个条件:
(1)1≤l1<l2<…<lm≤n,minj≤lj+1-lj-1≤maxj,其中1≤j≤m-1;
(2)
则称<l1,l2,…,lm>是给定模式P在给定序列S中的一个出现,记作
说明书附图的图2表明,给定模式P在给定序列S中的出现总共有5个,分别是<1,2,4>、<1,3,4>、<2,3,4>、<4,5,7>和<4,6,7>,对于<1,2,4>来说,子序列s1s2s4和模式p1p2p3并不完全一致,因为字符s2=a,子模式p2=b,但a≠b,由于Dδ(s2,p2)=|s2-p2|=|a-b|=1≤δ=1,则子序列s1s2s4和模式p1p2p3之间满足局部约束,即P=δS1,2,4,同时Dγ(s1s2s4,p1p2p3)=|s1-p1|+|s2-p2|+|s4-p3|=0+1+0=1≤γ=1,则子序列s1s2s4和模式p1p2p3之间满足整体约束,即P=γS1,2,4,因此<1,2,4>是给定模式P在给定序列S中的一个出现,即P=(δ,γ)S1,2,4;对于<1,3,4>来说,子序列s1s3s4和模式p1p2p3完全一致,两者之间的γ-距离为0,对应字符之间的δ-距离也为0,因此<1,3,4>是一个精确模式匹配的出现;由此可见,精确模式匹配是近似模式匹配的一个特例,当阈值为0时,近似模式匹配就转换为精确模式匹配,近似模式匹配比精确模式匹配更具一般性。
模式匹配问题一般要求算法具有完备性,以及求解具有灵活性、准确性和一般性,但现有的模式匹配技术很难同时满足这些条件,例:武优西、沈丛发表的文献“Strictpattern matching under non-overlapping condition,Science China InformationSciences.”基于网树结构研究了无重叠条件下的模式匹配,通过迭代查找网树的最右树根叶子路径来确定一条出现,然后剪枝出现和相关无效结点,使得所提算法具备完备性、正确性和有效性,但是该文献研究的是精确模式匹配,无法处理噪音问题,不具备求解的一般性;武优西、唐志强发表的文献“Approximate pattern matching with gap constraints,Journal of Information Science.”研究了具有间隙约束的近似模式匹配,并基于单根网树提出了一种高效的求解算法,相比精确模式匹配能够在众多领域发现更多有价值的信息,但是该文献研究的是Hamming距离下的近似模式匹配,Hamming距离没有考虑序列之间的局部约束,导致序列之间存在巨大偏差,不具备准确性;董世博、李训根发表的文献“一种改进的字符串多模式匹配算法,计算机工程与应用.”基于有限自动机提出了一种多模式匹配算法,减少了不必要的字符匹配,提高了匹配效率,但是该算法研究的是不具有间隙约束的模式匹配,缺乏灵活性;武优西、李莎莎发表的文献“NETASPNO:Approximate strictpattern matching under nonoverlapping condition,IEEE Access.”在无重叠条件下研究了基于Hamming距离的近似模式匹配,通过避免回溯和剪枝策略提高了算法的有效性,虽然该文献考虑了间隙约束,具有灵活性和一般性,但是存在丢解现象,不具备完备性。
总之,针对具有局部-整体约束的近似模式匹配问题,现有技术很难兼顾解的完备性以及求解的灵活性、准确性和一般性,并且至今尚未出现一个很好的方法来解决这类问题。
发明内容
本发明所要解决的技术问题是:提供具有局部-整体约束的近似模式匹配方法,是通过网树结构来解决(δ,γ)-距离下的近似模式匹配问题,该方法在具有间隙约束的情况下,实现了(δ,γ)-距离下的近似模式匹配,克服了现有技术针对具有局部-整体约束的近似模式匹配问题,存在很难兼顾解的完备性以及求解的灵活性、准确性和一般性的缺陷。
本发明解决该技术问题所采用的技术方案是:具有局部-整体约束的近似模式匹配方法,是通过网树结构来解决(δ,γ)-距离下的近似模式匹配问题,具体步骤如下:
第一步,确定网树的层数:
读入给定序列S,确定其长度为n,该序列S中的每个字符分别记作字符s1、字符s2、…、字符sn,读入给定模式P,确定其长度为m,该模式P的各个子模式分别记作子模式p1、子模式p2、…、子模式pm,这里0<m<n;根据给定模式P中的子模式数确定网树的层数,则网树共有m层,分别记作第1层、第2层、…、第m层;
第二步,创建一棵网树:
给定局部阈值δ和整体阈值γ,其中0≤δ≤γ,并根据上述第一步中的给定序列S和上述第一步中的给定模式P创建一棵网树,在该网树的第j层中,标签为i的结点记作与精确模式匹配不同,具有局部-整体约束的近似模式匹配创建的网树中,每个结点需要记录字符si与子模式pj之间的δ-距离Dδ(si,pj),并且每个结点需要用大小为γ+1的树根路径数组来描述该结点到达树根层的树根路径数,数组下标为0,1,…,γ,当前结点到达树根层的树根路径中,γ-距离为d的树根路径数表示为并将其初始化为0,其中0≤d≤γ;在创建网树的过程中,根据各个结点的树根路径数组能够预先判断并删除网树中的无效双亲关系和无效结点;
具体处理方法如下:
对上述第一步中的给定序列S中的字符si进行处理,并依次计算其与上述第一步中的给定模式P中的子模式p1、子模式p2、…、子模式pm之间的δ-距离Dδ(si,pj),其中1≤j≤m:
当Dδ(si,pj)>δ,其中1≤j≤m,不需要在所创建网树的第j层创建结点
当Dδ(si,pj)≤δ,其中j=1,直接在所创建网树的树根层创建结点并通过公式(1)更新结点的树根路径数组
公式(1)中,d表示结点到达树根层的0到γ范围内的γ-距离,δ表示局部阈值,γ表示整体阈值,Dδ(si,p1)表示字符si与子模式p1之间的δ-距离;
当Dδ(si,pj)≤δ,其中1<j≤m,则在所创建网树的第j层创建结点并在所创建网树的第j-1层的所有结点中,判断是否存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点:当不存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点,则删除结点当存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点,则把该双亲结点记作并通过以下方法,继续判断该双亲结点与结点之间是否能够建立双亲关系:
则双亲结点和结点之间能够建立双亲关系,并通过公式(2)更新结点的树根路径数组
公式(2)中,d表示结点到达树根层的0到γ范围内的γ-距离,δ表示局部阈值,γ表示整体阈值,Dδ(si,pj)表示字符si与子模式pj之间的δ-距离,表示网树第j-1层中与结点满足间隙约束[minj-1,maxj-1],并且能够与结点建立双亲关系的双亲结点;
则双亲结点与结点之间不能够建立双亲关系;
依次遍历完网树第j-1层的所有结点,并更新完结点的树根路径数组则删除结点
对上述第一步中的给定序列S的每个字符处理完毕,即创建完一棵网树;
第三步,利用网树结构解决(δ,γ)-距离下的近似模式匹配问题:
在上述第二步创建好的一棵网树中,根据其叶子结点计算上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P),操作如下:
当网树叶子层没有结点存在,直接输出OCC(S,P)=0;
当网树叶子层有结点存在,累加网树各个叶子结点的树根路径数组中的树根路径数,并通过公式(3)得到上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P):
公式(3)中,numLeaf表示网树的叶子结点的个数,d表示结点到达树根层的0到γ范围内的γ-距离,γ表示整体阈值,表示网树第q个叶子结点;
在显示器上输出所得到的上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P),由此完成具有局部-整体约束的近似模式匹配。
上述具有局部-整体约束的近似模式匹配方法,所用的编程软件是VC++6.0,画图工具是Visio2013,所用的处理器为Pentium(R)Dual-Core 32Processor+,操作系统为Windows7及以上版本,以上所用软件和硬件环境都是本领域的技术人员所熟知的。
本发明的有益效果是:与现有方法相比,本发明具有的突出实质性特点如下:
(1)本发明方法通过网树结构研究了具有局部-整体约束的近似模式匹配,解决了传统Hamming距离无法度量序列之间的局部近似度的问题,首先读入给定的序列S和给定的模式P,并确定与给定模式P的子模式数相匹配的网树层数,之后根据输入条件创建一棵网树,在创建网树过程中,对无效双亲关系和无效结点进行预判断并删除,提高了求解的速度,最后利用网树结构来解决(δ,γ)-距离下的近似模式匹配问题,保证了解的完备性和求解的高效性;
(2)CN109271419A公开了一种无间隙约束的在线串匹配方法,该方法采用队列的先进先出的性质,动态地输出所有出现,但是该发明研究的是无重叠条件下的精确模式匹配,无法处理噪音,而本发明研究的是无特殊条件下的近似模式匹配,允许序列中的字符在相同位置多次被使用,这是两者的最大实质性区别;
(3)CN107239500A公开了一种简单的字符串匹配方法及系统,是通过把几种模块有序地承接在一起,以此实现字符串匹配,该发明不允许字符间存在间隙,而本发明则允许字符间存在间隙,这是两者的最大实质性区别;
(4)CN106484730A公开了一种字符串匹配方法和装置,是通过计算主字符串中子序列的哈希值,以及目标字符串的哈希值,并判断二者是否相同,以此来判断主字符串中的子序列与目标字符串是否匹配,该发明研究的是连续字符串匹配,没有间隙约束,而本发明则允许字符间存在间隙,这是两者的最大实质性区别;
(5)CN105468588A公开了一种字符串匹配方法和装置,是通过将模式分为前缀和后缀,进而对模式的前缀和后缀分别进行匹配,该发明需要匹配两次,而本发明是将整个模式进行匹配,只需要遍历一次序列就能够完成对整个模式的匹配,这是两者的最大实质性区别;
(6)CN101018122A公开了一种模式匹配处理系统,是通过多个模式匹配引擎的协同工作,实现对报文的模式匹配,该发明需要对模式匹配引擎、模式匹配使用者以及模式匹配数据库进行集中控制,增加了模式匹配的复杂度,而本发明只需要给定序列和模式,就能够直接计算出模式在序列中的出现数,不需要选择特定的模式匹配引擎,这是两者的最大实质性区别;
(7)CN108920361A公开了一种串匹配代码相似度检测方法,是通过最长公共子串的方法对代码的结构进行相似度检测,该发明无法度量序列之间的局部近似度,而本发明是采用(δ,γ)-距离对序列进行近似度量,兼顾了序列之间的局部近似度和整体近似度,这是两者的最大实质性区别;
(8)CN102184205A公开了一种基于能够扩展精度混沌哈希的多模式匹配算法,是通过将模式和文本进行哈希处理,然后比较两者的哈希值来判断是否匹配,但该发明研究的是连续字符串匹配,没有间隙约束,是多模式匹配,而本发明则允许字符间存在间隙,是单模式匹配,这是两者的最大实质性区别;
(9)CN105141583A公开了一种字符串匹配方法和系统,该发明在匹配之前,需要先将字符串分为若干个数据块,而本发明是用一整条字符串进行模式匹配,不用分开为若干数据块,这是两者的最大实质性区别;
(10)CN105868300A公开了一种众核环境下的字符串匹配方法,该发明将文本切割为若干文本块,然后根据模式的长度通过处理器不同的核进行匹配,最后将处理的结果进行整合,而本发明在进行模式匹配时是将整个序列进行匹配,在匹配之前不需要对序列进行切割,扫描一次序列即能够完成匹配,这是两者的最大实质性区别;
(11)CN104778171A公开了一种字符串匹配系统及方法,该发明将两个要匹配的字符串分为若干词组,通过比较两个字符串的词组来判断两个字符串是否匹配,当词组相同时,则继续计算两个字符串的匹配度,而本发明是计算一个模式在序列中的支持度,即模式在序列中的出现数,并且本发明不需要对子序列和模式划分若干词组进行比较,这是两者的最大实质性区别;
(12)CN106067039A公开了一种基于决策树剪枝的模式匹配方法,是通过简化自动机判别文本与模式集中的模式有无匹配的可能,再进行匹配的确认,而本发明不需要进行匹配可能性的判断,直接根据给定的序列和模式创建网树,并进行模式匹配,然后计算出给定模式在给定序列中的出现数,这是两者的最大实质性区别;
(13)CN104519056A公开一种基于双跳跃的单模式匹配方法,当字符不相等时,则进行双跳跃操作,然后再进行匹配,但是该发明研究是精确模式匹配,而本发明研究的是近似模式匹配,近似模式匹配比精确模式匹配更具一般性,更具有实际意义,这是两者的最大实质性区别;
(14)CN107229759A公开了一种字符串模式匹配方法,是精确模式匹配,本发明研究的是近似模式匹配,相比精确模式匹配能发现更多有价值的信息,这是两者的最大实质性区别;
(15)CN102982168A公开了一种基于XML文档的元数据模式匹配方法,计算两个元数据的语义相似度、属性相似度、实例相似度、结构相似度和关系相似度,最后计算综合相似度,但是该发明无法度量序列之间的局部相似度和整体相似度,而本发明是计算子序列和模式的局部近似度和整体近似度,在处理数据噪音的同时,保证匹配不会出现巨大偏差,这是两者的最大实质性区别;
(16)CN108346287A公开了一种基于影响因素分析的交通流量模式匹配方法,该发明首先通过聚类的方法对交通流量数据进行分类,然后确定每一类当中每一条交通流量序列的属性向量,最后通过计算待匹配交通流量序列与每一类的相似度向量,确定待匹配交通流量序列与每一类的相似度,选取相似度最大的一类作为最终匹配结果,该发明无法设置相似度的阈值,只能选取相似度较大的作为匹配结果,不具有灵活性,本发明研究的是(δ,γ)-距离下的近似模式匹配,用户能够灵活地设置局部阈值δ和整体阈值γ,更加灵活。
与现有方法相比,本发明具有的显著进步如下:
(1)本发明针对Hamming距离的不足,通过网树结构研究了具有局部-整体约束的近似模式匹配,Hamming距离无法度量序列之间的局部近似度,进而导致序列之间存在巨大偏差,因此本发明基于(δ,γ)-距离,提出了(δ,γ)-距离下的近似模式匹配问题,在保证求解方法具备一般性的同时,通过同时对序列之间的局部近似度和整体近似度进行度量,拓宽了应用领域,降低了匹配的误差,具有重要的研究价值;
(2)本发明研究的是具有间隙约束的近似模式匹配,在关于模式匹配的问题讨论中,带间隙约束的模式匹配不仅能够避免匹配到无意义的模式,而且能够提高匹配的灵活性,用户将根据具体情况灵活地设置间隙约束的大小和长度,更好地满足用户的需求;
(3)本发明方法能够求得完备解,现有的模式匹配方法在兼顾匹配速度的同时,往往不能满足解的完备性,近似模式匹配更容易出现丢解现象,本发明通过网树结构解决(δ,γ)-距离下的近似模式匹配问题,并通过记录网树每个结点的树根路径数组提前删除网树中的无效双亲关系和无效结点,网树的根结点到叶子结点的一条树根叶子路径即代表一条出现,本发明仅需遍历网树中叶子结点便能够求得给定序列S在给定模式P中的出现数,保证了解的完备性;
(4)将本发明所提方法合理地运用于时间序列频繁模式挖掘,对于从时间序列中挖掘有用信息,以及探索观测值之间随时间变化的规律是非常必要的,由于时间序列具有高维性,因此在时间序列频繁模式挖掘之前,需要对其进行符号化,转换为字符型时间序列,本发明实施例即是字符型时间序列频繁模式挖掘的应用描述,其中,序列S代表字符型时间序列,通过模式匹配的方法找到序列S中隐含的频繁模式,有利于发现某段时间内的数据变化规律,对于时间序列的预测以及异常检测都具有重要的研究意义。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为例B通过Hamming距离和(δ,γ)-距离度量时间序列的对比说明图,其中:图1(1)为bdb,图1(2)为badb,图1(3)为baddb,图1(4)为eaddb,图1(5)为bafdb,图1(6)为badde,图1(7)为aaddb,图1(8)为bacdb,图1(9)为bacdc。
图2为例C中的给定模式P在给定序列S中的所有出现。
图3为本发明方法采用计算机处理的流程示意图。
图4为本发明实施例根据给定字符集Σ生成的枚举树。
图5为本发明实施例根据给定模式P中的子模式数确定的网树层数。
图6为本发明实施例创建的一棵网树。
图7为本发明实施例根据网树的叶子结点求出给定模式P在给定序列S中的所有出现数。
具体实施方式
图1所示实施例表明,图1(1)bdb与例B中的无间隙的给定模式P一致;图1(2)badb和图1(3)baddb引入了间隙约束,能够处理噪音,纠正相位差异;图1(4)eaddb、图1(5)bafdb和图1(6)badde不能与例B中的给定模式P精确匹配,虽然在Hamming距离的阈值为1时能够与例B中的给定模式P近似匹配,但是与图1(1)bdb在整体上都不相似,偏差大,其中图1(4)eaddb中的“e”与“b”存在巨大偏差,图1(5)bafdb中的“f”与“d”存在巨大偏差,图1(6)badde中的“e”与“b”存在巨大偏差;图1(7)aaddb、图1(8)bacdb和图1(9)bacdc不能与例B中的给定模式P精确匹配,但在(δ,γ)-距离下能够与例B中的给定模式P近似匹配,其中图1(7)aaddb和图1(8)bacdb在局部阈值δ=1,整体阈值γ=1时能够与例B中的给定模式P近似匹配,并且与图1(1)bdb在整体上具有良好的相似性;图1(9)bacdc在局部阈值δ=1,整体阈值γ=1时不能与例B中的给定模式P近似匹配,在局部阈值δ=1,整体阈值γ=2时能够与例B中的给定模式P近似匹配;以上说明,Hamming距离无法度量序列之间的局部近似度,(δ,γ)-距离既能度量序列之间的局部近似度,又能度量序列之间的整体近似度,保证了序列之间的整体相似性。
图2所示实施例表明,例C中的给定模式P在给定序列S中共有5个出现,其中,‘S’代表序列S,‘a’、‘a’、‘b’、‘a’、‘c’、‘b’、‘a’分别是给定序列S中的7个字符,7个字符对应位置下标分别用‘1’、‘2’、‘3’、‘4’、‘5’、‘6’、‘7’表示;给定模式P在给定序列S中的第1个出现、第2个出现、第3个出现、第4个出现、第5个出现分别用它们在给定序列S中的对应字符的位置下标进行表示,因此给定模式P在给定序列S中的5个出现分别是<1,2,4>、<1,3,4>、<2,3,4>、<4,5,7>、<4,6,7>,在5个出现中,包含δ-距离和γ-距离都为0的出现,说明精确模式匹配是近似模式匹配的特例,近似模式匹配更具一般性。
图3为本发明方法采用计算机处理的流程:1)开始→2)读入序列S、模式P、局部阈值δ和整体阈值γ→3)按照前后顺序读取序列S中的字符si→4)在网树的第j层创建结点并更新其树根路径数组判断字符si是否是序列S的尾字符,是,执行第6步;否,执行第3步→6)在显示器上输出模式P在序列S中的出现数→7)结束。
实施例
给定1800年至1847年每年的Wolfer太阳黑子数量构成的时间序列,共48个数据,分为12段,每段4个数据,令字符集Σ={a,b,c,d,e,f},则该时间序列经过SAX(符号聚合近似)方法符号化后转换为字符序列为“ccabcbcecfce”,则序列S=ccabcbcecfce。
时间序列频繁模式挖掘是在符号化后的时间序列中找到支持度大于等于最小支持度阈值minsup的模式,即频繁模式;时间序列频繁模式挖掘包含候选模式生成和计算候选模式在序列中的支持度两个步骤,其中,候选模式由字符集生成,候选模式在序列中的支持度通过模式匹配方法计算得出,当候选模式在序列中的支持度大于等于最小支持度阈值minsup时,则该候选模式是一个频繁模式。
下面以候选模式bcbc为例,介绍如何计算给定模式在给定序列中的支持度:
给定间隙约束[0,2],最小支持度阈值minsup=10,局部阈值δ=1,整体阈值γ=1,则模式P=b[0,2]c[0,2]b[0,2]c;
第一步,确定网树的层数:
读入给定序列S=ccabcbcecfce,其长度为12,读入给定模式P=b[0,2]c[0,2]b[0,2]c,其长度为4,该模式P的各个子模式分别记作子模式p1=b、子模式p2=c、子模式p3=b、子模式p4=c,共4个子模式,则网树共有4层,分别记作第1层、第2层、第3层和第4层;
第二步,创建一棵网树:
给定局部阈值δ和整体阈值γ,其中0≤δ≤γ,并根据上述第一步中的给定序列S和上述第一步中的给定模式P创建一棵网树,在该网树的第j层中,标签为i的结点记作与精确模式匹配不同,具有局部-整体约束的近似模式匹配创建的网树中,每个结点需要记录字符si与子模式pj之间的δ-距离Dδ(si,pj),并且每个结点需要用大小为γ+1的树根路径数组来描述该结点到达树根层的树根路径数,数组下标为0,1,…,γ,当前结点到达树根层的树根路径中,γ-距离为d的树根路径数表示为并将其初始化为0,其中0≤d≤γ;在创建网树的过程中,根据各个结点的树根路径数组能够预先判断并删除网树中的无效双亲关系和无效结点;
具体处理方法如下:
对上述第一步中的给定序列S中的字符si进行处理,并依次计算其与上述第一步中的给定模式P中的子模式p1、子模式p2、…、子模式pm之间的δ-距离Dδ(si,pj),其中1≤j≤m:
当Dδ(si,pj)>δ,其中1≤j≤m,不需要在所创建网树的第j层创建结点
当Dδ(si,pj)≤δ,其中j=1,直接在所创建网树的树根层创建结点并通过公式(1)更新结点的树根路径数组
公式(1)中,d表示结点到达树根层的0到γ范围内的γ-距离,δ表示局部阈值,γ表示整体阈值,Dδ(si,p1)表示字符si与子模式p1之间的δ-距离;
当Dδ(si,pj)≤δ,其中1<j≤m,则在所创建网树的第j层创建结点并在所创建网树的第j-1层的所有结点中,判断是否存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点:当不存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点,则删除结点当存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点,则把该双亲结点记作并通过以下方法,继续判断该双亲结点与结点之间是否能够建立双亲关系:
则双亲结点和结点之间能够建立双亲关系,并通过公式(2)更新结点的树根路径数组
公式(2)中,d表示结点到达树根层的0到γ范围内的γ-距离,δ表示局部阈值,γ表示整体阈值,Dδ(si,pj)表示字符si与子模式pj之间的δ-距离,表示网树第j-1层中与结点满足间隙约束[minj-1,maxj-1],并且能够与结点建立双亲关系的双亲结点;
则双亲结点与结点之间不能够建立双亲关系;
依次遍历完网树第j-1层的所有结点,并更新完结点的树根路径数组则删除结点
对上述第一步中的给定序列S的每个字符处理完毕,即创建完一棵网树;
上述步骤的具体执行过程如下:
1)对第1个字符s1=c进行处理,由于Dδ(s1,p1)=|c-b|=1≤δ,字符s1与子模式p1是近似匹配,此时j=1,因此创建结点并通过公式(1)更新结点的树根路径数组为{0,1};由于Dδ(s1,p2)=|c-c|=0≤δ,字符s1与子模式p2是精确匹配,此时j=2,因此创建结点在第1层不存在与结点满足间隙约束的双亲结点,因此删除结点同理,删除结点和结点
2)对第2个字符s2=c进行处理,由于Dδ(s2,p1)=|c-b|=1≤δ,字符s2与子模式p1是近似匹配,此时j=1,因此创建结点并通过公式(1)更新结点的树根路径数组为{0,1};由于Dδ(s2,p2)=|c-c|=0≤δ,字符s2与子模式p2是精确匹配,此时j=2,因此创建结点在第1层存在与结点满足间隙约束的双亲结点由于则在双亲结点与结点之间建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,1};由于Dδ(s2,p3)=|c-b|=1≤δ,字符s2与子模式p3是近似匹配,此时j=3,因此创建结点在第2层不存在与结点满足间隙约束的双亲结点,因此删除结点同理,删除结点
3)对第3个字符s3=a进行处理,由于Dδ(s3,p1)=|a-b|=1≤δ,字符s3与子模式p1是近似匹配,此时j=1,因此创建结点并通过公式(1)更新结点的树根路径数组为{0,1};由于Dδ(s3,p2)=|a-c|=2>δ,因此不需要创建结点由于Dδ(s3,p3)=|a-b|=1≤δ,字符s3与子模式p3是近似匹配,此时j=3,因此创建结点在第2层存在与结点满足间隙约束的双亲结点由于因此双亲结点与结点之间不能建立双亲关系,由于因此删除结点由于Dδ(s3,p4)=|a-c|=2>δ,因此不需要创建结点
4)对第4个字符s4=b进行处理,由于Dδ(s4,p1)=|b-b|=0≤δ,字符s4与子模式p1是精确匹配,此时j=1,因此创建结点并通过公式(1)更新结点的树根路径数组为{1,0};由于Dδ(s4,p2)=|b-c|=1≤δ,字符s4与子模式p2是近似匹配,此时j=2,因此创建结点在第2层存在与结点满足间隙约束的双亲结点双亲结点和双亲结点由于以及因此双亲结点双亲结点和双亲结点都不能与结点建立双亲关系,由于因此删除结点由于Dδ(s4,p3)=|b-b|=0≤δ,字符s4与子模式p3是精确匹配,此时j=3,因此创建结点在2层存在与结点满足间隙约束的双亲结点由于则在双亲结点与结点之间建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,1};由于Dδ(s4,p4)=|b-c|=1≤δ,字符s4与子模式p4是近似匹配,此时j=4,因此创建结点在第3层不存在与结点满足间隙约束的双亲结点,因此删除结点
5)对第5个字符s5=c进行处理,由于Dδ(s5,p1)=|c-b|=1≤δ,字符s5与子模式p1是近似匹配,此时j=1,因此创建结点并通过公式(1)更新结点的树根路径数组为{0,1};由于Dδ(s5,p2)=|c-c|=0≤δ,字符s5与子模式p2是精确匹配,此时j=2,因此创建结点在第1层存在与结点满足间隙约束的双亲结点双亲结点和双亲结点由于以及因此双亲结点双亲结点和双亲结点都能够与结点建立双亲关系,根据公式(2)更新结点的树根路径数组为{1,2};由于Dδ(s5,p3)=|c-b|=1≤δ,字符s5与子模式p3是近似匹配,此时j=3,因此创建结点在第2层存在与结点满足间隙约束的双亲结点由于因此双亲结点与结点之间不能建立双亲关系,由于因此删除结点由于Dδ(s5,p4)=|c-c|=0≤δ,字符s5与子模式p4是精确匹配,此时j=4,因此创建结点在3层存在与结点满足间隙约束的双亲结点由于则在双亲结点与结点之间建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,1};
6)对第6个字符s6=b进行处理,由于Dδ(s6,p1)=|b-b|=0≤δ,字符s6与子模式p1是精确匹配,此时j=1,因此创建结点并通过公式(1)更新结点的树根路径数组为{1,0};由于Dδ(s6,p2)=|b-c|=1≤δ,字符s6与子模式p2是近似匹配,此时j=2,因此创建结点在第1层存在与结点满足间隙约束的双亲结点双亲结点和双亲结点由于以及因此双亲结点双亲结点都不能与结点建立双亲关系,双亲结点与结点之间能建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,1};由于Dδ(s6,p3)=|b-b|=0≤δ,字符s6与子模式p3是精确匹配,此时j=3,因此创建结点在第2层存在与结点满足间隙约束的双亲结点由于则在双亲结点与结点之间建立双亲关系,根据公式(2)更新结点的树根路径数组为{1,2};由于Dδ(s6,p4)=|b-c|=1≤δ,字符s6与子模式p4是近似匹配,此时j=4,因此创建结点在第3层存在与结点满足间隙约束的双亲结点由于因此双亲结点与结点之间不能建立双亲关系,由于因此删除结点
7)对第7个字符s7=c进行处理,由于Dδ(s7,p1)=|c-b|=1≤δ,字符s7与子模式p1是近似匹配,此时j=1,因此创建结点并通过公式(1)更新结点的树根路径数组为{0,1};由于Dδ(s7,p2)=|c-c|=0≤δ,字符s7与子模式p2是精确匹配,此时j=2,因此创建结点在第1层存在与结点满足间隙约束的双亲结点双亲结点和双亲结点由于以及因此双亲结点双亲结点和双亲结点都能够与结点建立双亲关系,根据公式(2)更新结点的树根路径数组为{2,1};由于Dδ(s7,p3)=|c-b|=1≤δ,字符s7与子模式p3是近似匹配,此时j=3,因此创建结点在第2层存在与结点满足间隙约束的双亲结点和双亲结点由于因此双亲结点与结点之间能建立双亲关系,双亲结点与结点之间不能建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,1};由于Dδ(s7,p4)=|c-c|=0≤δ,字符s7与子模式p4是精确匹配,此时j=4,因此创建结点在第3层存在与结点满足间隙约束的双亲结点和双亲结点由于 因此双亲结点和双亲结点都能够与结点建立双亲关系,根据公式(2)更新结点的树根路径数组为{1,3};
8)对第8个字符s8=e进行处理,由于Dδ(s8,p1)=|e-b|=3>δ,因此不需要创建结点同理不需要创建结点结点和结点
9)对第9个字符s9=c进行处理,由于Dδ(s9,p1)=|c-b|=1≤δ,字符s9与子模式p1是近似匹配,此时j=1,因此创建结点通过公式(1)更新结点的树根路径数组为{0,1};由于Dδ(s9,p2)=|c-c|=0≤δ,字符s9与子模式p2是精确匹配,此时j=2,因此创建结点在第1层存在与结点满足间隙约束的双亲结点和双亲结点由于因此双亲结点和双亲结点都能与结点建立双亲关系,根据公式(2)更新结点的树根路径数组为{1,1};由于Dδ(s9,p3)=|c-b|=1≤δ,字符s9与子模式p3是近似匹配,此时j=3,则创建结点在第2层存在与结点满足间隙约束的双亲结点和双亲结点由于因此双亲结点和结点之间不能建立双亲关系,双亲结点和结点之间能够建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,2};由于Dδ(s9,p4)=|c-c|=0≤δ,字符s9与子模式p4是精确匹配,此时j=4,因此创建结点在第3层存在与结点满足间隙约束的双亲结点和双亲结点由于 因此双亲结点和双亲结点都能与结点建立双亲关系,根据公式(2)更新结点的树根路径数组为{1,3};
10)对第10个字符s10=f进行处理,由于Dδ(s10,p1)=|f-b|=4>δ,因此不需要创建结点同理不需要创建结点结点和结点
11)对第11个字符s11=c进行处理,由于Dδ(s11,p3)=|c-b|=1≤δ,此时j=3,因此创建结点在第2层存在与结点满足间隙约束的双亲结点和双亲结点由于因此双亲结点和双亲结点都能与结点建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,3};由于Dδ(s11,p4)=|c-c|=0≤δ,此时j=4,因此创建结点在网树的第3层存在与结点满足间隙约束的双亲结点由于因此双亲结点和结点之间能够建立双亲关系,根据公式(2)更新结点的树根路径数组为{0,2};
12)对第12个字符s12=e进行处理,由于Dδ(s12,p4)=|e-c|=2>δ,因此不能创建结点
此时给定序列S中的字符已处理完毕,并创建完一棵网树,说明书附图的图7给出了最终创建完的网树,并去掉了其中不能到达叶子层的结点、无效双亲关系、以及无效结点;
第三步,利用网树结构解决(δ,γ)-距离下的近似模式匹配问题:
在上述第二步创建好的一棵网树中,根据其叶子结点计算上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P),操作如下:
当网树叶子层没有结点存在,直接输出OCC(S,P)=0;
当网树叶子层有结点存在,累加网树各个叶子结点的树根路径数组中的树根路径数,并通过公式(3)得到上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P):
公式(3)中,numLeaf表示网树的叶子结点的个数,d表示结点到达树根层的0到γ范围内的γ-距离,γ表示整体阈值,表示网树第q个叶子结点;
在显示器上输出所得到的上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P),由此完成具有局部-整体约束的近似模式匹配。
网树叶子层有结点存在,累加网树各个叶子结点的树根路径数组中的树根路径数,通过公式(3)得到上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数为根据以上方法求出上述第一步中的给定模式P=b[0,2]c[0,2]b[0,2]c在上述第一步中的给定序列S中的出现数为11,即上述第一步中的给定模式P在上述第一步中的给定序列S中的支持度为11,该支持度大于给定的最小支持度阈值minsup,因此上述第一步中的给定模式P=b[0,2]c[0,2]b[0,2]c是一个频繁模式,综上所述,通过本发明提出的模式匹配方法,能够计算一个模式在序列中的支持度,以此判断一个模式是否频繁,进而找到用户感兴趣的所有模式。
图4表明,本发明实施例根据字符集Σ生成枚举树,对枚举树进行广度优先遍历即能够得到所有的候选模式,从枚举树的第1层结点到达任意层结点的一条路径,即构成一个候选模式,例如,从枚举树的第1层的结点b到达第4层的结点c,即构成一个候选模式bcbc,该实施例的所有候选模式有{a,b,c,d,e,f,aa,ab,ac,…,bcbc,…}。
图5表明,本发明实施例根据模式P=b[0,2]c[0,2]b[0,2]c中的子模式数确定网树的层数,由于给定的模式P中存在4个子模式,子模式p1=b、子模式p2=c、子模式p3=b、子模式p4=c,故网树有4层,分别记作第1层、第2层、第3层和第4层。
图6表明,本发明实施例根据给定的序列S、模式P、局部阈值δ以及整体阈值γ创建的一棵网树,其中格式线条结点表示字符si与子模式pj近似匹配,即0<Dδ(si,pj)≤δ,白色结点表示字符si与子模式pj精确匹配,即Dδ(si,pj)=0;对于网树中的每个结点左侧第一行的数据表示其树根路径数组第二行的数据表示字符si与子模式pj之间的δ-距离Dδ(si,pj);对于Dδ(si,pj)>δ的结点不需要被创建,由于Dδ(s3,p2)>δ,因此结点不被创建;图中的黑色虚线表示两个结点之间满足间隙约束,但由于局部-整体约束的限制,不能在两个结点之间建立双亲关系;对于的结点说明没有经过该结点的满足局部-整体约束的树根叶子路径,需要被删除,不需要被创建,由于因此结点不被创建。
图7为图6去掉其中不能到达叶子层的结点、无效双亲关系、以及无效结点后的网树,累加网树叶子层各个结点的树根路径数组中的树根路径数,即为给定模式P在给定序列S中的出现数。
本发明不仅限于以上实施例,凡是利用本发明的设计思路,做一些简单变化的设计都应进入本发明的保护范围之内。

Claims (1)

1.具有局部-整体约束的近似模式匹配方法,其特征在于:是通过网树结构来解决(δ,γ)-距离下的近似模式匹配问题,具体步骤如下:
第一步,确定网树的层数:
读入给定序列S,确定其长度为n,该序列S中的每个字符分别记作字符s1、字符s2、…、字符sn,读入给定模式P,确定其长度为m,该模式P的各个子模式分别记作子模式p1、子模式p2、…、子模式pm,这里0<m<n;根据给定模式P中的子模式数确定网树的层数,则网树共有m层,分别记作第1层、第2层、…、第m层;
第二步,创建一棵网树:
给定局部阈值δ和整体阈值γ,其中0≤δ≤γ,并根据上述第一步中的给定序列S和上述第一步中的给定模式P创建一棵网树,在该网树的第j层中,标签为i的结点记作与精确模式匹配不同,具有局部-整体约束的近似模式匹配创建的网树中,每个结点需要记录字符si与子模式pj之间的δ-距离Dδ(si,pj),并且每个结点需要用大小为γ+1的树根路径数组来描述该结点到达树根层的树根路径数,数组下标为0,1,…,γ,当前结点到达树根层的树根路径中,γ-距离为d的树根路径数表示为并将其初始化为0,其中0≤d≤γ;在创建网树的过程中,根据各个结点的树根路径数组能够预先判断并删除网树中的无效双亲关系和无效结点;
具体处理方法如下:
对上述第一步中的给定序列S中的字符si进行处理,并依次计算其与上述第一步中的给定模式P中的子模式p1、子模式p2、…、子模式pm之间的δ-距离Dδ(si,pj),其中1≤j≤m:
当Dδ(si,pj)>δ,其中1≤j≤m,不需要在所创建网树的第j层创建结点
当Dδ(si,pj)≤δ,其中j=1,直接在所创建网树的树根层创建结点并通过公式(1)更新结点的树根路径数组
公式(1)中,d表示结点到达树根层的0到γ范围内的γ-距离,δ表示局部阈值,γ表示整体阈值,Dδ(si,p1)表示字符si与子模式p1之间的δ-距离;
当Dδ(si,pj)≤δ,其中1<j≤m,则在所创建网树的第j层创建结点并在所创建网树的第j-1层的所有结点中,判断是否存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点:当不存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点,则删除结点当存在与结点满足间隙约束[minj-1,maxj-1]的双亲结点,则把该双亲结点记作并通过以下方法,继续判断该双亲结点与结点之间是否能够建立双亲关系:
则双亲结点和结点之间能够建立双亲关系,并通过公式(2)更新结点的树根路径数组
公式(2)中,d表示结点到达树根层的0到γ范围内的γ-距离,δ表示局部阈值,γ表示整体阈值,Dδ(si,pj)表示字符si与子模式pj之间的δ-距离,表示网树第j-1层中与结点满足间隙约束[minj-1,maxj-1],并且能够与结点建立双亲关系的双亲结点;
则双亲结点与结点之间不能够建立双亲关系;
依次遍历完网树第j-1层的所有结点,并更新完结点的树根路径数组则删除结点
对上述第一步中的给定序列S的每个字符处理完毕,即创建完一棵网树;
第三步,利用网树结构解决(δ,γ)-距离下的近似模式匹配问题:
在上述第二步创建好的一棵网树中,根据其叶子结点计算上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P),操作如下:
当网树叶子层没有结点存在,直接输出OCC(S,P)=0;
当网树叶子层有结点存在,累加网树各个叶子结点的树根路径数组中的树根路径数,并通过公式(3)得到上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P):
公式(3)中,numLeaf表示网树的叶子结点的个数,d表示结点到达树根层的0到γ范围内的γ-距离,γ表示整体阈值,表示网树第q个叶子结点;
在显示器上输出所得到的上述第一步中的给定模式P在上述第一步中的给定序列S中的出现数OCC(S,P),由此完成具有局部-整体约束的近似模式匹配。
CN201910530519.3A 2019-06-19 2019-06-19 具有局部-整体约束的近似模式匹配方法 Active CN110232084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910530519.3A CN110232084B (zh) 2019-06-19 2019-06-19 具有局部-整体约束的近似模式匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910530519.3A CN110232084B (zh) 2019-06-19 2019-06-19 具有局部-整体约束的近似模式匹配方法

Publications (2)

Publication Number Publication Date
CN110232084A true CN110232084A (zh) 2019-09-13
CN110232084B CN110232084B (zh) 2021-02-26

Family

ID=67856206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910530519.3A Active CN110232084B (zh) 2019-06-19 2019-06-19 具有局部-整体约束的近似模式匹配方法

Country Status (1)

Country Link
CN (1) CN110232084B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114440860A (zh) * 2022-01-26 2022-05-06 亿咖通(湖北)技术有限公司 定位方法、装置、计算机存储介质及处理器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694325B2 (en) * 2000-10-16 2004-02-17 Frank Jas Database method implementing attribute refinement model
CN1632793A (zh) * 2004-12-29 2005-06-29 复旦大学 一种利用缓存将关系数据发布为xml文档的优化方法
US8150634B1 (en) * 2004-11-12 2012-04-03 Bristol-Myers Squibb Company Protein-ligand NOE matching for high-throughput structure determination
US8495101B2 (en) * 2008-07-17 2013-07-23 International Business Machines Corporation Defining a data structure for pattern matching
CN107704578A (zh) * 2017-09-30 2018-02-16 桂林电子科技大学 一种面向ppi网络比对的图匹配约束求解符号方法
CN109271419A (zh) * 2018-09-03 2019-01-25 河北工业大学 一种无间隙约束的在线串匹配方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694325B2 (en) * 2000-10-16 2004-02-17 Frank Jas Database method implementing attribute refinement model
US8150634B1 (en) * 2004-11-12 2012-04-03 Bristol-Myers Squibb Company Protein-ligand NOE matching for high-throughput structure determination
CN1632793A (zh) * 2004-12-29 2005-06-29 复旦大学 一种利用缓存将关系数据发布为xml文档的优化方法
US8495101B2 (en) * 2008-07-17 2013-07-23 International Business Machines Corporation Defining a data structure for pattern matching
CN107704578A (zh) * 2017-09-30 2018-02-16 桂林电子科技大学 一种面向ppi网络比对的图匹配约束求解符号方法
CN109271419A (zh) * 2018-09-03 2019-01-25 河北工业大学 一种无间隙约束的在线串匹配方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YOUXI WU ET AL: "NETASPNO: Approximate Strict Pattern Matching Under Nonoverlapping Condition", 《IEEE ACESS》 *
李莎莎: "无重叠约束近似模式匹配", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
武优西等: "子网树求解一般间隙和长度约束严格模式匹配", 《软件学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114440860A (zh) * 2022-01-26 2022-05-06 亿咖通(湖北)技术有限公司 定位方法、装置、计算机存储介质及处理器

Also Published As

Publication number Publication date
CN110232084B (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
Kececioglu The maximum weight trace problem in multiple sequence alignment
US7689588B2 (en) Method of syntactic pattern recognition of sequences
US8805861B2 (en) Methods and systems to train models to extract and integrate information from data sources
US10713429B2 (en) Joining web data with spreadsheet data using examples
CN110471835B (zh) 一种基于电力信息系统代码文件的相似度检测方法及系统
CN116225526A (zh) 一种基于图表示学习的代码克隆检测方法
CN110232084A (zh) 具有局部-整体约束的近似模式匹配方法
Wu et al. Triple-Fact Retriever: An explainable reasoning retrieval model for multi-hop QA problem
Jiang et al. Fast subgraph matching by dynamic graph editing
CN115146022A (zh) 用于知识图中的关键词搜索的计算机实现方法
Arslan et al. A new structure representation for RNA and fast RNA substructure search
CN110245167B (zh) 具有局部-整体约束的无重叠近似模式匹配方法
Wu et al. NetNDP: Nonoverlapping (delta, gamma)-approximate pattern matching
Mitani et al. Shortest cover after edit
CN110232140B (zh) 具有局部-整体约束的一次性近似模式匹配方法
Liu et al. Extracting a website's content structure from its link structure
Zhang et al. Subgraph Isomorphism Building on A Hierarchical Query Graph
Bernardini et al. Making de Bruijn Graphs Eulerian
Maaß et al. Text indexing with errors
Yang et al. Graph embedding code prediction model integrating semantic features
Khan et al. A Heuristic Approach for Finding Similarity Indexes of Multivariate Data Sets
Milyutina Efficient representation of k-mer sets
Liu et al. A Hybrid Bayesian Network Structure Learning Algorithm in Equivalence Class Space
真次彰平 et al. A Study on Efficient Pseudo-clique Extraction Methods for Large-scale Graph Analysis
Istomina et al. Fine-grained reductions around CFL-reachability

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant