【论文阅读·1】EvoGraph: An Effective and Efficient Graph Upscaling Method for Preserving Graph Properties


有不合理的地方还请大家指出批评!刚开始学graph generation~本文主要介绍EvoGraph方法,至于Kronecker和GSCALER将在其他博客中介绍

任务:graph upscaling
关键词:graph generation、edge attachment、hashing technology、preserving graph properties


摘要

本篇文章介绍了一种基于哈希计算的edge attachment机制,用于graph upscaling中。由于研究者和公司都缺乏variety large-scale real graph,于是近些年来开始对graph generation进行研究来生成类似real graph的graph。无论是synthetic graph generation method还是upscaling method,在graph properties的保持上、内存时间开销上都是不尽人意。本文提出了EvoGraph的方法,使用一种高效的edge attachment机制,使得upscaling过程中能够preserve properties,而且这种方法能够减少内存和时间的开销。


介绍

由于许多场景下的graph size是指数增长的,因此需要快速且可扩展的图生成方法。作者将现存的graph generation分为两类,synthetic graph generation method(合成图生成方法)和graph upscaling method(图放大方法),区别在于是否使用real graph。前者提出的方法有:ER,Kronacker,RMAT,BTER,和BA。但生成的graph在properties上和real-world graph差异很大degree distribution

后者方法本文主要介绍了GSCALER方法,该方法的upscaling过程遵循以下四步:
1. 将给定graph分解成单个的顶点
2. 复制顶点以便scaling up(引用论文中并没有提及copy的方式,给出的示例图中并不是简单的copy*2?有待细读)
3. 将一组顶点合并成single element
4. 将所有的element重组成一张完整的graph(考虑出入度)
GSCALER
但由于其upscaling中分解和重组的机制,不能保留graph的properties,许多无尺度的内在属性因此丢失。而且该方法需要大量的内存和计算,如果进行十亿级的upscaling就无法完成,随着scale factor(扩大的尺度因子)的增加需要更久的时间upscale

EvoGraph方法无需从real graph中提取features,也不需要进行分解、重组element。而是通过设计的哈希函数将new edge连接到real graph,避免了选择那些edge进行attach的琐碎问题。提出reference vertext和parent edge的概念解决edge的选择问题。本文的方法也解决了关键的问题:upscale过程中不仅保留的graph properties,而且不需要关注graph的type,以及scale factor(放大因子)。为了解决性能问题,作者提出了multi-stage hashing技术,
可以满足O(k · |E| · lnk) 的时间复杂度和O( |E| )的空间复杂度

本文的主要贡献:

  • 提出新的graph upscaling方法可以preserve 至少八个real graph的主属性
  • 提出mulyi-stage hasing方法,在原始图的内存耗费基础上,可以快速upscale到任意的尺度
  • 提出reference vertext和parent edge的概念来解决edge attachment问题(避免琐碎的机制)
  • 与Kronecker和GSCALER在preserving graph properties、performence(运行时间,内存和可扩展性)进行比较

EvoGraph方法

下图是EvoGraph的定义,可以发现当scale为k+1层时,graph则由顶点集(k层+k+1层新增连接点)和边集(k层+k+1层新增连接边)组成的,整个的upscale过程是一层一层向外扩展的。Evograph更偏向于一种edge-centric的方法,当新边连入时通过设计的哈希函数选择连接点以及方向。当upscale发生在k-1到k时,Evograph连接一条边 e = (vs,vt ),其中vs为起点且属于k-1,vt为终点且属于k(颠倒亦可),这样就在放大过程中保留了图的属性(出入度,triangle count等等,后面有部分证明),下面将介绍basic edge attachment也是本文的重点
这里写图片描述

边连接
在upscale过程中,每次增加的顶点数与原始graph的顶点数相同(如示例图中每次增加5个顶点进行upscale)。然后是edge attachment process:选取图(SF=k-1)中已存在的边ex=(vs,vt),那么ex可能是顶点vs的出度以及顶点vt的入度,然后attach一条新边ey,使vs为ey的源顶点或vt为ey的尾顶点。同时也定义了reference vertex的概念:As we explained above, one of two end-vertices of the new edge ey belongs to V SF=k . We call such a vertex by a reference vertex at the scale factor k

如下图中v2在SF=2下的REF是v7,v2在SF=3下的REF是v12(可以理解成不同k层对应的顶点)。上述过程以k-1层的边、点为基础,在k层上进行扩展,那么问题来了,如何确定新边ey连接的顶点以及方向呢?
edge attachment

文中对这一问题进行了定义,使用一对哈希函数,分别解决新边ey的parent edge ex的ID值(h1函数),以及边ey的方向(h2函数),这里0指的是指向图的内部,1指向图的外部,还有一个函数H(key)=((key+13)*7)。如图4中的SF=2扩展过程中的新边e6,H(6)=((6+13)*7)=133,h1(6)=133mod(2-1)·6=1,h2(6)=133mod2=1。因此ey的parent edge是e1=(v0,v2),e6根据下图的公式可得return (v0,REF sf=2(v2)) (return的判别决定了方向),也就是e6=(v0,v7)。

definition 3.1
hash function

在给G sf=k添加新边ey(之前的边为ex)的时候会出现两种情形如下图,第一种情况就是parent ex在SF=1中,这种情况下两条边(vs1,vtk)和(vsk,vt1)都是由h2(y)来决定的;第二种情况就是ex的两个顶点不处于同一个Scale Factor中如图5.b,这种情况下两条边也是由h2(y)来决定的。上述两种情况是edge attachment process中的所有情况。
这里写图片描述


edge attachment中的内存优化

上述过程在preserve properties十分有效,但需要为 ∆G SF=k的边的选择保存G SF=k-1的信息进入内存,在超过数十亿的upscale过程中是不可能的,本文提出MEA(edge-efficient edge attachment process)的方法,无需保存SF=k-1的信息。例如,图4中的红边e14的连接过程:H(14)=((14+13)*7)=189,h1(14)=189mod(3-1)·6=9,以此确定parent edge为e9。

但是与上述edge attachment不同的是,内存里并没有保留e9的信息,我们需要对edge e9进行计算。这里引入了multi-stage hashing技术,与之前的h1(·),h2(·)来选择parent edge不同,MEA通过递归的方式选择parent edge的parent edge…直到找到SF=1中的ancester edge(祖先边)。如图5.b中假设parent edge ex是(vsj,vti),如果ex并不在SF=1中,就无法决定目标新边ey是红色那条亦或蓝色。这时我们接着调用哈希函数计算,直到计算到ancester edge(SF=1内,如5.a中的(vs1,vt1),这样我们就可以determine所有的ey了。

下图是MEA过程的定义,从SF=k-1 upscale到SK=k的过程,重复递归调用DETERMINE(ey)。下面举个例子哈,图4中确定e14的连接时,需要其parent edge e9,但e9不属于SF=1,因此接着递归DETERMINE(e9),然后得到e9的parent edge为e4=(v2,v4),属于SF=1。而且h2(9)=154mod2=0,因此定义e9 as (REF sf=2(v2),v4)=(v7,v4)。类似的,h2(14)=189mod2=1,定义e14 as (v7,REF sf=3(v14))=(v7,v14)。
MEA


EvoGraph 分析

本文选择了八个熟知的graph properties测试EvoGraph的性能,分别为:

  • In-degree distribution
  • out-degree distribution
  • triangle count distribution
  • Hop plot
  • Distribution of strongly connected components
  • Distribution of weakly C.C,
  • singular values
  • First right singular vector

下图是三种upscale方法的时间复杂度和空间复杂度,EvoGrpah的时间复杂度为O(|E SF=k | ×T SF=k),还给出了T SF=k=O(ln k)的证明过程。并在八个real graph(如Epinions、youtube和twitter等)上进行实验得到了不错的效果。
time and space

下图为实验结果:

SF=1,2,10下 LIve Journal数据集下八条属性的实验结果
这里写图片描述

Epinions数据集下三种upscale方法的比较,SF=2
这里写图片描述

Epinions数据集下三种upscale方法的比较,SF=100
这里写图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值