大图算法——《Computing top-k temporal closeness in temporal networks》论文随记

一. 总体概述

        了解关于图的紧密中心性(The closeness centrality)的定义,同时学习了时序(子)图的概念。作者在这篇文章中,使用标签设置策略设计了一种最快路径的算法来计算精确的顶部k时间紧密性并且找到相应的顶点,并且在真实世界数据集中运行时间得到改进。此外,导出了在真实数据集上表现良好的启发式修改,并大大减少了运行时间,只导致了所有数据集的很小错误。对于所有边的边遍历所需时间相等的情况,我们将两种近似算法提升到时域,估计可达顶点的数量以及近似所有顶点的接近度。在真实世界数据集上对我们的所有新方法进行了实验评估,并表明在许多情况下,它们在保持高质量的同时大大减少了运行时间。同时也证明top-k时间紧密性相比其他的方法更有效的找到时间图中最相关的顶点。

二.重要概念总结

  • Closeness Centrality(紧密性中心性):是一种检测能够通过子图有效传播信息的节点的方法。紧密性中心性计量一个节点到所有其他节点的紧密性(距离的倒数),一个拥有高紧密性中心性的节点拥有着到所有其他节点的距离最小值。其中 u 是我们要计算紧密性中心性的节点,n 是网络中总的节点数,d(u,v) 代表节点 u 与节点 v 的最短路径距离。更常用的公式是归一化之后的中心性,即计算节点到其他节点的平均距离的倒数。

  • Harmonic Centrality(调和中心性):针对非连通图计算中心性

  • Temporal in-closeness(时间紧密性)
  • Harmonic temporal in-closeness(调和时间紧密性)被定义为到所有其他顶点的最快路径的长度的倒数之和。
  • Temporal subgraph(时间子图):需要保证在规定的时间间隔I=[\alpha,\beta], 
  • Harmonic Temporal Closeness(调和时间紧密性):对于在V中的顶点u和前面的中心性一样,归一化则与|V|作商。​​​​​​​

  • Harmonic Temporal in-Closeness:顾名思义,描述的是其他顶点到本顶点的调和时间紧密性。对于在V中的顶点u有:

  • Top-k Harmonic Temporal Closeness Problem:找到前k个最大的调和时间紧密性,以及有这些值的顶点。
  • 时间转置(temporal transpose:反转传统静态图的边,并允许搜索到即将到来的时间路径。

三.研究现状

1. 已有无权静态图的top-k紧密性计算(BFS),本文不同在于计算最快的时间路径,允许可变的过渡时间,考虑相应上限,即了考虑时间。

2. 已有动态图,可以动态的添加删除边。但没有考虑边的可用性(availability)以及过渡的时间(transition times)。

3. 已有加权无向图的接近度的随机近似算法。但也没有适用于含时间的情况,本文可以对时间紧密性进行近似。

4. 对于时间图,也有关于单位遍历时间图的研究。

四.算法详解

4.1 Temporal closeness 算法

        用邻接表来装载每个点延伸出去的边。

4.1.1 标签设置算法(label setting fastest path)

         标签设置为l=(v,s,a)表示一条从u到v的路径,u是当前顶点,v表示目标顶点。 s代表开始时间,a代表到达时间。对于每个顶点,都进行标签的保存,当标签进行更新的时候,需要进行标签的删除(删除旧标签的准则有1.当新标签和旧标签的开始时间相同,新标签比旧标签更早结束;2.当新标签更晚开始,同时新标签的结束时间不大于旧标签,两个标签相等时,保留一个)。另外对要处理的标签进行优先队列存储。如果算法最先发现v,那么最短持续时间(从u到v)则被找到。标签列表。

 

 算法理解:首先while循环,直到优先标签队列为空同时F集合等于顶点全集,循环内容为从优先标签队列中提取最小的标签,接着看F集合中是否有v,如果没有,则初始化d[v]=a-s,然后F中加入v(逐渐让F走遍整个图)。接着进行for循环,对于v的每一个出边,都进行一下判断(这个判断是结合了时间间隔的判断,也就是要求开始时间和开始时间加上转换时间都要在时间间隔内部),在的话接着进行标签的迭代,不在则结束。标签的迭代部分需要判断是否是头顶点,头顶点和非头顶点(起始时间是否为零)将会带来不同的标签转换。更新完标签之后,进行标签的删减比较,若更新后标签并没有被优化掉,则在优先标签队列和标签列表中插入。针对这个算法,每次while循环都得到具有最小持续时间(a-s)的标签。在while循环的迭代过程中,顶点插入F集合,此时持续时间d[v]=a-s等于最快(u,v)路径的持续时间。作者使用归纳法证明了持续时间是会随着路径长度的增加而严格增加。

4.1.2 标号算法

        标号算法(Labeling algorithms)是解决最短路径问题的一种重要方法,也是绝大多数最短路径算法的核心部分。

        按照不同的标识结点处理策略,标号算法又可分为标号设定(Label Setting,简称LS)和标号改正(Label Correcting,简称LC)两大体系。

        有关最短路径问题的两个经典算法,Dijkstra算法和Bellman-Ford算法,分别属于LS和LC。

        LS算法通过迭代过程对label进行逐步修正,每次迭代均选择候选结点集中标号最小者退出候选结                点集,并将该结点标号从临时标号转变久为永久标号。这是一种基于贪心策略的最短路径算法,每一次转化为永久标号的label都代表到当前结点的最短路径,考虑的是“当前最优”。

        LC算法在每次迭代时并不一定将任何结点标号从临时标号转变为永久标号,只是对临时标号进行一次修正,所有结点标号仍然为临时标号;只有在所有迭代终止时,所有结点标号同时转变为永久标号。LC算法考虑的是“最终最优”,最短路径需要等待多次迭代直到整个算法运行结束才能被确定。

4.2 Computing Top-k temporal closeness

        为了计算上界,使用每次迭代都更新的顶点的两个成对的并集的子集(F和T),其中F包含u以及已经从u开始计算出来的时间距离。T中包含从v延伸的所有顶点w,其中v在F中,并且w不再F。本文确定了上界和下界以及运行时间。

4.3 启发性修改

        两种修改方案:1.限定标签列表的大小(h),在对新标签添加的时候,如果此时标签的大小已经h,则丢弃掉。这样子运行时间也进行了改变,在内部for循环期间运行时间改变,顶点处的标签数量现在等于h,为每一个v掉用自适应最快路径算法。

        2.当h=1的时候,防止忽略掉那些第一次被访问的顶点,在每个顶点存储一个标签,而不需要标签列表。每个顶点存储发现的最短持续时间的标签,类似Dijkstra。不需要优势检查,因为生成的标签总数一定是小于等于

4.4 相等过渡时间的近似

        两个近似,一个是可达顶点的数量,另一个是所有顶点的时间紧密性。

        时间转置:反转传统静态图的边,并允许搜索到即将到来的时间路径。

4.4.1可达顶点的数量的近似

        在时间间隔内增加开始或者到达的边,然后进行如下步骤:对每一个顶点从[0,1]中随机选择值。从1~h中进行for循环,对图G在时间间隔进行时间转置。对于所有V中的顶点在[0,1]中进行赋值。通过升序的方式对v进行排序。对1~n中进行for循环,计算R(v)并移除使用的边,对没有标记的v去设置。标记所有的在R中的v。

4.5 时间紧密性的近似

        计算具有相等过渡时间的有向时间图中每一个顶点归一化时间紧密性的近似值。首先计算时间转置图,然后计算采样率,对于每一个顶点,确定所有顶点的最短持续时间。可以通过平均转置图中找到的d(v,u)来估计一个顶点的紧密性。

        霍夫丁不等式(Hoeffding's inequality):在概率论中,霍夫丁不等式给出了随机变量的和与其期望值偏差的概率上限

五.实验验证

        考虑运行时间,在各种数据集上有相当大的改进。Top-k算法中随着k的增加,运行时间也会增加,因为计算上限在Top-k值的下端开始变慢。相对于较小的Infectious网络,近似值的处理无法改善运行时间,对于所有其他数据集,可达性近似减少了运行时间。结果显示,相似性非常高。使用第二种启发式算法运行时间紧密性算法,运行时间均低于精确算法,在几乎所有情况下都低于使用第一种启发式算法的时间,性能大幅度提高(在个别数据集中,却下降)。随着采样大小的增加,近似误差减少。Jaccard相似性很低,是由于有向时间边缘和时间限制的对称性缺失导致,具有高时间紧密性(closeness)的顶点和高时间in-closeness不同。

        研究了顶点排名的不同方法的关系,使用相关系数测量了排名的相关性。给出所有数据集的相关矩阵,对于大多数数据集来说,按照度和时间紧密性排序的相关性非常强,高相关性的原因是在单位遍历时间的情况下,每个直接邻居顶点的时间接近度都会加一个值。大多数数据集的时间和静态紧密性的相关性很小。

        模拟传染网络中信息传播的过程,分别选择top-k时间紧密度、top-k最高度、top-k静态紧密度、k个随机选择顶点。接着评估信息随着时间的传播情况(信息传播概率10%),最终的结果显示top-k时间紧密度作为一开始的种子时候,信息将分配给最多的人。时间紧密度在时间图中选择有影响的顶点是一种有用的启发式方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值