1、1基于零模型的开源社区大众生产合作网络结构研究摘要: 以 google code 开源社区为例, 依据生产者合作关系按照复杂网络理论构建大众生产合作网络模型及合作网络的零模型, 实证了该网络的小世界、 无标度及同配性特性, 并探测了三节点和四节点模体及社团结构, 结果发现该网络模体同步能力较强, 开源社区合作涌现性可能与这些模体有着密切的联系, 为开源社区大众生产研究提供了新的视角。 关键词: 零模型; 大众生产; 复杂网络; 拓扑结构 中图分类号: FO62.3, C94 文献标识码: A 文章编号: 1009-055X(2013)02-0029-06 一、 引言 与以往的知识生产理论以企业
2、组织作为研究对象不同, 开源社区大众生产是一种全新的生产模式, 在这种模式中, 大量的人彼此协作(通常是通过网络手段)完成有价值的项目, 且它具有两个非常显著的特征, 一是在没有物质激励的条件下, 大量程序设计人员广泛参与; 二是在没有层级控制的条件下, 参与者自发创造出质量卓越、 高度复杂的项目。从这些特征来看, 开源社区是一个典型的由人类活动构成的复杂系统1, 这就决定其不能采取简单还原论的研究方法, 而必须在了解个体行为及其相互作用机制的基础上, 从整体的视角, 利用系统论的研究方法进行探讨。近年来备受关注的复杂系统研究表明, 大量复2杂系统个体关系需要用网络结构来描述, 这些网络结构存
3、在着许多特殊的性质, 如小世界、 幂率度分布、 不同的匹配关系及社团结构等, 且这些相互作用结构对系统宏观行为具有重要影响。2009 年, Science杂志以复杂系统与网络( complex systems and networks) 为主题, 发表一集专刊2 , 其中, Barabasi 教授在文章中指出, 由于底层结构对于系统行为有着重大的影响, 除非探讨网络结构, 否则没有办法去理解复杂系统。因此, 理解复杂系统行为应该从理解系统相互作用的网络结构开始, 对开源社区大众生产而言, 较好表征合作者网络结构是理解开源社区大众生产行为的重要基础。 目前已经有不少的刻画复杂网络的拓扑结构各个侧
4、面特征的指标如结点度、 度分布、 平均距离、 聚类系数、 邻结点平均度、 同配系数等等。很多实际网络的拓扑结构特征得到了研究。很多网络, 比如Internet 网络、 万维网、 生物代谢网、 食物网等的度分布呈现幂律分布而非随机网络的 Poisson 分布; 一些实际网络的平均距离比较小, 聚类系数比较大; 技术网络和生物网络更趋向于同配, 而社会网络趋向于异配。近年来, 有些学者也将复杂网络理论引入开源社区大众生产合作网络结构研究, 文献3等利用复杂网络方法和自组织临界理论对开源社区的自组织演化问题进行了研究3, 从这些研究来看, 复杂网络工具为开源社区大众生产研究提供了新的视角, 对我们理
5、解开源社区大众生产这种群体行为起到很大的帮助, 但这些研究都仅仅是对建立了大众生产合作网络的复杂网络模型, 而没有建立其相应的零模型。 所有这些从实际网络得到的拓扑特征哪些是随机的, 哪些是受到某3种约束机制形成的呢?现实网络的拓扑结构是真的如此独特还是它只是一个偶然性的样本?其实这样的问题在科学研究中普遍存在, 我们观察到的现象是否真的受到某种变量影响、 受到某种机制影响还是它只是一种偶然性的集结。零模型的作用就在于此。零模型是在比较对象难以直接获取的情况下, 根据统计学理论利用数值算法或数理手段构建的, 用于参照推断的数据分布。复杂网络零模型对于揭示并正确判断其拓扑结构有着极其重要的作用,
6、 文献45用随机化实际网络构造零模型的方法研究了基因调节网、 捕食网、 神经网、 电路网和万维网, 发现了统计上显著(P=0.01)的多个 3 结点和 4 结点模体45; 6应用零模型研究了生物细胞内部的分子网络, 确认了其异配性质。并解释了细胞内部分子网络稳健而不脆弱的原因正是这种异配性的存在6; 78基于零模型研究社团结构的划分, 找出了实际网络中具有统计意义的社团结构78。 综上, 零模型已经成为探索复杂网络结构特征的重要手段, 本文结合零模型方法与复杂网络模型, 以 Google Code 开源社区为例, 对开源社区大众生产合作网络进行研究, 文章主要分为以下几部分: 首先介绍开源社区
7、大众生产合作网络的构建, 其次介绍零模型的构建方法,然后基于零模型确定大众生产合作网络结构的特征参数并挖掘其结构与行为的关系, 最后给出结论。 二、 复杂网络模型的构建 (一) Google Code 开源社区简介 Google Code 开源社区于 2005 年的 3 月第一次公开亮相, 当时仅4有 8 个 API (应用层)的连接, 经过几年的发展, 谷歌开源已经成为一个开放的项目托管平台, 能够提供版本控制、 问题跟踪、 下载托管等工具。目前该开源社区提供的 API 接口数字已经超过了 60 个。另外, 还有超过 6 万个开源项目在该社区扎根, 每天有超过 17000 个代码确认。谷歌自
8、己也有超过 800 个项目列于其中, 包括 Android, Chrome, Chrome OS 和 GWT 这四个超过 100 万行代码的巨型项目。 (二)开源社区合作网络的度分布 从 Googel Code 开源社区抽取的全部 58762 个有效项目作为研究对象9。 网络模型构建的原则如下。顶点: 每一个项目开发者(以 ID 表示)为一个顶点。边: 如果两个项目开发者参与了同一个项目, 则在这两个开发者之间连一条边。这样得到的大众生产合作网络共有 67732 个顶点, 253640 条边。 在所有顶点中共有 31205 个节点的度值为 0, 也就是说这些点为孤立点。除掉这些孤立点, 共有
9、36527 个顶点, 其度分布如图 1 所示。幂指数在2, 3, 这说明该网络中存在较少的 HUB 节点和大量度值很小的节点, 其同时具有鲁棒性和脆弱性。 三、 零模型的构建 (一)零模型中随机化网络的生成算法 文献10为了模拟实际网络, 从度相关的角度系统整理了复杂网络拓扑特性, 引入了 dK 级数(dK-series)的概念。d=0、 1、 2、 3 时分别表示节点数和边数相同、 度序列相同、 联合度分布相同(同配系数相同)和三结点连接方式相同(聚类系数相同)的随机图。提出了生5成 dK 阶随机图分布的数值算法, 为生成高阶随机图提供了选择。 在实际应用中, 要构造出具有 d 阶所有随机化
10、网络几乎是不可能的。一种解决办法是构造出具有 d 阶的典型网络, 它是完全随机地从所有具有 d 阶的随机化网络中选取的, 一种常用的办法是针对给定网络 G 采用随机重连算法来构造出与网络 G 具有相同 d 阶特性的随机网络集。 对于 0 阶零模型, 采用 E-R 随机图作为参照系, 即保证随机网络与实际网络的节点数、 边数及平均度不变, 生成随机网络集。 对于 1 阶零模型(即保持网络的 1 阶特性, 网络节点的度序列不变), 采用随机重连算法进行构造, 如图 2 所示, 随机选定一对边, 分别连着 k1 和 k2, k3 和 k4, 若 k1 和 k4, k2 和 k3 无连边, 则交换连接
11、; 如果有连边, 则重新随机挑选一对边, 这样四个节点的度均保持不变, 故网络的节点度分布也保持不变。 (二)基于零模型的复杂网络拓扑模式推断 有了用数值方法生成的随机图总体样本, 可推断实际网络的拓扑特征。 一般地, 假设我们关心实际网络的 j 拓扑结构指标为 N(j) , 相应的零模型总体该指标的平均数为 Nr(j) 。零假设可以设定为: 对于 0 阶零模型, H0: N(j)=Nr(j)JY(1) 对于 1 阶零模型, H0: N(j)Nr(j)JY(2) 计算出零模型 j 指标的标准差 r(j) , 构造差异性统计量 Z 分数:Zj=SX(N(j)-Nr(j)r(j)SX)JY(3)
12、6假设 Nr(j)服从正态分布, 那么 Zj 服从 student 分布, 可以得到差异性统计量出现的概率 p, 如果 p 小于设定的显著性水平比如0.01, 我们可以在统计上推断实际网络 j 指标的性质。 另外, 有时也用另外一种方式进行统计分析, 即统计零模型总体中每一个随机网络的 j 指标值 Nr, i(j)大于 N(j)的次数 m, 假设生成的网络数为 n, 再根据两者的比值与选定的显著性水平进行比较来推断实际网络 j 指标的性质。 HT4H四、 基于 0 阶零模型的大众生产合作网络结构分析 保持网络节点数、 边数及平均度不变, 按照零模型的构建算法本文共构建了 1000 个随机化网络
13、集, 按照上文的方法计算这个随机化网络集的集聚系数和平均最短路径长度的平均值, 各参数计算结果如表 1所示。 度分布泊松分布幂率分布 0 从计算结果及式(1)来看, 实际网络的集聚系数比生成的随机化网络的平均集聚系数大了约 30000 倍, 拒绝原假设, 可以认为实际网络的集聚系数指标不是来自随机网络, 而平均最短路径大小差不多, 可以接受原假设, 也就是说平均最短路径并不是实际网络特有性质, 在随机网络中平均最短路径也可以很小。此外, 实际网络度分布形式为典型的幂率分布, 拒绝原假设, 由此 0 阶零模型从统计意义上证明了开源社区大众生产合作网络具有小世界与无标度特性。 Uzzi 和 Spi
14、ro11在其研究中定义了小世界商数来描述小世界性的显著程度, 小世界商数 Q = CC ratio / PL ratio (实际网络的 PL/ 7随机网络的 PL , 记为 PL ratio, 实际网络的 CC/ 随机网络的 CC , 记为 CC ratio, 其中 PL 为最短路径长度、 CC 为平均集聚系数) , 并指出小世界商数越大, 小世界性越显著, 且小世界性对绩效有着显著性的影响, 本文的开源社区大众生产合作网络小世界性商数为30326, 说明该合作网络小世界性非常显著。在小世界网络中, 由于较高的聚簇程度, 会促成节点间相互的信任和更紧密的合作, 从而提高信息交流的效率和准确度,
15、 又由于较小的平均路径长度, 使得节点可以方便的从远距离的节点处获取新鲜的, 非冗余的信息, 从而激发出灵感。具有这种结构的社会合作网络被广泛认为是可以提高信息交流传递效率和质量, 能更好的激发节点的创造力, 进一步说明开源社区大众生产能以惊人的速度创造出质量卓越、 高度复杂的项目可能与该合作网络显著的小世界性有着极大关系。 五、 基于 1 阶零模型的合作网络结构分析 (一)配对性 网络的凝聚性是高一阶的性质, 它与度分布以及网络邻节点的连接方式(度相关性)紧密相关。文献12将度高的节点倾向与度高的节点相互连接或度低的节点倾向与度低的节点相互连接的现象称为同配, 度高的节点倾向与度低的相互连接
16、称为异配, 并定义了相关函数。文献6重新定义了基于零模型的两个参数: 很少学者对大众生产合作网络的配对性进行研究, 保持度序列不变,按照零模型的构建算法本文共构建了 1000 个随机化网络集, 对大众生产合作网络的配对性进行研究, 从图 3、 4 可以看出, 比值较大的区8域主要集中在对角线附近, 也就是说大众生产合作网络是典型的同配网络, 这也说明大众生产者合作次数多的倾向于与合作次数多的合作。 (二)模体探测 网络模体是满足下列条件的子图5: 该子图在实际网络中出现的次数 Nreal 不小于某个下限 U , 如 U=4。该子图在实际网络中出现的次数 Nreal 明显高于它在随机网络中出现的
17、次数 Nrand , 一般要求(Nreal-Nrand)0.1Nrand 。统计该子图在随机网络中出现的次数与它在实际网络中出现次数, 按式(2) 、 (3)进行统计分析。当前研究表明, 网络模体有助于人们从局部结构上理解复杂网络生长和演化机制。本文按照零模型的构建算法共构建了 1000 个随机化网络集, 依据上文的模体的定义, 对开源社区大众生产合作网络模体进行计算, 计算结果如表 2 所示。 从计算结果来看, 开源社区大众生产合作网络模体为有 3、 7、 8、 9 号模体, 那么为什么这些子图在实际网络中出现的频率比随机化网络高得多呢?本文认为可以从网络同步性及开源社区大规模协作现象得到部
18、分解释。 同步是一种自然现象。它通常指至少两个振动系统相位间的协调一致现象。关于同步现象最早的研究可以追溯到 1673 年惠更斯关于耦合单摆的同步现象的观察。实际上, 若干个耦合单元之间通过相互作用达到同步的现象在许多领域中屡见不鲜, 在社会学领域中, 同步现象也被用作解释形成社会集体行为的机理。文献13对模体同步性进行研究, 结果如表 3 所示, 比较表 2、 3 发现, 实际网络中的探测出显著性模9体是所有三节点、 四节点模体中同步能力最强的四个, 开源社区合作涌现可能与这些模体有着重要的联系。FL) (三)社团结构探测 网络中的社团结构是指在社团内部, 节点之间的联系非常紧密, 而社团之
19、间的联系相对而言比较稀疏。寻找社团结构并对其进行分析是了解现实生活中各种网络组织结构的一种很重要的方法, 并在生物学、 计算机科学以及社会学等领域都有着广泛的应用。如社会网络中的社团结构使得人们能够清晰地了解他们区别于其他社团的一些特质或者信仰等; 在生物分子反应网络中, 聚合到一起形成功能性模块的节点往往担当特定的角色或具有特定的功能14。但是如果我们找到的社团结构在同等条件下随机网中也存在, 那么这些社团就应该归属伪社团, 而不是我们统计意义上的社团结构, 这些社团结构对我们研究复杂网络的属性没有实际意义, 本文采用零模型方法7对开源社区合作网络的社团结构进行计算, 从计算结果来看, 整个
20、网络存在层次性, 即存在“社团中的社团” , 第一个层次可划分社团 4922 个, 但是与随机网比较仅仅只有 363 个具有显著性水平, 也就是说大部分社团在随机网中也存在, 第二层次共有子社团 5571 个, 且每个社团都具有显著性水平, 平均每个社团含 6.4 个节点, 独立节点(未分入社团)占 0.0426, 也就是说 Googel Code 社区大众生产合作网络中合作者社团一般为 6-7 人。六、 结论 生产者之间关系是影响生产者行为的主要的因素, 从大众生产合作10网络中可以研究出生产者的行为变化规律和网络的演化规律等。生产者之间的良性相互协作推动了产品的创建、 优化与完善, 对开源
21、社区来说生产者之间的合作关系直接决定了项目的成败。 本文以 Googel Code 社区所有项目为研究对象, 依据项目合作关系建立了开源社区大众生产合作网络, 并建立了相应的 0 阶、 1 阶零模型。利用 0 阶零模型从统计意义上证明了大众生产合作网络具有小世界、 无标度特性。利用 1 阶零模型证明了该网络的同配性特性, 即度值大合作者的倾向于与度值大的连接, 这可能跟软件行业的技术有关, 不同背景生产者互相配合更能合理的完成任务。 此外, 本文还利用 1 阶零模型探测大众生产合作网络的三节点和四节点模体及社团结构, 从探测的模体来看, 这些模体都是同步能力较强的子图, 开源社区大众生产合作涌
22、现性跟这些模体有着紧密的联系。从社团结构来看, 合作者网络存在“社团中社团”现象, 且具有显著水平的社团大小一般为 6-7 人, 下一步可以进一步对这些模体与开源社区大规模协作的关系及社团所体现的意义进行进一步的研究。 参考文献: 1杨建梅. 人类活动系统的复杂性与管理J. 华南理工大学学报社科版, 2011, 13(4): 1. 2JASNY B R, ZAH N L M, MARSH ALL E. Special issue on complex systems and networks J . Science, 2009, 325( 5939) : 405- 432. 3潘向东, 杨建梅. 开源社区稳定性研究 D. 华南理工大学工