Networkx实现小世界网络的分析

Networkx实现小世界网络的分析

小世界网络

小世界现象,也被称为六度分离原则,即如果你在地球上的任何地方随便选择任何两个人,你会发现一条至多由他们之间的6个熟人形成的路径。在网络科学语言中,六度也被称为小世界性质,意味着网络中任何两个节点之间的距离十分小。小世界现象也意味着网络中随机选择的两个节点之间的距离很短。六度分离原理:
在这里插入图片描述

小世界网络模型是对小世界现象的网络模型建模。小世界现象中提出了网络任何两个节点之间的距离很短,那么“短”应该如何来衡量,又应该如何表示这些“短距离”呢?

可以考虑一个平均度为< k >的随机网络,设节点之间距离用 d 表示,那么对于网络中的每个节点,应当有如下性质:

➢ 有< k >个距离自身为 1(即 d=1)的节点

➢ 有< 𝑘 >2个距离自身为 2(即 d=2)的节点

➢ 有< 𝑘 >3个距离自身为 3(即 d=3)的节点

➢ 有< 𝑘 >𝑛个距离自身为 n(即 d=n)的节点

在这里插入图片描述

网络指标分析

网络直径

网络中任意两个节点之间的距离的最大值称为网络的直径,记为 D。实际中网络往往并不是连通的,而是存在一个连通巨片。网络直径通常是指任意两个存在有限距离的节点(也称连通的节点对)之间的距离的最大值。

平均路径长度

网络中任意两个节点距离的平均值,即为网络的平均路径长度,也称网络的平均距离,记为 L。

聚集系数

某个节点的聚集系数刻画了该节点的邻居节点中任意一对节点有连边的概率。即:

在这里插入图片描述

其中,𝐸𝑖为该点的邻居节点之间实际存在的边数,𝑘𝑖为该点的邻居节点个数。网络的聚集系数定义为网络中所有节点的聚集系数的平均值。即:
在这里插入图片描述

度分布

在网络中,度(degree)是指网络中一个点与其他点的连接数量。对于有向图,度有入度(in-degree)和出度(out-degree),入度是指指向该节点的边的数量,出度是指从该节点出发指向其他节点的边的数量。度分布(degree distribution)是指整个网络中,各个点的度数量的概率分布。

代码实现

import networkx as nx
import matplotlib.pyplot as plt

# WS network
NETWORK_SIZE = 100
k = 10
p = 0.1
G = nx.watts_strogatz_graph(NETWORK_SIZE, k, p)
print('网络直径为:', nx.diameter(G))
print('网络平均距离为:', nx.average_shortest_path_length(G))
print('网络群聚系数为:', nx.clustering(G))
print('网络平均群聚系数为:', nx.average_clustering(G))
# print('网络中自环的个数为:', nx.number_of_selfloops(G))
# print('网络中重边的个数为:', G.edges())

# 绘制WS小世界网络图
plt.figure()
ps = nx.circular_layout(G)  # 布置框架
nx.draw(G, ps, with_labels=False, node_size=30)
plt.savefig('wsnetwork.jpg')
plt.show()

# 绘制度分布图
d = dict(nx.degree(G))
print(d)
print("平均度为:", sum(d.values()) / len(G.nodes))

x = list(range(max(d.values()) + 1))
y = [i / sum(nx.degree_histogram(G)) for i in nx.degree_histogram(G)]
print(x)
print(y)
plt.figure()
plt.bar(x, y, width=0.5, color="blue")
plt.xlabel("$k$")
plt.ylabel("$p_k$")
plt.xlim([6, 15])
plt.savefig('degreeDistribution.jpg')
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/243759.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

产品经理必掌握自定义元件流程图泳道图

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a; 《产品经理管理项目周期及【Axure RP9】简介&安装&基本使用》 ⛺️ 越努力 &#xff0c;越幸运 目录 一、什么是自定义元件 1.1如何自定义元件 二、什么是流程图 &…

Axure的流程图/泳道图以及自定义元件库的使用

目录 1.ProcessOn的介绍 2.流程图以及泳道图的介绍 2.1流程图 2.2流程图的特点 2.3泳道图 2.4泳道图的特点 2.5流程图跟泳道图的优缺点 2.5.1优点&#xff1a; 2.5.2缺点&#xff1a; 2.6流程图的使用 2.7流程图的案列 2.8泳道图的使用 3.自定义元件库 4.门诊流程…

串口通信(4)-C#串口通信入门实例

本文通过实例讲解C#串口通信。 入门实例设计一个串口助手&#xff0c;能够很好的涵盖串口要点的使用。 目录 一、成品图 二、界面文件 三、后台代码 四、实例中要点 一、成品图 如下&#xff1a; 实现的过程 创建winform项目&#xff0c;将Form1文件的名称改为MainForm&…

Conda 使用教程大全来啦

什么是 Conda&#xff1f; Conda 是一款功能强大的软件包管理器和环境管理器&#xff0c;您可以在 Windows 的 Anaconda 提示符或 macOS 或 Linux 的终端窗口中使用命令行命令 Conda 可以快速安装、运行和更新软件包及相关依赖项。Conda 可以在本地计算机上创建、保存、加载和…

ubuntu22.04 docker安装ES8

创建es的网络 docker network create elastic安装运行es docker run --name es01 --net elastic -p 9200:9200 -e ES_JAVA_OPTS"-Xms1024m -Xmx1024m" -idt elasticsearch:8.2.2检查是否安装成功 sunyuhuasunyuhua-HKF-WXX:~$ docker ps CONTAINER ID IMAGE …

2023陇剑杯线上线下赛数据分析

好久没打过比赛了&#xff0c;对于这种偏蓝方的比赛我还是很喜欢 本文首发于&#xff1a;先知社区&#xff1a;https://xz.aliyun.com/t/13177 HW hard web_1 题目内容&#xff1a;服务器开放了哪些端口&#xff0c;请按照端口大小顺序提交答案&#xff0c;并以英文逗号隔开(如…

UE虚幻引擎项目更改名字怎么操作?

首先找到项目目录&#xff0c;直接更改项目程序的名字&#xff0c;其次点击项目程序右击使用文本打开&#xff0c;然后将Modules模块中的内容删除即可&#xff0c;然后运行程序就好啦&#xff01;

【LeetCode刷题】--172.阶乘后的零

172.阶乘后的零 方法&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;for(int i 5;i<n;i5){for(int x i; x % 50; x/5){ans;}}return ans;} }进一步优化&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;while (n…

主动学习与弱监督学习

人工智能数据的获取没有想象中的那么简单&#xff0c;虽然我们早已身处大数据的浪潮下&#xff0c;很多公司在获取数据的大浪中翻滚却始终没有找到一个合适的获取数据的渠道。很多情况下&#xff0c;获取高质量的人工智能数据需要消耗大量的人力、时间、金钱&#xff0c;但是对…

【移动通讯】【MIMO】[P1]【科普篇】

前言&#xff1a; 前面几个月把CA 的技术总体复盘了一下,下面一段时间 主要结合各国一些MIMO 技术的文档,复盘一下MIMO. 这篇主要参考华为&#xff1a; info.support.huawei.com MIMO 技术使用多天线发送和接受信号。主要应用在WIFI 手机通讯等领域. 这种技术提高了系统容量&…

mysql的负向条件查询会不会使用索引

mysql的负向条件查询&#xff0c;例如not in&#xff0c;会不会使用索引&#xff1f; 其实&#xff0c;mysql还是会尽量利用索引。如果查询的列上有索引&#xff0c;并且索引能够覆盖查询所需的列&#xff0c;那么mysql可能会使用索引来获取结果&#xff0c;而不是进行全表扫描…

解决设备能耗管理问题,易点易动来帮忙!

设备能耗管理是现代企业可持续发展的重要环节&#xff0c;然而&#xff0c;许多企业在设备能耗管理方面面临一系列问题&#xff1a; 能耗数据收集困难&#xff1a;企业需要监控和管理大量设备的能耗情况&#xff0c;但传统的手动方式收集能耗数据耗时耗力&#xff0c;无法实时获…

C语言-WIN32API介绍

Windows API 从第一个32位的Windows开始就出现了&#xff0c;就叫做Win32API.它是一个纯C的函数库&#xff0c;就和C标准库一样&#xff0c;使你可以写Windows应用程序过去很多Windows程序是用这个方式做出来的 main()? main()成为C语言的入口函数其实和C语言本身无关&…

Java中常见需要重写equals方法的类

目录 导言 一、自定义类 二、集合类 三、字符串类 四、数组类 五、枚举类 结论 导言 在Java编程中&#xff0c;equals方法是用来比较两个对象是否相等的关键方法之一。然而&#xff0c;在某些情况下&#xff0c;Java提供的默认equals方法可能无法满足我们的需求。因此&a…

《地理信息系统原理》笔记/期末复习资料(11. GIS的输出与地图可视化)

目录 11. GIS的输出与地图可视化 11.1. GIS的输出 11.1.1. 输出方式 11.1.2. GIS的图形输出设备 11.2. 地图符号 11.2.1. 地图符号的实质 11.2.2. 地图符号的分类 11.2.3. 地图符号的设计要求 11.3. 专题信息表达 11.3.1. 专题地图的基本概念 11.3.2. 专题地图的表示…

Esxi虚拟机无法添加加密狗处理

原创作者&#xff1a;运维工程师 谢晋 Esxi虚拟机无法添加加密狗处理 前提纪要添加直通模式 前提纪要 客户将加密狗插在Esxi主机上&#xff0c;并给虚拟机添加USB控制器再添加加密狗设备&#xff0c;但添加时候报错无法识别加密狗&#xff08;如下图&#xff09;&#xff0…

一个文件下png,jpg,jpeg,bmp,xml,json,txt文件名称排序命名

#utf-8 #authors 会飞的渔WZH #time:2023-12-13 import os# 要修改的图像所在的文件夹路径 root_path rD:\images\lines2\3 # 要修改的图像所在的文件夹路径filelist os.listdir(root_path) #遍历文件夹 print(len(filelist)) i0for item in filelist:if item.endswith(.…

HarmonyOS应用开发初体验

9月25日华为秋季全场景新品发布会上&#xff0c;余承东宣布&#xff0c;全面启动鸿蒙原生应用&#xff0c;HarmonyOS NEXT开发者预览版将在2024年第一季度面向开发者开放。 最近鸿蒙开发可谓是火得一塌糊涂&#xff0c;各大培训平台都开设了鸿蒙开发课程。美团发布了鸿蒙高级工…

_try_finally原理探究后续

入口程序的最后一道防线 这里调用mainCRTStartup()&#xff0c;然后调用入口程序 相当于这里才是一个进程开始执行的地方 这里有一个call调用&#xff0c;跟进去看看 发现有修改fs:[0]的操作&#xff0c;这里就相当于编译器为我们注册了一个异常处理函数 这里到kernel32.dll里面…

OpenCV-Python16:图像平滑操作

目录 图像平滑基础 本文目标 2D卷积 图像模糊&#xff08;图像平滑&#xff09; 平均模糊 高斯模糊 中值模糊 双边滤波 图像平滑基础 在尽量保留图像原有信息的情况下&#xff0c;过滤掉图像内部的噪声&#xff0c;这一过程称为对图像的平滑处理&#xff0c;所得的图像…
最新文章