python 构建建模无标度网络
用简洁的python代码生成无标度网络,并绘制网络度的分布
假设有如下一个简单网络
网络的邻接矩阵和度数如下
------- | node 1 | node 2 | node 3 | degree |
---|---|---|---|---|
node 1 | -------- | 1 | 1 | 2 |
node 2 | 1 | ----- | 0 | 1 |
node 3 | 1 | 0 | 0 | 1 |
假设一个新的点4要和这三个点进行连接
- 和点1、2、3连接的概率分别是:33+2+2\frac{3}{3+2+2}3+2+23、23+2+2\frac{2}{3+2+2}3+2+22、23+2+2\frac{2}{3+2+2}3+2+22
- 把这三个概率加在一起为1
- 那可以使用一个随机数,看落在三段的那一段里,来判断和对应的哪个点发生连接
思路是嵌套循环+随机数+if条件判断
- 第一层循环,每次循环代表一个新生成的点
- 第二层循环(内层),每次循环代表判断是否和这个点产生连接
生成一个平均度为2n−12\frac{2n-1}{2}22n−1的网络,具体代码如下
import numpy as np
nodes_degree = []
N = 1000 # 生成1000个点
link = []
for i in range(N):link.append([])for i in range(N): # i为每一个点,进行连接nodes_degree = [int(np.sum(node))+1 for node in link]p = np.random.randint(np.sum(nodes_degree))degree_control = 0for j, degree in enumerate(nodes_degree):if p < degree_control:link[i].append(j)link[j].append(i)breakelse:degree_control += degree
绘制网络度的分布
import matplotlib.pyplot as plt
mxdeg=0
for i in range(N):mxdeg=max(mxdeg,link[i].__len__())
mxdeg+=1deg=[0]*mxdeg
for i in range(N):deg[link[i].__len__()]+=1
for i in range(mxdeg):deg[i]/=1.0*N
plt.plot(np.linspace(0,mxdeg-1,mxdeg),deg)
plt.xlabel('degree')
plt.ylabel('P')
plt.title('The probability distribution of degree')
plt.show()
度的分布:
python 构建建模无标度网络相关推荐
- 常见网络模型——BA无标度网络(使用轮盘赌算法)(python)
之前记录了一下,常见的四种网络模型--ER.BA.WS.规则图,以及如何使用python实现,具体请移步: https://blog.csdn.net/un357951/article/details ...
- 复杂性思维第二版 四、无标度网络
四.无标度网络 原文:Chapter 4 Scale-free networks 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 在本章中,我们将处理来自在线社交网络的数据,并使 ...
- 级联失效matlab,加权无标度网络的级联失效模型
社交网.交通网.通信网等领域均呈现无标度特性[, 是复杂网络中常见的一种现象, 不同网络中的节点和边都承载着不同形式的负载, 且负载的承受能力是有限的.加权无标度网络是指节点和边根据权值构建成的网络[ ...
- 网络模型 - 随机网络,无标度网络,分层网络
转自: http://www.flickr.com/photos/caseorganic/4510691991/in/set-72157624621620243 小图 大图 Network Model ...
- networkx 标签_networkx绘制BA无标度网络
step1: 导入networkx复杂网络库.matplotlib.pyplot.pandas import networkx as nximport matplotlib.pyplot as plt ...
- 从零认识 无标度网络
喜欢的话请关注我们的微信公众号~<你好世界炼丹师>. 公众号主要讲统计学,数据科学,机器学习,深度学习,以及一些参加Kaggle竞赛的经验. 公众号内容建议作为课后的一些相关知识的补充,饭 ...
- 无标度网络/幂律分布、小世界网络
无标度网络.幂律分布这两个概念都是指复杂网络中的度 分布不均匀 通俗点说就是80/20原则,枢纽节点很少,但是却连接着大量的节点,而大量的非枢纽节点却只有不多的几个连接. 小世界网络: 虽然有50个节 ...
- 复杂网络之无标度网络与小世界网络生成程序
近日需要用到无标度网络与小世界网络,早上用matlab写了这两种网络的matlab程序,放在这,有用者可以拿去用,请自己验证正确性后使用. 共有三个文件,swnet.m 是sw小世界模型 ...
- Anylogic建立无标度网络
创建Agent 将左边面板中的智能体拖入界面中,选择智能体群,动画为无,数量为100,点击"完成" Main界面设置 在Main中随意点击空白处,出现右侧"属性" ...
- networkx学习(五)无标度网络
networkx学习(五)无标度网络 参考:参考来源,<巴拉巴西网络科学> 无标度网络: 对于随机网络和规则网络,度分布区间非常狭窄,大多数节点都集中在节点度均值< k >的附 ...
最新文章
- 100行代码,使用 Pygame 制作一个贪吃蛇小游戏!
- java get不支持_java – HTTP Get:只下载头文件? (HEAD不支持)
- 机器学习过拟合---范数
- ps高级磨皮的7个步骤
- ++i 和 i++的实现
- python中re.split_Python: str.split()和re.split()的区别
- Spring中的Bean配置、属性配置、装配内容详细叙述
- 如何借助log4j把日志写入数据库中
- linux安装oracle11g视频,Linux安装oracle11g详细步骤及问题汇总
- 计算机房采用c02采灭火,[灭火器使用.doc
- 2台电脑共享一套键鼠方法
- es7.3.2中文+拼音分词 排除同音字
- Python爬虫入门教程 12-100 半次元COS图爬取
- php调用pdf虚拟打印机,window_在Win7系统中怎么安装PDF彩色虚拟打印机?,前面说过,Word不能直接将文档 - phpStudy...
- 华为路由器和交换机在BootROM下清除Console口密码
- 阿里程序员,过完年第一天就要被劝退!让人感觉现实是如此残酷!
- cfd计算机辅助技术,CFD仿真在生物医学领域拯救生命
- UML正日薄西山的13个理由
- python中cat,stac,transpose,permute,squeeze区别用法
- java用友eai_用友EAI接口开发的问题