【论文阅读】Four Degrees of Sepration 四度隔离

该博客围绕Facebook社交网络展开研究,基于其数据集测量出人们平均关系链路长度为4.74,得出“四度隔离”结论。使用HyperANF工具计算图的邻域函数和距离分布,测量Spid值佐证相关猜想,还用iFUB算法计算图的有效直径,不过“四度隔离”结论与现实体验有差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Day1 2019.4.25

阅读【1】的摘要部分,简单翻译,阅读【3】,简单翻译总结

Day2 2019.4.27

阅读【3】,简单翻译总结,大致浏览【1】全部,简单翻译总结

翻译【1】的Introduction、Related Work

Day3 2019.4.28

翻译【1】的Related Work、Definitions and Tools

Day4 2019.4.29

翻译【1】的Definitions and Tools

Day5 2019.5.1

翻译【1】的Experiments4.1到4.5

Day6 2019.5.2

翻译【1】的Experiments4.6到4.7

Day7 2019.5.5

翻译【1】的Experiments4.8到4.9(结束)和Conclusions

加入自己的思考(比如“朋友”的定义问题,查找补充相关材料(比如它引用的那些论文或DBLP、Arxiv上 相关的论文,Microsoft的那篇论文),看能否结合另一篇论文

添加栏目“论文中没有读懂的地方”

斟酌语句,数学公示部分再细致加入,迁移至word排版美化,适当语句加粗,最终定稿,上交

全文翻译总结 Four Degrees of Sepration

Abstract&The New York Times Review

本文的研究背景源自Frigyes Karinthy在1929年提出任何2个人都可以被长度至多为6的关系链相连接的“六度隔离”社会学猜想(实际上“六度隔离”这个说法是由于20世纪90年代的一个戏剧的使用而流行起来的,Frigyes Karinthy本人的文章实际上对于是否把起始点也算作长度为6的关系链路长度的一个单位写的模棱两可),心理学家Stanley Milgram随后于1967年进行了著名的邮寄卡片实验测量出了人们平均的中间关系链路长度在4.4到5.7之间(这符合Frigyes Karinthy的猜想),在邮寄卡片实验中共有296名志愿者被要求只能将卡片寄向熟人,以此表示人与人之间的关系,Stanley Milgram将上述实验成果整理发表了著名的“The Small World Problem”系列论文。本文的团队成员来自Facebook和意大利的米兰大学,他们利用Facebook数据集再次测量出了人们平均的关系链路长度为4.74(因此产生了本文的标题“四度隔离”),本文还尝试考察了人们平均关系链路长度的推移变化情况(在这里相比以往研究的年代所测得的长度就变短了;同时还可能存在地区、年龄因素,比如全球的平均关系长度为4.74,但是美国的超过13岁用户的平均关系链路长度仅为4.37)。本文的贡献主要在于它所测量的网络用户数据规模(7.21亿Facebook用户和690亿用户朋友连接)是所有同类问题研究中最大的,实验共耗时1个月,本文同时声称它的测量结果是可以从概率学算法角度证明为非常精确的。然而纽约时报的一篇评论提出了对于本文所使用的“朋友”这个概念的定义争议问题——在互联网中互发消息或是关注能否算作朋友的问题,从而质疑了本文测得数据的有效性,评论同时提及了微软在2008年的一个实验中(涉及用户数量为2.4亿)使用更为保守的“朋友”的定义测得的平均关系链路长度为6.6。

1 Introduction

Sebastiano在第20届WWW会议上发布了一款可以处理非常庞大的图的距离分布的工具HyperANF,这使得我们现在可以在比以往大好几个数量级规模的网络数据上进行精确研究图的距离分布。研究图的距离分布的其中一个目标就在于获得图的一些有趣的统计学指数,这些指数可以被用作图的独特标识来区分不同类型的图,比如可以用它来区分社交网络和互联网。特别来说,有一种统计学指数名为Spid(最短路径分散指数),它实际上就是距离分布的方差-均值比,早期研究指出社交网络的Spid值都小于1,而互联网的Spid值都大于1,这就带来了本文所要研究的第一个主要问题——Facebook的Spid值是多少?(测量出Facebook的Spid值的另一个潜在好处就是可以检验早期研究关于Spid值区分网络的猜想是否正确)

2 Related Work

Stanley Milgram的“Small World”实验

Stanley Milgram的“Small World”实验是早先研究同类社交网络问题中最著名的了,在Stanley Milgram的实验中,他的实验目标用他自己的话来说就是回答“从一些人中随机的抽出2个人,连接他们关系的最小中间人数为0,1,2,...,k的概率分别是多少”。他的具体实验过程如下:他选取了296名志愿者,要求他们传递一则消息给一个指定的人(实验中是一位生活和工作在波士顿的股东),除非志愿者自己就认识这位股东,否则志愿者们不可以直接将消息传递给他,而是需要将消息转给一位志愿者的一名熟人,这名熟人是志愿者所认识的人中被认为最有可能会认识那位股东的人。实验中的志愿者有100名生活在波士顿(与目标股东的地理位置相近),有100名是Nebraska州的股东(地理位置远离目标股东但是职位相同),另有96名是随机抽取的Nebraska州居民(地理位置和职业都远离目标股东)。实验结果为最终有64条关系链成功传递了消息(仅占总数的22%),平均的关系链路长度为5.2,其中从波士顿发出的成功抵达目标的消息的平均链路长度为4.4,而从Nebraska州发出的成功抵达目标的消息(不论是股东发出的还是随机选取的居名发出的)的平均链路长度为5.7。换句话说,实验得出了“六度隔离”的结论,揭示了这个世界中人们之间的关系远比之前预想的要近。实验同时指出了地理因素是影响人们关系链路长度的最主要因素(在本实验中超过职业差异因素)。

本文和“Small World”实验的一个明显不同就在于,Stanley Milgram实际上测量的差不多是人们平均关系链路的上界——这是因为人们自己在进行转寄选择时显然是无法挑出最短路的。另外,Stanley Milgram的研究重点是估计出人们平均关系链路的长度,而本文的研究则更注重有效的路由本身,本文对于最短路径进行测量时就是比Stanley Milgram当时研究时对于最短路径的定义要更加精确的。

Jure Leskovec and Eric Horvitz基于Microsoft Messenger network的研究

和本文实验最相近规模也是其余研究中最大的就是Jure Leskovec和Eric Horvitz于2008年发表的基于Microsoft Messenger network的研究,他们所研究的图包含1.8亿结点和13亿条边。他们的研究结论是人们的平均关系链路长度为6.6,换句话说,佐证了“六度隔离”的结论。然而于本文不同的是,他们对于2个结点之间是否有边相连采取了比较严格的要求——2个人必须在1个月之内被观察到有交流才被认为有关联,而本文则放宽了这一要求,因为本文还考虑到了可能2个人之间没有被观察到互发消息,但是实际上2个人之间是有关系的这种情况(比如说相互关注,但是不互发消息)。

QiYe, BinWu, andBaiWang基于小规模社交网络的研究

QiYe、BinWu和BaiWang于2010年在较小规模的无向社交网络上研究了距离分布,他们使用的网络规模实在是太小了以至于都很难达到随机性研究的要求,因此他们在研究中采用了一种“采样”技术。然而本文特别声明了,QiYe等人采用的这种“采样”技术是无法应用于像Twitter这样的无向图(而且结点之间并没有都很紧密的连接)。

 Leskovec, Kleinberg and Faloutsos对社交网络演变的分析

对于社交网络随各种因素发生演变的分析也是当下这一领域的流行研究内容,Leskovec、Kleinberg和Faloutsos就在一个较小规模(400万结点,1600万条边)的社交网络数据上进行了持续性的观察和分析。他们发现社交网络中人们的平均“复杂度”会随着时间的推移而增加,同时社交网络的“有效直径”会随着时间的推移而减少。他们研究中最具争议性的假设就是在任意时刻t,边的数量m(t)都与结点的数量n(t)指数相关,其中这里的指数是一个(1,2)区间内的常数a,也就是m(t)\propto n(t)^{a}

3 Definitions and Tools

图的领域函数N_{G}(t)的含义为对于整数t返回图G中结点对<x,y>的数量,其中从x出发可以在t步内到达y

本文使用了HyperANF这个工具,HyperANF的最大作用就在于它可以很迅速的计算出一个非常大的图的领域函数

B(x,r)表示一个以x为中心,半径为r的球,根据以下等式可以将B(x,r)这个球分解为若干个球B(y,r-1)

B(x,r)=\bigcup_{x\rightarrow y}^{ }B(y,r-1)\cup \left \{ x \right \}

其中y表示x的直接相邻点,上式的意思就是说以x为中心,半径为r的球,和将所有的以x的相邻点y为球心,半径为r-1的球加上中心点x的并集形成的球,是同一个球。因此在计算时可以从中心点x,也就是B(x,0)出发,依次计算出所有的球B(x,1),再计算出所有的B(x,2),以此类推...当计算B(x,r)时,需要调用B(y,r-1)的数据。通过这种方法来计算会带来的问题就是计算的空间复杂度实在是太高了,不过HyperANF可以通过一种称作HyperLogLog计数器(HyperLogLog counter)的近似方法来解决空间复杂度过高的问题。每一个计数器都由一些小型寄存器组成,本文所采用的寄存器大小是5比特。每一个寄存器都会跟踪记录一个结点序列(经过哈希函数映射处理),序列中不同元素的个数于2^{m}成正比,其中m是不超过一个提前设定的上界M的数。随后通过一种叫做随机平均(stochastic averaging)的技术将一个序列分解为许多个子序列交由不同的寄存器来继续分析处理。最后,将所有寄存器计算的结果聚合汇总得到最终的结果。HyperANF的另一个优势在于它使用了一种收缩压(systolic)的技术来避免对于在迭代过程中不会发生变化的球的重复计算,并且避免了以往研究中所使用的对准确性没有任何可证明好处的“任意终止条件”技术。

3.1 Theoretical error bounds 

将HyperANF迭代t次运算出的结果就是图G在整数t下的领域函数N_{G}(t)的估计\hat{N_{G}(t)}

\hat{N_{G}(t)}可以被看作随机变量,满足

\hat{N_{G}(t)}=\sum_{0\leq i\leq n}^{ }X_{i,t}

其中n为整张图的结点数量,X_{i,t}就是一个HyperLogLog计数器,它计数的值就是从结点i出发在t步内能到达的所有结点的数量

当每一个HyperLogLog计数器使用m个寄存器时,X_{i,t}的相对标准偏差\eta_{m}保证满足上界约束\eta_{m}\leq 1.06/\sqrt{m},本文的团队对于Facebook中提取出的绝大多数图进行计算时每个HyperLogLog计数器都使用了64个寄存器(m=64\rightarrow \eta_{m}=0.1325),而在计算最大的2个图时每个HyperLogLog计数器则使用了32个寄存器(m=32\rightarrow \eta_{m}=0.187

可以证明HyperANF在第t次迭代计算出的结果\hat{N_{G}(t)}近似就是N_{G}(t)的无偏估计

为了减少偏差并计算测量中标准误差的估计,本文团队使用了一种名为jackknife的技术,这是一种经典的用于在一个数据样本上分析任意统计量的无参数方法,实践证明这一技术在进行本文的研究时非常的有用。

4 Experiments

本文分析的数据来自于Facebook上2011年5月的活跃用户,活跃用户的标准是从收集数据的时间算起过去28天内有过登录的用户。只分析活跃用户而去除掉那些已经被弃置不用的账号的好处在于这些活跃用户可以更加近似的代表真实的个体。这些活跃用户都是Facebook标准用户,不包含明星网红,在Facebook上标准用户最多只能有5000个朋友。依据Facebook的数据保留政策,用户的历史活动数据并不会被保存,本文采集的数据就单单只是截止到2011年5月时的活跃用户数据。需要特别声明的是,在本文的数据被采集时,Facebook上还没有“订阅”的功能(这可以作为一种单向的表达关系的特征),该功能是在2011年8月才出现在Facebook上的。

本文打算在实验中考察时间和空间的因素。因此他们分析了整张Facebook图(fb),美国子图(us),意大利子图(it)和瑞典子图(se)。他们还参照原始Milgram实验将意大利子图和瑞典子图组合在一起进行了分析,主要是想考察将两张地理位置上分离的区域性子图放在一起是否会显著的改变人们的平均关系链路长度。在实验中,主要是根据用户当前的ip地址信息来确定用户的地理位置。对于每张图,本文团队都将他们在HyperANF上迭代运算了多次来计算从2007年到2011年5月份的距离分布,获取到了领域函数的估计值,这些估计的最大相对标准偏差是0.058(也就是说实际实验中的相对标准偏差是要比前面计算出的理论误差上限要底的)。在许多时候,本文团队会让HyperANF迭代更多次从而获得更高的精读。本文团队在另一篇论文中使用”jackknife”技术报告了其他衍生统计量的估计值(比如平均距离)以及标准误差的相关估计。

4.1 Setup

实验使用了一台24核,72GB内存,1TB存储的机器(大概价值几千美元)。

任务的第一步是将Facebook提供的图数据压缩成一种可以让HyperANF进行快速分布处理的WebGraph格式。这需要将Facebook的内部ID变换到一系列的连续数字(这样看来Facebook的原始内部ID并不是连续的数字,我猜测这可能是出于什么安全性的原因所以对ID进行了加密,或者是由于什么算法的原因进行过一些哈希处理,总之,在压缩时如果可以将这些原始不连续的ID变换为连续的数字后,就不需要存储这些数字了,只需要存储起始和终止数字即可)。举例来说,实验中最大的一张图fb被压缩为了345GB,其中每条边20比特,这个结果达到了信息论中的压缩理论上限的86%(压缩的理论值是logC_{m}^{n^{2}}}比特,n为图上的结点数,m为图上的边数,本文说是使用了7.21亿Facebook用户和690亿用户朋友连接,因此n=721000000m=69000000000)。

这里的WebGraph格式压缩采用BV压缩方法(BV compression scheme),BV压缩混合使用了3种技术:

(1)如果前驱后继结点的一段列表非常相似,那么只存储前驱结点的列表,后继结点和前驱结点一样的这段列表就不用存储了,仅仅作一些简单的标记,在需要的时候可以再从前驱结点那里拷贝过来

(2)如果出现了一段连续的后继序列,那么这一段序列就不存储了,只存储起始值和序列长度(比如一段序列是“1,2,3,4,6,7,8,9,15,16,17”;那么压缩后的存储就是“1长4,6长4,15长3”)

(3)对于间隔开的一段段连续序列,我们按照升序的顺序存储他们之间的差异(按照我的理解,如果一段序列是“1,2,3,4,6,7,8,9,15,16,17”;那么压缩后的存储就是“1长4空1长4空5长3”,可以看到这样存储就是除了第一个按照(2)存储起始和长度之外,后面的序列的起始都不用存储了,只需要存储长度,不过可能有个问题就是存储空几个和(2)中存储起始有什么区别吗,我的理解是从存储的单位个数应该是一样的,但是(3)的方法还是要比(2)要能够多压缩一点的,原因是间隔的数字相对起始数字是要小的,比如说可能后面间隔了100个就算很大了,但是起始值却是一直在增长的值,比如后面会到100000甚至更大,存储后面那个数字应该是要比前面那个要更占空间的,当然确实可能出现突然间隔一个很大的值出来,我想可以更灵活的比较一下是间隔的数字大还是起始的数字大,哪个小就用哪个表达,不过这样的话又要多出一个标记来标明是间隔还是起始了,是否划得来可能还要根据具体数据集具体尝试分析,看用哪一种方法压缩的更小,总的而言我觉得从一般性的角度,(3)的这种操作更有可能得到更好的压缩效果)

BV压缩方法对于具备相似性和局部性的图效果是最好的,相似性指的是相邻的结点拥有相似的后继节点列表(因此可以通过BV压缩方法的第1条技术进行压缩),局部性指的是连续的后继节点序列当中的间隔空隙都比较小(这样就可以很好的应用BV压缩方法的第2、3条技术)。

一般来说,实验中得到的压缩结果会比理论最小的压缩结果要多20%到30%。重新编号的过程可能对于提升压缩效果会有帮助,给所有的结点赋上连续的标号有助于增加图的局部性。

由于Facebook上的一个用户很有可能和他的朋友在许多行为习惯上是相似的(比如注册登录使用Facebook的时间等),因此Facebook的图结构天然就富有相似性和局部性。

实验在一开始就开始考虑使用一种叫做LLP(layered labelled propagation,分层标记传播)的技术看能否增加图的局部性。LLP和BV压缩方法的组合使用在近期已经取得了社交网络的最大压缩比,它的主要思想方法是分别按照不同粒度层级去计算各个网络聚类最后再将这些聚类组合起来并对结点进行排序,从而可以增加图的相似性和局部性(我的猜测是照不同粒度层级去计算各个网络聚类主要是在增加图的相似性,而后面的组合起来排序是在增加图的局部性)。在本实验所配备的硬件设备上共耗费了10天才在数据上跑完了LLP。

总的来说,本实验首先采用LLP对数据进行了预处理(增加图的局部性和相对性从而可以在后续压缩中取得更高的压缩效果),随后再使用BV压缩。最后的压缩大小是原先数据集大小的30%,对于一张图取得更高的压缩比不仅仅意味着可以节省更多的存储空间,更重要的是意味着对于这张图的内部聚类结构达到了更深刻清晰的理解,因此这意味着LLP发现了数据集中许多的大聚类结构。下图是实验中记录的采用LLP预处理数据和不采用LLP预处理数据时的结点序列的间隔出现频率,由于间隔越小,图的局部性就越好,因此这张图就可以反映经过LLP和不经过LLP预处理时的图的局部性情况,横轴表示各个后继结点序列间隔,纵轴表示该间隔出现的频率。红色表示没有采用LLP进行预处理时的图的局部性情况,绿色表示采用了LLP进行预处理时的图的局部性情况,可以看到采用LLP后总体而言的间隔数量出现频率有了减少,特别是取完对数15-25这一段有了显著的减少。小间隔(取完对数少于15)出现的频率在采用LLP提升了,我认为这是因为原本大间隔的频率被转换为了小间隔的频率因此导致了小间隔频率的提升;超大间隔(在图中就是取完对数超过25的)的频率不管采不采用LLP都没有什么变化,我认为这是因为这种超大间隔原本就不多。仅采用重新编号技术而不采用LLP进行数据预处理(红色的线条,得到的下述间隔频率分布图会是双峰的,x=2的地方取到一个局部最大值,而大部分的频率值都集中在[20,21],这显著的低于信息论提供的理论下界(约为23)。而采用了LLP进行数据预处理时(绿色的线条)就可以得到一个单调减的函数图像,不过在x=23处有一个小隆起,这表明LLP没有成功“驯服”这个隆起所关联的一小部分图结构。

下面那张表格是各张子图的原始压缩和经过LLP预处理后的压缩的效果对比,可以看到所有的图在使用LLP进行预处理后压缩比都得到了提升,提升效果好像都差不多。

采用LLP进行数据预处理后图的相似性也得到了提升,能够从相邻结点拷贝序列信息的结点数量从9%翻倍为18%。值得一提的是,在互联网图上的结点数据是高度冗余的,超过80%的结点都可以从相邻节点拷贝序列信息。

综合应用各种技术(包括LLP、重新编号、BV压缩)后对整张图fb的最终压缩比是53%,这和其他类似社交网络的压缩比是差不多的(比如说LiveJournal是55%,DBLP是40%)。不过可以从表格中看出,其他子图的压缩比都要比整张图fb的压缩比反而更高一些(这并不符合直觉,因为直觉上整张图的压缩比应该是介于子图中压缩比最高和最低的之间),论文中的解释我没有看懂,它文章中说的是

4.2 Running

实验中所有的HyperLogLog计数器都被存储在了内存中来避免多余的硬盘I/O读取,由于本实验中每个HyperLogLog计数器都使用了32个寄存器,因此存储HyperLogLog计数器所需的空间大小为27GiB(这意味着由于本实验的硬件设备有72GB的内存,它可以存下4倍于当前图结点数量的图)。对于经过LLP预处理并压缩的完整fb图,跑完整个后续的实验需要13.5小时。如果增加硬件设备的核数,所需时间会线性减少。

4.3 General Comments

2006年9月,Facebook开始面向大学以外的学生开放。本文的观察到了数据在这个时间发生了巨大的波动变化。特别是it(意大利子图)和se(瑞典子图)这两张子图在2007年1月1日的时候内部还是高度不连通的,下面这张表上的数字表示的是所有结点对中有连接的结点对的百分比,可以看到在2007年时it子图只有0.04%的结点对有连接,se子图只有10.23%的结点对有连接。而到了2008年时,it子图的连接结点百分比达到了25.54%,se子图的连接结点更是达到了93.9%。本文认为Facebook在2007年到2008年的数据就可以很好的代表了社交网络的变迁,不过这个巨大变化并不能说明实际中的人际关系也发生了对应的变化(因为Facebook的这一变化是由于它向非大学的学生开放所引起的)。

4.4 The distribution

下图是各图的概率质量函数图线,我们可以定性的看到各个子图都在4左右达到了概率的顶峰,总的fb图在5左右达到了概率的顶峰,并且在5左右的位置it和se子图比itse和us都显著要低。

4.5 Average Degree and Density

从表4可以看出图的结点平均度数在迅速增加。

当更多的用户加入Facebook时(图上有了更多的结点),就会有更多的朋友关系被建立起来(图上有了更多的边),图6是经过双对数(log-log)处理后的函数图像。经过log-log处理后,一般而言所有的函数都会近似为一条直线,不过图6的us子图的这条函数并不是一条直线,而是一条比较明显的折线。

图的密度(density)在其他文献中经常被定义为2m/(n(n-1)),其中m是边的数量,n是图上结点的数量,所有可能的边的数量为n(n-1)/2,因此图的密度的含义就是当前存在的边占所有可能的边数量的比例,不过本文采用的图的密度的定义为m/n。从图5可以看出,随着结点数量的增加,总体而言图的密度在下降。另外,不同的地理集中程度也会对图的密度产生影响,比如像瑞典子图和意大利子图这样地理很集中的地方,图的密度就很高,而把意大利子图和瑞典子图组合起来后,图的密度就下降了,像美国子图这样地理相对更分散的图密度就更低了,整个fb图密度则是最低的。地理更集中,图密度更高,这是符合直觉的。

4.6 Average Distance

实验中测得的Facebook图上的平均距离是4.74,并且有92%的可达结点对之间的距离是小于等于5的。这和前人的一些研究结论并不矛盾(比如说“六度隔离”),因为他们实际上测量的并不是平均值,而是理论上界(而且不是上确界)。本文计算的图上结点之间的平均距离是只考虑那些可达结点对,像Milgram先前测量的也只是考虑了可达结点对,因此实际上其他研究中有的人将它称为是平均连通距离(average connected distance),不过本文的作者认为可以直接将这个概念称为“平均距离”,因为如果加上“连通”这个词会怕有人觉得它暗含了“无向图”的要求,并且考虑那些不连通的结点对也是没有意义的,它们之间的距离都是无限的,也不会有人去考虑它们,所以直接说“平均距离”也不会引发任何误解。在许多较新的其他研究中会使用有效直径(effective diameter)来替代平均距离这个概念(有效直径在有些研究总是平均距离的90%,不过一般来说在实际中有效直径会是平均距离的三分之二加一),不过由于本实验中使用的工具可以很方便的直接计算出平均距离,而且这个概念已经在社交网络的研究领域中被使用了好几十年了,所以本文团队还是决定继续沿用“平均距离”作为对社交网络的度量。

在意大利子图it和瑞典子图se上测得的平均距离都显著的比整张图fb的平均距离要低,本文的团队将这一结果解读为地理的集中相比于图的规模对图的平均距离影响更大,由意大利子图和瑞典子图结合而成的itse图也符合这一猜想(也就是说itse的平均距离应该是更大了,因为他们的地理集中程度下降了)

在Facebook快速发展的时候(应该指的是2007年到2008年那时候Facebook开始向大学以外的学生开放),图的平均距离快速的减少,而现在(也就是实验开展时的2011年)平均距离相对而言比较稳定。这是符合大家预期的,因为当一个网络变大时,总是能够观察到它的“有效直径”缩短(有效直径和平均距离基本可以认为是相似的度量)。同时,图的密度也在下降。一个比较违反直觉的关系,也就是“Small World”现象,就是当连接用户的边所占整体可能边的比例下降时(也就是图的密度在下降),图的平均距离也在下降(这之所以违反直觉是因为我们一般会感觉如果要让图的平均距离下降的话,肯定需要图中由更多的边出现才能使得2个点之间的连通更容易,当然啦比例下降并不代表数量减少,所以其实也不奇怪啦)

下图是各张图中距离小于平均距离的结点对数量占所有可达结点对数量的比例,括号中的数字就是图的平均距离,可以看到总体而言这一比例是在增加的,特别是2007年到2008年,后面实际上就比较稳定了有一些小波动。注意这个比例并不是图的密度,图的密度是可达结点对占所有结点对组合的比例。这就意味着,随着社交网络上的情况稳定下来,图上的结点是比较满足“四度隔离”的规律的。

4.7 Spid

spid(散度),又名方差均值比,被定义为spid=\sigma ^{2}/\mu,它度量的是一张图的“分散程度”。前人总结出来的一个一般的规律就是当一张图的spid值大于1时,这张图就是过分散的(over dispersed),它就会比较像是互联网,而当一张图的spid值小于1时,这张图就是欠分散的(under dispersed),它就会更像社交网络。对于spid值可以区分互联网和社交网络的规律的直观理解是,在社交网络上一般而言结点对之间的距离都是比较近的(不管是早先的“六度隔离”还是本文的“四度隔离”都是一个比较近的距离,而且本文的实验还测得了92%的fb图上的结点对都是小于等于5的,也就是说不单单是从平均的角度而言,而是可以从任何的统计量像是中位数、众数、中数等的角度而言,社交网络的结点对之间的距离都大概率是比较小的),而在互联网上,结点对之间的距离经常会非常长(像是从某个网站跳转很多很多次到另一个网站都是很常见的事情)。论文的一开始就提出了要测量Facebook的spid值的目标,下表就是实验中测得的Facebook各图的spid值大小(括号中是标准误差上下限),可以看到除了it和itse在2007年到2008年前后有些不太正常之外(可能是由于用户过少),其他所有的spid值都是远小于1的。

从上面的表格中可以看到,spid值总体而言是在下降的,就和平均距离一样,这自然就会开始猜想spid值和平均距离是否会有什么关联,不过下面的散点图就展示了spid值和平均距离之间并不能看出什么直接的关联,论文中使用了一些统计学的检验手段也表明这种关联并不具备显著性。

不过如果只是考虑单一网络中的一些点,有的时候似乎平均距离和spid值还是能有一些关联的,特别是在高度连通的网络中,这种关联变得越发有可能(有时可以在一些统计学检验中达到显著性)。然而,理论上来说,平均距离和spid值就算是有关联,也应该是平均距离越大,spid值越小这样的关联(我不知道为什么理论上应该是这种关联),然而下表显示的是各图的方差也在变小(由于总的平均值是不变的,所以根据spid值的定义可以说spid值也在变小的),所以说反而是平均距离越小,spid值越小。

不过从下图中还是可以看到平均距离和spid值的一些微弱的关联,当图的平均距离变小时,图的方差也变小(这还需要统计学检验的达到显著性)。

4.8 Diameter

HyperANF不能够直接计算出图的“有效直径”。不过有一点可以确定,跑HyperANF的迭代次数一定是这个直径的下届,也就是说比如说一张图的有效直径是10,那么论文说HyperANF的迭代次数基本上在10以内就可以结束了,论文给出的解释是因为哈希冲突所以那些HyperLogLog计数器的寄存器的值在迭代运算次数达到有效直径的数值之前就会稳定下来,关于这一个原因解释,我没有想清楚是为什么,不过根据后面的实验结果看起来,这一并不是一个确切的定论,可能也是从某个角度出发的一个直观上的猜想。

本文的实验中使用了iFUB算法来计算图的直径的精确值,最坏时间复杂度O(nm),其中n为图上结点数,m为图上边数,论文中介绍了这个算法思想步骤:

(1)选中起始结点作为当前结点x

(2)计算下界:从当前结点x通过广度优先搜索找到离x最远的某一个结点y,再从y出发通过广度优先搜索找到离y最远的某一个结点z【注1】,则yz之间的距离d(y,z)就可以作为图的直径的下界(如果这张图是树的话,那么这个值就刚好是图的直径【注2】)

(3)计算上界:取yz的路径上的中间结点c(如果这张图是树的话,那么结点c就刚好会是整棵树的中心结点),记结点c和离结点c最远的结点之间的距离为h,则可得到图的上界为2h

(4)循环迭代与结点c的距离恰好为h的结点u直至上界=下界{

计算出结点u和距离自己最远的结点的距离,记为M,则图的直径的新下界为max(2(h-1),M),图的直径的新上界为M

}

注1:这里可能会第一眼读过去反应不过来,就是离x最远的某一个结点y,那离y最远的结点难道不是x吗,下图就给出了一种离x最远的结点是y,但是离y最远的结点不是x而是z的情况

注2:如果这张图是一颗树的话,那么任意选取某一个结点x后,离x最远的结点y要么是根结点,要么是叶子结点,于是离y最远的结点z就是叶子结点或根节点,两者之家的距离d(y,z)就是整棵树的高度

下面为iFUB算法的严格伪代码

设以图G=(V,E)上的任一结点u为根节点的树为T_{u},树T_{u}的高度记为ecc(u)ecc(u)即为结点u到距离结点u最远结点的距离),距离结点u距离最远的结点的集合记作F(u)=\left \{ v|d(u,v)=ecc(u) \right \}F_{i}(u)=\left \{ v|d(u,v)=i \right \}表示距离结点ui的结点的集合,这样实际上就有F(u)=F_{ecc(u)}(u),设B_{i}(u)=max_{z\in F_{i}(u)}ecc(z)表示距离结点u的距离为i的结点中到距离它自己最远的结点距离最远的结点(也就是eccentricity值最大的),设图的精确直径为D

int iFUB(graph G,node u,int estimate,int k){

/*

输入:estimate表示预先知道的图的直径的一个估计值,越精确则算法运算的会越快,比如说可以使用HyperANF的迭代次数作为预设的估计值,k控制精读,u为初始选取的结点

输出:整数M满足D-M\leq k

*/

    i=ecc(u);

    lower_bound=max{ecc(u),estimate};//lower_bound维护图的直径下界

    upper_bound=2ecc(u);//upper_bound维护图的直径上界

    while (upper_bound-lower_bound>k) do{

        B_{i}(u)=max_{z\in F_{i}(u)}ecc(z)

        if (max{lower_bound,B_{i}(u)}>2(i-1) then return max{lower_bound,B_{i}(u)};

        else{

           lower_bound=max{lower_bound,B_{i}(u)};

           upper_bound=2(i-1);

        }

        i--;

    }

    return lower_bound;

}

实验中使用了“多核广度优先搜索”,也就是说在每次找到某个结点的邻居结点时,将这些邻居结点分块划分给了多个核分别进行计算。通过这种并行的方法,计算美国子图us的时间为20分钟(经过LLP预处理后,整张us图都可以存入内存当中),整张fb图的运行时间为10小时(经过LLP预处理与压缩后,总共占据了256GiB的内存空间)

下表记录的就是由HyperANF的迭代次数代表的直径下界和使用iFUB算法计算得到的精确直径值的比较。可以看到这个下界也不是特别准确的。不过除了fb图之外,其他子图的当前HyperANF迭代次数都是小于图的精确直径的,也就是说总的来说HyperANF的迭代次数确实可以作为图直径的估计下界,论文中评论说fb图之所以它的HyperANF迭代次数会大于图的直径可能是因为网络中的部分区域中出现了罕见的非常长的路径所以才导致HyperANF需要迭代那么多次。

4.9 Precison

 

5 Conclusions

本文报告了对于有史以来最大的电子社交网络的研究的发现——我们的世界正在变得越来越小,当前Facebook的平均关系链路长度为4.74。本文同时计算出了Facebook的Spid值为0.09,作证了早期研究关于Spid值小于1的网络是社交网络的猜想。本文同时还发现,基于Facebook用户数据构建的图结构的平均距离和密度随时间迁移发生的变化并不能很好的吻合前人基于较小数据规模研究时得出的那些图模型。本文团队没有公开其实际使用的30张图,但是他们公开了基于这些图产生的各种特征数据。

本文最终实验得出了“四度隔离”的结论,用他们论文的话来说就是“当考虑到世界上任何一个其他人的时候,你的朋友会认识那个人的朋友”,这是一个比较令人惊讶的结论,但是这个结论感觉并不太符合现实中的体验,可能在网上还有可能,但是线下现实中,感觉上来说并不是“四度隔离”

My Thinking & Supplementary Materials

1 Definition of "friends" & Microsoft Research

2 Large teams develop and small teams disrupt science and technology

3 others

6 Views and Questions

我整篇论文读下来的收获就是首先了解到有这么一个研究社交网络的团队,在前人研究的基础上对Facebook的数据集进行了研究,将前人的“六度隔离”结论提升到了“四度隔离”,在方法上,以往“六度隔离”的实验是由心理社会学那边领域开展的,采用的也是那些领域的方法直接在人之间进行实验,而现在则是采用计算机的方法直接获得线上的数据抽象为图结构进行进一步分析,他们首先是采用LLP进行了数据预处理,目的是增加图的局部性和相似性,从而再接下来的BV压缩中取得更好的压缩效果,这样一来就可以把所有的数据都存入设备的内存中,不进行硬盘I/O读写从而提高运行速度;他们接下来使用了HyperANF的工具来迭代计算经过预处理和压缩的数据,这款工具可以很快的计算出图的邻域函数进而可以很快的计算出图的整体距离分布情况,主要测量了图上相互连通结点的平均最短距离为4.74,从而得出了“四度隔离”的结论,他们还测量了图的平均度数和密度,探讨了他们之间的数量关系,以及这些统计量之间以及与时间和地理位置因素的关联,他们另外测量了图的散度spid值,佐证了前人关于spid值小于1就是社交网络的猜想;由于HyperANF无法直接计算出图的有效直径,因此他们使用了iFUB算法来计算图的有效直径,他们将HyperANF的迭代次数作为初始估计值,使用并发的广度优先搜索BFS来执行iFUB算法计算出了图的直径。

不过论文中有几处地方我还是有些疑问的,首先就是在数据预处理的地方,实验中是先用LLP进行预处理再用BV方法进行压缩,论文中提到了其他子图的压缩比都要比整张图fb的压缩比反而更高一些,这并不符合直觉,因为直觉上整张图的压缩比应该是介于子图中压缩比最高和最低的之间,论文中给出的解释是因为LLP实际上只预处理了一半的聚类,并且在预处理这些聚类时只迭代了最多四次,我并没有看懂这个解释为什么可以说明上面的反常现象。

最后最大的疑问就在于“四度隔离”这个结论本身了

 

 

 

References

【1】Four Degrees of Sepration,January 6, 2012(Lars Backstrom∗ Paolo Boldi† Marco Rosa† Johan Ugander∗ Sebastiano Vigna† )

【2】Large teams develop and small teams disrupt science and technology(Lingfei Wu1,2, Dashun Wang3,4,5 & James A. evans1,2,6*)

【3】Separating You and Me? 4.74 Degrees By JOHN MARKOFF and SOMINI SENGUPTA NOV. 21, 2011,The New York Times

【4】Can Big Science Be Too Big?By Benedict Carey,The New York Times

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值