一种语义网络情报分析模型的研究和应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机时代2009年第3期
0引言
复杂网络是复杂系统的抽象,网络中的节点是复杂系统中的个体,节点之间的边则是系统中个体之间按照某种规则而自然形成或人为构造的一种关系。现实世界中包含着各种类型的复杂网络,如社会网络(朋友关系网络及合作网络等)、技术网络(万维网以及电力网等)、生物网络(神经网络、食物链网络以及新陈代谢网络等)。经过近几年的努力,复杂网络的研究取得了许多重要进展,发现了复杂网络的若干统计特征,其中包括小世界性质(即网络中节点之间的平均距离很短,对数依赖于网络中的节点数)、无标度性质(即网络中节点的度分布右偏斜,具备幂函数或指数函数的形式)以及聚集性或网络传递性。
复杂网络的另一个重要特征就是网络中所呈现出的社区结构。大量实证研究表明,许多网络是异构的,即复杂网络不是大批性质相同节点的随机连接,而是许多类型的节点的组合,其中相同类型的节点存在较多的连接,而不同类型节点的连接则相对较少。我们把同一类型节点以及这些节点之间的边所构成的子图称为网络中的社区。
实际网络的社区代表着特定对象的集合,如,社会网络中的社区代表根据兴趣或背景而形成的真实的社会团体;引文网络中的社区代表针对同一主题的相关论文;万维网中的社区就是讨论相关主题的若干网站;而生物化学网络或者电子电路网络中的社区可以是某一类功能单元。发现这些网络中的社区有助于我们更加有效地理解和开发这些网络。
1基于图分解的方法
计算机科学中的一个典型问题,是将一个网络分解成若干节点数基本相等的子网,使得不同子网中的节点之间的连接数最少,称为图分割(Graph Partitioning )。图分割问题(GPP)可应用于对并行计算机处理器作进程的合理分配。1.1Kerighan-Lin 算法
Kerighan-Lin 算法[1]在稀疏图中的时间复杂度是O(n 3)。它是基于贪婪算法原理,将网络划分为两个大小已知的社区的二分法。
首先定义一个效益函数Q:位于子图内部的边数之和减去子图之间的边数。该算法要求必须预先指定2个子图的大小。算法分成以下2步。
⑴考察所有的节点对(节点对中的2个节点分别取自2个子图),交换节点对中2个节点的位置,计算效益函数Q,所产生的变化⊿Q。选择使所产生的变化⊿Q 最大的那对节点进行实际交换。如此重复下去,并且不允许已经交换过的节点再交换。当一个子图中的所有节点均已交换过1次时,第一步完成。
⑵检查第一步中所进行的每一次交换,寻找使得效益函数Q 最大的那一次交换,此即为所求得的图的分割。
此算法应用于对Zachary 网络的研究,取得了较好的效果。20世纪70年代初期,Zachary 用了两年的时间来观察美国一所大学中的空手道俱乐部成员间的相互社会关系。基于这些成员在俱乐部内部及外部的社会关系,他构造了成员们之间的关系网,如图1所示。
1
Karate Club 网络结构
在调查过程中,该俱乐部的主管与校长之间因是否抬高俱乐部收费的问题产生了争执。结果,该俱乐部分裂成了两个分别以主管和校长为核心的小俱乐部。图中的节点1和节点33分别代表了俱乐部主管和校长,而圆形和方形的节点分别代表了分裂后俱乐部的社区成员。利用Kernighan-Lin 算法分析
*基金项目:江西省科技厅工业攻关项目(赣财教[2005]132号);江西省教育厅科技计划项目(GJJ08283)
复杂网络的社区发现算法研究*
王丹,刘发升
(江西理工大学信息工程学院,江西赣州341000)
摘要:复杂网络是对于复杂系统的高度抽象,其中许多性质如小世界性质、无标度性质以及聚集性质等等已经得到了充
分的研究。大量文献表明,复杂网络呈现出的社区结构特性。如何在大型网络中高效地发现社区问题是近年来复杂网络的研究热点。文章讨论了一些关于社区发现方面的概念、理论、算法及应用等,并简述了其发展趋势。关键词:复杂网络;社区发现;边介数;模块度;层次聚类
·
·57
Zachary网络,所得到的结果与原网络的情况完全一致。但是,Kerighan-Lin算法必须预先指定2个社区的大小,否则会得到错误的结果。这使得Kerighan-Lin算法无法应用于大多数真实网络。即使Kerighan-Lin算法的这一缺点得以克服,作为图分割方法,其先天性不足仍然难以解决。
1.2基于图的Laplace矩阵的特征向量的谱二分法
一个包含n个节点的网络的Laplace矩阵是一个n×n维的对称矩阵M。M对角线上的元素m ii是节点i的度k i,而非对角线元素m ij的构成如下:如果节点i与j有边相连,则m ij为-1,否则为0。显然,网络的Laplace矩阵L与网络的连接矩阵A的关系如下:
L=K-A(1-1)其中,K=(k ij)是一个对角矩阵,k ij=k i,i=1,…,N。
M矩阵的所有的行与列的元素之和为0,因此,该矩阵必有一个特征值为0,且对应的特征向量为1=(1,1,…,1)T。而不为零的特征值所对应的特征向量的各元素中,同一个社区内的节点对应的元素是近似相等的。可以证明,除零特征值外,其它特征值均大于零。谱二分法即是根据M的第二个小特征值λ2将网络分为两个社区。λ2被称为图的代数连接度,如果其值越小,谱二分法的效果就越好[2]。虽然计算一个n×n矩阵的全部特征向量的时间复杂度为O(n3),但是,由于实际网络的Laplace 矩阵是一个稀疏矩阵,因此可用LanczoS方法[3]快速计算主要的特征向量。该方法的时间复杂度为m/(λ3-λ2),其中m表示网络中边的边数。
谱二分法的主要缺点是只能将图分成2个子图,或者说偶数个子图。这使得人们在使用这种方法时,预先不能确定究竟将图分成多少个子图才合适。
2基于社会学的方法
该方法用来分析社会网络之间相似性或边之间连接的强度。根据在网络中增加边还是去除边,有两类算法:凝聚算法和划分算法。
2.1凝聚算法
基本思想是用某种方法计算出各节点对之间的相似性,然后从相似性最高的节点对开始,往一个节点数为n而边的数目为0的原始空网络中添加边。这个过程可以中止于任何一点,而最终形成的网络就认为是社区的集合。从空图到最终图的整个算法的流程也可以用谱系图或树状图来表示,如图2所示。底部的各个圆代表了网络中的各个节点。当水平虚线从树的底端逐步上移,各节点也逐步聚合成为更大的社区。当虚线移到顶部,表示所有节点组成为一个社区。在谱系图的任何一个位置断开,就对应一种社区结构。此算法可分为单连接法与完全连接法等。凝聚算法对很多不同的现实网络有广泛的应用价值。
但是凝聚算法也有缺陷。在某些应用中,当社区数目已经知道时,未必能得到正确的社区结构。另外,凝聚算法倾向于发现社区的核心,而忽略社区的外围。社区的核心部分往往与它周围点联系密切,因而易于发现,而社区的周边部分由于相对来说联系较少,所以很难划分。在一些情况下,某个点仅仅和特定的社区有一条边,凝聚算法很难正确划分该点。
2Karate Club网络结构
2.2划分算法
在划分算法中,一般是从所关注的网络着手,试图找到己连接的相似性最低的节点对,然后移除连接它们的边。重复这一过程,就逐步把整个网络分成越来越小的各个部分。同样地,可以在任何情况下终止,并且把此状态下的网络看作若干网络社区。与凝聚算法类似,利用树状图来表示分类方法的流程可以更好地描述整个网络逐步分解为若干个越来越小的子图这一过程。
3其他经典算法
3.1GN(Girvan-Newman)算法
GN算法[4]是一种分裂方法,它通过迭代从网络中移除介数(Betweenness)最大的边将整个网络分解为各个社区。边的介数定义为网络中经过该边的最短路径的数目。它为区分一个社区内部边和外部边连接提供了一个度量准则。
GN算法的基本流程如下:
(i)计算网络中的所有边的介数;
(ii)找到介数最高的边并将它从网络中移除;
(iii)重复步骤(ii),直到每个节点就是一个退化社区为止。
缺点:在不知道社区数目的情况下,此算法也不能确定迭代的合适步数。
3.2Newman快速算法
由于GN算法的时间复杂度较大,所以对大规模的复杂网络的分析效果并不理想。Newman网在GN算法的基础上提出了一种快速算法,它是基于贪婪算法思想的一种凝聚算法。此算法总的时间复杂度为O(m(m+n))。整个算法完成后可得到一个社区结构分解的树状图,再通过选择在不同位置断开可得到不同的网络社区结构,在这些社区结构中,选择一个对应着局部最大的Q值,就得到最好的网络社区结构。
3.3Radicchi算法
该算法与GN算法相同,都是基于去边,但不是根据边介数选择要去除的边,而是引进了边聚集系数的新指标。整个算法的运行时间为O(m4/n2)。显然,对于稀疏图,其计算速度要比GN算法快一个数量级。
Radicchi等考虑网络中的三角环(即边数为3的闭合路径)。若一个三角环包含一条连接不同社区的边,则该三角环中的另两条边中的某一条仍然连接这两个社区的可能性将很
··58