基于局部最小边的复杂网络社团挖掘方法技术

技术编号:10545294 阅读:180 留言:0更新日期:2014-10-15 19:33
本发明专利技术提供一种基于局部最小边的复杂网络社区挖掘方法,包括以下步骤:获取复杂网络的邻接矩阵A;计算相似度矩阵R;对复杂网络图G进行社团划分C;查找一组局部最小边;检测各局部最小边两端点的局部拓扑结构,确定能够使得当前社团结构更加符合社团定义的局部最小边并去掉这些边;检测网络中是否出现新的连通子图,如果没有就重新计算各边权值,如果有新的连通子图出现,则判断划分是否合理;如果划分不合理则输出结果,如果划分合理则重新计算各边权值并进行下一次迭代过程。本发明专利技术具有精度高、速度快、通用性强等特点。

【技术实现步骤摘要】
基于局部最小边的复杂网络社团挖掘方法
本专利技术涉及计算机网络
,具体是一种基于局部最小边的复杂网络社团挖掘方法。
技术介绍
复杂网络是现实世界中复杂系统的一种抽象表现形式,由节点和连接节点之间的连边组成,节点代表复杂系统中的个体,节点之间的连边表示节点之间的相互关系。目前,复杂网络已经广泛应用于互联网、社交网络、生物网络等复杂系统的结构建模。复杂网络的一个重要拓扑性质是社团结构。社团结构是表征复杂网络中若干节点的一个集合,在该集合内的节点连接紧密,而不同社团结构(即不同集合)之间的连边较为稀疏。复杂网络的社团结构可以反映该复杂网络所表示的复杂系统的结构特点、功能特征以及网络拓扑结构的演化规律。例如:社交网络中的社团结构表示了拥有共同兴趣爱好的人组成的团体,互联网中的社团结构则揭示了网络站点之间的拓扑架构等信息。因此,通过挖掘复杂网络中的社团结构对于分析网络的特性和功能具有十分重要的现实意义,已经引起了物理、数学和计算机科学等领域研究人员的广泛关注。经过对现有技术的文献检索发现,专利《基于信息理论的复杂网络社团检测方法》(中国专利申请号:201310120905.8,公开号:CN103164533A)首先对网络中的每个节点编号,根据网络的结构和权重信息计算获取当前网络结构的概率矩阵;然后分别计算合并两个社团之后网络信息的损失量,选择损失量最小的两个社团进行合并;最后利用模块度系数评判社团结构是否合理。该方法要从每个节点对开始,通过试探性地计算社团合并后的信息损失量,逐步合并中间社团结构,复杂度较高,尤其对于复杂系统这类具有海量节点的情况,难以在实际中应用。再经文献检索发现,专利《基于顶点差异性的社团发现方法》(中国专利申请号:201010165418.X,公开号:CN101840543A),则将网络社团的发现过程分为网络构建和社团发现两个阶段。网络构建阶段主要是通过扫描网络数据、去除无效数据、对有效数据进行编号以及构建各数据分量的邻接矩阵等步骤,计算获得网络节点之间的邻接矩阵;社团发现阶段则是通过计算节点对之间的差异性,发现并合并复杂网络中的社团结构,从而划分出网络结构的合理社团。该方法对实际网络节点的数据语义定义不明确,没有给出针对不同实际网络获取节点的各维数据语义的方法,因此只适用于网络数据语义清晰明确的复杂网络,而对于普通的复杂网络数据无法准确划分其社团结构。最后经文献检索发现,专利《一种复杂网络中的社团探测方法》(中国专利申请号:201210154812.2,公开号:CN102722530A),采用网络社团结构聚类的方法,通过将每个节点看作一个孤立的社团,根据模块度增量最大的贪婪策略合并子社团,得到网络社团结构的划分结果。该方法针对双向(bipartite)网络和单向(unipartite)网络分别设计了社团查找方法,虽然能较为精确地划分复杂网络中的社团结构,但每次合并社团均需要测试多个可能的子社团组合,时间复杂度较高。
技术实现思路
本专利技术的目的在于针对上述现有技术的不足,提出一个基于局部最小边的复杂网络社团挖掘方法。其主要思想是将复杂网络中的节点映射为随机变量,并将网络邻接矩阵作为各随机变量的采样矩阵;计算有边相连(即直接相连)的一对节点之间的相关系数,并作为该边的权值,进而利用权值查找一组局部最小边;在迭代计算、查找过程中,移除能够使社团结构更加清晰的局部最小边,直到准确检测出合理的社团结构。本专利技术是通过如下技术方案实现的:一种基于局部最小边的复杂网络社区挖掘方法,其特点在于:该方法包括以下步骤:S1、获取复杂网络的邻接矩阵A,记A=(aij)N×N;所述的复杂网络图G=(V,E)为具有N个节点vi(i=1,2,...,N),M条连边ek(k=1,2,...,M)的网络拓扑图,其中,V=(v1,v2,...,vN)表示网络节点的集合,E=(e1,e2,...eM)表示网络连边的集合,边ek按照其所连接的两个节点vi、vj,记为eij;所述的邻接矩阵A是指对于该具有N个节点vi的复杂网络图G,构造一个N×N的矩阵,当节点vi和节点vj之间有边相连时,aij=1;当节点i和j之间无直接连边时,aij=0,其中,aij为邻接矩阵A中的各元素,表示节点间的连边关系,i=1,2,...,N,j=1,2,...,N;当i=j时,aij=0;S2、计算相似度矩阵R,记R=(rij)N×N;当节点vi和节点vj之间有边eij相连时,计算该边两个节点之间的相似度rij,并作为边eij的权值,公式如下:式中,aij为网络邻接矩阵A中的元素,i,j=1、2、3、......,N,当节点vi和vj之间无直接连边时,rij=0;S3、对复杂网络图G进行社团划分C,记C={c1,c2,...,cp},其中,ci(i=1,2,...,p)分别为复杂网络图G中若干节点组成的集合,计算当前社团划分C下的模块度QC,公式如下:式中,表示网络节点vi的度,即指该节点vi与网络中其他节点的连边数目,其中,i=1,2,...,N;M表示网络连边的数目;cm和cn分别表示节点vi和vj所属的社团的编号,其中m∈[1,p],n∈[1,p]);δ(cm,cn)函数由式(3)所示:S4、初始化网络局部最小边队列Q,在当前网络状况下查找一组局部最小边,并放入网络局部最小边队列Q中;所述的局部最小边是指该边的权值是与该边相邻接的所有连边的权值中最小的,即对于节点vi和节点vj之间的连边eij,所述的网络局部最小边队列Q为一个符合先进先出规则的数据结构,其中的各元素均为一条局部最小边;S5、逐一检测网络局部最小边队列Q中的每条局部最小边eij,判断其是否满足局部最小边筛选准则:如果该边满足局部最小边筛选准则,则在网络局部最小边队列Q中删除该边,并同时从网络中删除该边;然后,利用Dijkstra方法计算该删除边的两端点之间的最短距离,如果最短距离为正实数,则表示没有出现新的连通子图,否则,则表示有新的连通子图出现;如果该边不满足局部最小边筛选准则,则保留该边,当所有边均不满足局部最小边筛选准则时,则删除在网络局部最小边队列Q中所有边,并同时在网络中也删除这些边;然后,利用Dijkstra方法计算所有删除边的两端点之间的最短距离,如果最短距离为正实数,则表示没有出现新的连通子图,否则,则表示有新的连通子图出现;S6、检测网络中是否出现新的连通子图:如果出现了新的连通子图,则计算当前社团划分下的模块度Q′c,并与步骤S3得到社团划分下的模块度Qc进行比较,判断社团划分是否合理:若Q′c<Qc,则表示当前社团划分结果不理想,输出模块度为Qc时的社团挖掘结果,迭代结束;若Q′c≥Qc,则表示当前社团划分结果合理,返回步骤S2,重新计算各边权值并进行下一次社团挖掘迭代过程;如果没有出现新的连通子图,则返回步骤S2,重新计算各边权值并进行下一次社团挖掘迭代过程。所述的步骤S4查找一组局部最小边,具体步骤如下:令集合Eij={exy|(x=i,y∈Γ(i)-{i})∪(x=j,y∈Γ(j)-{j})},其中,Γ(i)表示与节点vi有边相连的节点的集合,Γ(j)表示与节点vj有边相连的节点的集合,∪是求并集运算符,i,j=1、2、3、......,本文档来自技高网
...
基于局部最小边的复杂网络社团挖掘方法

【技术保护点】
一种基于局部最小边的复杂网络社区挖掘方法,其特点在于:该方法包括以下步骤:S1、获取复杂网络的邻接矩阵A,记A=(aij)N×N;所述的复杂网络图G=(V,E)为具有N个节点vi(i=1,2,...,N),M条连边ek(k=1,2,...,M)的网络拓扑图,其中,V=(v1,v2,...,vN)表示网络节点的集合,E=(e1,e2,...eM)表示网络连边的集合,边ek按照其所连接的两个节点vi、vj,记为eij;所述的邻接矩阵A是指对于该具有N个节点vi的复杂网络图G,构造一个N×N的矩阵,当节点vi和节点vj之间有边相连时,aij=1;当节点i和j之间无直接连边时,aij=0,其中,aij为邻接矩阵A中的各元素,表示节点间的连边关系,i=1,2,...,N,j=1,2,...,N;当i=j时,aij=0;S2、计算相似度矩阵R,记R=(rij)N×N;当节点vi和节点vj之间有边eij相连时,计算该边两个节点之间的相似度rij,并作为边eij的权值,公式如下:rij=N-1NΣt=1N(ati-a1‾)(atj-aj‾)Σt=1N(ati-a1‾)2Σt=1N(atj-aj‾)2---(1)]]>式中,aij为网络邻接矩阵A中的元素,i,j=1、2、3、......,N,当节点vi和vj之间无直接连边时,rij=0;S3、对复杂网络图G进行社团划分C,记C={c1,c2,...,cp},其中,ci(i=1,2,...,p)分别为复杂网络图G中若干节点组成的集合,计算当前社团划分C下的模块度QC,公式如下:QC=12MΣij[aij-didj2M]δ(cm,cn)---(2)]]>式中,表示网络节点vi的度,即指该节点vi与网络中其他节点的连边数目,其中,i=1,2,...,N;M表示网络连边的数目;cm和cn分别表示节点vi和vj所属的社团的编号,其中m∈[1,p],n∈[1,p]);δ(cm,cn)函数由式(3)所示:δ(cm,cn)=1cm=cn0cm≠cn---(3);]]>S4、初始化网络局部最小边队列Q,在当前网络状况下查找一组局部最小边,并放入网络局部最小边队列Q中;所述的局部最小边是指该边的权值是与该边相邻接的所有连边的权值中最小的,即对于节点vi和节点vj之间的连边eij,所述的网络局部最小边队列Q为一个符合先进先出规则的数据结构,其中的各元素均为一条局部最小边;S5、逐一检测网络局部最小边队列Q中的每条局部最小边eij,判断其是否满足局部最小边筛选准则:如果该边满足局部最小边筛选准则,则在网络局部最小边队列Q中删除该边,并同时从网络中删除该边,然后,利用Dijkstra方法计算该删除边的两端点之间的最短距离,如果最短距离为正实数,则表示没有出现新的连通子图,否则,则表示有新的连通子图出现;如果该边不满足局部最小边筛选准则,则保留该边,当所有边均不满足局部最小边筛选准则时,则删除在网络局部最小边队列Q中所有边,并同时在网络中也删除这些边,然后,利用Dijkstra方法计算所有删除边的两端点之间的最短距离,如果最短距离为正实数,则表示没有出现新的连通子图,否则,则表示有新的连通子图出现;S6、检测网络中是否出现新的连通子图:如果出现了新的连通子图,则计算当前社团划分下的模块度Q′c,并与步骤S3得到社团划分下的模块度Qc进行比较,判断社团划分是否合理:若Q′c<Qc,则表示当前社团划分结果不理想,输出模块度为Qc时的社团挖掘结果,迭代结束;若Q′c≥Qc,则表示当前社团划分结果合理,返回步骤S2,重新计算各边权值并进行下一次社团挖掘迭代过程;如果没有出现新的连通子图,则返回步骤S2,重新计算各边权值并进行下一次社团挖掘迭代过程。...

【技术特征摘要】
1.一种基于局部最小边的复杂网络社团挖掘方法,其特点在于:该方法包括以下步骤:S1、获取复杂网络的邻接矩阵A,记A=(aij)N×N;复杂网络图G=(V,E)为具有N个节点vi(i=1,2,…,N),M条连边ek(k=1,2,…,M)的网络拓扑图,其中,V=(v1,v2,...,vN)表示网络节点的集合,E=(e1,e2,...eM)表示网络连边的集合,边ek按照其所连接的两个节点vi、vj,记为eij;所述的邻接矩阵A是指对于该具有N个节点vi的复杂网络图G,构造一个N×N的矩阵,当节点vi和节点vj之间有边相连时,aij=1;当节点i和j之间无直接连边时,aij=0,其中,aij为邻接矩阵A中的各元素,表示节点间的连边关系,i=1,2,…,N,j=1,2,…,N;当i=j时,aij=0;S2、计算相似度矩阵R,记R=(rij)N×N;当节点vi和节点vj之间有边eij相连时,计算该边两个节点之间的相似度rij,并作为边eij的权值,公式如下:式中,aij为网络邻接矩阵A中的元素,i,j=1、2、3、……,N,当节点vi和vj之间无直接连边时,rij=0;S3、对复杂网络图G进行社团划分C,记C={c1,c2,…,cp},其中,ci(i=1,2,..,p)分别为复杂网络图G中若干节点组成的集合,计算当前社团划分C下的模块度QC,公式如下:式中,表示网络节点vi的度,即指该节点vi与网络中其他节点的连边数目,其中,i=1,2,...,N;M表示网络连边的数目;cm和cn分别表示节点vi和vj所属的社团的编号,其中m∈[1,p],n∈[1,p];δ(cm,cn)函数由式(3)所示:S4、初始化网络局部最小边队列Q,在当前网络状况下查找一组局部最小边,并放入网络局部最小边队列Q中;所述的局部最小边是指该边的权值是与该边相邻接的所有连边的权值中最小的,即对于节点vi和节点vj之间的连边eij,所述的网络局部最小边队列Q为一个符合先进先出规则的数据结构,其中的各元素均为一条局部最小边;S5、逐一检测网络局部最小边队列Q中的每条局部最小边eij,判断其是否满足局部最小边筛选准则:如果该边满足局部最小边筛选准则,则在网络局部最小边队列Q中删除该边,并同时从网络中删除该边,然后,利用Dijkstra方法计算该删除边的两端点之间的最短距离,如果最短距离...

【专利技术属性】
技术研发人员:李生红张爱新李琳张月国
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1