CN106383863A - 一种同构子图查询优化方法 - Google Patents
一种同构子图查询优化方法 Download PDFInfo
- Publication number
- CN106383863A CN106383863A CN201610800640.XA CN201610800640A CN106383863A CN 106383863 A CN106383863 A CN 106383863A CN 201610800640 A CN201610800640 A CN 201610800640A CN 106383863 A CN106383863 A CN 106383863A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- coupling
- query graph
- frequency
- isomorphism
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种同构子图查询优化方法,该方法是基于精确性同构子图查询中的经典算法VF2算法上进行的改进优化,由于VF2目前在大图的运用中查询代价过高,本发明在其基础上对其优化,分别从标签频率排序以及加速候选对寻找方案,以及利用稀疏矩阵代替原本二维矩阵来优化匹配对的存储方式等三个方面对其进行优化,提出一种新的同构子图查询优化方法。在新的优化方法中,首先,加速原有VF2算法的寻找候选对的方案降低其时间复杂度;其次,在数据导入时,按照标签出现的频率排序,优先匹配出现频率少的标签;最后,优化匹配对的存储方式,用稀疏矩阵代替原有矩阵。本发明公开的新的同构子图查询优化方法可以有效降低算法执行时间和递归次数,提高算法性能。
Description
技术领域
本发明涉及一种同构子图查询优化方法,属于计算机中的图论领域。
背景技术
当前生活中的很多关系,如社交网络、互联网超链关系、语义网以及生物作用网络等,都会运用到离散数学中的图加以描述并进行分析。随着Web技术和社交媒体的发展,导致现实世界产生的图数据正在爆炸式的增长,据统计,Facebook每天日常至少有9亿活跃用户,而每个用户平均有130个朋友,这样的网络数据的增长速度可想而知,而子图同构作为图数据分析中的基本操作,被广泛应用于蛋白相互作用网络分析、知识库、程序分析等应用中。
同构子图查询就是在一张数据图G中找出给定的查询图Q同构的所有子图,并输出这些同构子图,具体实例如图1所示,查询图Q在数据图G中的同构子图如图b中顶点为1、3、4、5以及虚线部分构成。
从数学的定义上来说,设数据图G可表示为G=(V,E,T,lG),其中V表示图G的顶点集合,E表示图G的边集合,T表示图G中顶点的标签集合,lG表示顶点集合V到标签集合T的标签函数,lG为每一个顶点赋予标签集合T中的一个标签。同样,查询图可表示为G=(Vq,Eq,Tq,lq),其中Vq是查询图的顶点集,Eq是查询图的边集,Tq是标签集。lq是Vq到Eq的标签函数,将查询图中的顶点映射到标签集Tq上。查询图的标签集Tq可以确保是数据图标签集T的子集。而同构子图匹配的目标是在数据图G中,找出满足如下三个条件的子图g=(Vg,Eg):
(1)子图条件:Vg∈V,Eg∈E;
(2)规模匹配条件:匹配到的子图的点集、边集大小必须与查询图点集、边集大小相同,即|Vq|=|Vg|且|Eq|=|Eg|,其中|Vq|表示集合Vq的元素个数;
(3)同构匹配条件:存在从查询图q的点集到同构子图g的点集的一个双射f:Vg→Vg,该双射f同时满足:
1)标签lq(v)=lG(f(v));
2)拓扑结构
VF2算法是Luigi P.Cordella等人于2004年提出的一种针对大图匹配的同构子图查询算法,该算法的核心思想是搜索加剪枝,从而达到同构子图的查询,但由于其在数据图规模较大的情况下查询的代价过高,所以对其进行优化是很有必要的,也是对图论领域中子图同构研究的一项推进。
发明内容
发明目的:
本发明的目的是针对带标签的同构子图查询问题,优化同构子图查询VF2算法,分别从优化标签频率以及候选对寻找方案,以及采用稀疏矩阵等来优化VF2算法,降低算法复杂度,提高原算法性能。
技术方案
本发明主要是从优化标签频率以及候选对寻找方案优化以及算法初始化阶段来进行优化。
首先,算法输入阶段,输入查询图Q和数据图G,以及匹配映射函数M(),中间状态s,首先对查询图Q中标签的出现频率按从低到高的方式进行排序,在进行匹配的时候,优先匹配Q中出现频率低的标签,可以尽早排除不可能的点,从而加速匹配速度。
其次,运用递归的方式进行数据图G的搜索匹配,在匹配初始化阶段,采用稀疏矩阵来代替原本VF2算法中的二维矩阵来构建边矩阵,优化匹配对的存储方式,可以降低算法空间开销,将其空间复杂度从O(n2)降低为O(n)。搜索匹配时也是优先匹配标签出现频率最低的点,在匹配其余点时,如果前驱或者后继出现多个,也是优先选择标签频率低的。
匹配的过程主要是如果匹配映射函数M(s)包含了查询图Q中的所有点和边,则Q在数据图G中的同构子图找到,否则,需要在每次局部匹配基础上,再匹配一个点。原VF2算法中,在后续匹配点中,同时需要考虑该点的前驱和后继,而在本发明中的算法中,在匹配初始化阶段产生的可能匹配对不需要像原算法中Q×G,仅需要查询图Q中的一个点与数据图G中所有点,即可遍历整个搜索空间,将其时间复杂度从O(m*n)降低为O(n)。
后续点的匹配中,首先找出所有可能进行匹配点对集合P(s),然后对于查询图Q中的一个点与数据图G中所有点组成的匹配对中的每一个匹配对p,检查加入匹配p是否适应可行性规则,如果不适应,则需要进入匹配点对集合P(s)中的下一匹配,直至找到适应可行性规则的p,然后将p加入M(s),同时状态更新为s',循环过程结束后,则存储其数据结构,并输出查询图Q和数据图G之间的映射关系,也就是查询图Q在G中的同构子图。
检验其可行性主要是依据以下规则,设新加入匹配对是(n,m),则需满足:则对于n在数据图G中的所有前驱(或后继),必须能在查询图G中m的前驱(或后继)里有相应的点与之对应。同样,对于m在查询图G中的所有前驱(或后继),也必须能在数据图Q中n的前驱(或后继)里有相应的点与之对应。这两条规则保证加入新的匹配对后,两个子图依然是同构的。其次,数据图中n在当前已经匹配的点集的所有边的起点(或终点)集合中的前驱(或后继)的数目,必须大于等于查询图中m在当前已经匹配的点集的所有边的起点(或终点)集合中的前驱(或后继)的数目。如果不满足,则说明对于查询图中新匹配的点m,其邻居个数是大于数据图中n的邻居个数的,所以说最终必然无法完全匹配查询图中所有的点。
有益效果
VF2算法是精确性同构子图查询中的经典算法,但在目前大图的运用中查询代价过高,本发明并在其基础上对其优化,分别从标签频率排序以及加速候选对寻找方案,以及利用稀疏矩阵代替原本二维矩阵来优化匹配对的存储方式等三个方面对其进行优化,提出一种新的同构子图查询优化方法,可以有效降低算法执行时间和递归次数,提高了算法性能。
附图说明
图1为同构子图查询实例;
图2为本发明的算法流程。
具体实施方式
以下结合附图具体说明,本发明主要是从优化标签频率以及候选对寻找方案优化以及算法初始化阶段来进行优化,主要优化流程图如图2所示:
输入数据查询图Q,数据图G以及查询过程中中间状态s,匹配映射函数M(),首先进行标签的统计与排序,将输入的图数据按标签出现的频率,从低到高排序,同样,在标签匹配的时候,首先匹配出现频率最低的标签,这样子可以尽早去除不可能的点,从而缩小的匹配范围,减少匹配时间。
标签统计与排序之后,进入匹配初始化阶段,该过程中本发明优化了匹配对的存储方式,将原本的二维矩阵存储替换成稀疏矩阵,一旦匹配到相同的点和边,即以稀疏矩阵的方式构建,可以很大程度上降低算法空间开销,并将其空间复杂度由O(n2)降低为O(n)。同时在初始化阶段,优先匹配出现频率最低的点,当匹配其余点时,如果前驱和后继出现多个情况的话,也是选择优先匹配频率较低的点。
匹配初始化之后进行判定,当匹配映射集合M(s)中已经包含了查询图中所有节点时,则直接输出查询图Q与数据图G的映射关系,若没有,进入下一阶段,首先生成候选对集合P(s),然后对新加入的匹配p,对应可行性规则是否适应,原VF2算法中,候选匹配时,候选点需要同时考虑其前驱和后继,这样的情况下,当图的规模变大时,匹配的时间将会很慢,而在本发明的优化算法中,仅需要查询图Q中的一个点和数据图G中的所有点,将其两两匹配就可以遍历整个的图空间,加速了候选匹配的时间,将该过程的时间复杂度由O(m*n)降低为O(n)。在生成的候选对集合中的每一个匹配对,由可行性规则来判断新加入的匹配对是否适应,如果不适应,进入候选集下一状态,直至找到适应可行性规则的匹配对,然后将该匹配对加入映射集合,同时更新中间状态,循环过程结束后,存储其数据结构,并输出数据图G和查询图Q之间的映射关系,也就是查询图Q在数据图G中的同构子图。
Claims (1)
1.一种同构子图查询优化方法,其特征在于,包括如下步骤:
1)输入查询图Q和数据图G,以及匹配映射函数M(),中间状态s,对查询图Q中标签的出现频率按从低到高的方式进行排序,在进行匹配的时候,优先匹配Q中出现频率低的标签;
2)运用递归的方式进行数据图G的搜索匹配,在匹配初始化阶段,采用稀疏矩阵来代替VF2中的二维矩阵来构建边矩阵;搜索匹配时,优先匹配标签出现频率最低的点,在匹配其余点时,如果前驱或者后继出现多个,同样优先选择标签频率低的;
3)查询图Q和数据图G进行匹配时,如果匹配映射函数M(s)包含了查询图Q中的所有点和边,则Q在数据图G中的同构子图找到,否则,需要在每次局部匹配基础上,进行后续点的匹配;
4)在后续点的匹配中,首先找出所有可能进行匹配点对集合P(s),然后对于查询图Q中的一个点与数据图G中所有点组成的匹配对中的每一个匹配对p,检查加入匹配p是否适应保证两图同构的可行性规则,如果不适应,则需要进入匹配点对集合P(s)中的下一匹配,直至找到适应可行性规则的p,然后将p加入M(s),同时状态更新为s’,循环过程结束后,则存储其数据结构,并输出查询图Q和数据图G之间的映射关系,也就是查询图Q在G中的同构子图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610800640.XA CN106383863A (zh) | 2016-09-05 | 2016-09-05 | 一种同构子图查询优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610800640.XA CN106383863A (zh) | 2016-09-05 | 2016-09-05 | 一种同构子图查询优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106383863A true CN106383863A (zh) | 2017-02-08 |
Family
ID=57938000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610800640.XA Pending CN106383863A (zh) | 2016-09-05 | 2016-09-05 | 一种同构子图查询优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106383863A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239515A (zh) * | 2017-05-23 | 2017-10-10 | 华中科技大学 | 一种基于四维索引的大规模图的可达查询方法和系统 |
CN107885797A (zh) * | 2017-10-27 | 2018-04-06 | 中国科学院信息工程研究所 | 一种基于结构相关性的多模式图匹配方法 |
-
2016
- 2016-09-05 CN CN201610800640.XA patent/CN106383863A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239515A (zh) * | 2017-05-23 | 2017-10-10 | 华中科技大学 | 一种基于四维索引的大规模图的可达查询方法和系统 |
CN107885797A (zh) * | 2017-10-27 | 2018-04-06 | 中国科学院信息工程研究所 | 一种基于结构相关性的多模式图匹配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112307762B (zh) | 搜索结果的排序方法及装置、存储介质、电子装置 | |
Wu et al. | A multilevel index model to expedite web service discovery and composition in large-scale service repositories | |
CN105706078A (zh) | 实体集合的自动定义 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
CN103116625A (zh) | 一种基于Hadoop的海量RDF数据分布式查询处理方法 | |
CN107016077B (zh) | 一种面向Web服务组合的优化方法 | |
CN103631922A (zh) | 基于Hadoop集群的大规模Web信息提取方法及系统 | |
CN104392010A (zh) | 一种子图匹配的查询方法 | |
CN104778258A (zh) | 一种面向协议数据流的数据抽取方法 | |
CN105976048A (zh) | 一种基于改进人工蜂群算法的输电网扩展规划方法 | |
CN103218364A (zh) | 一种搜索方法和系统 | |
CN113962358A (zh) | 一种基于时序超图注意力神经网络的信息扩散预测方法 | |
CN110909111A (zh) | 基于知识图谱rdf数据特征的分布式存储与索引方法 | |
CN111666468A (zh) | 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法 | |
CN110427404A (zh) | 一种区块链跨链数据检索系统 | |
CN103077216B (zh) | 子图匹配装置及子图匹配的方法 | |
CN105404637A (zh) | 数据挖掘方法和装置 | |
Sun et al. | An artificial bee colony algorithm with random location updating | |
CN115828143A (zh) | 基于图卷积和自注意力机制实现异构图元路径聚合的节点分类方法 | |
CN108228787A (zh) | 按照多级类目处理信息的方法和装置 | |
CN106383863A (zh) | 一种同构子图查询优化方法 | |
Yasir et al. | D-GENE: deferring the GENEration of power sets for discovering frequent itemsets in sparse big data | |
CN109086381A (zh) | 模糊概念格的一种更新生成方法 | |
CN110457490A (zh) | 一种基于领域本体的语义工作流索引构造及检索方法 | |
CN106933844A (zh) | 面向大规模rdf数据的可达性查询索引的构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170208 |
|
RJ01 | Rejection of invention patent application after publication |