基于局部最小边的复杂网络社团挖掘方法与流程

文档序号:13323621阅读:来源:国知局
基于局部最小边的复杂网络社团挖掘方法与流程

技术特征:
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方法计算该删除边的两端点之间的最短距离,如果最短距离为正实数,则表示没有出现新的连通子图,否则,则表示有新的连通子图出现;如果该边不满足局部最小边筛选准则,则保留该边,当所有边均不满足局部最小边筛选准则时,则删除在网络局部最小边队列Q中所有边,并同时在网络中也删除这些边,然后,利用Dijkstra方法计算所有删除边的两端点之间的最短距离,如果最短距离为正实数,则表示没有出现新的连通子图,否则,则表示有新的连通子图出现;S6、检测网络中是否出现新的连通子图:如果出现了新的连通子图,则计算当前社团划分下的模块度Q′c,并与步骤S3得到社团划分下的模块度Qc进行比较,判断社团划分是否合理:若Q′c<Qc,则表示当前社团划分结果不理想,输出模块度为Qc时的社团挖掘结果,迭代结束;若Q′c≥Qc,则表示当前社团划分结果合理,返回步骤S2,重新计算各边权值并进行下一次社团挖掘迭代过程;如果没有出现新的连通子图,则返回步骤S2,重新计算各边权值并进行下一次社团挖掘迭代过程。2.根据权利要求1所述的基于局部最小边的复杂网络社团挖掘方法,其特征是,所述的步骤S4查找一组局部最小边,具体步骤如下:令集合Eij={exy|(x=i,y∈Γ(i)-{i})∪(x=j,y∈Γ(j)-{j})},其中,Γ(i)表示与节点vi有边相连的节点的集合,Γ(j)表示与节点vj有边相连的节点的集合,∪是求并集运算符,i,j=1、2、3、……,N;构造集合Wij,该集合Wij中的元素为集合Eij中各边的权值;取wuv=min(Wij),则集合Eij中权值等于wuv的边eij,即为局部最小边。3.根据权利要求1所述的基于局部最小边的复杂网络社团挖掘方法,其特征是,所述的步骤S5中局部最小边筛选准则包括以下两条件:第一条件:该边两个节点的度数均小于(N+1)/2,即di<(N+1)/2并且dj<(N+1)/2,其中,di与dj分别表示节点vi和vj的度;第二条件:网邻接矩阵A的第i行组成的行向量ai·与第j行元素组成的行向量aj·的内积为零,公式如下:4.根据权利要求1所述的基于局部最小边的复杂网络社团挖掘方法,其特征是,所述的步骤S5中利用Dijkstra方法计算该边的两端点之间的最短距离,具体是:①对于网络图G=(V,E),S表示已求出最短路径的顶点集合,令最短路径初始节点为o,即初始时,S={o},令集合U包含网络图G中除o之外的其他顶点,顶点o到U中各点的距离为点o和该节点之间的连边的权值;②选取集合U中距离节点o距离最小的节点k,并将节点k加入顶点集合S中,则点o和k之间的距离即为两点间的最短路径长度;③将节点k作为中间节点,对于任意节点u∈U,按照如下规则修改U中各顶点的距离:若dou>dok+dku,则修改节点o与节点u之间的距离值为dou=dok+dku,其中,dou、dok和dku分别表示节点o和节点u、节点o和节点k以及节点k和节点u之间的最短距离;④若集合则终止算法,否则返回步骤②。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1