Improving Coarsening Schemes for Hypergraph Partitioning by Exploiting Community Structure【2017 SEA】

一、作者

Tobias Heuer 和 Sebastian Schlag,均来自德国卡尔斯鲁厄理工学院。

二、摘要

  我们提出了一种改进的多级超图划分的粗化过程,该过程通过利用社区结构的全局信息来提升划分效果。通过在二分图表示上进行模块度最大化来实现社区检测。通过定义表达超图结构属性的图边权重,使我们的方法适用于不同类别的超图。我们将这种方法集成到一个具有强大局部搜索算法的领先多级超图划分器中,并在来自 VLSI 设计、SAT 求解和科学计算等应用领域的大型基准超图集上进行了广泛的实验。结果表明,在粗化过程中尊重社区结构不仅显著提高了初始划分算法所找到的解的质量,而且整体上一致提升了划分质量。

三、相关工作

  • 多级超图划分
      自 20 世纪 90 年代以来,超图划分(HGP)发展成为一个广泛的研究领域。多级 HGP 算法包含粗化、初始划分和细化三个阶段,其中粗化阶段被认为是最重要的,但大部分现有算法仅基于局部相似性度量进行匹配或聚类,未考虑全局结构。为了考虑全局结构:
    • Hagen 和 Kahng 提出了基于随机游走循环的算法来考虑全局结构,但是算法的复杂度为 O ( n 3 ) O(n^3) O(n3)
    • Cong 和 Lim 使用近似边可分性计算作为全局聚类方法,在 m 条边 n 个顶点的图上算法复杂度为 O ( m + n l o g    n ) \Omicron(m+nlog\;n) O(m+nlogn) ,在稀疏图上,边的复杂度可以近似到 O ( n 2 ) \Omicron(n^2) O(n2)
    • Lotfifar 和 Johnson 提议通过移除不重要的边来提高顶点聚类的效果。
  • 现有超图划分工具
      如 PaToH、hMetis、Mondriaan、MLPart、Zoltan、Parkway、UMPa、kPaToH 等,它们在粗化层次结构的每一层计算顶点匹配或聚类,但都基于局部贪婪决策,缺乏全局视野。
  • 基于最大化模块的社区检测
      社区检测试图通过将图的节点划分为不相交的子图(社区)来从图中提取底层结构,使得子图内的连接密集,但子图之间的连接稀疏。不同的质量函数用于判断社区划分的好坏。最流行的质量函数是 Newman 和 Girvan 的模块化,给定一个图G和不相交的社区 C = { C 1 , ⋯   , C x } C=\{C_1,\cdots ,C_x\} C={C1,,Cx},模块化定义为:
    Q = 1 2 m ∑ i j [ A i j − k i k j 2 m ] δ ( C i , C j ) \begin{equation} Q=\frac{1}{2m}\sum\limits_{ij}\bigg[A_{ij}-\frac{k_ik_j}{2m}\bigg]\delta (C_i,C_j) \end{equation} Q=2m1ij[Aij2mkikj]δ(Ci,Cj)
      其中, A i j A_{ij} Aij 表示顶点 i 到顶点 j 的边的权重, k i = ∑ j A i j k_i=\sum\limits_{j}A_{ij} ki=jAij 表示顶点 i 的所有边的权重和, m = 1 2 ∑ i j A i j m=\frac12 \sum\limits_{ij}A_{ij} m=21ijAij 表示所有边的权重和, C i C_i Ci 表示顶点 i 的连接数, δ ( i , j ) = { 1 , i = j 0 , i ≠ j \delta(i,j)=\begin{cases}1&,i=j \\ 0 &,i\ne j\end{cases} δ(i,j)={10,i=j,i=j 表示克罗内克δ函数【二值函数,和同或一样】
      该问题是 NP-hard 问题,目前存在几种有效的启发式算法。一种快速且广泛使用的算法是由 Blondel 等人提出 Louvain 方法:
    • 首先,每个节点被分配到其所属的社区。
    • 然后,算法分两个阶段进行,并迭代重复,直到实现最大化模块度。
      • 在第一阶段,节点被重复分配给邻近社区来最大化模块度的增加,直到无法增加为止。
      • 在第二阶段,根据在第一阶段发现社区结构对图进行粗化,将每个社区收缩为一个节点。

  该算法计算复杂度较低,因此适用于大型图。也存在其他几种专门适用于二分图的模块度定义图,但是它们无法转化为快速算法,因此只能扩展到较小的二分图。另外,还存在一些用于在 k 部图、k 均匀超图中检测社区的技术,在这些方法中,超图被投影到 k 个二分图,然后使用二分模块度方法来检测社区结构。

四、算法概述

  • 多级超图划分算法的目标【前两个一般聚类算法都可以做到,第三个目标则要求考虑超图的全局信息】
    • 聚类算法应该要显著的减少网络的大小【在基于移动的局部搜索算法中,小型网络更容易识别此次移动是否可以改善解的质量】
    • 聚类算法应该要显著的减少网络的数量【可以使得初始划分的输入更加简单】【单顶点网络】
    • 聚类算法应该要使初始划分能够得到一个高质量的解【要求保留超图的结构】
  • 社区感知粗化框架【用社区检测算法先进行分区,然后在各个分区中进行聚类】
    • 其他聚类算法存在的问题【 a 是输入,b 是其他聚类算法的可能聚类结果,c-f 是其他聚类算法导致图 b 的原因,g 是作者提出的算法,可以有效避免这种情况】
      在这里插入图片描述
    • 社区检测【使用 Louvain 方法进行社区检测】
      • 超图表示
          为了采用 Louvain 方法作为社区检测算法,必须选择一个合适的基于图的超图表示。两种常见的模型是二部图表示。但是,如果使用团将(e)图边插入到每个网 e 的团图中会破坏超图的自然稀疏性,在空间和时间上可能成本过高【超边转成完全图会增加很多边】。此外,更重要的是,这会夸大具有两个以上引脚的网的重要性。因此,我们使用二分表示,它允许我们在 O ( ∣ P ∣ ) O(|P|) O(P) 的空间内编码任何超图。【将代表超图顶点的节点称为 ⊺ \intercal 节点,将代表网的节点称为 ⊥ \perp 节点
        在这里插入图片描述
        二分图的密度
        d = d ( v ) ‾ ∣ e ∣ ‾ = ∣ P ∣ / n ∣ P ∣ / m = m n \begin{equation} d=\frac{\overline{d(v)}}{\overline{|e|}} =\frac{|P|/n}{|P|/m}=\frac mn \end{equation} d=ed(v)=P∣/mP∣/n=nm
          其中, d ( v ) ‾ \overline{d(v)} d(v) 表示平均每个顶点的度, ∣ e ∣ ‾ \overline{|e|} e 表示平均网络大小, ∣ P ∣ |P| P 表示二分图的边的数量。
        二分图的边权
        ω ( v , e ) = 1 \begin{equation} \omega(v,e)=1 \end{equation} ω(v,e)=1
        ω e ( v , e ) = 1 ∣ e ∣ \begin{equation} \omega_e(v,e)=\frac{1}{|e|} \end{equation} ωe(v,e)=e1
        ω d e ( v , e ) = d ( v ) ∣ e ∣ \begin{equation} \omega_{de}(v,e)=\frac{d(v)}{|e|} \end{equation} ωde(v,e)=ed(v)
    • 粗化过程
        在社区检测的基础上,超图的粗化过程被设计为仅在同一社区内的顶点之间进行收缩。具体来说,对于每个社区中的顶点,算法会根据局部相似性度量来选择收缩伙伴,但收缩操作仅限于同一社区内的顶点。这样可以防止不同社区之间的顶点被错误地合并,从而保持超图的自然聚类结构。通过这种方式,粗化过程能够在局部决策的基础上,利用全局的社区结构信息来指导顶点的合并。

五、实验结果

  • 数据集【在 294 个超图上进行评估】
    • ISPD98 VLSI 电路
    • Florida 大学的稀疏矩阵集
    • 2014 年国际 SAT 竞赛
  • 参数
    • k = { 2 , 4 , 8 , 16 , 32 , 64 , 128 } k=\{2,4,8,16,32,64,128\} k={2,4,8,16,32,64,128}
    • ϵ = 0.03 \epsilon=0.03 ϵ=0.03
  • 实验分析
    • 性能对比
        KaHyPar-CA 在初始划分、平均解质量和最优解质量上均优于原始 KaHyPar。与 hMetis 和 PaToH 等其他工具相比,KaHyPar-CA 在大多数基准测试集中表现最佳,且在运行时间上与 hMetis 相当,甚至在一些情况下更快。
    • 边权重方案评估【初始割边(初始划分算法计算)、平均割边和最小割边】
      • 对于低密度超图, ω d e \omega_{de} ωde 权重方案表现最佳
          在低密度超图中使用统一边权重会降低解的质量,这表明 n 级方法结合强大的局部搜索启发式算法更具有优势。 ω e \omega_{e} ωe ω d e \omega_{de} ωde 都有提升,但是 ω d e \omega_{de} ωde ω e \omega_{e} ωe 更稳定。其平均改进接近中位数,始终大于零,且始终高于 ω e \omega_{e} ωe 的平均改进。
      • 对于密度接近 1 的超图,统一权重较好
      • 对于高密度超图,三种方案结果相当。
          如果超图的密度很大,所有三种方案的结果相当。这可以解释为,如果 d > 1,大多数网都很小。这在二分图中转化为“小星形”(甚至对于大小为 2 的网是路径),这不会扭曲 T 节点的社区结构。【高密度的超图很接近图】
        在这里插入图片描述
          基于这些结果,我们配置了算法的最终版本,使其根据观察到的密度在运行时选择权重方案。如果 d ≥ 0.75,则使用统一边权重,否则使用 ω d e \omega_{de} ωde 。在下文中,我们将这种配置称为 KaHyPar - CA。
        我的猜测是,d 越大,超图越接近图,超图转为图损失的信息少,所以采用什么边权方案差别不大;而 d 越小,超图与图的结构越大相径庭,超图转为图损失的信息越多,所以就需要特殊的边权方案来弥补损失
  • 实验结果
    在这里插入图片描述

六、主要贡献

  • 提出了一种新的超图粗化方案,通过利用社区结构信息,显著提高了多级超图划分算法的解质量,并且对运行时间影响不大。
  • 将社区检测技术与超图划分相结合,设计了一个灵活的社区感知粗化框架,适用于不同类型的超图。
  • 通过大量实验验证了所提方法的有效性,证明了在多个应用领域的超图划分问题中,考虑社区结构能够获得更优的划分结果,为超图划分领域提供了新的研究方向和改进方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值