2. 上海电力大学 电子与信息工程学院, 上海 200090;
3. 国家海洋局 东海海洋环境调查勘察中心, 上海 200137
2. College of Electronics and Information Engineering, Shanghai University of Electric Power, Shanghai 200090, China;
3. East China Sea Marine Environment Survey and Survey Center, State Oceanic Administration, Shanghai 200137, China
开放科学(资源服务)标志码(OSID):
图查询是图数据分析与处理的基础,其中社团检测作为一种子图查询,其目标是从给定的图中寻找所有紧密连接的子图,并且各个图内部的节点是连通的[1]。紧密子图查询作为社团检测的核心,在很多领域都有着重要的应用,例如:在社交网络中,查询联系紧密的社团有助于用户的特征分析[2];在作者的合作网络中,联系紧密的作者之间可能具有相似的研究领域[3];在商品销售数据中,联系紧密的商品更有可能被相似的消费者所关注[4];在蛋白质网络中,关系紧密的蛋白质通常更有可能形成特定的官能团[5]。
在现有的研究中,研究人员提出许多社团检测方法,如基于模块度优化的算法[6]、谱方法[7]、非负矩阵分解[8]等。对于社团的定义也有多种,常见的有
此外,考虑到查询最紧密社团往往会耗费较多的时间,并且在一些应用场景下不需要查询社团权重的最值,例如在蛋白质网络中,有时仅需要找到满足一定紧密关系的蛋白质集合即可。为此,不局限于社团检测中最值的查询,给定核值
为解决CRKSQ问题,本文首先证明该问题是一个NP-难问题,即无法为其找到一个在多项式时间复杂度内的最优算法,并基于贪婪策略设计启发式算法CRK-G。在此基础上,研究CRK-G算法的优化策略,提出CRK-C和CRK-F算法,分别从降低图规模和减少迭代次数两个方面提高查询效率。最后通过实验对比3种算法在不同场景下的效率。
1 相关工作目前针对社团的查询已经有了广泛的研究,除
与上述两种社团的定义相比,
为了优化
近年来,研究人员开始致力于寻找更加紧密的
本文考虑了节点的语义关系,不局限于社团检测中最值的查询,提出了在加权图中查询联系紧密的连通
本文研究的是无向加权图上的子图查询,该研究是在
定义1(
定义2(核值) 给定图
$ \mathrm{c}\mathrm{o}\mathrm{r}\mathrm{e}\left(u\right)=\underset{V\left(H\right)\subseteq V}{\mathrm{m}\mathrm{a}\mathrm{x}}\left\{k|u\in V(H){且}{H}{为}{k}{核}\right\} $ | (1) |
例如,在图 1中,节点集{a,b,c,d,f }和{o,p,r,s}的导出子图中节点核值都为3。但需要注意的是,节点的核值并不等于节点的度,如图 1中的节点c,其节点的度为4,但核值却为3。此外,
![]() |
Download:
|
图 1 |
定义3(连通
连通
定义4(节点权值
$ \omega \left(u\right)=\sum\limits_{e=(u, v), v\in V}w\left(e\right) $ | (2) |
例如,在图 1中,与节点a相连的边有3条,各边权值分别为7、8、10,故其节点的权值
定义5(节点平均权值
$ Aw\left(G\right)=\frac{\sum\limits_{u\in V}\omega \left(u\right)}{\left|V\right|} $ | (3) |
节点平均权值反映的是整个子图内部的紧密程度,节点平均权值越大则说明子图内部节点之间的交互越多,子图就越紧密。
下面给出紧密
定义6(紧密
紧密
紧密连接k核子图查询如图 2所示,其中图 2(b)为加权图
![]() |
Download:
|
图 2 紧密连通k核子图的查询实例 Fig. 2 Example of closely related connected k-core subgraph query |
定义7(紧密
紧密
引理1 给定一个加权图
$ \sum\limits_{u\in V}\omega \left(u\right)=2\times \sum\limits_{e\in E}w\left(e\right) $ | (4) |
证明 由于图G中的每条边连接两个节点,而根据节点权值的定义可知图中每条边的权值会被相连的两个节点各计算一次,故上述结论成立。
定理1 CRKSQ问题是NP-难的。
证明 将clique问题多项式归约到CRKSQ问题。由于clique问题是一个NP-完全问题[25],进而得出CRKSQ问题是NP-难的。给定clique问题的一个实例
假设clique问题存在一个
$ Aw\left(H\right)=\frac{\sum\limits_{u\in V\left(H\right)}\omega \left(u\right)}{\left|V\right(H\left)\right|} $ | (5) |
根据引理1,式(5)可化为:
$ Aw\left(H\right)=\frac{2\times \sum\limits_{e\in E}\omega \left(e\right)}{\left|V\right(H\left)\right|} $ | (6) |
因
$ Aw\left(H\right)=\frac{2\times \left|E\right(H\left)\right|}{\left|V\right(H\left)\right|}=\frac{k(k-1)/2\times 2}{k}=k-1 $ | (7) |
得证。
反之,假设
由定理1可知,无法为CRKSQ问题找到一个多项式时间复杂度的最优算法,为解决该问题并在可接受的时间内找到合适的解,本文基于贪婪策略提出了启发式算法CRK-G。首先从图中找到候选
CRK-G算法步骤如下:
步骤1 使用
步骤2 使用广度优先搜索,得到候选
步骤3 判断子图节点平均权值是否小于
步骤4 为了保证剩余子图的
步骤5 重复上述操作,直到剩余子图的节点平均权值大于等于
例如,在图 2中,给定图
算法1 紧密
输入 图
输出 满足条件的紧密子图集
1.
2.
3.FOR每个节点
4.IF节点
5.
6.
7.END IF
8.END FOR
9.FOR每个子图
10.IF子图
11.CONTINUE;
12.ELSE THEN
13.WHILE子图
14.删除子图
15.删除剩余子图中度小于
16.IF子图
17.从
18.BREAK;
19.END
20.IF Disconnected(
21.
22.
23.
24.END IF
25.END WHILE
26.END IF
27.END FOR
28.RETURN
CRK-G算法采用贪婪思想,通过迭代删除节点而使得子图满足条件,其主要时间花费包括
下文分析CRK-G算法的空间复杂度,对于原图中的每个节点,需要存储其邻节点以及其与邻节点之间边的权值,所以空间消耗为
CRK-G算法对于CRKSQ问题的求解是有效的,它能在
根据对CRK-G算法时间复杂度的分析,影响其效率的主要因素是图的规模和迭代的次数,因此可以通过使用降低图规模或减少迭代次数的方法,使得算法的效率提高。基于该思路,本节提出了CRK-G算法的两种改进算法:1)使用图压缩策略的CRK-C算法,其适用于节点权值差异性较小的图数据;2)使用单次多节点删除策略的CRK-F算法,该算法实现简单,效率提高明显,适用于差异性较大或无法确定差异性的图数据。
4.1 基于图压缩的优化策略目前关于面向特定查询的图压缩已经有了广泛的研究,常见的如面向保持可达查询的图压缩[26]、面向邻节点查询的压缩[27]以及面向
定义8(超节点和超边) 给定图
例如,图 3(b)的图
![]() |
Download:
|
图 3 图压缩实例 Fig. 3 Example of graph compression |
定义9(压缩比
$ cr=\frac{\left|{E}^{\text{'}}\right|}{\left|E\right|} $ | (8) |
压缩比是衡量图压缩是否有效的重要指标,根据压缩比的定义可知,压缩比越小,则压缩后的图规模也越小。
4.1.1 CRK-C算法CRK-C算法在CRK-G算法的基础上进行,查询到候选
步骤1 遍历图中的所有节点,将权值相近的节点合并,从而得到超节点。
步骤2 超节点包含的节点若在原图中存在边,则在超节点之间构建超边。
步骤3 超边的权值设为两个超节点所包含的原节点在原图中边权值之和。
其中,步骤1的节点合并是通过设置压缩阈值
例如,图 3(a)表示的是一个2核候选子图,节点a、节点c和节点d的权值分别为
压缩算法GC-W见算法2,算法最后返回压缩后的图
需要注意的是,压缩阈值
$ {C}_{\mathrm{C}\mathrm{V}}=\frac{{\sigma }_{w}}{Aw} $ | (9) |
其中
算法2 压缩算法GC-W
输入 需要压缩的子图
输出 压缩后的图
1.FOR每个节点
2.IF节点
3.
4.FOR每个节点
5.
6.将节点
7.END FOR
8.
9.
10.将节点
11.END IF
12.END FOR
13.FOR每个节点对
14.IF
15.
16.
17.END IF
18.END FOR
19.RETURN
CRK-C算法在原有贪婪策略的基础上新增了图压缩的步骤,其主要的时间花费包括
1)在
2)在图压缩方面,其主要由超节点划分和创建超边两部分组成。其中超节点划分是通过广度优先搜索算法,不断地扩展与节点
3)在节点平均权值计算和子图连通性判断方面,假设图压缩的压缩比为
4)在子图
5)在压缩图的解压缩方面,由于压缩算法GC-W会返回一个映射表
最终CRK-C算法的时间复杂度为
接下来分析CRK-C算法的空间复杂度,由于该算法在CRK-G算法的基础上引入了图压缩过程,因此在计算过程中除了原有的空间消耗外,还需要额外存储压缩图的信息,压缩图信息包括每个超节点的邻节点和超边的权值,假设图压缩的压缩比为
CRK-C算法虽然提高了效率,但是其相对于CRK-G算法存在一定的误差。CRK-C算法可能导致的误差是其多迭代删除的节点数。假设经过压缩算法压缩后的压缩比为
需要说明的是,压缩比
提高CRK-G算法效率的改进策略除降低图规模外,另一种方法是减少算法的迭代次数,而减少迭代次数的一个有效且直接的方法是批量删除节点。通过在单次迭代中一次性删除多个节点来减少迭代次数,从而提高算法的效率。
4.2.1 CRK-F算法基于单次多节点删除策略,对CRK-G算法进行改进,得到效率更高的快速贪婪算法CRK-F。CRK-F算法设置了每次迭代时的删除比率
需要说明的是,
$ \mathrm{\Delta }\overline{Aw}=\frac{\sum\limits_{u\in V}\omega \left(u\right)-Aw}{n-1}-\frac{\sum\limits_{u\in V}\omega \left(u\right)}{n} $ | (10) |
目标节点平均权值
$ {w}_{\mathrm{Q}}-Aw=\mathrm{\Delta }\overline{Aw}\times K $ | (11) |
而迭代删除的节点数
$ \gamma =\frac{K}{\left|V\right|}=\frac{{w}_{\mathrm{Q}}-Aw}{\mathrm{\Delta }\overline{Aw}\times \left|V\right|} $ | (12) |
在实际应用时,式(12)可作为
CRK-F算法克服了CRK-G算法效率低下的问题,通过利用单次多节点删除的方法,极大地减少了算法的迭代次数,接下来对该算法进行时间复杂度与空间复杂度分析。
CRK-F算法与CRK-G算法相比,前者的迭代次数减少。首先分析改进后算法的迭代次数,初始时候选子图
$ 1\le \left|V\right({H}_{{t}^{\text{'}}}\left)\mathrm{ }\right|\le (1-\gamma )\left(\mathrm{ }\right|V\left({H}_{{t}^{\text{'}}-1}\right)\left|\mathrm{ }\right)\le \mathrm{ }\cdots \le {(1-\gamma )}^{{t}^{\text{'}}} \\ \;\;\;\;\left(\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\right|V\left(H\right)\left|\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\right)\le {(1-\gamma )}^{{t}^{\text{'}}}\left|V{\left(G\right)\mathrm{ }\left|\gamma \right)}^{{t}^{\text{'}}}\right|V\left(G\right)\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }|$ |
上式经过化简可得
CRK-F算法与CRK-G算法在空间上的消耗没有区别,所以CRK-F算法的空间复杂度也是
根据CRK-F算法特点可知,其相对于CRK-G算法的误差是由于批量删除时多删除的节点导致。
假设给定删除比率
通过对CRK-C与CRK-F算法的原理分析,对两者的特点总结如下:
1)CRK-C算法使用了图压缩策略,通过将节点权值在阈值范围内的连通节点进行合并,从而降低子图的规模,也相应减少了迭代次数,算法效率相对CRK-G算法而言有了较大的提升。根据算法的特点,若图中节点权值较为相近时,节点压缩策略将会起较大的作用。在节点压缩时,更多节点权值相近的节点将会被合并,并且由于被合并的节点权值相近,其在迭代删除过程中所造成的误差也较小,因此CRK-C算法更适用于图中节点权值差异性较小的数据。
2)CRK-F算法利用单次多节点删除策略,每次迭代删除多个节点,显著减少了迭代次数。由于CRK-F算法仅需要在迭代删除时设置删除比率
本文在3个真实数据集上进行了实验,对比了算法在不同查询条件下和不同规模图上查询的耗时,并分析压缩算法GC-W和紧密
本文实验使用的数据集主要有以下3个:
1)生物通用交互数据集Bio-GRID,其中节点表示基因或蛋白质,边表示基因或蛋白质之间存在交互,边的权值表示节点之间交互的得分,得分越高说明节点之间的联系越紧密。
2)美国安然公司的邮件网络Email-Enron,其中顶点表示邮箱,边表示一个邮箱向另一邮箱发送过邮件,边的权值表示邮箱之间邮件的互通次数,次数越高说明邮箱之间的联系越紧密。
3)由DBLP数据构成的作者协作网络,其中节点表示作者,边表示两个作者共同合作发表过文章,边的权值表示作者合作过的次数,次数越高说明作者之间的联系越紧密。
上述数据集经预处理转化为图数据,各个图的基本特性如表 1所示。其中:节点数和边数反映了图的规模;最大核值为
![]() |
下载CSV 表 1 数据集的基本特性 Table 1 Basic characteristics of dataset |
本文在上述3个数据集上进行实验,对比了算法CRK-G、CRK-C、CRK-F在不同条件下的查询效率和图压缩算法GC-W的压缩效率,并验证了模型的有效性。实验使用C++实现,在2.90 GHz Intelⓐ CoreTM i5-9400 CPU、8.0 GB内存、Windows10系统的台式机上运行。
5.2.1 算法效率分析在查询紧密
由于查询参数的取值不是本文的研究重点,实验中的参数值是通过前期的初步实验并结合数据集的特性得到。其中,参数
本文分别控制
1)随着给定节点平均权值
3种算法随
![]() |
Download:
|
图 4 3种算法随 |
2)随着给定核值
3种算法随k变化的运行效率对比结果如图 5所示,随着核值
![]() |
Download:
|
图 5 3种算法随 |
上述实验结果与本文对各个算法的时间复杂度分析结果相符合,CRK-G算法的查询耗时总体均高于CRK-C和CRK-F算法。而CRK-C算法和CRK-F算法两者耗时大致相近,具体耗时高低主要取决于数据集的特点,当数据集中存在较多权值相近的节点时,图压缩算法压缩后得到的图规模较小,使得CRK-C算法的查询耗时低于CRK-F算法。
5.2.2 算法误差分析由于CRKSQ问题是NP-难的,无法在多项式时间复杂度内找到最优解,CRK-G算法虽然能够找到一个可行解,但其与最优解之间的偏离程度无法被预计。CRK-C和CRK-F算法是在CRK-G算法基础上的改进,效率有了很大的提升,但两者相对于CRK-G算法存在一定的误差。接下来以CRK-G算法为参考,在不同
根据算法的原理,评判误差的依据是CRK-C和CRK-F算法相对于CRK-G算法是否过多删除了节点。实验在3个数据集上进行:对于数据集Bio-GRID,给定
实验记录了各个算法在上述条件下查询得到的子图节点数,计算了CRK-C和CRK-F算法相对于CRK-G算法的误差百分比,结果分别如表 2~表 4所示,多次实验的平均误差均在8%以内,误差较小。
![]() |
下载CSV 表 2 Bio-GRID数据集的查询结果与误差 Table 2 Query results and errors of Bio-GRID dataset |
![]() |
下载CSV 表 3 Email-Enron数据集的查询结果与误差 Table 3 Query results and errors of Email-Enron dataset |
![]() |
下载CSV 表 4 DBLP数据集的查询结果与误差 Table 4 Query results and errors of DBLP dataset |
为验证图压缩算法GC-W的有效性,实验记录了不同
对于数据集Bio-GRID,变量
![]() |
Download:
|
图 6 GC-W算法随 |
压缩耗时相较于查询耗时低了1或2个数量级,其可以在相对短的时间内对候选子图进行压缩,有效地减少了查询时间,压缩算法是有效的。
5.2.4 模型有效性分析为验证紧密
实验分别在3个数据集上进行,考虑到CRK-F算法和
对于数据集Bio-GRID,变量
![]() |
Download:
|
图 7 CRK-F与 |
为进一步说明CRKS模型的合理性,本文选取一个实例进行分析。图 8(a)所示是作者协作网络中选取的部分数据,其包含了30个节点和46条边,图的节点平均权值为40.67,存在一些联系较为松散的节点。若忽略权值,仅给定
![]() |
Download:
|
图 8 紧密 |
综合上述分析,CRKS模型可以检测出加权图中紧密联系的子图,相较于现有的方法更加合理有效。
6 结束语本文提出一种在加权图中查询联系紧密的连通
[1] |
FANG Y X, HUANG X, QIN L, et al. A survey of community search over big graphs[J]. The VLDB Journal, 2020, 29(1): 353-392. DOI:10.1007/s00778-019-00556-x |
[2] |
胡开先, 梁英, 苏立新, 等. 基于完全子图的社交网络用户特征识别方法[J]. 模式识别与人工智能, 2016, 29(8): 698-708. HU K X, LIANG Y, SU L X, et al. Method for social network user feature recognition based on clique[J]. Pattern Recognition and Artificial Intelligence, 2016, 29(8): 698-708. (in Chinese) |
[3] |
LAPPAS T, LIU K, TERZI E. Finding a team of experts in social networks[C]//Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2009: 467-476.
|
[4] |
YAN X, ZHOU X J, HAN J. Mining closed relational graphs with connectivity constraints[C]//Proceedings of the 21st International Conference on Data Engineering. Washington D. C., USA: IEEE Press, 2005: 357-358.
|
[5] |
ASTHANA S, KING O D, GIBBONS F D, et al. Predicting protein complex membership using probabilistic network reliability[J]. Genome Research, 2004, 14(6): 1170-1175. DOI:10.1101/gr.2203804 |
[6] |
杜梅, 胡学钢, 李磊, 等. 基于网络结构极值优化的半监督社团检测方法[J]. 模式识别与人工智能, 2015, 28(2): 162-172. DU M, HU X G, LI L, et al. Network structure-enhanced extremal optimization based semi-supervised algorithm for community detection[J]. Pattern Recognition and Artificial Intelligence, 2015, 28(2): 162-172. (in Chinese) |
[7] |
FANUEL M, ALAÍZ C M, SUYKENS J A K. Magnetic eigenmaps for community detection in directed networks[J]. Physical Review E, 2017, 95(2): 022302. |
[8] |
李国朋, 潘志松, 姚清, 等. 融合先验信息的非负矩阵分解社区发现算法[J]. 模式识别与人工智能, 2016, 29(7): 608-615. LI G P, PAN Z S, YAO Q, et al. Nonnegative matrix factorization algorithm with prior information for community detection[J]. Pattern Recognition and Artificial Intelligence, 2016, 29(7): 608-615. (in Chinese) |
[9] |
SEIDMAN S B. Network structure and minimum degree[J]. Social Networks, 1983, 5(3): 269-287. DOI:10.1016/0378-8733(83)90028-X |
[10] |
MEDYA S, MA T, SILVA A, et al. K-core minimization: a game theoretic approach[EB/OL]. [2021-08-08]. https://arxiv.org/pdf/1901.02166v1.pdf.
|
[11] |
FANG Y X, WANG Z, CHENG R, et al. On spatial-aware community search[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(4): 783-798. DOI:10.1109/TKDE.2018.2845414 |
[12] |
CHU D M, ZHANG F, LIN X M, et al. Finding the best k in core decomposition: a time and space optimal solution[C]//Proceedings of the 36th IEEE International Conference on Data Engineering. Washington D. C., USA: IEEE Press, 2020: 685-696.
|
[13] |
LI R H, QIN L, YU J X, et al. Finding influential communities in massive networks[J]. The VLDB Journal, 2017, 26(6): 751-776. DOI:10.1007/s00778-017-0467-4 |
[14] |
FANG Y X, WANG Z R, CHENG R, et al. Effective and efficient community search over large directed graphs[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(11): 2093-2107. DOI:10.1109/TKDE.2018.2872982 |
[15] |
CHEN Y K, FANG Y X, CHENG R, et al. Exploring communities in large profiled graphs[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(8): 1624-1629. DOI:10.1109/TKDE.2018.2882837 |
[16] |
HABIB W M A, MOKHTAR H M O, EL-SHARKAWI M E. Weight-based K-truss community search via edge attachment[J]. IEEE Access, 2020, 8: 148841-148852. DOI:10.1109/ACCESS.2020.3016214 |
[17] |
AKBAS E. Index based efficient algorithms for closest community search[C]//Proceedings of 2019 IEEE International Conference on Big Data. Washington D. C., USA: IEEE Press, 2020: 701-710.
|
[18] |
YUAN L, QIN L, ZHANG W J, et al. Index-based densest clique percolation community search in networks[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(5): 922-935. DOI:10.1109/TKDE.2017.2783933 |
[19] |
BATAGELJ V, ZAVERSNIK M. An O(m) algorithm for cores decomposition of networks[J]. Computer Science, 2003, 1(6): 34-37. |
[20] |
KHAOUID W, BARSKY M, SRINIVASAN V, et al. K-core decomposition of large networks on a single PC[J]. Proceedings of the VLDB Endowment, 2015, 9(1): 13-23. DOI:10.14778/2850469.2850471 |
[21] |
李鸣鹏, 高宏, 邹兆年. 基于图压缩的最大Steiner连通k核查询处理[J]. 软件学报, 2016, 27(9): 2265-2277. LI M P, GAO H, ZOU Z N. Maximum steiner connected k-core query processing based on graph compression[J]. Journal of Software, 2016, 27(9): 2265-2277. (in Chinese) |
[22] |
BARBIERI N, BONCHI F, GALIMBERTI E, et al. Efficient and effective community search[J]. Data Mining and Knowledge Discovery, 2015, 29(5): 1406-1433. |
[23] |
CUI W Y, XIAO Y H, WANG H X, et al. Local search of communities in large graphs[C]//Proceedings of 2014 ACM SIGMOD International Conference on Management of Data. New York, USA: ACM Press, 2014: 991-1002.
|
[24] |
ZHENG D, LIU J Q, LI R H, et al. Querying intimate-core groups in weighted graphs[C]//Proceedings of the 11th IEEE International Conference on Semantic Computing. Washington D. C., USA: IEEE Press, 2017: 156-163.
|
[25] |
KARP R M. Reducibility among combinatorial problems[C]//Proceedings of IEEE International Conference on Complexity of Computer Computations. Washington D. C., USA: IEEE Press, 1972: 85-103.
|
[26] |
LIANG Y Z, CHEN C, WANG Y K, et al. Reachability preserving compression for dynamic graph[J]. Information Sciences, 2020, 520: 232-249. |
[27] |
MASERRAT H, PEI J. Neighbor query friendly compression of social networks[C]//Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2010: 533-542.
|