论文阅读: A Counting-based Approach for Efficient -Clique Densest Subgraph Discovery | SIGMOD 2024

摘要

最密子图发现 (DSD) 是图挖掘中的一个基本问题,已被广泛研究并应用于生物学、金融和社交网络等领域。作为DSD的一个典型问题,k-团最密子图 (CDS) 问题旨在从图中检测出一个子图,使得该子图中的 k-团数量与顶点数量的比值最大化。本文提出了一个基于 Frank-Wolfe 算法的新框架,该框架仅需要 k-团计数而非 k-团枚举,从而显着提高了计算效率。本文在14个大规模真实图上进行了广泛的实验,结果显示该算法的效率非常高,并且在相同准确性保证下比现有最先进的算法快了多达七个数量级。

1. 介绍

最密子图发现 (DSD) 是图挖掘中的一个基本问题,近年来受到了广泛的研究。该问题在生物学、金融和社交网络等领域有着广泛的应用。经典的DSD问题旨在找到具有最大边密度的子图,即子图内边数与顶点数的比值。

最近,该问题被推广为 k-团最密子图 (CDS) 问题,目的是找到具有最高 k-团密度的子图。k-团密度是指子图中 k-团的数量与该子图中的顶点数量的比值。具体来说,k-团是指由 k 个顶点组成的完全子图,即这 k 个顶点之间两两都有边相连。例如,当 k=3 时,k-团就是三角形。

由于边可以被认为是2-团,因此DSD问题实际上是 k=2 的CDS问题的一种特殊情况。这意味着,传统的DSD问题是寻找具有最大边密度的子图,而 k-团最密子图问题则是寻找具有最大 k-团密度的子图。

例子

假设有一个图G,其中包含若干个顶点和边。当 k=3 时,我们希望找到一个子图,其中包含最多的3-团(即三角形),同时这个子图中的顶点数量尽可能少,从而使得3-团的密度最大。目标不是仅仅找到一个单一的三角形,而是找到一个包含多于一个三角形且顶点数相对较少的子图,使其 k-团密度最大。

在这里插入图片描述

2. 预备知识

本文首先介绍CDS问题的正式定义,然后介绍其线性规划 (LP) 形式。

问题定义

在本文中,优先考虑了无权无向图 𝐺=(𝑉 , 𝐸),其中 𝑉 和 𝐸 分别是图的顶点集合和边集合。给定一个顶点集合 𝑆,用 𝐺[𝑆] 表示由 𝑆 中的顶点诱导出的子图,其中 𝐸(𝑆) 表示 𝐺 中包含在 𝑆 中的边的集合。对于给定的图 𝐻,用 𝑉(𝐻) 和 𝐸(𝐻) 分别表示其顶点和边的集合。

k-团密度的定义

给定图 𝐺 的一个子图 𝐻 和一个正整数 𝑘,𝐻 的 k-团密度 𝜌𝑘(𝐻) 定义为 𝐻 中 k-团数量与顶点数量的比值。具体公式为:
ρ k ( H ) = ∣ Ψ k ( H ) ∣ ∣ V ( H ) ∣ \rho_k(H) = \frac{|\Psi_k(H)|}{|V(H)|} ρk(H)=V(H)Ψk(H)

其中,∣Ψk(H)∣ 表示子图 𝐻 中 k-团的数量,∣V(H)∣ 表示子图 𝐻 中顶点的数量。

k-团最密子图的定义

给定图 𝐺 和一个正整数 𝑘,𝐺 的一个子图 𝐻 是 k-团最密子图,记作 𝐷𝑘(𝐺),如果 𝐻 在所有子图中具有最大的 k-团密度。

k-团最密子图问题

给定图 𝐺 和整数 𝑘≥3,k-团最密子图问题旨在找到 𝐺 中的 k-团最密子图 𝐷𝑘(𝐺)。

例子

在图 𝐺 中,有十个3-团,即:

  • 𝐶1={𝑣1, 𝑣5, 𝑣6}
  • 𝐶2={𝑣2, 𝑣4, 𝑣5}
  • 𝐶3={𝑣3, 𝑣4, 𝑣5}
  • 𝐶4={𝑣4, 𝑣5, 𝑣6}
  • 𝐶5={𝑣1, 𝑣2, 𝑣4}
  • 𝐶6={𝑣2, 𝑣3, 𝑣4}
  • 𝐶7={𝑣5, 𝑣6, 𝑣7}
  • 𝐶8={𝑣6, 𝑣7, 𝑣8}
  • 𝐶9={𝑣7, 𝑣8, 𝑣9}
  • 𝐶10={𝑣7, 𝑣8, 𝑣10}

子图 𝐻 由顶点 𝑣2, 𝑣3, 𝑣4, 𝑣5 和 𝑣6 组成。这个子图 𝐻 中包含七个3-团:

  • {𝑣2, 𝑣4, 𝑣5}
  • {𝑣3, 𝑣4, 𝑣5}
  • {𝑣4, 𝑣5, 𝑣6}
  • {𝑣2, 𝑣3, 𝑣4}
  • {𝑣3, 𝑣4, 𝑣5}
  • {𝑣5, 𝑣6, 𝑣7}
  • {𝑣6, 𝑣7, 𝑣8}

该子图 𝐻 有 5 个顶点,所以其3-团密度为:
3-团密度 = 3 − 团的数量 顶点的数量 = 7 5 \text{3-团密度} = \frac{3-团的数量}{顶点的数量} = \frac{7}{5} 3-团密度=顶点的数量3团的数量=57
因此,𝐻 是3-团最密子图,因为在图 𝐺 中,没有其他子图的3-团密度比 7/5 更高。

3. 两种最先进的算法

本文回顾了两种最先进的CDS算法KClist++和SCTL,并分析了它们的局限性。

KClist++算法

KClist++基于Frank-Wolfe算法,通过枚举所有k-团并更新每个顶点的权重。该算法虽然解决了空间问题,但在每次迭代中都需要重新枚举所有k-团,时间效率低下。

SCTL算法

SCTL通过构建简洁的团树 (SCT) 来加速k-团枚举,并设计了一些优化技术,如批量枚举。然而,SCTL在每次迭代中仍需枚举几乎所有k-团,计算成本依然很高。

在这里插入图片描述

4. 基于计数的CDS框架

为了解决上述问题,本文出了一个简单而有效的框架,利用 k-团计数而非枚举来实现近似解。

框架概述

本文提出了一个基于Frank-Wolfe算法的简单而有效的框架,利用 k-团计数而非枚举。该框架在每次迭代中仅更新顶点的权重,而不是枚举所有k-团,从而显着提高了计算效率。

5. 本文提出的KCCA算法

本文首先介绍了一个基于最先进的本地 k-团计数算法PIVOTER的基本算法,然后开发了一个优化的CDS算法。提出了三个剪枝标准来避免不必要的搜索,并设计了一个基于PIVOTER的KCCA-Basic算法。

剪枝标准

  1. 核心数剪枝:对于顶点𝑣,如果其核心数小于𝑘-1,则不包含在任何k-团中。
  2. 分支剪枝:如果在构建过程中,简洁团树(SCT)的某个分支的顶点数小于𝑘,则该分支不贡献任何k-团。
  3. 持有顶点数剪枝:对于简洁团树(SCT)的根到叶路径,如果其持有顶点数量超过𝑘,则可以跳过该路径。

KCCA-Basic算法

KCCA-Basic首先初始化每个顶点的权重,然后定位 (𝑘-1)-核,并构建SCT。在每次迭代中,它首先设置更新步长,然后遍历所有SCT的根到叶路径,计算包含每个顶点的k-团数量,并更新顶点权重。最后,提取近似的CDS。

6. 实验结果

本文在14个大规模真实图上进行了广泛的实验,结果显示KCCA在所有数据集上都达到了更高的效率和可扩展性。特别是在DBLP合着网络上,KCCA比现有最先进的算法快了多达七个数量级。此外,KCCA在所有图上都产生了接近最佳的解。

实验设置

本文使用了14个大规模真实图,包括生物网络、社交网络和合作网络。对于每个数据集,比较了KCCA与现有最先进算法在运行时间和解的质量上的表现。

在这里插入图片描述

实验结果

实验结果显示,KCCA在所有数据集上均具有较高的效率和可扩展性,并且在解的质量上也接近最佳。例如,在DBLP合着网络上,KCCA比现有最先进算法快了多达七个数量级。

在这里插入图片描述

该表格显示了 kClist++、SCTL 和 KCCA 在不同 𝜖 和 𝑘 值下的处理时间(以秒为单位)。如果一个算法在两週内无法完成,则将其运行时间标记为“—”。最佳表现者用粗体字突出显示;橙色、紫色、绿色、蓝色和红色分别表示相对于最佳竞争者具有 3、4、5、6 和 7 个数量级改进的情况。

7. 结论

本文提出了一个基于计数而非枚举的高效 k-团最密子图发现算法,该算法不仅理论上具有更快的收敛速度,而且在实验中也展示了其卓越的性能和可扩展性。未来的研究可以进一步探索如何利用更高

效的k-团计数算法来进一步提升计算效率,或是在更多样化的数据集中测试该算法的性能。此外,可以考虑将该算法应用于更多实际场景,如异构网络中的子图发现或是动态网络中的变化监测。总之,本研究为图挖掘领域提供了一种高效且实用的新方法,具有广泛的应用前景和研究价值

论文地址:https://dl.acm.org/doi/10.1145/3654922

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值