G-N算法分析.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
G-N算法分析

Girvan-Newman 算法(G-N算法);;一、G-N算法概要;二、G-N 算法的思想;三、边介数定义和计算;假设有一个具有 m 条边和 n 个节点的图,考虑一种比较简单的情况,假设从任何一个源节点出发,对该图进行搜索,该源节点与其它节点之间都只存在一条最短路径,图中的所有最短路径构成一个最短路径树。利用这颗最短路径树来计算每条边的边介数。;;但是,在大多数的实际网络中,每个源节点与其它节点之间并不只是存在一条最短路径, 一些节点对之间存在若干条长度相等的最短路径。;从源节点 S 出发,为每个节点 i赋值,该值为从一个源节点 S 出发到达其它节点 i 的最路径的数目用 wi表示。具体步骤如下: 1. 定义源节点 S 的距离为 ds= 0,并赋予一个权值为 ws= 1。 2. 对于每一个与源节点 S 相邻的节点 i,定义它到源节点的距离为di=ds+1 ,以及该节点的权值为 wi= ws= 1。 3. 对于每一个与任意节点 i 相邻的节点 j,我们根据具体情况,采取以下三个步骤之一: 如果节点 j 没有被指定距离,那么,指定其距离为 dj= di+1,权值为 wj= wi; 如果已经指定了节点 j的距离,并且节点 j 的距离值为 dj= di+1,那么就要在原来的基础上将节点 j 的权值再增加 wi,使其权值为wj,即 wj← wj+wi;如果已经指定了节点 j 的距离,并且距离为 dj di+1,那么,直接执行步骤 4。 4. 重复执行第 3 个步骤,一直到网络中不存在满足以下条件的节点,即其本身已经被指定了距离,但是其邻接点却没有被指定距离。;;;移除具有最高边界数的边;四、GN算法存在的问题; 在此基础上,用模块度函数来确定社区划分质量: 该式的物理意义是:网络中连接两个同种类型的节点的边的比例,减去在同样的社区结构下任意连接这两个节点的边的比例的期望值。 在实际的网络中,Q的值通常在0.3-0.7之间,Q的值越大,网络分裂的结果状态越好,Q值大于0.7的几率很小,Q值的上限是1,当越接近于1时,越能说明网络具有较强的聚类性质,即具有明显的社区结构。;它将网络划分为k个社区。定义一个kxk维的对称矩阵E=(e ij )。 元素e ij 表示网络中连接两个不同社区的节点的边在所有边中所占的比例,这两个节点分别位于的第i 个社区和第j 个社区。 设矩阵中对角线的各元素之和为∑e ii . 它给出了网络中连接某一个社区内部各节点的边在所有边的数目中所占的比例。 每行(或列)中各元素之和为a i=∑ e ij . 它表示与第i 个社区中的节点相连的边在所有边中所占的比例。 ;GN算法是分裂法,可以用树状图来表示 算法过程。 当沿着树状图逐步下移时,每移一步就对应着该截取位置的网络结构的Q值,并找到局部峰值,既是对应着的比较好的截取位置。;;18;加入模块度函数后G-N算法的基本流程;GN算法的缺点 计算速度慢,边介数计算的开销过大,时间复杂性高,只适合处理中小规模的网络(包含几百个节点的网络)。 ;七、改进的GN算法;NF算法如下: 步骤1:初始化网络为n个社区,即每个结点就是一个独立社区。则在GN算法中讨论过的矩阵E=(eij)中,初始的eij,和口ai满足: ;步骤2:依次合并有边相连的社区对,并计算合并后的模块度增量?Q=eij+eji-2aij=2(eij-aiaj)。根据贪婪算法的原理,每次合并应该沿着Q增大最多或者减小最少的方向进行。每次合并以后,对相应的元素eij更新,并将与i、j社区相关的行和列相加。 步骤3重复执行步骤2,不断合并社区,直到整个网络都合并成为一个社区。最多要执行n-1次合??。整个算法完成后可以得到一个社区结构分解的树状图。再通过选择在不同位置断开可以得到不同的网络社区结构。在这些社区结构中,选择一个对应着局部最大Q值的,就得到最好的网络社区结构。;加权网络中的社区结构划分算法;;正确的求解加权网络中边的介数的方法应该是在忽略边的权重的情形下,计算网络中各边的介数,然后定义加权网络中边的介数为以上无权情形下求得的边的介数除以该边的权重,这样权重越大的边得到的边的介数越小,因而被移除的概率越小,符合社区结构划分的定义。;因此把GN算法推广到加权网络的描述为:首先不计网络中边的权重,计算各边的介数,然后用以上所求边的介数除以该边的权重得到加权网络中边的介数,移除具有最大边介数的边,重复以上步骤,直到每个结点就是一个退化的社区为止。 ;八、GN算法的意义;

您可能关注的文档

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档