CN106599187A - 一种基于边不稳定度的社区发现系统及方法 - Google Patents

一种基于边不稳定度的社区发现系统及方法 Download PDF

Info

Publication number
CN106599187A
CN106599187A CN201611150384.0A CN201611150384A CN106599187A CN 106599187 A CN106599187 A CN 106599187A CN 201611150384 A CN201611150384 A CN 201611150384A CN 106599187 A CN106599187 A CN 106599187A
Authority
CN
China
Prior art keywords
community
instability
node
degree
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611150384.0A
Other languages
English (en)
Other versions
CN106599187B (zh
Inventor
王雷
王新晨
李涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201611150384.0A priority Critical patent/CN106599187B/zh
Publication of CN106599187A publication Critical patent/CN106599187A/zh
Application granted granted Critical
Publication of CN106599187B publication Critical patent/CN106599187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明为一种基于边不稳定度的社区发现系统及方法,属于软件工程和数据分析领域。本发明的社区发现方法基于边不稳定度,在传统社区发现算法的基础上实现,首先将软件函数调用图作为一个网络,定义了边不稳定度的概念;然后在传统社区发现算法的基础上结合边不稳定度进行改进,主要包括:改进的Fast Unfolding算法,改进的GN算法。本发明的社区发现算法在传统算法的基础上,增加了更好的划分标准,在一定程度上可以提高社区发现算法的效率。

Description

一种基于边不稳定度的社区发现系统及方法
技术领域
本发明涉及一种基于边不稳定度的社区发现系统及方法,属于软件工程和数据分析技术领域。
背景技术
复杂网络社区发现早已成为计算机科学、生物学、社会信息学等多个领域的研究热点之一,如何准确、高效的发现复杂网络中存在的具有社区特性的系统结构分布,一直以来是值得深入研究的问题。
网络是一种包含节点和边(或连接)的集合,通常节点代表该系统的组成成员,而边(或连接)用以描述系统成员间的相互作用关系。相对而言,复杂网络具有以下特征:(1)网络规模非常大,节点和边的规模数以万计,传统方法对此等规模的系统只能借助系统的统计学特征进行初步的探测之后再分析。(2)网络结构的复杂性和多样性:现实世界中的网络结构通常不是绝对随机也不会是绝对规律,而是两者的结合体,同时组成网络的大量子单元和子系统结构复杂多变。(3)网络节点类型不一,对于不同的研究对象其意义不同,同时节点间相互作用也错综复杂,其表现有二:一是权值的多样性,而是结构的非均匀性。(4)网络具有时空复杂性,一般研究模型为静态,但实际上随着时间空间变迁,网络会动态演化,其节点数增加,同时节点间连接方式和权重也会不断变化,网络拓扑结构和动力学性质也会改变。
复杂网络具有如下特性:(1)小世界效应,对于网络G,若其平均节点维度不变,网络的平均距离以不大于网络规模对数的速度增长,小世界效应对于网络结构研究有重要意义,例如考虑信息在网络上的扩散路径,小世界效应表明信息在网络中仅仅需要少数几个的步骤就可以非常快的扩散到整个网络,在流行病传播网络中仅需要较少中间人即可大范围传播,在互联网上去除少数关键性节点处的主机或路由即可造成大范围网络瘫痪。(2)传递性或群聚属性,对于网络中的节点A,B,C,如果节点A与B之间存在一条边,B与C之间也有一条边,则节点A有较大的概率与节点C之间也存在一条边,此即传递性(生物网中又称为"群聚性")。一种显而易见的现象就是,在人们的个人朋友圈内,朋友之间本身也存在朋友关系,送种关系的逐个传递形成一个群落,在社会网和生物网中尤为常见。(3)无标度性,Newmand等发现网络中各不同节点度数在整个网络总度数的占比呈幂律分布。(4)社区特性,2002年,Girvan和Newman发现复杂网络分布中存在一种新的统计特征“社区结构”后很快就吸引了研究复杂网络相关领域专家学者们的关注,并随之迅速成为一个新的研究热点。复杂网络普遍存在一种“同一社区内节点连接紧密,不同化区间节点连接稀疏”的特征。图1是一个简单的社区结构网络实例,图中有3个黑色阴影背景的网络簇,网络簇之间仅有较少边连接,此图代表了一个具有3个结构明显的社区的网络。把软件中的函数抽象为网络图中的一个结点,把函数之间的调用关系抽象为一条有向边,那么就构成了软件函数调用图。函数调用图也属于复杂网络的一种,具备小世界和无标度等特征。
现实情况网络划分成社区之前社区数目及每个社区的规模都是未知的,如何有效的评价网络的一系列社区结构划分质量,模块化函数Q为此提供参考。自2004年由Newman和Girvan提出该理论后已被相关领域学者广泛接受并在实际应用中获得很大成功,以函数Q作为目标函数的进行优化的方法已成为一种共识。
2004年Newman在提出一种计算网络社区结构划分好坏的模块性函数Q之后提出了W该函数Q作为目标化化函数,通过迭代的进行节点或社区聚合的社区挖掘算法FN,以模块函数Q来看越明显的网络社区结构其Q值越大,FN算法迭代搜索规则是每次选择两个原始社区合并,合并的两个原始社区必须获得最大的Q增长。
2008年Blondel等在分析模块性函数Q计算方法的基础上提出了一种简化社区合并评估的计算方法,同时利用局部最优化形成初始社区,进而进行层次聚合的快速模块化方法FUA。算法分为两阶段,第一阶段:将每个节点当做一个独立社区,并计算将其加入邻居节点所属化区时模块性Q值变化。多次考虑每个节点移动直至局部Q最大。第二阶段是将第一阶段形成的局部最大Q值社区当做超级节点考虑,超级节点间的链接权值为两个社区之间的链接权值之和,再将第一阶段的算法应用到超级节点组成的新社区中。迭代上述两个步骤直至网络社区结构划分没有变化(此时也即达到了最大Q值)为止。图2展示了该算法流程。
2011年刘大有等在分析出Q函数的一种局部梯度特征,将Q函数定义式转换为网络中所有节点i的f函数之和,并利用遗传算法捜索模块性函数Q的最优解的优化算法LGA。
标签传播算法LPA假设以标签代表网络中节点的社区旧属,同时初始时每个节点都处于独立的社区中,算法基于一种直觉性的策略;每个节点都会与其大多数邻居属于相同社区,也即与大多数邻居有相同标签。为保证收敛和避免循环,每次迭代更新顺序都是随机的,每次迭代时间消耗为线性0(m),m为网络中边数目。当同一标签社区有最多邻居时算法停止迭代。
Leung等指出LPA算法可以在很少的迭代步数内(一般为5)使得网络中绝大多数节点(文中为95%)标签达到稳定状态,该论文中应用了标签传播算法作为大规模在线社交网络分析工具,得到可接受的精度和时耗,有10亿条边的网络大概能在180分钟内聚合。由此可见,标签传播算法应用于超大规模网络时具有可接受的时间消耗,具有不错的应用前景。
综上,现有的社区发现算法几乎完全依赖于模块度,缺少其他综合的判断,并且一些算法仍然没有克服计算复杂度大的难题。为此,本发明提出的基于边不稳定度的社区发现系统及方法,可以在为社区发现提供额外的启发信息的同时,也降低社区发现算法的时间复杂度。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种基于边不稳定度的社区发现系统及方法,以期提高社区发现的效率和准确度。
本发明技术解决方案之一:
一种基于边不稳定度的社区发现系统,包括:边不稳定度计算模块、基于边不稳定度的Fast Unfolding社区发现模块、基于边不稳定度的GN社区发现模块和结果整合模块;其中:
边不稳定度计算模块:接收函数调用图的结构数据,计算函数调用图的节点稳定度和边不稳定度,并将计算结果保存入文件中,供后续社区发现模块使用;所述边不稳定度由节点的稳定度决定;节点的稳定度定义为节点的入度与节点度的比值,有向边的不稳定度定义为源点的稳定度与终点的稳定度之差;节点的稳定度表现为,稳定度高的节点具有入度较出度相对更大的特点,函数调用图中这样的节点将更不易把改变扩散到其他节点处,因此称节点稳定性较大,由稳定性大的节点指向稳定性小的节点的边就具有较大的不稳定度,因为它容易把改变扩散出去;
基于边不稳定度的Fast Unfolding社区发现模块:根据网络边不稳定度计算模块的计算结果,采用改进的Fast Unfolding的算法,即在Fast Unfolding的算法中加入边不稳定度决定性,使得社区的划分根据参数大小而受边不稳定度的影响,得到社区划分结果E1并保存入文件中,为后续操作提供数据;
基于边不稳定度的GN社区发现模块:根据边不稳定度的计算结果,采用改进的基于边不稳定度的GN算法,即在GN算法的算法中计算边介数改为计算边不稳定度,在社区发现的过程中使用边不稳定度寻找合适的划分,得到社区划分结果E2并保存入文件中,为后续操作提供数据;
结果整合模块:将社区划分结果E1和E2,合并成一个待处理结果E,扫描该结果,综合考量各个节点的社区信息和节点信息,对于两次划分结果不一致的节点,进行社区的微调,最后得到函数调用图基于边不稳定度的社区发现结果。
所述边不稳定度计算模块中,节点的稳定度计算公式如下:
其中是节点ni的入度和出度,Si的值介于0到1之间,当Si越大时,意味着节点ni的出度越小;
边的不稳定度计算公式如下:
Iij=Si-Sj
其中Si和Sj分别是节点ni和nj的节点稳定度,当Iij越大时,对应的边会将改变更快的扩展出去。
所述基于边不稳定度的Fast Unfolding社区发现模块具体步骤如下:
(1)计算网络中每条边的不稳定度,从边不稳定度计算模块的结果中提取边不稳定度结果,加入到函数调用图中相应边的属性中;
(2)初始化网络节点,每个节点均为一个社区,所以初始状态下网络中社区数目与节点数相同;对于每个节点,随机将其归入其任一邻居节点中,计算模块度增量△Q和边不稳定度增量△I,对于某归一化参数α,取使得α×△Q+(1-α)×△I获得最大值的划分方案,作为本次划分的最后结果,所有节点均获得新的社区划分或者维持原有划分不变,根据节点的划分结果,得到新的社区信息,即所有属于同一划分的节点都属于同一社区;
(3)将步骤(2)得到的所有社区抽象为新的节点,重复步骤(2)的操作,直到没有新的划分可以得到正的模块度增量α×△Q+(1-α)×△I时,此时函数调用图中所有节点的划分便结束,且所有节点均有确定的社区信息,将社区信息相同的节点并入同一社区,便得到社区划分结果E1,最后保存到文件中。
所述基于边不稳定度的GN社区发现模块具体步骤如下:
(1)计算网络中每条边的不稳定度,从边不稳定度计算模块的结果中提取边不稳定度结果,加入到函数调用图中相应边的属性中;
(2)对网络中的节点按照边不稳定度降序排列;
(3)对于排列好的边,每次移除一定数量的边,直到函数调用图中的弱联通子图数目增加,并计算函数调用图模块度增量,记录当前的状态;
(4)重复步骤(3),直至网络中所有边都被移除,回溯寻找每一次执行步骤(3)后,网络的模块度以及相应的弱联通子图信息,选出模块度最大的一次划分,则此次划分得到所有弱联通子图便是网络的最佳社区划分结果,即每一个弱联通子图都是一个社区,至此得到网络的社区划分结果E2,保存到文件中。
所述结果整合模块中,进行社区的微调,最后得到函数调用图基于边不稳定度的社区发现结果如下:在划分结果E1中,节点ni和nj属于不同社区,而划分结果E2中此二节点属于同一社区,则根据它们各自带有的额外信息进行判断,以决定采用E1还是E2的方案。
所述步骤(2)的归一化公式中,α的取值决定了边不稳定度增量和模块度增量的占比,当α为1时,仅考虑模块度增量,当α为0时,仅考虑边不稳定度的增量。
所述步骤(3)中,每次移除边不稳定度最高的边,迅速将网络分散为各个独立的集团,不仅为社区发现提供了新的思路,也可以作为函数调用图攻击的一种新策略。
本发明技术解决方案之二:
一种基于边不稳定度的社区发现方法,步骤如下:
(1)网络边不稳定度计算步骤:接收函数调用图的结构数据,计算函数调用图的节点稳定度和边不稳定度,并将计算结果保存入文件中,供后续社区发现步骤使用;所述边不稳定度由节点的稳定度决定;节点的稳定度定义为节点的入度与节点度的比值,有向边的不稳定度定义为源点的稳定度与终点的稳定度之差;节点的稳定度表现为,稳定度高的节点具有入度较出度相对更大的特点,网络中这样的节点将更不易把改变扩散到其他节点处,因此称节点稳定性较大,由稳定性大的节点指向稳定性小的节点的边就具有较大的不稳定度,因为它容易把改变扩散出去;
(2)基于边不稳定度的Fast Unfolding社区发现步骤:根据步骤(1)边不稳定度计算步骤的计算结果,采用改进的Fast Unfolding的算法,即在Fast Unfolding的算法中加入边不稳定度决定性,使得社区的划分根据参数大小而受边不稳定度的影响,得到社区划分结果E1并保存入文件中,为后续操作提供数据;
(3)基于边不稳定度的GN社区发现步骤:根据步骤(1)边不稳定度的计算结果,采用改进的基于边不稳定度的GN算法,即在GN算法的算法中计算边介数改为计算边不稳定度,在社区发现的过程中使用边不稳定度寻找合适的划分,得到社区划分结果E2并保存入文件中,为后续操作提供数据;
(4)结果整合步骤:将步骤(2)的社区划分结果E1和步骤(3)的社区划分结果E2,合并成一个待处理结果E,扫描该结果,综合考量各个节点的社区信息和节点信息,对于两次划分结果不一致的节点,进行社区的微调,最后得到函数调用图基于边不稳定度的社区发现结果。
本发明的优点与积极效果在于:
(1)传统的Fast Unfolding算法仅仅考虑模块度的增量,忽略的网络的连通性质,而本发明采用改时的算法,即Fast Unfolding算法中加入边不稳定度作为标量,因此本发明提高了发现效率;
(2)传统的GN算法是基于边介数的,因介数的计算其本身复杂度较高,因此GN算法不适合处理大规模的网络,而本发明改进的基于边不稳定度的GN算法,因其计算复杂度低,大大提高了效率,适合计算大规模的网络,为大型函数调用图的社区发现提供了可能性;且每次移除边不稳定度最高的边,可以迅速将网络分散为各个独立的集团,不仅为社区发现提供了新的思路,也可以作为函数调用图攻击的一种新策略。
附图说明
图1是一个简单的社区结构网络实例;
图2是FUA算法的算法流程图;
图3为本发明的系统框图;
图4为边不稳定度计算模块的实现流程图;
图5为基于边不稳定度的Fast Unfolding社区划分模块流程图;
图6为基于边不稳定度的GN社区划分模块流程图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
如图1所示,大部分的函数调用图都包含了社区信息,图中的函数调用图中有三个明显的社区,社区内的节点连接紧密,社区间的节点连接稀疏。
如图2所示,FUA算法第一阶段将每个节点当做一个独立社区,并计算将其加入邻居节点所属化区时模块性Q值变化。多次考虑每个节点移动直至局部Q最大。第二阶段是将第一阶段形成的局部最大Q值社区当作超级节点考虑,超级节点间的链接权值为两个社区之间的链接权值之和,再将第一阶段的算法应用到超级节点组成的新社区中。迭代上述两个步骤直至网络社区结构划分没有变化(此时也即达到了最大Q值)为止。
如图3所示,本发明包括函数调用图边不稳定度计算模块、基于边不稳定度的FastUnfolding社区发现模块、基于边不稳定度的GN社区发现模块和结果整合模块。
如图4所示,本发明的函数调用图边不稳定度计算模块具体实现如下:
(1)根据输入的函数调用图数据,构建函数调用图模型;
(2)遍历函数调用图中的所有节点,计算每个节点的稳定度,计算公式如下:
其中是节点ni的入度和出度。
(3)遍历函数调用图中的所有边,计算每条边的边不稳定度,计算公式如下:
Iij=Si-Sj
其中Si和Sj分别是ni和nj的稳定度。
(4)将计算得到的边不稳定度信息,加入到函数调用图相应的边的属性上,并保存以供其他模块使用。
如图5所示,本发明中基于边不稳定度的Fast Unfolding社区发现模块具体实现如下:
(1)从边不稳定度计算模块的计算结果中提取等待处理的函数调用图;
(2)初始化网络节点,每个节点均为一个社区,所以初始状态下网络中社区数目与节点数相同;对于每个节点,随机将其归入其任一邻居节点中,计算模块度增量△Q和边不稳定度增量△I,对于某归一化参数α,取综合增量α×△Q+(1-α)×△I取得最大值的划分,作为本次划分的最后结果,本步骤结束后,所有节点均获得新的社区划分或者维持原有划分不变,根据节点的划分结果,可以得到新的社区信息,即所有属于同一划分的节点都属于同一社区;
(3)将步骤(2)得到的所有社区抽象为新的节点,重复第二步的操作,直到没有新的划分可以得到正的综合增量α×△Q+(1-α)×△I,算法结束,此时网络中所有节点的划分便结束,且所有节点均有确定的社区信息,将社区信息相同的节点并入同一社区,便得到社区划分结果E1,最后保存到文件中。
如图6所示,本发明中基于边不稳定度的GN社区发现模块具体实现如下:
(1)从边不稳定度计算模块的计算结果中提取等待处理的函数调用图;
(2)对网络中的所有边按照边不稳定度降序排列;
(3)对于边排列好的函数调用图,每次移除一定数量的边,直到网络中的弱联通子图数目增加,并计算网络模块度增量,记录当前的状态;
(4)重复步骤(3),直到网络中所有的边都被移除,回溯寻找每一次执行步骤(3)后,网络的模块度以及相应的弱联通子图信息,选出模块度最大的一次划分,则此次划分得到所有弱联通子图便是网络的最佳社区划分结果,即每一个弱联通子图都是一个社区。至此得到网络的社区划分结果E2,保存到文件中。
本发明中社区发现结果整合模块的具体实现如下:
(1)从文件中读取基于边不稳定度的Fast Unfolding社区发现模块和基于边不稳定度的GN社区发现模块的结果E1和E2。
(2)对于E1中的每个社区,考察社区里的所有节点,对比它们在E2中的社区信息,对于那些在E2中属于不同社区的节点,考察它们的额外信息(如果有的话),然后根据额外信息判断它们应不应该划分到一个社区中,即采用E1的划分结果还是采用E2的划分结果。
(3)综合考察E1和E2并微调节点社区信息后,将最终结果E保存入文件中。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (8)

1.一种基于边不稳定度的社区发现系统,其特征在于包括:边不稳定度计算模块、基于边不稳定度的Fast Unfolding社区发现模块、基于边不稳定度的GN社区发现模块和结果整合模块;其中:
边不稳定度计算模块:接收函数调用图的结构数据,计算函数调用图的节点稳定度和边不稳定度,并将计算结果保存入文件中,供后续社区发现模块使用;所述边不稳定度由节点的稳定度决定;节点的稳定度定义为节点的入度与节点度的比值,有向边的不稳定度定义为源点的稳定度与终点的稳定度之差;节点的稳定度表现为,稳定度高的节点具有入度较出度相对更大的特点,函数调用图中这样的节点将更不易把改变扩散到其他节点处,因此称节点稳定性较大,由稳定性大的节点指向稳定性小的节点的边就具有较大的不稳定度,因为它容易把改变扩散出去;
基于边不稳定度的Fast Unfolding社区发现模块:根据边不稳定度计算模块的计算结果,采用改进的Fast Unfolding的算法,即在Fast Unfolding的算法中加入边不稳定度决定性,使得社区的划分根据参数大小而受边不稳定度的影响,得到社区划分结果E1并保存入文件中,为后续操作提供数据;
基于边不稳定度的GN社区发现模块:根据边不稳定度的计算结果,采用改进的基于边不稳定度的GN算法,即在GN算法的算法中计算边介数改为计算边不稳定度,在社区发现的过程中使用边不稳定度寻找合适的划分,得到社区划分结果E2并保存入文件中,为后续操作提供数据;
结果整合模块:将社区划分结果E1和E2,合并成一个待处理结果E,扫描该结果,综合考量各个节点的社区信息和节点信息,对于两次划分结果不一致的节点,进行社区的微调,最后得到函数调用图基于边不稳定度的社区发现结果。
2.根据权利要求1所述的基于边不稳定度的社区发现系统,其特征在于:所述边不稳定度计算模块中,
节点的稳定度计算公式如下:
S i = k i n i k i n i + k o u t i
其中是节点ni的入度和出度,Si的值介于0到1之间,当Si越大时,意味着节点ni的出度越小;
边的不稳定度计算公式如下:
Iij=Si-Sj
其中Si和Sj分别是节点ni和nj的节点稳定度,当Iij越大时,对应的边会将改变更快的扩展出去。
3.根据权利要求1所述的基于边不稳定度的社区发现系统,其特征在于:所述基于边不稳定度的Fast Unfolding社区发现模块具体步骤如下:
(1)计算网络中每条边的不稳定度,从边不稳定度计算模块的结果中提取边不稳定度结果,加入到函数调用图中相应边的属性中;
(2)初始化网络节点,每个节点均为一个社区,所以初始状态下函数调用图中社区数目与节点数相同;对于每个节点,随机将其归入其任一邻居节点中,计算模块度增量△Q和边不稳定度增量△I,对于某归一化参数α,取使得α×△Q+(1-α)×△I获得最大值的划分方案,作为本次划分的最后结果,所有节点均获得新的社区划分或者维持原有划分不变,根据节点的划分结果,得到新的社区信息,即所有属于同一划分的节点都属于同一社区;
(3)将步骤(2)得到的所有社区抽象为新的节点,重复步骤(2)的操作,直到没有新的划分可以得到正的模块度增量α×△Q+(1-α)×△I时,此时网络中所有节点的划分便结束,且所有节点均有确定的社区信息,将社区信息相同的节点并入同一社区,便得到社区划分结果E1,最后保存到文件中。
4.根据权利要求1所述的基于边不稳定度的社区发现系统,其特征在于:所述基于边不稳定度的GN社区发现模块具体步骤如下:
(1)计算函数调用图中每条边的不稳定度,从边不稳定度计算模块的结果中提取边不稳定度结果,加入到网络中相应边的属性中;
(2)对网络中的节点按照边不稳定度降序排列;
(3)对于排列好的边,每次移除一定数量的边,直到函数调用图中的弱联通子图数目增加,并计算网络模块度增量,记录当前的状态;
(4)重复步骤(3),直至网络中所有边都被移除,回溯寻找每一次执行步骤(3)后,网络的模块度以及相应的弱联通子图信息,选出模块度最大的一次划分,则此次划分得到所有弱联通子图便是网络的最佳社区划分结果,即每一个弱联通子图都是一个社区,至此得到函数调用图的社区划分结果E2,保存到文件中。
5.根据权利要求1所述的基于边不稳定度的社区发现系统,其特征在于:所述结果整合模块中,进行社区的微调,最后得到函数调用图基于边不稳定度的社区发现结果如下:在划分结果E1中,节点ni和nj属于不同社区,而划分结果E2中此二节点属于同一社区,则根据它们各自带有的额外信息进行判断,以决定采用E1还是E2的方案。
6.根据权利要求3所述的一种基于边不稳定度的社区发现系统,其特征在于:所述步骤(2)的归一化公式中,α的取值决定了边不稳定度增量和模块度增量的占比,当α为1时,仅考虑模块度增量,当α为0时,仅考虑边不稳定度的增量。
7.根据权利要求4所述的一种基于边不稳定度的社区发现系统,其特征在于:所述步骤(3)中,每次移除边不稳定度最高的边。
8.一种基于边不稳定度的社区发现方法,其特征在于步骤如下:
(1)边不稳定度计算步骤:接收函数调用图的结构数据,计算函数调用图的节点稳定度和边不稳定度,并将计算结果保存入文件中,供后续社区发现步骤使用;所述边不稳定度由节点的稳定度决定;节点的稳定度定义为节点的入度与节点度的比值,有向边的不稳定度定义为源点的稳定度与终点的稳定度之差;节点的稳定度表现为,稳定度高的节点具有入度较出度相对更大的特点,网络中这样的节点将更不易把改变扩散到其他节点处,因此称节点稳定性较大,由稳定性大的节点指向稳定性小的节点的边就具有较大的不稳定度,因为它容易把改变扩散出去;
(2)基于边不稳定度的Fast Unfolding社区发现步骤:根据步骤(1)函数调用图边不稳定度计算步骤的计算结果,采用改进的Fast Unfolding的算法,即在Fast Unfolding的算法中加入边不稳定度决定性,使得社区的划分根据参数大小而受边不稳定度的影响,得到社区划分结果E1并保存入文件中,为后续操作提供数据;
(3)基于边不稳定度的GN社区发现步骤:根据步骤(1)边不稳定度的计算结果,采用改进的基于边不稳定度的GN算法,即在GN算法的算法中计算边介数改为计算边不稳定度,在社区发现的过程中使用边不稳定度寻找合适的划分,得到社区划分结果E2并保存入文件中,为后续操作提供数据;
(4)结果整合步骤:将步骤(2)的社区划分结果E1和步骤(3)的社区划分结果E2,合并成一个待处理结果E,扫描该结果,综合考量各个节点的社区信息和节点信息,对于两次划分结果不一致的节点,进行社区的微调,最后得到函数调用图基于边不稳定度的社区发现结果。
CN201611150384.0A 2016-12-14 2016-12-14 一种基于边不稳定度的社区发现系统及方法 Active CN106599187B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611150384.0A CN106599187B (zh) 2016-12-14 2016-12-14 一种基于边不稳定度的社区发现系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611150384.0A CN106599187B (zh) 2016-12-14 2016-12-14 一种基于边不稳定度的社区发现系统及方法

Publications (2)

Publication Number Publication Date
CN106599187A true CN106599187A (zh) 2017-04-26
CN106599187B CN106599187B (zh) 2020-06-16

Family

ID=58801355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611150384.0A Active CN106599187B (zh) 2016-12-14 2016-12-14 一种基于边不稳定度的社区发现系统及方法

Country Status (1)

Country Link
CN (1) CN106599187B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184325A1 (zh) * 2018-03-28 2019-10-03 华南理工大学 基于平均互信息的社区划分质量评价方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160205137A1 (en) * 2013-09-30 2016-07-14 Grant Babb Visualization and analysis of complex security information
CN105868791A (zh) * 2016-04-15 2016-08-17 上海交通大学 基于模糊聚类的多分辨率社区发现方法
CN106020950A (zh) * 2016-05-12 2016-10-12 中国科学院软件研究所 基于复杂网络分析的函数调用图关键节点识别和标识方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160205137A1 (en) * 2013-09-30 2016-07-14 Grant Babb Visualization and analysis of complex security information
CN105868791A (zh) * 2016-04-15 2016-08-17 上海交通大学 基于模糊聚类的多分辨率社区发现方法
CN106020950A (zh) * 2016-05-12 2016-10-12 中国科学院软件研究所 基于复杂网络分析的函数调用图关键节点识别和标识方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LEI WANG,PING WANG: "Propagation and stability in software: A complex network perspective", 《INTERNATIONAL JOURNAL OF MODERN PHYSICS C》 *
李舒恬: "基于复杂网络的全球金融危机下上海股票网络相关性及网络拓扑结构的实证分析", 《中国优秀硕士学位论文全文数据库 经济与管理科学辑》 *
王雷,王政,杨晨,张莉: "基于复杂网络的操作系统内核演化与稳定性研究", 《中国科学》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184325A1 (zh) * 2018-03-28 2019-10-03 华南理工大学 基于平均互信息的社区划分质量评价方法及系统

Also Published As

Publication number Publication date
CN106599187B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
Zhao et al. A community detection algorithm based on graph compression for large-scale social networks
Wu et al. Balanced multi-label propagation for overlapping community detection in social networks
Bortner et al. Progressive clustering of networks using structure-connected order of traversal
CN102148717B (zh) 一种二分网络中社团检测方法及装置
Xu et al. A novel disjoint community detection algorithm for social networks based on backbone degree and expansion
Sun et al. Influence maximization algorithm based on reverse reachable set
CN109614520B (zh) 一种面向多模式图匹配的并行加速方法
Lin et al. A frequent itemset mining algorithm based on the Principle of Inclusion–Exclusion and transaction mapping
Qiao et al. A new blockmodeling based hierarchical clustering algorithm for web social networks
Ma et al. An improved label propagation algorithm based on node importance and random walk for community detection
CN110309955A (zh) 一种云环境应用系统非停机升级时的负载预测方法及装置
CN110096651A (zh) 基于在线社交媒体个人中心网络的可视化分析方法
CN106599187A (zh) 一种基于边不稳定度的社区发现系统及方法
Zheng et al. A novel resource deployment approach to mobile microlearning: from energy-saving perspective
CN105162648B (zh) 基于骨干网络扩展的社团检测方法
Amin et al. Advanced community identification model for social networks
Hamid et al. A fast heuristic detection algorithm for visualizing structure of large community
Acosta-Mendoza et al. Mining clique frequent approximate subgraphs from multi-graph collections
Huang et al. Social Network Link Prediction Algorithm Based on Node Similarity
CN111046300A (zh) 确定用户的人群属性的方法及装置
Ye et al. Bibliometric knowledge mapping of e-commerce platform operation on data mining
CN110796561A (zh) 基于三跳速度衰减传播模型的影响力最大化方法及装置
Huang et al. Community detection algorithm for social network based on node intimacy and graph embedding model
Ye et al. Detecting communities in massive networks based on local community attractive force optimization
CN116467610B (zh) 基于5g消息的数据拓扑分析方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant