-
出行活动驱动的城市交通复杂网络演化模型研究
2020-01-26 10:24:47出行活动驱动的城市交通复杂网络演化模型研究,范文博,,众多领域内复杂网络研究表明,网络的动力学性质与其拓扑结构密切相关。近年,小世界性和无标度性的网络拓扑结构的普遍发现驱使人 -
论文研究-基于空间引力作用的复杂网络演化模型.pdf
2019-07-22 23:33:09为了研究空间距离、边权演化、节点规模等因素在复杂网络演化过程中的共同作用,借助空间引力模型,采用基尼系数的统计方法,综合分析这三种因素对网络拓扑结构异质性的影响作用。数值仿真研究表明,空间距离、边权... -
论文研究-多三角形结构动态复杂网络演化模型及其稳定性分析.pdf
2019-09-06 17:07:53给出了多三角形结构动态复杂网络演化模型的演化算法,利用平均场理论和MATLAB工具对模型的度分布、平均聚集系数等给出了精确的理论解与数值仿真解,验证了两种解完全吻合。利用MATLAB工具对演化模型的稳定性进行数值... -
复杂网络演化模型 matlab的实际运用
2011-07-13 16:09:08通过解析的方法, 导出这一模型的度分布、聚类系数和平 均路径长度, 发现其具备复杂网络的无标度、小世界等特性, 并通过数值仿真进行了验证。 -
论文研究-基于复杂网络空间的网络演化模型 .pdf
2019-08-17 00:53:09基于复杂网络空间的网络演化模型,刘刚,李永树,为进一步研究复杂网络演化的过程,引入复杂网络空间的概念,诠释了网络结构在复杂网络空间中演化的基本原理,进而提出一种基于复 -
论文研究-网络流驱动的复杂输运网络演化模型.pdf
2019-09-11 20:46:31传统复杂网络演化模型在网络拓扑结构与边权演化的机制设计中,未考虑网络流对于输运网络演化的驱动作用。引入网络流的动态驱动机制,分析网络流的规模增长、空间距离的制约与最短路径的配流策略三种因素,在输运网络... -
复杂网络分析库NetworkX学习笔记3:网络演化模型
2020-07-13 10:28:52本文首先介绍在NetworkX生成这些网络模型的方法,然后以BA无标度网络的建模为例,分析利用 NetworkX进行复杂网络演化模型设计的基本思路,以便将来开发出我们自己的模型。同时这篇文章里还涉及到一点复杂网络可视化...NetworkX提供了4种常见网络的建模方法,分别是:规则图,ER随机图,WS小世界网络和BA无标度网络。本文首先介绍在NetworkX生成这些网络模型的方法,然后以BA无标度网络的建模为例,分析利用 NetworkX进行复杂网络演化模型设计的基本思路,以便将来开发出我们自己的模型。同时这篇文章里还涉及到一点复杂网络可视化的方法(后边有时间会另文介绍网络可视化的方法)。
一、规则图
规则图差不多是最没有复杂性的一类图了,在NetworkX中,用 random_graphs.random_regular_graph(d, n)方法可以生成一个含有n个节点,每个节点有d个邻居节点的规则图。下面是一段示例代码,生成了包含20个节点、每个节点有3个邻居的规则图:
import networkx as nx
import matplotlib.pyplot as plt
RG = nx.random_graphs.random_regular_graph(3,20) #生成包含20个节点、每个节点有3个邻居的规则图RG
pos = nx.spectral_layout(RG) #定义一个布局,此处采用了spectral布局方式,后变还会介绍其它布局方式,注意图形上的区别
nx.draw(RG,pos,with_labels=False,node_size = 30) #绘制规则图的图形,with_labels决定节点是非带标签(编号),node_size是节点的直径
plt.show() #显示图形
运行结果如下:图1 NetworkX生成的规则图
二、ER随机图
ER随机图是早期研究得比较多的一类“复杂”网络,这个模型的基本思想是以概率p连接N个节点中的每一对节点。在NetworkX中,可以用random_graphs.erdos_renyi_graph(n,p)方法生成一个含有n个节点、以概率p连接的ER随机图:
import networkx as nx
import matplotlib.pyplot as plt
ER = nx.random_graphs.erdos_renyi_graph(20,0.2) #生成包含20个节点、以概率0.2连接的随机图
pos = nx.shell_layout(ER) #定义一个布局,此处采用了shell布局方式
nx.draw(ER,pos,with_labels=False,node_size = 30)
plt.show()运行结果如下:
图2 NetworkX生成的随机图
三、WS小世界网络在NetworkX中,可以用random_graphs.watts_strogatz_graph(n, k, p)方法生成一个含有n个节点、每个节点有k个邻居、以概率p随机化重连边的WS小世界网络,下面是一个例子:
import networkx as nx
import matplotlib.pyplot as plt
WS = nx.random_graphs.watts_strogatz_graph(20,4,0.3) #生成包含20个节点、每个节点4个近邻、随机化重连概率为0.3的小世界网络
pos = nx.circular_layout(WS) #定义一个布局,此处采用了circular布局方式
nx.draw(WS,pos,with_labels=False,node_size = 30) #绘制图形
plt.show()运行结果如下:
图3 NetworkX生成的WS小世界网络
四、BA无标度网络在NetworkX中,可以用random_graphs.barabasi_albert_graph(n, m)方法生成一个含有n个节点、每次加入m条边的BA无标度网络,下面是一个例子:
import networkx as nx
import matplotlib.pyplot as plt
BA= nx.random_graphs.barabasi_albert_graph(20,1) #生成n=20、m=1的BA无标度网络
pos = nx.spring_layout(BA) #定义一个布局,此处采用了spring布局方式
nx.draw(BA,pos,with_labels=False,node_size = 30) #绘制图形
plt.show()运行结果如下:
图4 NetworkX生成的BA无标度网络
五、对BA模型实现代码的分析
前面我们介绍了NetworkX提供的4种网络演化模型的应用方法,但仅停留在使用已有的模型是不够的,实际工作中我们可能会自己开发一些网络演化模型。利用NetworkX提供的数据结构,我们可以比较方便的完成这一工作。下面以 NetworkX中BA模型的实现代码为例,分析用NetworkX开发网络演化模型的一般思路。NetworkX中关于网络建模的代码在 random_graphs.py这个文件中,可以用记事本打开它。为了叙述简便起见,我删掉了原始代码中的一些错误处理与初始条件定义的语句,红色部分是翻译后的注释。
#定义一个方法,它有两个参数:n - 网络节点数量;m - 每步演化加入的边数量
def barabasi_albert_graph(n, m):
# 生成一个包含m个节点的空图 (即BA模型中t=0时的m0个节点)
G=empty_graph(m)
# 定义新加入边要连接的m个目标节点
targets=range(m)
# 将现有节点按正比于其度的次数加入到一个数组中,初始化时的m个节点度均为0,所以数组为空
repeated_nodes=[]
# 添加其余的 n-m 个节点,第一个节点编号为m(Python的数组编号从0开始)
source=m
# 循环添加节点
while source<n:
# 从源节点连接m条边到选定的m个节点targets上(注意targets是上一步生成的)
G.add_edges_from(zip([source]*m,targets))
# 对于每个被选择的节点,将它们加入到repeated_nodes数组中(它们的度增加了1)
repeated_nodes.extend(targets)
# 将源点m次加入到repeated_nodes数组中(它的度增加了m)
repeated_nodes.extend([source]*m)
# 从现有节点中选取m个节点 ,按正比于度的概率(即度优先连接)
targets=set()
while len(targets)<m:
#按正比于度的概率随机选择一个节点,见注释1
x=random.choice(repeated_nodes)
#将其添加到目标节点数组targets中
targets.add(x)
#挑选下一个源点,转到循环开始,直到达到给定的节点数n
source += 1
#返回所得的图G
return G注释1:此步是关键,random.choice方法是从一个数组中随机地挑选一个元素。由于repeated_nodes数组中的节点出现次数是正比于节点度的,所以这样处理可以保证按度大小的概率选出节点,即实现了度优先连接。如果是按正比于节点适应性等非整数值优先连接,可以参考我的另一篇博文《根据值的大小随机取数组元素的方法》。
六、小结
NetworkX的优势之一就是开源,这也是所有Python库的优势(Python是脚本语言,它没有办法隐藏源代码)。NetworkX的源代码结构清晰,风格简练,注释详尽,是学习、研究复杂网络不错的参考资料。当然在这方面我也是初学者,更多的功能还需要在实际应用中不断去发掘和领会…………
-
复杂网络的演化模型
2020-05-09 15:25:08网络演化(evolution),通过网络演化构建网络结构是对网络进行定量研究的基础,对网络的运营管理,大规模网络行为的理解等方面具有重要影响。 2.演化模型分类 1按照网络演化的部件来分 (1)基于点、边的网络演化...1.定义
网络演化(evolution),通过网络演化构建网络结构是对网络进行定量研究的基础,对网络的运营管理,大规模网络行为的理解等方面具有重要影响。
2.演化模型分类
1按照网络演化的部件来分
(1)基于点、边的网络演化模型
基于点、边的网络演化模型是指:在网络演化过程中,网络中的节点和边都可增加或删除的演化模型。 BA模型是典型的基于点、边的网络演化模型,新加入的节点会引入新边连接到已有的老节点。BA模型是基于增长和择优连接2个原理提出的。增长原理强调了网络节点的演化,择优连接强调了网络边的演化。BA模型具有幂律度分布的特性,但有些特性与真实网络的测试结果不符。许多模型在此基础上进行了改进
(2)基于边的网络演化模型
基于边的网络演化模型是指:在网络演化过程中,网络中的节点数目保持不变,但是边可以增加或者减少的演化模型。ER模型在给定的节点之间采用随机连边策略产生随机图模型;WS模型在给定的节点之间采用边重连的策略产生小世界网络模型;2.以是否考虑权重来分
(1)无权网络演化模型
网络的边没有赋予权重,则该网络是无权网络。基本的BA,WS,ER都是无权网络演化模型。根据BA模型的网络增长和择优连接2条规则,这些模型可分为两类:修改增长规则的无权网络演化模型和修改连接规则的无权网络演化模型。
无权网络演化模型主要针对网络的拓扑演化机制进行研究而不考虑网络的功能、承载业务等。演化结论主要是通过对网络拓扑结构的评判(是否具有幂律度分布特性、小世界效应等)来验证。故无权网络演化模型与实际网络的演化还有一定的差距。(2)含权网络演化模型
网络的边赋予相应的权重,则该网络就成为含权网络或加权网络。现实世界的网络几乎都是加权网络。
3.以演化网络采用的演化机制来分
(1) 单一演化机制模型
是指,网络在演化过程中只采取一种演化机制的模型,如BA,WS等以及基于这些模型的改进模型都是单一演化机制的模型。
(2) 混合演化机制模型
是指,网络在演化过程中,采取多种演化机制的模型
4.以演化网络是否动态来分
在相邻2个时间步内,网络节点及节点之间的关系(边)一直保持不变,则将这类网络称为静态网络,大多数都是静态演化模型
-
python复杂网络分析_科学网—复杂网络分析库NetworkX学习笔记(3):网络演化模型 - 闫小勇的博文...
2021-02-10 05:19:29本文首先介绍在NetworkX生成这些网络模型的方法,然后以BA无标度网络的建模为例,分析利用NetworkX进行复杂网络演化模型设计的基本思路,以便将来开发出我们自己的模型。同时这篇文章里还涉及到一点复杂网络可视化的...NetworkX提供了4种常见网络的建模方法,分别是:规则图,ER随机图,WS小世界网络和BA无标度网络。本文首先介绍在NetworkX生成这些网络模型的方法,然后以BA无标度网络的建模为例,分析利用NetworkX进行复杂网络演化模型设计的基本思路,以便将来开发出我们自己的模型。同时这篇文章里还涉及到一点复杂网络可视化的方法(后边有时间会另文介绍网络可视化的方法)。
一、规则图
规则图差不多是最没有复杂性的一类图了,在NetworkX中,用random_graphs.random_regular_graph(d, n)方法可以生成一个含有n个节点,每个节点有d个邻居节点的规则图。下面是一段示例代码,生成了包含20个节点、每个节点有3个邻居的规则图:
import networkx as nx
import matplotlib.pyplot as plt
RG = nx.random_graphs.random_regular_graph(3,20) #生成包含20个节点、每个节点有3个邻居的规则图RG
pos = nx.spectral_layout(RG) #定义一个布局,此处采用了spectral布局方式,后变还会介绍其它布局方式,注意图形上的区别
nx.draw(RG,pos,with_labels=False,node_size = 30) #绘制规则图的图形,with_labels决定节点是非带标签(编号),node_size是节点的直径
plt.show() #显示图形
运行结果如下:
图1 NetworkX生成的规则图
二、ER随机图
ER随机图是早期研究得比较多的一类“复杂”网络,这个模型的基本思想是以概率p连接N个节点中的每一对节点。在NetworkX中,可以用random_graphs.erdos_renyi_graph(n,p)方法生成一个含有n个节点、以概率p连接的ER随机图:
import networkx as nx
import matplotlib.pyplot as plt
ER = nx.random_graphs.erdos_renyi_graph(20,0.2) #生成包含20个节点、以概率0.2连接的随机图
pos = nx.shell_layout(ER) #定义一个布局,此处采用了shell布局方式
nx.draw(ER,pos,with_labels=False,node_size = 30)
plt.show()
运行结果如下:
图2 NetworkX生成的随机图
三、WS小世界网络
在NetworkX中,可以用random_graphs.watts_strogatz_graph(n, k, p)方法生成一个含有n个节点、每个节点有k个邻居、以概率p随机化重连边的WS小世界网络,下面是一个例子:
import networkx as nx
import matplotlib.pyplot as plt
WS = nx.random_graphs.watts_strogatz_graph(20,4,0.3) #生成包含20个节点、每个节点4个近邻、随机化重连概率为0.3的小世界网络
pos = nx.circular_layout(WS) #定义一个布局,此处采用了circular布局方式
nx.draw(WS,pos,with_labels=False,node_size = 30) #绘制图形
plt.show()
运行结果如下:
图3 NetworkX生成的WS小世界网络
四、BA无标度网络
在NetworkX中,可以用random_graphs.barabasi_albert_graph(n, m)方法生成一个含有n个节点、每次加入m条边的BA无标度网络,下面是一个例子:
import networkx as nx
import matplotlib.pyplot as plt
BA= nx.random_graphs.barabasi_albert_graph(20,1) #生成n=20、m=1的BA无标度网络
pos = nx.spring_layout(BA) #定义一个布局,此处采用了spring布局方式
nx.draw(BA,pos,with_labels=False,node_size = 30) #绘制图形
plt.show()
运行结果如下:
图4 NetworkX生成的BA无标度网络
五、对BA模型实现代码的分析
前面我们介绍了NetworkX提供的4种网络演化模型的应用方法,但仅停留在使用已有的模型是不够的,实际工作中我们可能会自己开发一些网络演化模型。利用NetworkX提供的数据结构,我们可以比较方便的完成这一工作。下面以NetworkX中BA模型的实现代码为例,分析用NetworkX开发网络演化模型的一般思路。NetworkX中关于网络建模的代码在random_graphs.py这个文件中,可以用记事本打开它。为了叙述简便起见,我删掉了原始代码中的一些错误处理与初始条件定义的语句,红色部分是翻译后的注释。
#定义一个方法,它有两个参数:n - 网络节点数量;m - 每步演化加入的边数量def barabasi_albert_graph(n, m):
# 生成一个包含m个节点的空图 (即BA模型中t=0时的m0个节点) G=empty_graph(m)
# 定义新加入边要连接的m个目标节点
targets=range(m)
# 将现有节点按正比于其度的次数加入到一个数组中,初始化时的m个节点度均为0,所以数组为空 repeated_nodes=[]
# 添加其余的 n-m 个节点,第一个节点编号为m(Python的数组编号从0开始)
source=m
# 循环添加节点
while source
# 从源节点连接m条边到选定的m个节点targets上(注意targets是上一步生成的)
G.add_edges_from(zip([source]*m,targets))
# 对于每个被选择的节点,将它们加入到repeated_nodes数组中(它们的度增加了1)
repeated_nodes.extend(targets)
# 将源点m次加入到repeated_nodes数组中(它的度增加了m) repeated_nodes.extend([source]*m)
# 从现有节点中选取m个节点 ,按正比于度的概率(即度优先连接)
targets=set()
while len(targets)
#按正比于度的概率随机选择一个节点,见注释1
x=random.choice(repeated_nodes)
#将其添加到目标节点数组targets中
targets.add(x)
#挑选下一个源点,转到循环开始,直到达到给定的节点数n source += 1
#返回所得的图G
return G
注释1:此步是关键,random.choice方法是从一个数组中随机地挑选一个元素。由于repeated_nodes数组中的节点出现次数是正比于节点度的,所以这样处理可以保证按度大小的概率选出节点,即实现了度优先连接。如果是按正比于节点适应性等非整数值优先连接,可以参考我的另一篇博文《根据值的大小随机取数组元素的方法》。
六、小结
NetworkX的优势之一就是开源,这也是所有Python库的优势(Python是脚本语言,它没有办法隐藏源代码)。NetworkX的源代码结构清晰,风格简练,注释详尽,是学习、研究复杂网络不错的参考资料。当然在这方面我也是初学者,更多的功能还需要在实际应用中不断去发掘和领会…………
相关专题:复杂网络研究
转载本文请联系原作者获取授权,同时请注明本文来自闫小勇科学网博客。
链接地址:http://blog.sciencenet.cn/blog-404069-337689.html
上一篇:复杂网络分析库NetworkX学习笔记(2):统计指标计算
下一篇:复杂网络分析库NetworkX学习笔记(4):网络可视化
-
论文研究-动态复杂供需网络局域演化模型的研究.pdf
2019-09-13 09:21:31为了深入理解供需网络的演化规律,研究了已有的复杂网络演化模型刻画供需网络生长过程的不足,提出了以星型网络表示初始网络,在局域世界中选择新增节点的连接节点,局域世界的选取,采用了依据节点之间的网络路径值... -
论文研究-边效益因素下复杂供应链网络局域演化机制.pdf
2019-07-22 19:37:43针对一般复杂网络演化模型中节点连接测度不能很好地描述复杂供应链网络特性的局限性,将节点企业间的合作所带来的边效益引入复杂供应链网络的演化模型中,采用节点度与边效益作为节点择优连接的综合测度指标,构建了... -
论文研究-支持复杂社会网络演化的过程挖掘技术综述.pdf
2019-09-08 16:38:46复杂社会网络演化过程研究对于发现社会网络群体的隐含结构和演化规律,以及风险预测具有重要意义。首先梳理了过程挖掘技术的发展脉络,阐述复杂社会网络分析方法与过程挖掘技术相结合在复杂社会网络演化模式研究、... -
复杂网络视角下的全球贸易网络关系演化研究
2020-02-21 23:37:33复杂网络视角下的全球贸易网络关系演化研究,叶定达,柳向东,在当前全球经济一体化的发展趋势下,世界各国在国际贸易上相互联系、竞争、影响,全球经济逐渐形成一个不可分割的整体。世界贸易 -
几种复杂网络模型的介绍:动态演化网络、社区网络、权重网络、相依网络、多层网络
2020-11-08 14:08:211.1以网络演化的部件划分 1.2以是否考虑权重划分 1.3以演化网络采用的演化机制划分 1.4以演化网络是否动态变化划分 2社区网络 2.1复杂网络中社区结构的分类 2.2社区结构评价标准 3权重网络 3.1加权网络的...《复杂网络与大数据》第二章:复杂网络模型的学习笔记
目录
1动态演化网络
演化网络是随着时间的变化而变化的网络。
1.1以网络演化的部件划分
1.基于点边的网络演化模型:顾名思义,基于点边的网络演化模型就是指在网络演化过程中网络的结点和边都可以增加或删除的演化模型。
典型的如BA模型。BA模型是基于增长和择优连接两个原理提出的,增长原理强调了网络节点的演化,择优连接强调了网络边的演化。BA模型具有幂律度分布的特性
目前大多数的网络演化模型都是基于点边的网络演化模型。
2.基于边的网络演化模型:即网络演化过程中,节点数不变,但是边可以增加或删除的演化模型。
例如:ER模型在给定的节点之间采用随机连边策略产生随机图模型;WS模型在给定的节点之间采用边重连的策略产生小世界网络模型;NW模型给定的节点之间采用随机加边的策略产生小世界模型;
两种网络演化模型谁更合理目前并没有定论。
1.2以是否考虑权重划分
1.无权网络演化模型:如果对所研究网络的边没有赋予相应的权值,则该网络就称为无权网络。基本的ER模型、WS小世界模型、NW小世界模型以及BA模型都属于无权网络演化模型。目前基于BA模型产生了大量的无权网络演化模型。根据BA模型的网络增长和择优连接两条规则,这些模型大体可以分为两类:修改增长规则的无权网络演化模型和修改连接规则的无权网络演化模型。
无权网络演化模型主要针对网络的拓扑演化机制进行研究,不考虑网络的功能、承载业务等,演化结论主要也是通过对网络拓扑结构的评判(是否具有幂律度分布特性、小世界效应等)验证。因此,无权网络演化模型与实际网络演化还有一定差距。
2.含权网络演化模型:如果对所研究网络的边赋予了相应的权值,则该网络就称为含权网络或加权网络。现实世界的网络几乎都是含权网络。含权网络演化模型的研究对理解真实网络的演化过程具有重要意义。具有代表性的含权网络模型有DW模型, YJ BT模型 , Barrat、Barthelemy和Vespignani提出的简单加权演化网络模型(BBV模型) 以及中国科技大学复杂系统研究小组提出的TDE模型及其改进模型。
含权网络演化模型认为网络承载的业务与网络拓扑结构是一种共生演化关系,相互驱动。BBV模型(特别是TDE模型) 通过将网络业务耦合人网络拓扑演化过程, 不仅得到网络的幂律度分布,同时得到网络强度的幂律分布、网络权重的幂律分布以及高聚集性和非相称混合性等特征,更加成功地刻画出真实技术网络的特性。
1.3以演化网络采用的演化机制划分
1.单一演化机制模型:指演化过程中只采取一种演化机制的模型。ER模型、WS小世界模型、NW小世界模型、BA模型以及众多基于这些模型的改进模型都是单一演化模型。单一演化机制模型能有效研究某一演化机制对网络演化性质的影响,但对处于复杂多变环境中的真实网络而言,采用单一演化机制模型往往太过理想化,因此单一演化机制模型与实际网络相比还存在一定的差距。
2.混合演化机制模型:混合演化机制模型是指网络在演化过程中采取多种演化机制的模型。为了描述确定性与随机性和谐统一的世界以及增长过程的复杂性和多样性,中国原子能科学研究院网络科学小组的方锦清等人提出并发展了统一的混合网络模型,形成网络理论模型的三部曲。数值模拟和理论分析揭示了统一混合网络演化模型随多个混合比变化的若干特性,将其应用于一些现有的无权和含权复杂网络演化模型,可以得到更接近实际网络的特性。虽然混合演化机制模型能描述网络增长过程的复杂性和多样性,但是真实网络究竟采用了哪些演化机制以及各种演化机制所占比重的确定仍是一个需要解决的难题。
1.4以演化网络是否动态变化划分
1.静态网络演化模型:在相邻两个时间步内,网络节点及节点之间的关系一直保持不变,则称这类网络为静态网络。目前研究的网络演化模型基本上都属于此类型。
2.动态网络演化模型:在相邻两个时间步内,网络节点及节点之间的关系(边)具有可变性,则称这类网络为动态网络。动态网络系统中,节点的状态和拓扑都是动态演化的,节点的状态和网络的拓扑之间可能是相互影响的,且系统在整体层面上会展示出各种各样的集体行为。当前的研究重点主要是系统具有什么样的集体动力学行为、如何干预或控制此系统等。
2社区网络
目前,社区还没有明确的定义。一般而言,社区是指网络中具有相似属性的节点集合,社区内部关系紧密,社区之间节点关系稀疏。Fortunato从网络节点相似度,局部和全局3个角度总结了常见的社区的定义。
- 节点相似度定义:社区是由网络中相似节点构成的集合。同一个社区中的节点在异构的网络中呈现相似的特征,所以可以根据节点的相似度划分社区。通常采用层次聚类方法度量节点相似度和发现社区结构。
- 局部定义:社区是与网络中其他部分只有少量关联的部分。即社区内部个体关系紧密。
- 全局定义:社区是整个网络系统的一种划分,整个网络构成一棵层次树状图,根据某种特征函数值进行划分,得到最优的社区结构。这种特征函数也就是一种社区划分的衡量标准,对社区结构给出了一种量化定义。最常见的特征医数是 Newman 等人提出的模块度函数。
综合以上3中定义可以看出,节点相似度是利用节点属性对网络进行划分,社会网络分析领域经常采用这种定义。然而,在复杂网络中,由于节点的属性非常复杂,很难获得有效的信息,因此大多数复杂的网络社区都使用后两种定义,利用网络拓扑来发现社区结构。
2.1复杂网络中社区结构的分类
在复杂网络中,有两种类型的社团结构:层次结构和重叠结构,它们可能同时存在于复杂网络中。
1.层次结构社区层次结构是对社会网络中不同层次、不同粒度社区的整合。现实世界中的大多数网络系统都显示出层次的形态。真实网络通常由社区组成,而这样的社区中包含较小的社区,小社区中可能包含更小的社区等。社区层次结构的意义在于揭示复杂网络中社区之间的上下包含关系。层次结构在社会网络中普遍存在,如篮球和羽毛球俱乐部都属于球类俱乐部,围棋和象棋俱乐部都属于棋牌俱乐部,而球类和棋牌类俱乐部都属于体育俱乐部。发现网络社区层次结构,可以深人理解不同尺度下网络结构及网络结构之间的关系,从而更好地反映真实系统的情况,有利于进行系统分析。目前发现社区层次结构较多采用层次聚类的方法,按照网络图中节点之间的距离或者相似度进行聚类,将整个网络结构构建成为一棵树状图。树状图表示了网络社区的层次结构,如图所示,每个节点是树状图中的叶子,然后通过连接构成树状图,组成一个完整的网络。树状图中的每一层代表不同的社区,从底层到高层社区数量越来越少,社区规模越来越大。
2.重叠结构
研究发现,现实世界中许多网络社区之间通常并不是彼此独立的,而是相互关联的。换言之,网络由相互关联,彼此重叠的社区组成,社区之间存在重叠的节点。社区的重叠结构是指社区中每个节点并非只属于一个独立的社区,而是存在某些节点可能属于多个社区。例如,在社会网络中,根据不同的分类方法,每个人可能会划分到多个不同的社区(如家庭、公司、兴趣小组、学校等):在科学家合作网络中,一个物理学家同时也可能是一个数学家,因此他将同时处于分别由物理学家和数学家构成的两个社区中。社区重叠结构更加符合真实世界的社区之间的关系,反映了更加真实的网络结构。复杂网络中层次重重社区如图所示,从图中可以发现某些节点在不同的社区之间起着桥梁的作用,同时属于两个不同的社区。2.2社区结构评价标准
采用层次聚类算法是针对已知社区数目(层次)的网络,你需要先构成网络的层次树状图,每一层对应网络的一个划分。但是实际中网络的社区数目往往是未知的。
如何从树状图中获得最优的社区划分,需要一个度量标准。这里介绍一个划分标准——模块度。
所谓模块性,是指在 一个真实社团内部的节点的边在该网络中所占的比例期望值 与 在保持该网络节点社团属性不变的情况下,边根据节点的度随机链接时,社团内部节点的边占该网络全部边的比例期望值 的比值。社团结构划分的越好,该比值越大。通常用Q函数定量描述社团划分的模块水平:
Q=(一个真实社团内部的节点的边在该网络中所占的比例期望值)/( 在保持该网络节点社团属性不变的情况下,边根据节点的度随机链接时,社团内部节点的边占该网络全部边的比例期望值)
其中,m为边数,ki,kj为节点vi,vj的度,它们中间有边的可能性为(ki*kj)/2m,若有边Aij=1,否则等于0。ci,cj分别是vi,vj所属的社区,当ci=cj时δ(ci,cj)=1,否则等于0。
Q值范围【-0.5,1),值越大,社区划分越准确。在实际中,Q值最高点一般在0.3~0.7之间.
3权重网络
权重网络就是带权重的网络。之前只讨论边是否存在的二进制网络只是纯粹的拓扑模型,不足以解释实际系统观察中的丰富而复杂的性质。
3.1加权网络的度量
加权图一般表示为G=(V,E,W)。首要特征是权分布Q(w),即特定边的权为w的概率。
下面介绍的度量是无权网络中一些概念的拓展与补充,并将权与拓扑相结合。
1.点的强度,强度分布与相关性
强度是度概念的推广:由边的个数推广为边权的和。
当权与拓扑结构无关时,度数为k的点的强度S(k)约等于<w>*k,<w>为平均强度。
点vi的边权可能均匀分布,也可能只有少数权占优势。权的不等性由
度量,它的定义为
即每条边权占强度比值的平方和。如果边的权值都差不多,则Y(k)=1/k,若只有一条边起主要作用,则Y(k)=1。
强度分布R(S)度量了点强度为S的概率,和度分布P(K)一起构成了加权网络的有用信息。点vi的最近邻度数的加权平均为:
这个量可以刻画加权网络的同类匹配性和非同类匹配性。当
时,权值大的点倾向于链接度大的点,否则相反。
2.加权最短路径
有些情况下边的物理长度是有用的,边的长度L可以定义为vi到vj的欧几里何空间距离。在一般加权网络中,边长可以用权的函数表示,如L=1/wij,尽管此假设不满足三角不等式。加权最短路径可以定义为vi到vj中边长和的最小值,此时最短路径不再是含有最少边的路径。
3.加权聚集系数
之前所说的聚集系数没有考虑到加权网络中有些邻居节点比其他点更重要,这里令vi的加权聚集系数定义为:
,取值【0,1】
加权聚集系数既考虑了vi的邻居闭三角形个数,又考虑了总相对权。
和
(k)分别表示所有点的加权聚集系数均值和所有k度点的加权聚集系数均值。对于大型随机网络,有
=C,
(k)=C(k)。然而实际情况却可能看到两种相反的情况,如果
>C,则顶点关联三元组更可能由权高的边组成;相反如果
<C,则表示网络的拓扑聚集由权低的边形成。
3.2实际加权网络
不同链接的权展示了不同的分布和幂律行为等复杂统计特征。权和拓扑的相关性为观察这类组织结构提供了互补的视角。
1.生物网络(以代谢网络为例)
若以E大肠杆菌的新陈代谢反应作为加权网络研究,节点vi,vj表示代谢物i,j,有向边eij代表代谢物 i 到 j 的反应,权wij代表从代谢物 i 到 j 的流量。
在最优生长条件下,权分布很好的符合幂律分布:
,其中w0=0.003,rw=1.5。
这代表越高的权出现的概率越小,即流量越高的反应出现的概率越小。
同时在权的不等性方面,我们发现对于E大肠杆菌的代谢,其入度出度都符合
,即权的不等性与
成正比。
在之前2.6.1我们定义权的不等性时我们知道,如果权分布平均,则Y(k)越趋近于1/k。因此在E大肠杆菌代谢网络中,节点的度k越大,其权不等性
与1/k的距离越远。即度越大的节点,权分布越不均匀。即某个代谢物生成或者消耗反应越多,越有可能某个反应携带了大多数的反应物。
2.社会网络(以合作网为例)
合作网是目前拥有广泛数据库的社会网络。以无权科学合作网为例,科学家作为端点,如果两位科学家合作过文章,则连一条边。但是合作多的科学家之间明显比合作少的科学家之间联系更紧密,为了解释这一现象,我们需要合作频数来衡量作者间的关系。比如我们可以定义作者i,j之间相互作用的权为:
,p的定义域为所有的文章,如果作者i是文章p的作者之一,则
=1,否则为0 ,np是文章p的作者数。
即合作过的文章越多,合作文章的共同作者越少,两位科学家之间的权越大,联系越紧密。
现在我们根据这种权的定义,来研究一个N=12722的,1995-1998年间给凝聚态物理提交论文草稿的科学家的合作网。实际观察中,该网络具有以下特征:
- 该网络的分布R(S)和P(k)都是重尾分布的。
- 权与拓扑结构无关,即S(k)=<w>*k,度为k的节点的强度等于平均权乘以度数k。
- k>=10时,加权聚集系数
(k)>C(k),这意味着顶点关联三元组更可能由权高的边组成,即合作者多的科学家之间趋于相互合作,组成稳定的研究组就能产生大量文章。
- 点vi的最近邻度数的加权平均
和
都随着k呈幂律增长,表明该网络呈现了一个社会网络的典型特征,同类匹配性。
3.技术网络
以世界航空网为加权网并进行分析。节点vi,vj表示机场i,j,权wij为机场i到机场j的航班的有效座位数。该实际网络展示了小世界和无标度属性。
- 特别的,该网络的度分布形势为
,其中
=2.0;
是指数断开函数,因为单个机场能提供的最大数目链接是有限的。
- 节点的强度分布R(S)是重尾的,且权与度之间存在非平凡关联:边的平均权和两端点的度数之间的关系为<wij>=(ki*kj)^θ,指数θ=0.5。
- 度数为k的点的强度服从幂律分布S(k)=A
,指数β=1.5,这表明机场越大,可处理的运输量越大。
- 在k的整个取值范围内,加权聚集系数
(k)有更多有界变化,即度数高的机场易形成具有高运输量的相关组。
- 由于高流量链接在网络中枢上,所以有高度数的点趋于和同样具有高度数的点结成派系的现象,即“富人俱乐部”现象。
3.3加权网络建模
1.YJBT模型
YJBT模型是加权无标度网络的最小模型,模型中随着网络增长,拓扑和权都受择优连接规则驱动。
- YJBT模型的拓扑结构与BA网络相同。开始于m0个点,每一时步,添加一个具有m<m0条边的新节点vj。点vj与已有的点vi相连的概率为
,即vi节点的度/全部节点的度。
- 每条边权为
,即vi节点的度/要连接的节点的度之和。可以发现新节点的边权之和为1 。
YJBT模型产生了无标度网络,度为幂律分布P(k)~
,强度也为幂律分布R(S)=
,其中指数
强烈依赖于m,渐进的强度分布最终收敛于度分布。
因为YJBT模型生成过程的演示在网络上没有找到,所以我自己写了一个:https://github.com/changyaoxing/ComplexNetworkModel_YJBT
2.ZTZH模型
ZTZH模型是YJBT模型的一般化,在点的度和适应度的权值分配上加入了随机因素。对于每条新建连接
,以概率p按照YJBT模型的形式
赋予其权值,以概率1-p按照
的形式赋予权值,其中
是赋予点vi的适应度参数,服从区间【0,1】上的均匀分布
。p=1时,模型就还原成了YJBT模型,p=0时,权值完全有适应度决定。模型产生了强度幂律分布R(S)~
,其指数
的特征是对概率p高度敏感,
从p=0时的值
=3随着p的增加而连续递减。和YJBT模型一样,关于P(k)的差异是对数修正项的结果,可以用p调整,当p=0时,差异消失。YJBT模型发现对所有p>0都有
依赖m的变化,仅当p=0时,
独立于m在一个依赖于点连接和适应度的边形成机制模型中也发现了类似的结果。
3.AK模型
AK网络的结构增长与边权相耦合。模型定义如下:
- 每一个时间步,加入一个新点vj,连接到一个目标点vi,连接概率与点vi的强度成正比:
,此规则放宽了
的度择优连接规则,考虑强度连接规则。
- 对每一条边赋予一个从分布ρ(w)取出的权值。
所得网络是树,其强度分布R(S)当S趋近于无穷时,逼近静态胖尾分布R(S)~S^(-γ),与边权分布ρ(w)无关。特别的,当ρ(w)为指数分布时,R(S)为所有的代数分布。
4.BBV模型
之前的YJBT、ZTZH、AK模型都是基于网络拓扑增长,即产生边的同时为其赋予一个权值,以后就不再变化。这种模型忽略了新节点和边的加入可能引发的权的动态变化,忽略了演化和增进的相互作用是自然的网络的普遍特征。例如,一条新航线的开辟会影响其他航线的流量。
BBV模型是基于加权驱动动力学和与局域网络增长相结合的权增加机理,这种结合模仿了实际情况中观察到的相互作用的变化。
- 模型开始于m0个初始点,连接权为w0;
- 每一时间步添加新点vj和m条边,权值是w0。以
的概率随机与已有的节点vi连接;
- 新边eji的出现引起vi何其邻居vl之间的权的局部调整,按照
的格式进行。其中
,即vi因为新边eji的出现,强度增加了
,每条边按权重占强度比例分配
。
- 此时vi的强度变化为
。
BBV模型生成的网络展示了权、度和强度分布的幂律行为、指数是非平凡的且与w0和
相关。若令w0=1,这时的模型只考虑一个单独参数
,即由于添加新边而增加的点的强度。当时间无穷大,即点无穷多时,权分布呈幂律分布Q(w)~
,
。点的度数分布和强度分布服从于有相同指数
的幂律分布
和
。
5.DM模型
BBV模型中强度高的点吸引新边,然后修正这些点的边权。DM模型中,权高的边增加权值并吸引新的连接。一种指向强的点,一种指向强的边。DM模型规则如下:
- 以权成比例的概率选择一条边,并将其权增加常数δ。
- 新点连接到该边的两个端点,并赋予权值1 。
结果边权、点的度数、点的强度都成幂律分布,指数分别等于
和
。
4相依网络
现实中的网络或多或少的都与其他的网络相关联,比如物理依附,信息交换等。2003年的意大利停电事故就是因为电网的某个节点故障,导致其相连的计算机控制节点断电,结构控制网络无法有效调控电网,造成全国性的断电。研究相依网络对设计更健壮的网络系统,提高网络设施抵御风险的能力具有重要意义。
相依网络有三个要素:相依网络的子网络,相依网络的相依边,相依网络的组合方式。
4.1相依网络的子网络
相依网络的鲁棒性受子网络的影响很大。子网对相依网络的鲁棒性的影响主要是靠子网络的类型及节点数、平均度等特性。
子网络的类型可以是ER网络、RR网络、SF网络、BA网络、WS网络等。其他条件相同时,这些网络作为子网组成的相依网络的鲁棒性表现如下:
RR-RR>ER-ER>SF-ER>SF-SF,这是子网络节点度分布决定的,子网络的度分布越均匀,相依网络的鲁棒性越好。
网间相似性:子网络内部度数高的节点间倾向于产生相依关联。例如机场网和港口网组成的系统中,令相依关联为地理位置相同,则重要的港口节点倾向于链接重要的机场节点。
在研究港口-机场的相依网络时发现:网间相似性越高,相依网络在面临随机失效时的鲁棒性越好。即我们可以通过提高度高节点间的相依边的可靠性,增强相依网络的鲁棒性。
4.2相依网络的相依边
相依边是相依网络的存在基础,也是影响相依网络鲁棒性的最直接因素。相依边主要通过其方向、类型以及比例等属性影响整个网络的鲁棒性。
相依边分为有向和无向两种,当其他条件相同时,有向相依边的相依网络鲁棒性较差。因为有向系统可能产生更长的相依链。
相依链指在两个子网A、B组成的相依模型中,A中的节点u支持B的节点v,而v反过来又支持A的节点w,如此循环往复形成的相依节点集。相依链上节点的故障会通过相依链在子网间传播,还可能扩散到与相依链链接的其他节点上,引起故障的级联,降低系统的鲁棒性。
相依边类型有连接边(connectivity links)和依赖边(dependency links)两种。连接边的作用是连接不同网络的节点,使子网络能够协同工作;依赖边表示某个节点的功能依赖于其他节点。据此可以将相依网络分为三种,即子网络间只存在依赖边/只存在连街边/同时存在连接边和依赖边的相依网络。
相依网络的相依强度q指的是相依网络中有相依关系的节点所占的比例:q=0表示子网络间无相依关系;q=1表示子网络完全相依,即节点之间具有一一对应的相依关系。当相依强度p由0向1变化时,相依网络的鲁棒性会变差。
4.3相依网络的组合方式
随着研究的深入,学者们从子网络规模和组合方式的角度对相依网络进行了拓展,目前研究的重点是网络组成的网络——多层网络(network of network,NON)的鲁棒性。
目前研究较多的是由ER、RR等网络作为子网络,以链形、星形、树形和环形组合方式组成的NON的性质。
-
论文研究-基于复杂网络与演化博弈的群体行为策略分析.pdf
2019-07-22 21:25:06在对演化博弈理论和复杂网络研究的基础上,根据现实社会网络的特性,选取囚徒博弈作为范例,对复杂网络基础上的演化博弈进行研究。分析了网络中个体间协作关系的演化过程、网络收益和个体收益的分布状况,以期为网络... -
论文研究-复杂动态网络演化社团结构探测分析的研究进展.pdf
2019-07-22 20:17:42针对复杂动态网络中演化社团结构的探测, 综述了该新领域的研究进展。首先对演化社团结构探测进行了问题描述, 总结了四种研究思路。重点介绍了其中一些有代表性的分析方法及其特点, 以及衡量探测方法好坏的基准图。... -
anylogic中如何构建复杂网络_面对复杂的演化背景,科学家如何构建系统树?
2021-01-11 02:51:34例如了解演化的小伙伴一定见过的,非洲某湖的一堆短时间内物种爆发的鱼,或者一群翅膀颜色多的不行,相互之间有着千丝万缕关系的蝴蝶...做蛋糕需要做好一个蛋糕胚。同样,物种关系的复盘需要一个框架性的模型。将... -
基于复杂网络理论的软件多粒度演化分析
2021-02-24 01:33:14在本文中,我们从多粒度角度分析了使用复杂网络理论的面向对象(OO)软件的发展。 首先,提出了一种多粒度软件网络模型,以从不同的粒度级别表示多版本软件系统的拓扑结构。 然后,一些介绍了复杂网络理论中使用的... -
论文研究-尾矿库风险演化复杂网络模型及关键隐患分析.pdf
2019-09-20 20:31:55论文研究-尾矿库风险演化复杂网络模型及关键隐患分析.pdf, 针对尾矿库隐患及事故风险演化问题,面向尾矿库生命周期阶段,对事故影响因素包括技术,人为,环境与管理等... -
NetworkX用法之三——网络演化…
2013-02-25 18:40:12本文首先介绍在NetworkX生成这些网络模型的方法,然后以BA无标度网络的建模为例,分析利用NetworkX进行复杂网络演化模型设计的基本思路,以便将来开发出我们自己的模型。同时这篇文章里还涉及到一点复杂网络可视 -
论文研究-基于复杂网络结构熵的聚散节点演化问题的研究 .pdf
2019-08-15 15:13:37基于复杂网络结构熵的聚散节点演化问题的研究,郝军军,郝五零,本文通过构造一个通用的蜘蛛网网络模型,并通过调节相应的参数使复杂网络拓扑结构不断地演化,使用网络结构熵定量地显示了这些演 -
论文研究-基于复杂网络的大众生产社区的演化机制研究.pdf
2019-09-11 10:11:44通过大众生产虚拟社区的度分布与动态演化机理分析,揭示了择优机制是大众生产...采用复杂网络链路预测方法对网络的潜在连接进行排序,结果显示择优指标值在各项指标中得分较高,网络形成过程中择优机制起到重要作用。 -
复杂网络的结构与演化--学习笔记(一)
2019-06-25 09:45:061.2 复杂网络特征和类型 复杂网络一般具有随机、小世界、无标度、超小世界、社区结构、分形结构等。依据这些特征将复杂网络分为随机网络、小世界网络、无标度网络、超小世界网络、社区网络、分形网络等。 1.2.1 ... -
项目交互耦合网络演化
2021-01-12 22:35:26针对现有文献中较少考虑交互依赖关系对项目组合动态选择影响的问题,借鉴复杂网络理论,提出项目交互耦合网络概念,并从项目收益、资源成本、项目风险、项目状态、交互依赖关系及战略匹配程度等6个方面描述网络演化的... -
基于重组变异增长准则的生物网络演化模型研究
2020-01-02 19:34:43基于重组变异增长准则的生物网络演化模型研究,谢雪英,李鑫,对生物网络的合理建模是理解生物复杂系统演化过程的重要途径。复制和变异是推动生物系统进化的内在驱动机制。本文在复制和变异两 -
论文精读——基于演化动力学的复杂网络中带阈值雪堆博弈模型研究
2021-01-22 15:52:05多人雪堆演化博弈模型,是多人演化博弈理论研究中的经典模型,该模型以铲雪问题为背景,反映了铲雪者和非铲雪者随着时间的推移,通过对铲雪成本、收益和期望值等众多参数的策略博弈, 铲雪者和非铲雪者的位置也在... -
论文研究-P2P应用系统用户共享行为的复杂网络模型.pdf
2019-07-22 21:51:56分析了因特网上主流P2P应用的体系结构,构造了一个描述用户共享行为的复杂网络演化模型——SNET模型。在用户共享文件持续增长的驱动下,SNET模型可以演化出与实际P2P应用相似的拓扑结构。通过分析SNET模型的仿真结果... -
复杂网络概述
2019-09-22 15:01:23②复杂网络的演化和机制模型,实证上可以研究实际网络演化的统计规律,如检验BA模型的择优连接假设; ③复杂网络上的动力学研究,包括网络容错性和鲁棒性以及网络上的搜索、传播、演化博弈、同步与共振等各种动力学... -
使用Origin画出复杂网络博弈中合作率时间演化图(学术论文)
2017-01-06 09:07:16此图知识背景是囚徒困境下,取固定的背叛引诱值b,然后观察10万步的合作率演化图 以下是图的说明:Fig. 4. (Color online) Fraction of cooperators ( ρC ( t )) within the population at each time step under...