一种网络社团引力导引的可视化布局方法与流程

文档序号:11638428阅读:1160来源:国知局
一种网络社团引力导引的可视化布局方法与流程
本发明涉及信息可视化领域,具体是一种能够反映复杂网络社团结构的可视化布局方法。

背景技术:
可视化布局方法在社会关系网络领域应用广泛,可以用来展示个体与个体之间关系的紧密程度,直观展示网络信息传播过程等。在目前,可视化布局方法中最常见的是用力导引(force-directed)方法来展现网络结构,并且取得了良好的分析效果。但是,力导引方法大都没有考虑到图形聚类现象,其节点均匀分布这一布局原则,阻止了网络聚类特征的展现。为了解决力引导可视化布局方法大都无法展示复杂网络具有社团结构这一特性,研究者们通过引入社团划分算法,提出了先网络聚类再可视化布局的方法来展示复杂网络的社团结构。朱志良等人在《计算机辅助设计与图形学报》第23卷第11期上发表了题为“基于复杂网络社团划分的网络拓扑结构可视化布局算法”的文章,该文提出了一种基于社团划分的网络布局算法。首先利用复杂网络社团发现算法对网络中的节点进行社团划分,并将一个社团抽象为一个节点,以社团间的关联为边构建新的网络;在此基础上,运用物理类比方法确定社团中心点的位置,并根据社团的规模确定社团的区域范围;最后运用条件择优的方式填充社团内部节点以完成网络拓扑的布局。此布局方法能够对网络的社团结构进行展示,但是却将社团划分和布局算法相分离,并且布局结果无法对边缘节点进行有效的展示。公开号为CN101741623A的中国发明专利公开了一种网络技术领域的网络可视化方法,采用了基于模块度指标的社团划分方法对网络进行层划分,同样依赖于现有的社团划分方法先对网络进行聚类,然后再进行布局。使得布局步骤过于复杂,存在布局效率低等缺点。因此,先网络聚类再可视化布局的方法在展示网络社团结构的时候存在以下问题:(1)布局方法太过于依赖已经存在的社团划分算法;(2)布局结果主观因素太多,一些网络结构信息有所丢失;(3)算法步骤复杂,不适用于大型网络。

技术实现要素:
本发明所要解决的技术问题是为了解决先网络聚类再可视化布局方法的局限性,实现布局的同时完成复杂网络社团结构的展示,提出一种社团引力导引的的可视化布局方法。该方法是在力导引布局的基础上,对每个节点加入社团引力,并且引入了k-means算法原理,使同一社团的节点能够向社团的中心位置聚拢。通过社团引力系数控制社团引力的大小,防止和减少重叠,达到了良好的布局效果。对于社团引力聚类,根据节点的重要程度为节点设置质量,然后求取节点到所属社团的中心距离,最后设置合理的社团引力系数来得到每个节点的社团引力。节点将在社团引力的导引下,向社团的中心聚拢。具体方法包括:一种社团引力导引的可视化布局方法,根据节点中心度为节点确定质量;根据社团的节点数,节点的位置确定社团的中心位置,节点根据其到社团中心位置的距离选取所属社团;计算网络中其他节点对节点的引力和斥力,根据引力和斥力对节点布局;计算社团对节点的社团引力,节点在社团引力的导引下,向社团的中心聚拢,使得同一社团的节点聚集在一起,实现聚类的效果。根据两个节点的实际距离d和理想距离r,调用公式:计算来自于边的引力fa(d)和来自于节点的斥力fr(d);根据节点v的质量M[v],节点v到社团Ck中心位置uk的距离dk,调用公式:fg(d)=gM[v]min(d1、d2、...、dk)计算社团对节点v的社团引力,其中,g为社团引力系数。节点布局受到三个作用力的影响,分别是有边相连的节点之间的引力、所有节点之间的斥力和所有节点与所属社团的社团引力。对于社团中心位置的确定,引入了k-means算法求取社团中心。确定社团中心位置具体包括步骤:(1)随机选取k个节点作为初始社团中心;(2)选取与节点距离最近的初始社团中心作为该节点的社团中心,节点归属于该社团;(3)当所有节点的社团归属被确定之后,调用公式确定第k个社团的中心位置,n表示社团k的节点数,pv表示节点v的位置;(4)重复步骤(2)-(3)确定各社团的中心位置,当系统温度达到最小值,所有社团中心位置确定。对于防止和减少重叠,需要通过调整社团引力系数的大小实现。一般情况下,节点数越多,社团引力系数越小。经过实验,社团引力系数的值最优一般取0-2之间。本发明将网络聚类与可视化布局相结合,提高了布局结果的客观性,防止了边缘节点信息的丢失,并且算法简单、易于实现和收敛速度快等。附图说明图1社团引力导引的可视化布局方法流程图;图2本发明的布局在Zachary数据集上的布局效果。具体实施方式下面结合附图对本发明的内容作进一步详细说明。整个系统将在斥力、引力和社团引力相互作用下达到平衡,其中社团引力用于引导节点向社团中心聚拢。其次,不直接通过对节点进行社团划分来获取社团中心位置,而是将k-means算法原理引入社团引力中,完成社团中心的确定。最后针对节点重叠问题,对社团引力系数进行调整,防止节点向社团中心点过渡聚拢。首先每个节点的质量由节点的重要性来决定。可以根据网络分析中的节点中心度(degreecentrality),紧密中心度(closenesscentrality)和间距中心度(betweennesscentrality)作为衡量节点重要度的标准,不同的质量划分标准产生的布局都能够显示网络聚类特性。其次,确定节点到社团中心的距离,聚类效果的产生主要由该距离决定。然后根据社团引力系数来得到每个节点的社团引力大小。社团引力系数的取值主要取决于节点的数量,一般来说,节点数越多,社团引力系数值越小。设G为一个网络,用节点和边表示为G(V,E),其中V为n个节点的集合{v1,v2,...,vn},E为m条边的集合{e1,e2,...,em},G可以被划分为k个社团{C1,C2,…,Ck},对应的社团中心为{u1,u2,…,uk}。如果将布局问题等价于物理中物体的受力情况,那么节点将在三个力的作用下达到平衡:来自于其他节点的斥力,来自于边的引力和来自于所在社团的社团引力。具体的实施步骤如图1所示为:A1:为初始化阶段。根据网络分析中的节点中心度方法为节点确定质量,即相应中心度越大节点的质量越大。A2:计算节点所受引力和斥力,引力和斥力主要用来维持系统的平衡和减少边交叉。根据两个节点的实际距离d和理想距离r,调用公式(1)的FR算法计算引力fa(d)和斥力fr(d)。根据引力fa(d)和斥力fr(d)对节点布局,布局的原则是存在边的节点应该相邻,但是要保持一定的距离,最佳距离取决于节点的数量和画布的大小。斥力是存在于所有的节点,引力仅存在于有边的节点。每次布局迭代节点的移动范围会随着温度的降低逐步的减少,系统温度降到最低,布局也会达到最佳状态。A3:确定社团中心位置。采用基于k-means算法来求取社团中心。具体社团中心位置确定方法如下:(1)随机选取K个节点作为初始社团中心,K代表社团个数;(2)求取其他节点与这K个社团中心的距离,选取与节点距离最近的初始社团中心作为该节点的社团中心,节点归属于该社团;(3)当所有节点的社团归属被确定之后,确定各社团的中心位置,调用公式确定第k个社团的中心位置,n表示社团k的节点数,pv表示节点v的位置;(4)重复步骤(2)-(3),当系统温度达到最小值,所有社团中心位置确定。A4:根据社团引力fg(d)进一步调整布局,使得同一社团的节点能够聚集在一起,实现聚类的效果。根据节点v的质量M[v],节点v到社团中心点uk的距离dk,调用公式(2)计算来自于所在社团对节点v的社团引力,其中,g为社团引力系数,dk为节点v和社团k的距离:fg(d)=gM[v]min(d1、d2、...、dk)(2)A5:调整社团引力系数g的值,从而防止节点过渡聚拢。g的大小主要取决于节点的数量,一般来说,节点数越多,g值越小。其值通常在0到2之间。A6:当系统的温度达到给定的最小值时节点调整结束,否则执行步骤A2。对于温度的调整,可使用模拟退火原则,即是先给定一个比较高的温度值,再慢慢的降低这个温度值,直到降到最小值。为了量化该收敛条件下产生的社团结构的强弱程度,引入模块度Q评估社团结构的强弱。其中,ki和kj代表节点i和j的度数,Ci和Cj代表节点i和j所属的社团,m是网络G的总边数。当i和j属于同一社团的时候,δ(CiCj)=1,否则δ(CiCj)=0。Aij代表i和j的连接情况,当i和j之间存在边的时候Aij=1,否则Aij=0。模块度被广泛应用了社团检测之中,它的值介于0到1之间,一般当模块度值在0.3以上,能够发现社团结构。图2本发明的布局在Zachary数据集上的布局效果。选择了公开数据集Zachary进行试验。Zachary网络描述了美国一所大学的空手道俱乐部成员间的相互社会关系,包含34个节点,78条边。节点代表俱乐部成员,边代表两个成员之间相互认识。布局效果如图2所示,可以看出该算法能够明显反映出复杂网络的社团结构特性。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1