CN110807061A - 一种基于分层搜索不确定图的频繁子图的方法 - Google Patents
一种基于分层搜索不确定图的频繁子图的方法 Download PDFInfo
- Publication number
- CN110807061A CN110807061A CN201911074171.8A CN201911074171A CN110807061A CN 110807061 A CN110807061 A CN 110807061A CN 201911074171 A CN201911074171 A CN 201911074171A CN 110807061 A CN110807061 A CN 110807061A
- Authority
- CN
- China
- Prior art keywords
- subgraph
- frequent
- edge
- subgraphs
- index
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000007418 data mining Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分层搜索不确定图的频繁子图的方法,其特征在于,包括如下步骤:1)设定不确定图中频繁子图的概率阈值,不同频繁子图概率阈值的设定依据具体情况来定;2)构建不确定图中每个子图的边索引IE和连接索引IC;3)构建分层搜索树;4)按层遍历搜索树,搜索每层的频繁子图。这种方法提高了搜索效率,并且分层搜索减轻了频繁子图搜索的压力,节约了搜索的时间。
Description
技术领域
本发明涉及图数据挖掘技术,具体涉及一种基于分层搜索不确定图的频繁子图的方法。
背景技术
图是用于表示实体之间复杂关系的通用数据结构,其已在生物信息学,社交网络,道路网络等中广泛应用。近年来,通过现代数据采集方法,例如高通量生物实验、在线社交网络系统和GPS收集了由图表表示的越来越多的数据,也称为图数据。大量的图数据需要有效且智能的工具来分析和理解它。频繁子图挖掘是探索图数据结构的强大数据挖掘技术之一,特别是重复的子结构。
由于数据采集技术的局限性,数据不完整性,数据不精确性,噪声等原因,图数据中存在不确定性。具有不确定性的图称为不确定图。不确定图的每个边与(0,1)中的不确定性值相关联,表明边存在于实际中的概率并且假设边的存在是相互独立的。本质上,不确定图表示实际存在不确定图的所有特定图形的概率分布。从术语上讲,这些特定图中的每一个都称为蕴含图。图中的不确定性对频繁子图挖掘的语义和计算都提出了新的挑战。
目前不确定图频繁子图的挖掘主要是利用Apriori算法性质,即一个频繁项集的任一子集也应该是频繁项集。由此性质可以裁剪搜索空间,提高算法的效率。并且主流算法在搜索频繁子图时采用的都是深度优先搜索策略(Depth-First,简称DFS),自上而下搜索。采用这种搜索策略时,当深度较大时,图也越来越大,求解会比较耗时。
发明内容
本发明的目的是针对现有技术中存在的不足,而提供一种基于分层搜索不确定图的频繁子图的方法。这种方法提高了搜索效率,并且分层搜索减轻了频繁子图搜索的压力,节约了搜索的时间。
实现本发明目的的技术方案是:
一种基于分层搜索不确定图的频繁子图的方法,包括如下步骤:
1)设定不确定图中频繁子图的概率阈值,不同频繁子图概率阈值的设定依据具体情况来定;
2)构建不确定图中每个子图的边索引IE和连接索引IC:不确定图中包含频繁子图和不频繁子图,频繁子图和不频繁子图统称为子图,每个子图由顶点和顶点之间的边组成,对不确定图中的每个子图构建边索引IE和连接索引IC,其中IE={(LA,LB,Le):(LG,PG)},IC={(LG,LA,LB,l):(0/1)},IE为边索引键值对的集合,(LA,LB,Le)为边索引的键,LA,LB为顶点A、B的标签,Le为顶点A、B之间的边标签;(LG,PG)为边索引的键值,LG是存在顶点A,B及边e的不确定图标签,PG为在不确定图中至少有一条边顶点标签为LA,LB及边标签为Le的概率,其中,
IC为连接索引键值对的集合,(LG,LA,LB,l)为连接索引的键,l为顶点A到顶点B所经过的路径长度,由于在构建边索引时,已经包含了l等于1的情况,所以构建连接索引时要求l大于等于2,(0/1)为连接索引的键值,其中0表示从顶点A到顶点B需经过长度为l的路径不存在,反之,1则表示存在;
3)构建分层搜索树:以每个不确定图中两点一边的子图作为第一层,在每层的基础上增加一条边,构建搜索树;
4)按层遍历搜索树,搜索每层的频繁子图:对搜索树中的每一层展开频繁子图的搜索,如果在某一层的搜索中发现某个子图不频繁,即其出现地概率小于所设定的频繁子图的概率阈值,那么这个子图所对应的以下所有层中的后代子图全部裁剪,不用再继续搜索,若某一层中搜索到的子图出现的概率大于或等于设定的频繁子图的概率阈值,那此子图在当前层为频繁子图,则保留此子图,继续下一层该子图的扩展子图的搜索,此过程结束后即可得到不确定图中的频繁子图。
这种方法提高了搜索效率,并且分层搜索减轻了频繁子图搜索的压力,节约了搜索的时间。
附图说明
图1为实施例的流程示意图;
图2为实施例中构建搜索树的示意图;
图3为实施例中G1和G2示例图集示意图;
图4为实施例中两点一边的子图示意图;
图5为实施例中不重复表示已经存在的子图示意图;
图6为实施例中搜索树第一层和第二层的示意图;
图7为实施例中搜索树第一层至第三层的示意图;
图8为实施例中搜索树频繁子图的结果示意图。
具体实施方式
下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。
实施例:
参照图1,一种基于分层搜索不确定图的频繁子图的方法,包括如下步骤:
1)设定不确定图中频繁子图的概率阈值,本例假设频繁子图的概率阈值为0.8;
2)构建不确定图中每个子图的边索引IE和连接索引IC:不确定图中包含频繁子图和不频繁子图,频繁子图和不频繁子图统称为子图,每个子图由顶点和顶点之间的边组成,对不确定图中的每个子图构建边索引IE和连接索引IC,其中IE={(LA,LB,Le):(LG,PG)},IC={(LG,LA,LB,l):(0/1)},
IE为边索引键值对的集合,(LA,LB,Le)为边索引的键,LA,LB为顶点A、B的标签,Le为顶点A、B之间的边标签;(LG,PG)为边索引的键值,LG是存在顶点A,B及边e的不确定图标签,PG为在不确定图中至少有一条边顶点标签为LA,LB及边标签为Le的概率,其中,
IC为连接索引键值对的集合,(LG,LA,LB,l)为连接索引的键,l为顶点A到顶点B所经过的路径长度,由于在构建边索引时,已经包含了l等于1的情况,所以构建连接索引时要求l大于等于2,(0/1)为连接索引的键值,其中0表示从顶点A到顶点B需经过长度为l的路径不存在,反之,1则表示存在;
如图3所示,本例假设两个不确定图的图集G1和G2,图集G1和G2中,A和B为顶点的标签,x和y为边的标签,其余小于1的数为此边在该图集中存在的概率,v1-v8为顶点的编号,
构建边索引:
图集G1中,边索引的键为(A,B,x),(A,B,y),
图集G2中,边索引的键为(A,B,x),(A,B,y),(B,B,z),
(A,B,x)对应的键值为(G1,PG),PG=1-(1-0.5)*(1-0.7)=0.85,即(G1,0.85);以及(G2,PG),PG=1-(1-0.8)=0.8,即(G2,0.8),
(A,B,y)对应的键值(G1,PG),PG=1-(1-0.8)*(1-0.6)=0.92,即(G1,0.92);以及(G2,PG),PG=1-(1-0.1)=0.1,即(G2,0.1),
(B,B,z)对应的键值为(G2,PG),PG=1-(1-0.7)0.7,因此:
IE={(A,B,x):[(G1,0.85),(G2,0.8)],(A,B,y):[(G1,π0.92),(G2,0.1)],(B,B,z):[(G2,0.7)]},
构建连接索引:
图集G1中,由于连接索引中的路径长度需要大于等于2,所以图G1中的连接索引键值为(G1,B,B,2),其中B,B表示B-A-B的路径,B,B的路径长度为2,由于图集G1中B-A-B的路径长度等于2,因此路径表示存在,所以键值为1,
图集G2中的连接索引为(G2,A,A,3),(G2,A,B,2),(G2,B,B,2),其中A,A表示A-B-B-A的路径,A,A的路径长度为3,A,B表示A-B-B的路径,A,B的路径长度为2,B,B表示B-A-B的路径,B,B的路径长度为2,图集G2中的这3个路径长度均大于或等于2,因此路径表示存在,所以这3个路径的键值都为1,因此:
IC={(G1,B,B,2):1,(G2,A,A,3):1,(G2,A,B,2):1,(G2,B,B,2):1},
边索引结构存储的是图集中每条边的信息,边索引结构把所有信息,即端点标签和边标签相同的边用一条边表示,计算端点标签和边标签相同的边在图集中存在的概率,由于边索引只是存储了边的信息,没有保证顶点之间的可达性,即没有保证图集的拓扑结构,所以需要用连接索引来保证图集的拓扑结构,连接索引中存储的是顶点之间的可达性,同时存储了顶点之间的可达距离;
3)构建分层搜索树:以每个不确定图中两点一边的子图作为第一层,在每层的基础上增加一条边,构建搜索树,
在每一层中添加扩展子图时,可能会遇到子图扩展的边信息,即端点标签和边标签相同而导致扩展的子图重复表示,在搜索树中,不重复表示子图,且在构建搜索树时,只考虑标签信息,即搜索树中两点一边的子图,如图4所示,图4中包含重复表示的两点一边的子图,在构建搜索树时,不重复表示已经存在的子图,搜索树的第一层子图如图5所示,从第二层开始,每层的子图都比上一层的子图多一条边,且需要保存层于层之间的子图对应关系,以便后续裁剪空间,搜索树中下一层的子图均比上一层的子图多一条边,即下一层的子图由上一层的子图扩展一条边而得,所以上一层子图的父图是其对应的下一层子图,本例以4层子图结构为例,构建的完整搜索树如图2所示,其中用粗黑色矩形框包围的图是子图经过边扩展后得到的终结状态,即其已经扩展为原来的不确定图;
4)按层遍历搜索树,搜索每层的频繁子图:对搜索树中的每一层展开频繁子图的搜索,当不确定图中边索引的端点在连接索引中有对应的键值存在时,边索引中的键值PG对应不确定图中该边的存在概率,若搜索树中的子图概率大于阈值,则为频繁子图,应将其归入频繁结果集中;若子图的概率小于阈值时,其为不频繁子图,根据Apriori性质,频繁子图的所有子图都是频繁的,不频繁子图的所有父图都是不频繁的,此时应将不频繁子图在搜索树中的父图全部剪除,即裁剪搜索空间,具体搜索过程如下所示:
由步骤2)可知,边索引为:
IE={(A,B,x):[(G1,0.85),(G2,0.8)],(A,B,y):[(G1,0.92),(G2,0.1)],(B,B,z):[(G2,0.7)]},
连接索引为:
IC={(G1,B,B,2):1,(G2,A,A,3):1,(G2,A,B,2):1,(G2,B,B,2):1},
对于第一层的子图(A,B,x),(A,B,y)以及(B,B,z),由连接索引可知其存在的概率分别为[(G1,0.85),(G2,0.8)],[(G1,0.92),(G2,0.1)]以及[(G2,0.7)].若此时概率阈值设为0.8,那么子图(A,B,y)和(B,B,z)在图集G2中是不频繁的,根据Apriori性质,在后续搜索中,不再需要对子图(A,B,y)和(B,B,z)在图集G2中进行扩展搜索,此时搜索树的第一层和第二层如图6所示;
对于第二层的子图((A,B,x),(A,B,y)),((A,B,x),(A,B,x)),((A,B,y),(A,B,y))由边索引可知其存在概率分别为:0.85*0.92=0.782,0.85*0.85=0.72,0.92*0.92=0.85,且连接索引IC={(G1,B,B,2):1},子图((A,B,x),(A,B,y)),((A,B,x),(A,B,x))都是不频繁的,不再需要对子图((A,B,x),(A,B,y))和((A,B,x),(A,B,x))在图集G1中进行扩展搜索,此时搜索树第一层至第三层如图7所示;
对于第三层的子图((A,B,y),(A,B,y),(A,B,x)),由边索引可知其存在概率为:0.92*0.92*0.85=0.72<0.8,所以第三层的子图不频繁,搜索停止,搜索树中频繁子图的结果如图8所示。
Claims (1)
1.一种基于分层搜索不确定图的频繁子图的方法,其特征在于,包括如下步骤:
1)设定不确定图中频繁子图的概率阈值,不同频繁子图概率阈值的设定依据具体情况来定;
2)构建不确定图中每个子图的边索引IE和连接索引IC:不确定图中包含频繁子图和不频繁子图,频繁子图和不频繁子图统称为子图,每个子图由顶点和顶点之间的边组成,对不确定图中的每个子图构建边索引IE和连接索引IC,其中IE={(LA,LB,Le):(LG,PG)},IC={(LG,LA,LB,l):(0/1)},
IE为边索引键值对的集合,(LA,LB,Le)为边索引的键,LA,LB为顶点A、B的标签,Le为顶点A、B之间的边标签;(LG,PG)为边索引的键值,LG是存在顶点A,B及边e中的不确定图的标签,PG为在不确定图中至少有一条边顶点标签为LA,LB及边标签为Le的概率,其中,
IC为连接索引键值对的集合,(LG,LA,LB,l)为连接索引的键,l为顶点A到顶点B所经过的路径长度,由于在构建边索引时,已经包含了路径长度l等于1的情况,所以构建连接索引时要求路径长度l大于等于2,(0/1)为连接索引的键值,其中0表示从顶点A到顶点B需经过长度为l的路径不存在,反之,1则表示存在;
3)构建分层搜索树:以每个不确定图中两点一边的子图作为第一层,在每层的基础上增加一条边,构建搜索树;
4)按层遍历搜索树,搜索每层的频繁子图:对搜索树中的每一层展开频繁子图的搜索,如果在某一层的搜索中发现某个子图不频繁,即其出现的概率小于所设定的频繁子图的概率阈值,那么这个子图所对应的以下所有层中的后代子图全部裁剪,不用再继续搜索,若某一层中搜索到的子图出现的概率大于或等于设定的频繁子图的概率阈值,那此子图在当前层为频繁子图,则保留此子图,继续下一层该子图的扩展子图的搜索,此过程结束后即可得到不确定图中的频繁子图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911074171.8A CN110807061A (zh) | 2019-11-06 | 2019-11-06 | 一种基于分层搜索不确定图的频繁子图的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911074171.8A CN110807061A (zh) | 2019-11-06 | 2019-11-06 | 一种基于分层搜索不确定图的频繁子图的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110807061A true CN110807061A (zh) | 2020-02-18 |
Family
ID=69501350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911074171.8A Pending CN110807061A (zh) | 2019-11-06 | 2019-11-06 | 一种基于分层搜索不确定图的频繁子图的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807061A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021217497A1 (en) * | 2020-04-29 | 2021-11-04 | Paypal, Inc. | Statistics-aware sub-graph query engine |
CN113722551A (zh) * | 2021-09-09 | 2021-11-30 | 国网电子商务有限公司 | 一种应用于频繁子图查询的频繁子图索引方法及装置 |
-
2019
- 2019-11-06 CN CN201911074171.8A patent/CN110807061A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021217497A1 (en) * | 2020-04-29 | 2021-11-04 | Paypal, Inc. | Statistics-aware sub-graph query engine |
US11734350B2 (en) | 2020-04-29 | 2023-08-22 | Paypal, Inc. | Statistics-aware sub-graph query engine |
CN113722551A (zh) * | 2021-09-09 | 2021-11-30 | 国网电子商务有限公司 | 一种应用于频繁子图查询的频繁子图索引方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zou et al. | Finding top-k maximal cliques in an uncertain graph | |
CN109241126B (zh) | 一种基于r*树索引的时空轨迹聚集模式挖掘算法 | |
CN110176280B (zh) | 一种描述材料晶体结构的方法及其应用 | |
KR101130734B1 (ko) | 상황 구조 생성 방법 및, 상황 구조 생성 시스템 | |
CN106897374B (zh) | 一种基于轨迹大数据最近邻查询的个性化推荐方法 | |
CN112181991A (zh) | 基于快速构建kd树的地球模拟系统网格重映射方法 | |
CN110807061A (zh) | 一种基于分层搜索不确定图的频繁子图的方法 | |
CN111813778B (zh) | 一种面向大规模路网数据的近似关键字存储和查询方法 | |
US20160019248A1 (en) | Methods for processing within-distance queries | |
CN109993390A (zh) | 告警关联及派单优化方法、装置、设备及介质 | |
CN111008196A (zh) | 基于深度优先搜索的频繁模式挖掘方法 | |
CN108052743B (zh) | 一种阶梯接近中心度确定方法及系统 | |
CN116645484B (zh) | 地质曲面模型的构建方法、装置、电子设备及存储介质 | |
CN110046265B (zh) | 一种基于双层索引的子图查询方法 | |
Arge et al. | On external-memory planar depth first search | |
CN112269848A (zh) | 一种众包轨迹数据融合方法及装置 | |
Nguyen et al. | A method for efficient clustering of spatial data in network space | |
CN105740371A (zh) | 一种基于密度的增量聚类数据挖掘方法及系统 | |
CN109800231A (zh) | 一种基于Flink的实时轨迹co-movement运动模式检测方法 | |
Xing et al. | Discovering traffic outlier causal relationship based on anomalous DAG | |
CN110765176A (zh) | 一种树结构的挖掘系统及大型结构数据库 | |
CN116090395A (zh) | 数据处理方法、数据结构的生成方法、查询方法 | |
CN107564289B (zh) | 一种合并交通节点的道路网预处理方法 | |
CN113076448A (zh) | 一种基于极大团与强连通分量的社区发现方法 | |
Sakr et al. | An overview of graph indexing and querying techniques |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200218 |
|
RJ01 | Rejection of invention patent application after publication |