复杂网络

Python3画图系列——NetworkX初探

…衆ロ難τιáo~ 提交于 2020-03-19 06:11:35
NetworkX 概述 NetworkX 主要用于 创造、操作复杂网络 ,以及学习复杂网络的结构、动力学及其功能。用于分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等。安装networkx看以参见 官网 。 NetworkX学习 关于networkx的学习可以参考如下网站: python复杂网络库networkx:基础 网络分析之networkx python networkx学习 案例学习 学习案例前,请先导入下面的库 import networkx as nx import matplotlib.pyplot as plt 案例1 G = nx.Graph() G.add_node(1) G.add_edge(2, 3) # G.add_edge(3, 2) print("输出全部节点:{}".format(G.nodes())) print("输出全部边:{}".format(G.edges())) print("输出全部边的数量:{}".format(G.number_of_edges())) nx.draw(G) plt.show() 输出全部节点:[1, 2, 3] 输出全部边:[(2, 3)] 输出全部边的数量:1 案例2 G = nx.DiGraph() G.add_node(1) G.add_node(2) G.add_nodes_from([3, 4,

如何建立复杂网络实体网络的Space L模型?

与世无争的帅哥 提交于 2020-03-10 04:44:50
复杂网络是一个非常庞大的研究领域,有众多研究方法与研究对象,社交网络、科学家网络、生物网络、交通网络、生物网络等等。在进行仿真时候,有的网络过于庞大无法用实际的数据进行仿真,例如社交网络。而有一些网络规模较小,就需要用实际的数据进行仿真了,例如交通网络。 那么无论网络规模大小,对这些网络进行研究的时候,第一步往往是建模,只有模型建好了后续的研究、仿真才好进行下去。建模后,可以对网络指标进行分析,可以分析网络的抗毁性等等。总之,建模总是第一步的。 下面我就分享一下,自己对于复杂网络中实体网络建模的一些经验,以地铁网络为例: 建模方法,一般有Space L、Space P、Space B、Space C法,比较常用的建模规则是Space L法。 地铁网络,一般都有三四百个节点,线路十几条左右,看地铁图的是一个眼花缭乱。若是人工统计出来数据也是一项大工程。看着就想放弃,但其实掌握一定的方法并没有那么的费劲。 按线路进行节点的统计,先编号,然后去除掉重合的节点 统计连接关系时有一定的规则:比如从左往右统计、从上往下统计,这样可以避免重复统计 不要直接列出邻接矩阵,先统计出连接关系生成邻接表,然后再转成邻接矩阵 关于邻接表,最好再检查一遍 以上工作最好分成数天进行,否则负荷工作效率低且出错率较高 下面给出 邻接表 转成 邻接矩阵 的Matlab函数代码: function b =

复杂网络分析 03 ER网络学习笔记

删除回忆录丶 提交于 2020-03-09 07:56:13
03 ER网络 3.1ER网络的生成方式 3.2ER网络的基本性质 3.1 ER网络的生成方式 G(N,L)模型:一个随机图由N个节点构成,并且有L条连边随机放置在L对节点之间(不出现重边和自环)。 G(N,p)模型:一个随机图由N个节点构成并且任意两个不同节点之间存在一条连边的概率为p。 1.边数分布 考虑G(N,p)生成模型,生成随机网络中的连边数是一个随机变量。 P(L):对于一个含有N个节点以及连边概率为p的随机网,网络中恰好有L条连边的概率。(满足二项分布) 在一个随机网中 边数分布的平均值 L = p N ( N − 1 ) / 2 L=pN(N-1)/2 L = p N ( N − 1 ) / 2 平均度 K = p ( N − 1 ) K=p(N-1) K = p ( N − 1 ) 根据平均度的取值可以将网络特征分为四个区域: k<1:亚临界 不存在最大连通集团 最大的群是一个树结构 k=1:临界 存在唯一的一个最大连通集团 规模小的子图是树形结构,最大连通集团含有环。 k>1:超临界 存在唯一的最大连通集团 最大连通集团含有环。 k> l n N lnN l n N :连通 只有一个连通图,最大连通集团是稠密的,没有群规模分布。 3.2 ER网络的基本性质 随机网络的度分布 随机网络的度分布满足泊松分布(在一定条件下) 1 可以利用泊松分布拟合。 最大度、最小度

【复杂网络】复杂网络协调性理论——陈天平.卢文联.高等教育出版社

佐手、 提交于 2020-02-01 01:44:59
1 复杂网络与复杂系统 1.1 复杂网络的理论和模型 1.2 协调性行为 参考文献 2 数学准备 2.1 代数图论和矩阵理论 2.2 具有不连续右端的微分方程 2.3 随机过程与随机动力系统 2.4 耦合复杂网络动力学模型 3 协调性与横向稳定性理论 3.1 不变子流行的横向稳定性 3.1.1 确定性动力系统的横向稳定性 3.1.2 随机动力系统的横向稳定性 3.2 李亚普洛夫方法 4 耦合微分动力系统的同步 4.1 线性耦合微分动力系统的同步 4.1.1 同步流行的局部稳定性 4.1.2 同步流行的全局稳定性 4.2 时滞的影响 4.2.1 时滞耦合系统局部同步 4.2.2 时滞耦合系统全局同步 4.3 非线性耦合动力系统的同步 参考文献 5 耦合映射网络的同步 5.1 耦合映射网络的同步分析 5.2 时变切换映射网络的同步 参考文献 6 复杂网络的同步能力 6.1 复杂网络的同步能力 6.2 网络拉普拉斯矩阵谱的分析 6.3 时变耦合拓扑结构的同步能力 6.4 自适应反馈算法 7 分群同步 7.1 耦合微分方程的全局分群同步 7.2 分群同步方案 7.3 基于自适应反馈的分群同步算法 7.4 耦合映射网络的分群同步 参考文献 8 多主体网络的一致性 8.1 静态耦合多主体的一致性 8.2切换拓扑结构的网络多主体系统的一致性 8.3 通讯时滞的影响 8.3.1

从C#到Python —— 谈谈我学习Python一周来的体会

跟風遠走 提交于 2019-11-29 06:25:34
http://kb.cnblogs.com/kb/57281/ 从大年初二开始学习Python,到现在正好一个星期了,谈谈我的学习体会。   一、学习缘起   最早听说Python是在今年1月底到北京一个厂商(做汽车驾驶模拟器的)那里看设备,听他们的CTO介绍模拟软件的脚本控制是用的Python,(当时我还把Python叫做“飞森”,而不是“派森” 囧)。第一次听说了这个语言,但也没太在意,因为导师一直跟我说用好一门语言就够了。从上大学到现在,先后用过C、Basic、C++以及ASP(一看就不是计算机专业的,我大学认识的几个计算机专业的同学,大多都是Pascal - Delphi - Java这条路线)。这几年主要在用C#,觉得C#还不错,又可以做本地程序,也可以做ASP.NET程序,所以也没想再学其他语言了。   寒假做了一个交通网络分析的计算程序,这个程序前期已经有一些基础了,核心算法用的是 QuickGraph 库。QuickGraph提供了经典图论里边的绝大部分算法,如最短路、最大流、遍历、支撑树等,不错的一个东西,但是没有复杂网络分析的算法。一开始我是利用QuickGraph的数据结构,然后自己写复杂网络分析算法。但是写的很累,正好也过年了,就暂时放下了这个工作。   过年的时候闲着没事,上网找是不是有直接提供复杂网络分析算法的库,还真找到了两个

从C#到Python —— 谈谈我学习Python一周来的体会

此生再无相见时 提交于 2019-11-26 15:50:28
从大年初二开始学习Python,到现在正好一个星期了,谈谈我的学习体会。 一、学习缘起 最早听说Python是在今年1月底到北京一个厂商(做汽车驾驶模拟器的)那里看设备,听他们的CTO介绍模拟软件的脚本控制是用的Python,(当时我还把Python叫做“飞森”,而不是“派森” 囧)。第一次听说了这个语言,但也没太在意,因为导师一直跟我说用好一门语言就够了。从上大学到现在,先后用过C、Basic、C++以及ASP(一看就不是计算机专业的,我大学认识的几个计算机专业的同学,大多都是Pascal - Delphi - Java这条路线)。这几年主要在用C#,觉得C#还不错,又可以做本地程序,也可以做ASP.NET程序,所以也没想再学其他语言了。 寒假做了一个交通网络分析的计算程序,这个程序前期已经有一些基础了,核心算法用的是 QuickGraph 库。QuickGraph提供了经典图论里边的绝大部分算法,如最短路、最大流、遍历、支撑树等,不错的一个东西,但是没有复杂网络分析的算法。一开始我是利用QuickGraph的数据结构,然后自己写复杂网络分析算法。但是写的很累,正好也过年了,就暂时放下了这个工作。 过年的时候闲着没事,上网找是不是有直接提供复杂网络分析算法的库,还真找到了两个:igraph和networkx。(见 http://igraph.sourceforge.net/ 和