引用本文:武优西,刘茜,闫文杰,郭磊,吴信东.无重叠条件严格模式匹配的高效求解算法.软件学报,2021,32(11):3331-3350
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 1822次   下载 4198 本文二维码信息
码上扫一扫!
分享到: 微信 更多
无重叠条件严格模式匹配的高效求解算法
武优西1,2,3, 刘茜1,2,3, 闫文杰1,2,3, 郭磊2,4, 吴信东5,6
1.河北工业大学 人工智能与数据科学学院, 天津 300401;2.省部共建电工装备可靠性与智能化国家重点实验室(河北工业大学), 天津 300401;3.河北省大数据计算重点实验室, 天津 300401;4.河北工业大学 电气学院, 天津 300401;5.教育部大数据知识工程重点实验室(合肥工业大学), 合肥 230009;6.明略科学院 明略科技集团, 北京 100084
摘要:
无重叠条件序列模式挖掘是一种间隙约束序列模式挖掘方法,与同类挖掘方法相比,该方法更容易发现有价值的频繁模式,其核心问题是计算给定模式在序列中的支持度或出现数,进而判定该模式的频繁性.而计算模式支持度问题实质是无重叠条件模式匹配.当前研究采用迭代搜索无重叠出现,然后剪枝无用结点的方式计算模式的支持度,其计算时间复杂度为O (m×m×n×W),其中,mnW分别为模式长度、序列长度及最大间隙.为了进一步提高无重叠条件模式匹配计算速度,从而有效地降低无重叠条件序列模式挖掘时间,提出了一种高效的算法,该算法将模式匹配问题转换为一棵网树,然后从网树的最小树根结点出发,采用回溯策略迭代搜索最左孩子方式计算无重叠最小出现,在网树上剪枝该出现后,无需进一步查找并剪枝无效结点即可实现问题的求解.理论证明了该算法的完备性,并将该算法的时间复杂度降低为O (m×n×W).在此基础上,继续指明该问题还存在另外3种相似的求解策略,分别是从最左叶子出发迭代查找最左双亲方式、从最右树根出发迭代查找最右孩子方式和从最右叶子出发迭代查找最右双亲方式.实验结果验证了该算法的性能,特别是在序列模式挖掘中,应用该方法的挖掘算法可以降低挖掘时间.
关键词:  模式匹配  序列模式挖掘  无重叠条件  网树  回溯策略
DOI:10.13328/j.cnki.jos.006054
分类号:TP301
基金项目:国家重点研发计划(2016YFB1000901);国家自然科学基金(61976240,61702157,917446209);河北省创新能力培养资助项目(CXZZSS2019023)
Efficient Algorithm for Solving Strict Pattern Matching Under Nonoverlapping Condition
WU You-Xi1,2,3, LIU Xi1,2,3, YAN Wen-Jie1,2,3, GUO Lei2,4, WU Xin-Dong5,6
1.School of Artificial Intelligence, Hebei University of Technology, Tianjin 300401, China;2.Hebei Key Laboratory of Big Data Computing, Tianjin 300401, China;3.State Key Laboratory of Reliability and Intelligence of Electrical Equipment, Hebei University of Technology, Tianjin 300401, China;4.School of Electrical Engineering, Hebei University of Technology, Tianjin 300401, China;5.Key Laboratory of Knowledge Engineering with Big Data (Hefei University of Technology), Ministry of Education, Hefei 230009, China;6.Mininglamp Academy of Sciences, Mininglamp Technology, Beijing 100084, China
Abstract:
Nonoverlapping conditional sequence pattern mining is a method of gap constrained sequence pattern mining. Compared with similar mining methods, this method is easier to find valuable frequent patterns. The core of the problem is to calculate the support (or the number of occurrences) of a pattern in the sequence, and then determine whether the pattern is frequent. The essence of calculating the support is the pattern matching under nonoverlapping condition. The current studies employ the iterative search to find a nonoverlapping occurrence, and then prune the useless nodes to calculate the support of the pattern. The computational time complexity of these algorithms is O(m×m×n×W), where m, n, and W are the pattern length, sequence length, and maximum gap, respectively. In order to improve the calculation speed of pattern matching under nonoverlapping condition, and effectively reduce sequence pattern mining time, this study proposes an efficient and effective algorithm, which converts the pattern matching problem into a NetTree, then starts from the minroot node of the NetTree, and adopts the backtracking strategy to iteratively search the leftmost child to calculate the nonoverlapping minimum occurrence. After pruning the occurrence on the NetTree, the problem can be solved without further searching and pruning invalid nodes. This study proves the completeness of the algorithm and reduces the time complexity to O(m×n×W). On this basis, the study continues to indicate that there are other three similar solving strategies for this problem, iteratively finds the leftmost parent path from the leftmost leaf, the rightmost child path from the rightmost root, and the rightmost parent path from the rightmost leaf. Extensively experimental results verify the efficiency of the proposed algorithm in this study, especially, the mining algorithm adopting this method can reduce the mining time.
Key words:  pattern matching  sequence pattern mining  nonoverlapping condition  NetTree  backtracking strategy

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: