本文由北京大学邵蓥侠,陈雷,崔斌老师发表论文

本文首先介绍了一种内聚子图k-truss,通过将其与k-core相比凸显其优良性,但是由于计算过程中巨大的通信开销和大量的迭代次数,所以k-truss的并行解决方案对于大型图的效率仍然有待改善。

本文提出了一种新颖的并行高效truss检测算法PETA,PETA算法为每个计算节点构造一个三角完整子图(TC子图)。根据TC子图,该算法可找到并行的局部k-truss。而来自TC子图的局部k-truss简单结合正好是全局k-truss。此外,该算法在连续迭代之间通过应用无缝检测避免了繁琐的三角计数(重新启动)。在新框架中,最高的通信开销有上限,而实际通信开销与无效三角的规模有关。总计算复杂度与著名有序算法和最小迭代次数相同。

实施PETA方法:
首先确定频率和边沿初始之间的幂律分布,即边支持法。边支持法确保了PETA可以在实际中有更少的图空间开销。此外,通过应用一个边均衡分区,这部分空间开销会进一步减少。构造三角完整子图并避免了无缝检测技术带来的多余计算。我们需要将广泛顶点中心模型扩展为面向子图的模型,面向子图的模型把局部子图(分区)看作最小的操作单元,并允许用户直接访问和更新局部图。

本文假设空子图是图G的k-truss(评断k),任何图G至少有一个k-truss来评断k。在图G可确保一个条件中只有一个Γk:对于固定阈值k,在图G中仅存在一个最大k-truss。通过计数边e周围的三角简单计算了θ(e)。两种解决方案基本操作说明如下:
1、经典解决方案:按照ID的升序对每条顶点的邻点进行排序。对于边(u,v),算法可计算O(d(v)+ d(u))中(u,v)周围的三角数目。该方法有助于发现在中k-truss的时间复杂度。
2、基于索引的解决方案:当操作边(u,v)时,该算法仅枚举度数较小顶点u的邻点w,并测试图G中存在第三条边(w,v)。如果在哈希表的帮助下以恒定的时间完成操作,则基本操作可以在O(min {d(v),d(u)})中完成。

改进的L. Quick算法
L.Quick的并行解决方案使用广泛图计算系统Pregel,并在有序有向图上运行,其中根据顶点ID,每条边将从小角到大角连接两个顶点,然后断开连接。该方法将逻辑迭代分为四个独立的超步,然后将发生同步。通过简单地摆脱第四个超步来提升表现,该步骤将在每次逻辑迭代中删除0度的顶点。改进的方法最终丢弃隔离顶点,因为这些隔离顶点在算法中不会带来多余的计算。这种修改不仅在类似于Pregel的系统中的(超步)减少了同步次数,也降低了通信开销。算法会在有序有向图上运行,每三个超步重复一次,直到没有边丢弃。在第一个超步中,每条顶点v枚举来自邻点的顶点对并发送为完成第三边的相应三元组信息。第二步则验证三元组消息中第三条边的存在,如果三角被发现,则确保三条边的来源。在第三个超步中,每条顶点都为邻边对三角计数并消除低于阈值k-2的边θ(e)。
局限性:1、将同步频率放大了三倍;2、重复的三角计数带来了大量的冗余计算和通信;3、在Pregel中以顶点为中心约束的模型仅支持实现进行基本操作的经典解决方案。

面向子图的模型消除了顶点约束,将局部子图视为最小可操作单元,并允许用户直接访问和更新局部图。并行计算框架同时执行许多子图程序,并且每个子图都是最小的计算单元。子图程序在连续的迭代之间相互交换消息。与以顶点为中心的模型相比,面向子图的模型是一种粗粒度模型,有效地表达局部图算法。由于在面向子图的模型中操作局部图的灵活性,算法可以按需访问顶点和边。这些图算法可以通过它们的相应的有序算法进一步优化。每个计算节点上的原生局部分区不会包含每条边的共同邻域的完整信息,使II型和III型三角不能直接在局部分区中捕获。因此,仅依靠局部分区不可能计算局部最大k-truss子图。在某些其他TC子图中,它是内部或交叉边的幻像。当所有局部最大k-truss都稳定时,这些最大局部k-truss的并集是全局最大k-truss子图,确保PETA的正确性。该算法可以发现通过迭代找到局部最大值来校正最大k-truss。由于TC子图,每条计算节点都可以独立地在迭代过程中检测局部最大值k-truss。局部的子图算法分为两个不同的阶段。第一个是初始化阶段,在此阶段构造TC子图并计算核心边的初始θ(e)。另一个称为检测阶段,负责查找局部最大k-truss。

PETA影响因素:
在子图和无缝检测时,PETA的通信成本为3|△|。
1.空间开销:对于三角的完整性,TC子图需要具体化外部边,可以测量产生的内存开销。如果图G是集群并且上限到达,那么每条TC子图都变成整个集群。
2.计算复杂度:面向子图的模型支持基于索引的方式实现基本操作。因此并行算法能够检测局部最大k-truss,其效率与最优串行方法相当。
3. 通信开销:算法2中检测阶段的通信开销以3 |△|为边界。在检测阶段,当消除II型和III型三角时,发生了通信。最坏的情况是在三个独立的TC子图中同时删除一个三角。
4. 迭代次数:由于执行的迭代次数更多,需要更多的同步性,并且由于不平衡,影响会更大。有必要获得较低的迭代次数。

实际优化几个实现细节:
1、边支持法
θ(e)的频率与θ(e)之间的关系满足幂律分布。初始θ(e)的频率分布满足幂定律,当完美的幂律定律成立时,意味[E(θ(e)]]是一个相对较小的值时。实际上,边支持法不是理想的幂律,相比较图比例E [θ(e)]确实很小。
2、分区对PETA的影响
如第5节所述,较小的会减少空间和通信开销,同时也会提升计算效率。这意味着优质分区将从空间开销、通信开销和计算复杂提升效率PETA。实际上,具有较小切边率的优质分区会减少启发式方法的迭代次数。

Efficient Cohesive Subgraphs Detection in Parallel相关推荐

  1. 视盘检测 Accurate and Efficient Optic Disc Detection and Segmentation by a Circular Transformation

    Accurate and Efficient Optic Disc Detection and Segmentation by a Circular Transformation 原文意思: 利用边缘 ...

  2. Efficient Dense Frontier Detection for 2D Graph SLAM Based on Occupancy Grid Submaps

    基于占用栅格子图的2D 图-SLAM 的密集边界高效检测 摘要 介绍 相关工作 准备工作 边界检测 边界检测算法 算法1:子图更新事件的处理 算法2:姿态图优化事件的处理 摘要 边界是世界地图上已探索 ...

  3. Highly Efficient Salient Object Detection with 100K Parameters论文解读

    ECCV2020 Paper: http://mftp.mmcheng.net/Papers/20EccvSal100k.pdf Code: https://github.com/MCG-NKU/SO ...

  4. ### Paper about Event Detection

    Paper about Event Detection. #@author: gr #@date: 2014-03-15 #@email: forgerui@gmail.com 看一些相关的论文. 1 ...

  5. object detection

    原地址:https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html Object Detection Pu ...

  6. Object Detection(目标检测神文)

    目标检测神文,非常全而且持续在更新.转发自:https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html,如 ...

  7. Object Detection经典代码与文章

    转载自Object Detection Papers Deep Neural Networks for Object Detection paper: http://papers.nips.cc/pa ...

  8. 深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4《Optimal Speed and Accuracy of Object Detection》

    深度学习论文阅读目标检测篇(七)中英对照版:YOLOv4<Optimal Speed and Accuracy of Object Detection> Abstract 摘要 1. In ...

  9. Paper:《YOLOv4: Optimal Speed and Accuracy of Object Detection》的翻译与解读

    Paper:<YOLOv4: Optimal Speed and Accuracy of Object Detection>的翻译与解读 目录 YOLOv4的评价 1.四个改进和一个创新 ...

最新文章

  1. python中一共有多少个关键字-python 查看所有的关键字
  2. 信息系统项目管理师-知识管理知识点
  3. ChaosBlade x SkyWalking 微服务高可用实践
  4. 与数学实验第二版艾冬梅_吉林省实验繁荣新初一师资大起底,快来看看娃的老师长啥样?...
  5. mysql重做日志与binlog日志区别_MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结...
  6. Hadoop 基础系列一Hadoop 系列之 1.0 和2.0 架构
  7. Python ord(),chr()函数
  8. python 进阶_GitHub - eastlakeside/interpy-zh: 《Python进阶》(Intermediate Python 中文版)...
  9. 【SVN】SVN版本回退与常用命令总结
  10. FileZilla Client中文乱码
  11. SpringBoot+Vue本地实现微信公总号web端的微信登录获取用户信息,前后端分离
  12. 红蓝军模拟对抗三维电子沙盘开发教程第十课 wpf建立3D GIS数字地球
  13. [oracle]Oracle数据库安全管理
  14. Win11怎么打开3D查看器
  15. web服务器项目常见面试题目(C++)
  16. OS_PV操作_5.行人与机动车过路口问题
  17. 谈谈XR关键技术及VR/AR/MR/XR关系
  18. 反洗钱机器学习_为什么不使用机器学习来打击洗钱活动?
  19. 服务器和nas在文件共享,nas?文件服务器的配置?
  20. 魏永明: MiniGUI的涅槃重生之路

热门文章

  1. 阿里云+宝塔+狂雨小说CMS:搭建小说网站
  2. mt6739怎么root,mt6739怎么改串号
  3. 关闭血条上显示的服务器名字,魔兽世界怀旧服远处看不到血条怎么办 姓名板血条显示距离修改宏分享...
  4. 2019秋内推字节跳动第三题
  5. 企业绩效考核与6s管理办法实施方案
  6. 西安交通大学大学计算机pdf,西安交通大学计算书.pdf
  7. 【原创】Unity3D WebPlayer 网页版播放器插件离线配置方案
  8. J2me实现半透明效果
  9. latex 模板使用技巧——参考文献篇
  10. java写值日表_Java知识之JVM