Thrifty LP-CC 在幂率图上非常具有针对性的优化方案

该博客探讨了幂率无向图中连通组件(CC)算法的不足,特别是LP算法在处理幂率图时的效率问题。提出了ThriftyLP优化方法,包括统一标签数组、零收敛判断、零种植策略和初始Push优化,以显著减少算法的运行时间和提高效率。实验结果显示,ThriftyLP在某些情况下甚至超越了目前最佳的DisjointSetCC算法。
摘要由CSDN通过智能技术生成

摘要

抓住幂率图的特点——绝大多数点在一个CC里
提出几种优化使得LPCC算法的运行时间显著减小
效果甚至超过当前更多见也效果最好的Disjoint Set CC

背景

幂率无向图、frontier、LPCC

LPCC:每个点有唯一标签,通常是ID,用min函数不断传递标签,每个CC上的点收敛为同一最小标签

DO-LP是典型且最先进的一种
在这里插入图片描述

LP算法的缺陷

对于幂率图

  1. Repeated Wavefronts——缓慢且重复的收敛过程。两个标签数组,每轮1hop,收敛轮数很高,几乎是CC的直径。
  2. Preaching to the Converged——收敛过程的首尾几个迭代,效率很低;而过程中却有很大的重合部分存在于已收敛点和正活动点之中。这意味着DOLP无法识别那些顶点收敛了,并且不断向其传递消息。
  3. Inefficient Initial Label Assignment——不考虑图结构的初始标签分配
  4. Eager Bootstrapping Label Propagation——对于根据frontier大小来选择push/pull的DOLP来说,首轮pull实在太低效了。这样急切而低效的LP没用

DOLP算法的示例收敛进度与活动顶点

Thrifty LP

注意到幂率图CC有如下特点
在这里插入图片描述度最高的点所在CC,居然包含了图中绝大多数的点

结合当前LP算法的4个缺陷,由此提出下面4种优化方法

  1. Unified Labels Array——不再使用两个标签数组了,仅用一个,减少一些过时的消息,进而大大减少收敛轮数
  2. Zero Convergence——如何确定一个点收敛了?若其标签为0,那肯定就收敛了
  3. Zero Planting——把度最大的顶点标签设为0,很可能在CC的中心,诸多便利
  4. Initial Push——首轮pull效率低,不如改为push,仅对点0进行。仅此一轮,因为它的2-hop邻居很多并且大比例重复

在这里插入图片描述

实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值