CN106780058A - 动态网络的社团划分方法及装置 - Google Patents
动态网络的社团划分方法及装置 Download PDFInfo
- Publication number
- CN106780058A CN106780058A CN201611074435.6A CN201611074435A CN106780058A CN 106780058 A CN106780058 A CN 106780058A CN 201611074435 A CN201611074435 A CN 201611074435A CN 106780058 A CN106780058 A CN 106780058A
- Authority
- CN
- China
- Prior art keywords
- node
- corporations
- destination node
- topology structure
- network topology
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012935 Averaging Methods 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims description 14
- 230000003068 static effect Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Primary Health Care (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种动态网络的社团划分方法及装置,通过获取动态网络分别在至少两个时刻的网络拓扑结构,通过遍历每个目标节点,将每个目标节点移动到平均模块度增量最大且为正值对应的相邻节点所属的社团中,使得在每一层循环中的动态网络社团划分的模块度达到最大,然后下一层循环以上一层循环中每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止,从而得到动态网络在所研究的时间段内的社团划分结果。本发明的动态网络的社团划分方法可以得到较为稳定的社团划分结果,并且计算速度快,可用于大规模动态网络。
Description
技术领域
本发明实施例涉及网络科学技术领域,尤其涉及一种动态网络的社团划分方法及装置。
背景技术
复杂网络普遍存在于现实世界中,具有复杂拓扑结构和复杂节点行为,如计算机网络,生物网络,社会关系网络等等。而研究复杂网络结构的最常用的方法是模块化和社团结构。社团结构是指网络中的节点进行不同的分组,而它们往往具有组内节点连接比较稠密,组间节点连接比较稀疏的性质。通过社团结构探测可以学习复杂网络拓扑结构、理解复杂网络功能、分析网络特性、寻找隐藏模式、进行链路预测和学习网络演化等。研究表明真实网络并不完全是无权网络,而是网络节点间存在着不同强度的耦合,即加权网络,比如人与人之间关系有紧密和疏远,航空网络中机场间的客流量有大小。加权网络能够对实现复杂网络的动力学演化特性提供更加真实细致的描述。
现有加权网络的社团检测算法主要针对静态网络,例如层次聚类算法、边聚类系数算法等等。由于静态网络中节点集和边集是固定不变的,因此现有社团检测算法忽略网络的时间特性,将网络建模成一个静态图,在静态图的基础上对社团进行检测。
而实际上真实的网络通常是结构随时间变化的动态网络,网络的拓扑结构和节点的网络性质都会随着时间发生变化。所以社团结构也可能随时间的推移而发生变化。动态网络的规模往往数倍于传统的静态网络,且网络无时不刻不在产生新的数据。因此,如何对于动态网络进行社团检测,获得稳定社团划分结果是当前动态网络的研究重点。
发明内容
本发明提供一种动态网络的社团划分方法及装置,以实现对于动态网络进行社团检测,获得稳定社团划分结果。
本发明的一个方面是提供一种动态网络的社团划分方法,包括:
获取动态网络分别在至少两个时刻的网络拓扑结构,所述动态网络包括多个节点,每个节点属于一个社团;
分别以所述多个节点中的每一个节点作为目标节点,遍历每个目标节点,执行以下步骤:
在每个网络拓扑结构中,计算所述目标节点分别与其相邻的每个节点的模块度增量,所述目标节点与其相邻的节点的模块度增量为所述目标节点移动到所述相邻的节点所属的社团时产生的模块度增量;
根据每个网络拓扑结构的权重,以及每个网络拓扑结构中,所述目标节点与同一个相邻节点的模块度增量,计算所述目标节点与同一个相邻节点的平均模块度增量;
比较所述目标节点与各个相邻节点的平均模块度增量;
若所述目标节点与所述相邻节点的平均模块度增量最大,且最大的所述平均模块度增量为正值,则在每个网络拓扑结构中,将所述目标节点移动到所述相邻节点所属的社团中;
遍历每个目标节点结束后,分别以每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止。
进一步的,所述获取动态网络分别在至少两个时刻的网络拓扑结构,包括:
获取动态网络在一时间段内至少两个时刻的网络拓扑结构;
所述每个网络拓扑结构的权重为所述网络拓扑结构对应的时刻在所述时间段内的时间顺序,与所述时间段内获取到的所述网络拓扑结构的总数的比值。
进一步的,所述目标节点与同一个相邻节点的平均模块度增量,根据公式(1)确定:
其中,ΔQavg表示所述平均模块度增量,N表示所述时间段内的N个时刻,I表示所述N个时刻中的第I个时刻,wI表示第I个时刻对应的所述网络拓扑结构的权重,ΔQI表示在第I个时刻对应的所述网络拓扑结构中,所述目标节点与所述同一个相邻节点的模块度增量。
进一步的,所述目标节点移动到所述同一个相邻节点所属的社团时产生的模块度增量,根据公式(2)确定:
其中,C表示所述同一个相邻节点所属的社团,Wc表示社团C内部所有连边的权重和,Sc表示与社团C中的节点相连的连边的权重和,Si表示与所述目标节点i相连的连边的权重和,Si,in表示连接所述目标节点i与社团C中的节点的连边的权重和,W表示所述动态网络中所有边的权重和。
进一步的,所述分别以每个网络拓扑结构中的每个社团作为目标节点,包括:在每个网络拓扑结构中,将连接两个社团之间的连边的权重和作为两个目标节点连边的权重,所述社团内部所有连边的权重和作为所述目标节点上的环路的权重。
本发明的另一个方面是提供一种动态网络的社团划分装置,包括:
网络拓扑结构获取模块,用于获取动态网络分别在至少两个时刻的网络拓扑结构,所述动态网络包括多个节点,每个节点属于一个社团;
处理模块,用于分别以所述多个节点中的每一个节点作为目标节点,遍历每个目标节点;其中所述处理模块包括:
模块度增量获取子模块,用于在每个网络拓扑结构中,计算所述目标节点分别与其相邻的每个节点的模块度增量,所述目标节点与其相邻的节点的模块度增量为所述目标节点移动到所述相邻的节点所属的社团时产生的模块度增量;
平均模块度增量获取子模块,用于根据每个网络拓扑结构的权重,以及每个网络拓扑结构中,所述目标节点与同一个相邻节点的模块度增量,计算所述目标节点与同一个相邻节点的平均模块度增量;
比较子模块,用于比较所述目标节点与各个相邻节点的平均模块度增量;
节点汇聚子模块,用于若所述目标节点与所述相邻节点的平均模块度增量最大,且最大的所述平均模块度增量为正值,则在每个网络拓扑结构中,将所述目标节点移动到该所述相邻节点所属的社团中;
所述处理模块还用于在遍历每个目标节点结束后,分别以每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止。
进一步的,所述网络拓扑结构获取模块具体用于:
获取动态网络在一时间段内至少两个时刻的网络拓扑结构;
所述每个网络拓扑结构的权重为所述网络拓扑结构对应的时刻在所述时间段内的时间顺序,与所述时间段内获取到的所述网络拓扑结构的总数的比值。
进一步的,所述平均模块度增量获取子模块用于根据公式(1)确定所述目标节点与同一个相邻节点的平均模块度增量:
其中,ΔQavg表示所述平均模块度增量,N表示所述时间段内的N个时刻,I表示所述N个时刻中的第I个时刻,wI表示第I个时刻对应的所述网络拓扑结构的权重,ΔQI表示在第I个时刻对应的所述网络拓扑结构中,所述目标节点与所述同一个相邻节点的模块度增量。
进一步的,所述模块度增量获取子模块用于根据公式(2)确定所述目标节点移动到所述同一个相邻节点所属的社团时产生的模块度增量:
其中,C表示所述同一个相邻节点所属的社团,Wc表示社团C内部所有连边的权重和,Sc表示与社团C中的节点相连的连边的权重和,Si表示与所述目标节点i相连的连边的权重和,Si,in表示连接所述目标节点i与社团C中的节点的连边的权重和,W表示所述动态网络中所有边的权重和。
进一步的,所述分别以每个网络拓扑结构中的每个社团作为目标节点时,所述处理模块还用于在每个网络拓扑结构中,将连接两个社团之间的连边的权重和作为两个目标节点连边的权重,所述社团内部所有连边的权重和作为所述目标节点上的环路的权重。
本发明实施例提供的动态网络的社团划分方法及装置,通过获取动态网络分别在至少两个时刻的网络拓扑结构,通过遍历每个目标节点,将每个目标节移动到平均模块度增量最大且为正值对应的相邻节点所属的社团中,使得在每一层循环中的动态网络社团划分的模块度达到最大,然后下一层循环以上一层循环中每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止,从而得到动态网络在所研究的时间段内的社团划分结果。本发明的动态网络的社团划分方法考虑了在所研究的时间段内各个时刻对应的网络拓扑结构,因此,社团划分结果可以反映所研究的时间段内动态网络的社团划分。此外每次目标节点的移动均是移动至平均模块度增量最大且为正值所对应的邻居节点所述社团,因此最终得到的社团划分结果模块度达到最大,得到的社团划分结果较为稳定,自下而上进行社团汇聚,不会遗漏小规模社团,并且计算速度快,可用于大规模动态网络。
附图说明
图1为本发明实施例一提供的动态网络的社团划分方法流程图;
图2为本发明实施例二提供的动态网络的社团划分方法流程图;
图3为本发明实施例三提供的动态网络的社团划分装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的动态网络的社团划分方法的流程图。如图1所示,本实施例提供一种动态网络的社团划分方法,该方法具体步骤如下:
S101、获取动态网络分别在至少两个时刻的网络拓扑结构,动态网络包括多个节点,每个节点属于一个社团。
在本实施例中,获取动态网络分别在至少两个时刻的网络拓扑结构,每一时刻的网络拓扑结构相当于动态网络在该时刻时对应的静态的网络拓扑结构,本实施例最终得到社团划分为动态网络在所取的第一个时刻和最后一个时刻间隔的时间段内的社团划分结果。本实施例以所选取的时刻对应的静态的网络拓扑结构近似替代改时间窗口中动态网络的网络拓扑结构随时间的演变。因此可以应用一些静态网络的社团划分方法进行研究。当然,在一时间段内静态的网络拓扑结构的取样越密集,则每一所取的静态网络拓扑结构间的变化越接近该时间段内动态网络中真实的网络拓扑结构的演变。
分别以多个节点中的每一个节点作为目标节点,遍历每个目标节点,执行以下步骤:
S102、在每个网络拓扑结构中,计算目标节点分别与其相邻的每个节点的模块度增量,目标节点与其相邻的节点的模块度增量为目标节点移动到相邻的节点所属的社团时产生的模块度增量。
社团划分质量可采用模块度衡量,其中,模块度也称模块化度量值,是目前常用的一种衡量网络社团结构强度的指标,模块度值的大小主要取决于网络的社团划分情况,其值越大(越接近1),则表示网络划分出的社团结构的强度越强,也就是划分质量越好。因此可以通过最大化模块度来获得最优的网络社团划分。
在本实施例中,假设将目标节点分别划分入其相邻的每个节点的所属的社团中,由于社团划分发生变化,因此此时模块度的数值也同样随之产生变化。其中,相邻节点指与目标节点有连边的节点。此时,若目标节点划分入某一相邻节点的所属的社团中,模块度增加至最大,则说明此时的社团划分最为合理,对应的,说明此时模块度较之前模块度存在一模块度增量,该模块度增量最大且为正值。因此本实施例对于每个网络拓扑结构通过计算假设目标节点移动到与其相邻的每个节点所属的社团时产生的模块度增量,以寻找划分质量最好的社团划分方案。
S103、根据每个网络拓扑结构的权重,以及每个网络拓扑结构中,目标节点与同一个相邻节点的模块度增量,计算目标节点与同一个相邻节点的平均模块度增量。
由于对于某一时刻的网络拓扑结构所获得的划分质量最好的社团划分方案并不能真实反映动态网络在一个时间段内的社团划分,因此本实施例中综合考虑了在所研究的时间段内各个时刻对应的网络拓扑结构的社团划分,即根据每个网络拓扑结构的权重,以及每个网络拓扑结构中目标节点与同一个相邻节点的模块度增量,计算目标节点与同一个相邻节点的平均模块度增量。考虑到某一时刻或某些时刻的网络拓扑结构更为重要,因此本实施例中设定每个网络拓扑结构的权重,以提高重要时刻的网络拓扑结构对社团划分的影响,从而使社团划分更接近动态网络真实的社团划分。
需要说明的是,例如对于第一时刻对应的第一网络拓扑结构和第二时刻对应的第二网络拓扑结构,当目标节点在第一网络拓扑结构相对于第二网络拓扑结构缺少某一相邻节点时,则获取第一网络拓扑结构中目标节点移动到该相邻节点所在社团的模块度增量时,将对应的模块度增量记为0。
本实施例中通过综合所研究的时间段内每个时刻对应的网络拓扑结构的社团划分,从而找到对于动态网络在该时间段内的最稳定的社团划分方案。对于动态网络在演变过程中节点的增减,将发生增减变化的节点在网络拓扑结构无该节点的时刻对应的模块度增量记为0,涉及该节点的平均模块度增量数值相应的减小,从而反映了由于该节点发生了增减变化,因此该节点可能不稳定,从而将该节点移动到某一社团后形成的社团也相应的可能不稳定。
具体的例如,对于第一时刻的第一网络拓扑结构,目标节点A相邻的节点有节点B和节点C,对于第二时刻的第二网络拓扑结构,目标节点A相邻的节点有节点B和节点D,因此对于第一网络拓扑结构,需要计算假设将目标节点A移动到节点B所属社团的模块度增量及将目标节点A移动到节点C所属社团的模块度增量,并且将目标节点A移动到节点D所属社团的模块度增量即为0;对于第二网络拓扑结构,需要计算假设将目标节点A移动到节点B所属社团的模块度增量及将目标节点A移动到节点D所属社团的模块度增量,并且将目标节点A移动到节点C所属社团的模块度增量即为0。根据每个网络拓扑结构的权重,计算目标节点与同一个相邻节点的模块度增量的加权平均值,即所述的平均模块度增量,例如,对于目标节点A移动到节点B所属社团的平均模块度增量为,在第一网络拓扑结构中节点A移动到节点B所属社团的模块度增量和在第二网络拓扑结构中节点A移动到节点B所属社团的模块度增量的加权平均值。
当然,本实施例中可以不区分各时刻网络拓扑结构的重要性,即可将每个网络拓扑结构的权重设定为相同值,则平均模块度增量为每个网络拓扑结构中目标节点与同一个相邻节点的算数平均值。
S104、比较目标节点与各个相邻节点的平均模块度增量。
在本实施例中,对于上述步骤得到的目标节点与各个相邻节点的平均模块度增量进行对比,以便于寻找数值最大且为正值的平均模块度增量,以寻找划分质量最好的社团划分方案。
S105、若目标节点与相邻节点的平均模块度增量最大,且最大的平均模块度增量为正值,则在每个网络拓扑结构中,将目标节点移动到该相邻节点所属的社团中。
在本实施例中,平均模块度增量最大且为正值,则说明在所研究的时间段中将目标节点移动到该相邻节点所属的社团中后形成的社团划分的模块度最大,即此时所形成的社团强度最强,社团划分质量最好。具体的,在寻找到数值最大且为正值的平均模块度增量后,对于每个网络拓扑结构,均将目标节点移动到该网络拓扑结构中该相邻节点所属的社团中。
S106、遍历每个目标节点结束后,分别以每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止。
在本实施例中,在遍历每个目标节点结束后,形成动态网络的第一层次的社团划分,每一网络拓扑结构中均包含经第一层次的社团划分后形成的各个社团,然后基于上一次社团划分结果,分别以每个网络拓扑结构中的每个社团作为目标节点,重复S102-S105,并遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止,从而得到动态网络在所研究的时间段内的社团划分结果。
本实施例的动态网络的社团划分方法,通过获取动态网络分别在至少两个时刻的网络拓扑结构,通过遍历每个目标节点,将每个目标节移动到平均模块度增量最大且为正值对应的相邻节点所属的社团中,使得在每一层循环中的动态网络社团划分的模块度达到最大,然后下一层循环以上一层循环中每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止,从而得到动态网络在所研究的时间段内的社团划分结果。本实施例的动态网络的社团划分方法考虑了在所研究的时间段内各个时刻对应的网络拓扑结构,因此,社团划分结果可以反映所研究的时间段内动态网络的社团划分。此外每次目标节点的移动均是移动至平均模块度增量最大且为正值所对应的邻居节点所述社团,因此最终得到的社团划分结果模块度达到最大,得到的社团划分结果较为稳定,自下而上进行社团汇聚,不会遗漏小规模社团,并且计算速度快,可用于大规模动态网络。
实施例二
图2为本发明实施例二提供的动态网络的社团划分方法的流程图。如图2所示,在上述实施例一的基础上,本实施例对该方法进行详细的说明,其中与实施例一种的步骤类似的步骤,本实施例在此不再赘述。本实施例提供的动态网络的社团划分方法,该方法具体步骤如下:
S201、获取动态网络在一时间段内至少两个时刻的网络拓扑结构。
首先在所研究的时间段内,选取至少两个时刻的网络拓扑结构,以所选取的时刻对应的静态的网络拓扑结构近似替代所研究的时间段内动态网络的网络拓扑结构随时间的演变。当然,取样越密集,则每一所取的静态网络拓扑结构间的变化越接近该时间段内动态网络中真实的网络拓扑结构的演变。
S202、设定每个网络拓扑结构的权重为网络拓扑结构对应的时刻在时间段内的时间顺序,与时间段内获取到的网络拓扑结构的总数的比值。
在本实施例中,每个网络拓扑结构的权重为时间权重,即网络拓扑结构对应的时刻在时间段内的时间顺序,与时间段内获取到的网络拓扑结构的总数的比值。时间权重是基于时间顺序的重要性,反映了采集时间的先后对动态网络社团划分的影响程度的不同,时间越靠前的网络拓扑结构对动态网络社团划分的影响越低,而时间越靠后的网络拓扑结构对动态网络社团划分的影响越高。因此对动态网络社团划分时考虑到时间权重,动态网络社团划分更接近真实社团划分。
然后,分别以多个节点中的每一个节点作为目标节点,遍历每个目标节点,执行以下步骤:
S203、在每个网络拓扑结构中,计算目标节点分别与其相邻的每个节点的模块度增量,目标节点与其相邻的节点的模块度增量为目标节点移动到相邻的节点所属的社团时产生的模块度增量。
具体的,目标节点与同一个相邻节点的模块度增量为目标节点移动到同一个相邻节点所属的社团时产生的模块度增量;
目标节点移动到同一个相邻节点所属的社团时产生的模块度增量,根据公式(2)确定:
其中,C表示同一个相邻节点所属的社团,Wc表示社团C内部所有连边的权重和,Sc表示与社团C中的节点相连的连边的权重和,Si表示与目标节点i相连的连边的权重和,Si,in表示连接目标节点i与社团C中的节点的连边的权重和,W表示动态网络中所有边的权重和。
S204、根据每个网络拓扑结构的权重,以及每个网络拓扑结构中,目标节点与同一个相邻节点的模块度增量,计算目标节点与同一个相邻节点的平均模块度增量。
具体的,目标节点与同一个相邻节点的平均模块度增量,根据公式(1)确定:
其中,ΔQavg表示平均模块度增量,N表示时间段内的N个时刻,I表示N个时刻中的第I个时刻,wI表示第I个时刻对应的网络拓扑结构的权重,ΔQI表示在第I个时刻对应的网络拓扑结构中,目标节点与同一个相邻节点的模块度增量。
通过公式(1)计算各个网络拓扑结构中同一目标节点移动到同一相邻节点所属的社团中时模块度增量的加权平均值,即为平均模块度增量,采用平均模块度增量衡量所研究的时间段内对目标节点进行社团划分时模块度变化,从而使社团划分更接近动态网络真实的社团划分。
S205、比较目标节点与各个相邻节点的平均模块度增量。
S206、若目标节点与相邻节点的平均模块度增量最大,且最大的平均模块度增量为正值,则在每个网络拓扑结构中,将目标节点移动到该相邻节点所属的社团中。
S207、遍历每个目标节点结束后,分别以每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止。
当以上一循环的社团划分结果中的每个社团作为目标节点继续下一循环时,需要对公式(2)中的各参数进行重新定义。
具体的,在每个网络拓扑结构中,将连接两个社团之间的连边的权重和作为两个目标节点连边的权重,社团内部所有连边的权重和作为目标节点上的环路的权重。
本实施例的动态网络的社团划分方法,考虑了在所研究的时间段内各个时刻对应的网络拓扑结构,且每个网络拓扑结构的权重为时间权重,即考虑到采集时间的先后对动态网络社团划分的影响程度的不同,因此,动态网络社团划分更接近真实社团划分。此外每次目标节点的移动均是移动至平均模块度增量最大且为正值所对应的邻居节点所述社团,因此最终得到的社团划分结果模块度达到最大,得到的社团划分结果较为稳定,自下而上进行社团汇聚,不会遗漏小规模社团,并且计算速度快,可用于大规模动态网络。
实施例三
图3为本发明实施例三提供的动态网络的社团划分装置的结构图。如图3所示,本实施例提供一种动态网络的社团划分装置,该装置包括网络拓扑结构获取模块301和处理模块302,其中处理模块302包括:模块度增量获取子模块3021、平均模块度增量获取子模块3022、比较子模块3023及节点汇聚子模块3024。
具体的,网络拓扑结构获取模块301,用于获取动态网络分别在至少两个时刻的网络拓扑结构,动态网络包括多个节点,每个节点属于一个社团;
处理模块302,用于分别以多个节点中的每一个节点作为目标节点,遍历每个目标节点;其中处理模块302包括:
模块度增量获取子模块3021,用于在每个网络拓扑结构中,计算目标节点分别与其相邻的每个节点的模块度增量,目标节点与其相邻的节点的模块度增量为目标节点移动到相邻的节点所属的社团时产生的模块度增量;
平均模块度增量获取子模块3022,用于根据每个网络拓扑结构的权重,以及每个网络拓扑结构中,目标节点与同一个相邻节点的模块度增量,计算目标节点与同一个相邻节点的平均模块度增量;
比较子模块3023,用于比较目标节点与各个相邻节点的平均模块度增量;
节点汇聚子模块3024,用于若目标节点与相邻节点的平均模块度增量最大,且最大的平均模块度增量为正值,则在每个网络拓扑结构中,将目标节点移动到该相邻节点所属的社团中;
处理模块302还用于在遍历每个目标节点结束后,分别以每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例的动态网络的社团划分装置,通过获取动态网络分别在至少两个时刻的网络拓扑结构,通过遍历每个目标节点,将每个目标节移动到平均模块度增量最大且为正值对应的相邻节点所属的社团中,使得在每一层循环中的动态网络社团划分的模块度达到最大,然后下一层循环以上一层循环中每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止,从而得到动态网络在所研究的时间段内的社团划分结果。本实施例的动态网络的社团划分装置考虑了在所研究的时间段内各个时刻对应的网络拓扑结构,因此,社团划分结果可以反映所研究的时间段内动态网络的社团划分。此外每次目标节点的移动均是移动至平均模块度增量最大且为正值所对应的邻居节点社团,因此最终得到的社团划分结果模块度达到最大,得到的社团划分结果较为稳定,自下而上进行社团汇聚,不会遗漏小规模社团,并且计算速度快,可用于大规模动态网络。
实施例四
本实施例提供一种动态网络的社团划分装置,本实施例是对实施例三的动态网络的社团划分装置进一步补充说明,主要在实施例三的基础上,对网络拓扑结构获取模块301、处理模块302及平均模块度增量获取子模块3022、模块度增量获取子模块3021进行进一步说明。
其中,网络拓扑结构获取模块301具体用于:
获取动态网络在一时间段内至少两个时刻的网络拓扑结构;
每个网络拓扑结构的权重为网络拓扑结构对应的时刻在时间段内的时间顺序,与时间段内获取到的网络拓扑结构的总数的比值。
进一步的,平均模块度增量获取子模块3022用于根据公式(1)确定目标节点与同一个相邻节点的平均模块度增量:
其中,ΔQavg表示平均模块度增量,N表示时间段内的N个时刻,I表示N个时刻中的第I个时刻,wI表示第I个时刻对应的网络拓扑结构的权重,ΔQI表示在第I个时刻对应的网络拓扑结构中,目标节点与同一个相邻节点的模块度增量。
进一步的,模块度增量获取子模块3021用于根据公式(2)确定目标节点移动到同一个相邻节点所属的社团时产生的模块度增量:
其中,C表示同一个相邻节点所属的社团,Wc表示社团C内部所有连边的权重和,Sc表示与社团C中的节点相连的连边的权重和,Si表示与目标节点i相连的连边的权重和,Si,in表示连接目标节点i与社团C中的节点的连边的权重和,W表示动态网络中所有边的权重和。
进一步的,分别以每个网络拓扑结构中的每个社团作为目标节点时,处理模块302还用于在每个网络拓扑结构中,将连接两个社团之间的连边的权重和作为两个目标节点连边的权重,社团内部所有连边的权重和作为目标节点上的环路的权重。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例的动态网络的社团划分装置,考虑了在所研究的时间段内各个时刻对应的网络拓扑结构,且每个网络拓扑结构的权重为时间权重,即考虑到采集时间的先后对动态网络社团划分的影响程度的不同,因此,动态网络社团划分更接近真实社团划分。此外每次目标节点的移动均是移动至平均模块度增量最大且为正值所对应的邻居节点所述社团,因此最终得到的社团划分结果模块度达到最大,得到的社团划分结果较为稳定,自下而上进行社团汇聚,不会遗漏小规模社团,并且计算速度快,可用于大规模动态网络。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种动态网络的社团划分方法,其特征在于,包括:
获取动态网络分别在至少两个时刻的网络拓扑结构,所述动态网络包括多个节点,每个节点属于一个社团;
分别以所述多个节点中的每一个节点作为目标节点,遍历每个目标节点,执行以下步骤:
在每个网络拓扑结构中,计算所述目标节点分别与其相邻的每个节点的模块度增量,所述目标节点与其相邻的节点的模块度增量为所述目标节点移动到所述相邻的节点所属的社团时产生的模块度增量;
根据每个网络拓扑结构的权重,以及每个网络拓扑结构中,所述目标节点与同一个相邻节点的模块度增量,计算所述目标节点与同一个相邻节点的平均模块度增量;
比较所述目标节点与各个相邻节点的平均模块度增量;
若所述目标节点与所述相邻节点的平均模块度增量最大,且最大的所述平均模块度增量为正值,则在每个网络拓扑结构中,将所述目标节点移动到该所述相邻节点所属的社团中;
遍历每个目标节点结束后,分别以每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止。
2.根据权利要求1所述的方法,其特征在于,所述获取动态网络分别在至少两个时刻的网络拓扑结构,包括:
获取动态网络在一时间段内至少两个时刻的网络拓扑结构;
所述每个网络拓扑结构的权重为所述网络拓扑结构对应的时刻在所述时间段内的时间顺序,与所述时间段内获取到的所述网络拓扑结构的总数的比值。
3.根据权利要求2所述的方法,其特征在于,所述目标节点与同一个相邻节点的平均模块度增量,根据公式(1)确定:
其中,ΔQavg表示所述平均模块度增量,N表示所述时间段内的N个时刻,I表示所述N个时刻中的第I个时刻,wI表示第I个时刻对应的所述网络拓扑结构的权重,ΔQI表示在第I个时刻对应的所述网络拓扑结构中,所述目标节点与所述同一个相邻节点的模块度增量。
4.根据权利要求3所述的方法,其特征在于,
所述目标节点移动到所述同一个相邻节点所属的社团时产生的模块度增量,根据公式(2)确定:
其中,C表示所述同一个相邻节点所属的社团,Wc表示社团C内部所有连边的权重和,Sc表示与社团C中的节点相连的连边的权重和,Si表示与所述目标节点i相连的连边的权重和,Si,in表示连接所述目标节点i与社团C中的节点的连边的权重和,W表示所述动态网络中所有边的权重和。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述分别以每个网络拓扑结构中的每个社团作为目标节点,包括:
在每个网络拓扑结构中,将连接两个社团之间的连边的权重和作为两个目标节点连边的权重,所述社团内部所有连边的权重和作为所述目标节点上的环路的权重。
6.一种动态网络的社团划分装置,其特征在于,包括:
网络拓扑结构获取模块,用于获取动态网络分别在至少两个时刻的网络拓扑结构,所述动态网络包括多个节点,每个节点属于一个社团;
处理模块,用于分别以所述多个节点中的每一个节点作为目标节点,遍历每个目标节点;其中所述处理模块包括:
模块度增量获取子模块,用于在每个网络拓扑结构中,计算所述目标节点分别与其相邻的每个节点的模块度增量,所述目标节点与其相邻的节点的模块度增量为所述目标节点移动到所述相邻的节点所属的社团时产生的模块度增量;
平均模块度增量获取子模块,用于根据每个网络拓扑结构的权重,以及每个网络拓扑结构中,所述目标节点与同一个相邻节点的模块度增量,计算所述目标节点与同一个相邻节点的平均模块度增量;
比较子模块,用于比较所述目标节点与各个相邻节点的平均模块度增量;
节点汇聚子模块,用于若所述目标节点与所述相邻节点的平均模块度增量最大,且最大的所述平均模块度增量为正值,则在每个网络拓扑结构中,将所述目标节点移动到该所述相邻节点所属的社团中;
所述处理模块还用于在遍历每个目标节点结束后,分别以每个网络拓扑结构中的每个社团作为目标节点,重复遍历每个目标节点,直到每个网络拓扑结构中的任意两个社团均无法继续合并为止。
7.根据权利要求6所述的装置,其特征在于,所述网络拓扑结构获取模块具体用于:
获取动态网络在一时间段内至少两个时刻的网络拓扑结构;
所述每个网络拓扑结构的权重为所述网络拓扑结构对应的时刻在所述时间段内的时间顺序,与所述时间段内获取到的所述网络拓扑结构的总数的比值。
8.根据权利要求7所述的装置,其特征在于,所述平均模块度增量获取子模块用于根据公式(1)确定所述目标节点与同一个相邻节点的平均模块度增量:
其中,ΔQavg表示所述平均模块度增量,N表示所述时间段内的N个时刻,I表示所述N个时刻中的第I个时刻,wI表示第I个时刻对应的所述网络拓扑结构的权重,ΔQI表示在第I个时刻对应的所述网络拓扑结构中,所述目标节点与所述同一个相邻节点的模块度增量。
9.根据权利要求8所述的装置,其特征在于,所述模块度增量获取子模块用于根据公式(2)确定所述目标节点移动到所述同一个相邻节点所属的社团时产生的模块度增量:
其中,C表示所述同一个相邻节点所属的社团,Wc表示社团C内部所有连边的权重和,Sc表示与社团C中的节点相连的连边的权重和,Si表示与所述目标节点i相连的连边的权重和,Si,in表示连接所述目标节点i与社团C中的节点的连边的权重和,W表示所述动态网络中所有边的权重和。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述分别以每个网络拓扑结构中的每个社团作为目标节点时,所述处理模块还用于在每个网络拓扑结构中,将连接两个社团之间的连边的权重和作为两个目标节点连边的权重,所述社团内部所有连边的权重和作为所述目标节点上的环路的权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611074435.6A CN106780058A (zh) | 2016-11-29 | 2016-11-29 | 动态网络的社团划分方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611074435.6A CN106780058A (zh) | 2016-11-29 | 2016-11-29 | 动态网络的社团划分方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106780058A true CN106780058A (zh) | 2017-05-31 |
Family
ID=58900837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611074435.6A Pending CN106780058A (zh) | 2016-11-29 | 2016-11-29 | 动态网络的社团划分方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106780058A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712011A (zh) * | 2017-10-25 | 2019-05-03 | 北京京东尚科信息技术有限公司 | 社区发现方法和装置 |
CN109921921A (zh) * | 2019-01-26 | 2019-06-21 | 复旦大学 | 一种时变网络中时效稳定社团的检测方法和装置 |
US10652096B2 (en) | 2017-02-22 | 2020-05-12 | University Of Notre Dame Du Lac | Methods and systems for inferring network structure from cascades |
CN111626891A (zh) * | 2020-06-03 | 2020-09-04 | 四川大学 | 一种基于扩展节点的动态销售网络社团发现方法 |
CN111935748A (zh) * | 2020-08-18 | 2020-11-13 | 国网河南省电力公司信息通信公司 | 一种可靠性高和负载均衡的虚拟网资源分配方法 |
CN112287210A (zh) * | 2020-08-07 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | 模板的推荐方法、装置、电子设备及计算机可读介质 |
CN113204854A (zh) * | 2021-06-03 | 2021-08-03 | 广西师范大学 | 一种基于发电机节点及网络加权拓扑的电网分区方法 |
-
2016
- 2016-11-29 CN CN201611074435.6A patent/CN106780058A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10652096B2 (en) | 2017-02-22 | 2020-05-12 | University Of Notre Dame Du Lac | Methods and systems for inferring network structure from cascades |
CN109712011A (zh) * | 2017-10-25 | 2019-05-03 | 北京京东尚科信息技术有限公司 | 社区发现方法和装置 |
CN109712011B (zh) * | 2017-10-25 | 2022-01-07 | 北京京东尚科信息技术有限公司 | 社区发现方法和装置 |
CN109921921A (zh) * | 2019-01-26 | 2019-06-21 | 复旦大学 | 一种时变网络中时效稳定社团的检测方法和装置 |
CN109921921B (zh) * | 2019-01-26 | 2021-06-04 | 复旦大学 | 一种时变网络中时效稳定社团的检测方法和装置 |
CN111626891A (zh) * | 2020-06-03 | 2020-09-04 | 四川大学 | 一种基于扩展节点的动态销售网络社团发现方法 |
CN111626891B (zh) * | 2020-06-03 | 2023-08-01 | 四川大学 | 一种基于扩展节点的动态销售网络社团发现方法 |
CN112287210A (zh) * | 2020-08-07 | 2021-01-29 | 北京沃东天骏信息技术有限公司 | 模板的推荐方法、装置、电子设备及计算机可读介质 |
CN111935748A (zh) * | 2020-08-18 | 2020-11-13 | 国网河南省电力公司信息通信公司 | 一种可靠性高和负载均衡的虚拟网资源分配方法 |
CN111935748B (zh) * | 2020-08-18 | 2023-06-23 | 国网河南省电力公司信息通信公司 | 一种可靠性高和负载均衡的虚拟网资源分配方法 |
CN113204854A (zh) * | 2021-06-03 | 2021-08-03 | 广西师范大学 | 一种基于发电机节点及网络加权拓扑的电网分区方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106780058A (zh) | 动态网络的社团划分方法及装置 | |
CN110083165B (zh) | 一种机器人在复杂狭窄环境下路径规划方法 | |
CN104156584B (zh) | 多目标优化差分进化算法的传感器目标分配方法及系统 | |
CN107846014B (zh) | 一种基于随机特征和级数计算的电网概率脆弱性评估方法 | |
CN106529818B (zh) | 基于模糊小波神经网络的水质评价预测方法 | |
CN105527964A (zh) | 一种机器人路径规划方法 | |
CN109862532B (zh) | 轨道交通状态监测多传感器节点布局优化方法及系统 | |
CN105930688A (zh) | 基于改进pso算法的蛋白质功能模块检测方法 | |
CN111553469A (zh) | 一种无线传感器网络数据融合方法、装置和存储介质 | |
Rad et al. | Automatic skill acquisition in Reinforcement Learning using connection graph stability centrality | |
CN106022471A (zh) | 基于粒子群优化算法的小波神经网络模型船舶横摇实时预测方法 | |
CN104836711A (zh) | 一种指挥控制网络生成模型的构建方法 | |
CN108649605A (zh) | 一种基于双层场景区间潮流的der并网准入容量规划方法 | |
Sharifi et al. | Two phased cellular PSO: A new collaborative cellular algorithm for optimization in dynamic environments | |
CN112633591B (zh) | 一种基于深度强化学习的空间搜索方法及设备 | |
CN106789320A (zh) | 一种用于优化无线传感器网络拓扑的多种群协同进化方法 | |
Pei et al. | The clustering algorithm based on particle swarm optimization algorithm | |
CN103595652B (zh) | 一种电力通信网络中QoS能效的分级方法 | |
CN107194155A (zh) | 一种基于小数据集和贝叶斯网络的威胁评估建模方法 | |
CN107273532A (zh) | 一种基于密度和扩展网格的数据流聚类方法 | |
CN105488247A (zh) | 一种k均值社团结构挖掘方法及装置 | |
CN106780747B (zh) | 一种快速分割cfd计算网格的方法 | |
Zhou | Research on the Complexity Characteristics of Convolutional Neural Networks | |
CN110113215A (zh) | 一种基于时间加权的重叠社区检测算法 | |
CN102768735A (zh) | 基于免疫克隆多目标优化的网络社区划分方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |