小世界网络和复杂网络+python代码实现


喜欢的话请关注我们的微信公众号~《 你好世界炼丹师》。

  • 公众号主要讲统计学,数据科学,机器学习,深度学习,以及一些参加Kaggle竞赛的经验。
  • 公众号内容建议作为课后的一些相关知识的补充,饭后甜点。
  • 此外,为了不过多打扰,公众号每周推送一次,每次4~6篇精选文章。

微信搜索公众号:你好世界炼丹师。期待您的关注。


小世界网络

[百度百科]:小世界网络模型是一类具有较短的平均路径长度又具有较高的聚类系数的网络的总称。

小世界网络(small-world network)是指网络中大部分节点都不彼此相邻、但大部分节点都彼此联通的网络。简单来说,就是大部分节点都不直接与许多节点连接,但到网络中其他大部分节点都有通路存在。这种现象通常在社交网络里很常见:大部分人一生的熟人圈子(社交网络相邻节点)也只有几百人这个数量级,但通常任意在社交网络中找两个人,他们之间的是存在社交通路(朋友链)的。六度理论也告诉我们在实际的社交网络中,节点之间的距离(最短路径长度)通常不会太大,也就是说街上随便找一个人,你通常总有朋友的朋友的朋友的朋友的朋友认识他。

小世界神经网络可能是指在大脑等生物神经网络中常见的现象,即大部分神经细胞都只和临近的少量神经细胞直接接触(少量是相对于整个网络的大小),而整个神经网络是靠这种小的邻接结构联通的。神经网络里出现小世界特性的一个假说是“生物经济性(biologically economic)”,即为了让整个网络联通并有较小的网络半径(网络上最长的最短路径长度,可以认为是网络里最长的通信延迟),每个神经元只通过树突或者轴突和(相对)邻近的若干神经元联系是一种比较经济可行、节约“神经元材料”的网络结构。许多计算神经学中的稀疏权值(或局部权值)模型即来源于这种假设。

复杂网络的特性

目前科学家还没有给出复杂网络的严格定义。从过去十几年的研究来看,复杂网络至少包含以下几层意思:

  • 首先,它是大量真是复杂系统的拓扑抽象;
  • 其次,在感觉上比规则网络和随机网络复杂

平均路径长度L

在网络中,两点之间的距离为连接两点的最短路径上所包含的边的数目。网络的平均路径长度指网络中所有节点对的平均距离,她便命网络中节点的分离成都,反应了网络的全局特性。

聚集系数C

在网络中,节点的聚集系数是指与该节点相邻的所有节点之间连边的数目占这些相邻节点之间最大可能连边数目的比例。而网络的聚集系数则是指网络中所有节点聚集系数的平均值,它表明网络中节点的聚集情况即网络的聚集性,也就是说同一个节点的两个相邻节点仍然是相邻节点的概率有多大,它反映了网络的局部特性。

度及度分布

在网络中,点的度是指与该点相连的节点数目,即连接该点的变得数目。而网络的度指网络中所有节点度的平均值。度分布P(k)指网络中一个任意选择的节点,它的度恰好为k的概率。

小世界效应

复杂网络的小世界效应是指尽管网络的规模很大(网络节点数目N很大),但是两个节点之间的距离比我们想象的要小得多。也就是网络的平均路径长度L随网络的规模呈对数增长,即L~In N。大量的实证研究表明,真实网络几乎都具有小世界效应。

规则网络

最简单的网络就是规则网络,它是指系统中个元素之间的关系可以用一些规则的结构表示,也就是说,网络中任意两个节点之间的联系遵顼既定的规则,通常每个节点的近邻数目都相同。

  • 全局耦合网络(完全图)
  • 最近邻耦合网络
  • 星型耦合网络

随机网络

从某种意义上讲,随机网络和规则网络是两个极端,而复杂网络处于两者之间。节点不是按照确定的规则连线,如纯粹的随即方式连线,所得的网络为随即网络。如果节点按照某种自组织原则方式 连线,将演化成各种不同的网络。

小世界网络

规则的最近邻耦合网络具有高聚类特性,但并不是小世界网络。另一方面,ER随机网络虽然具有小的平均路径长度但却没有高聚类特性。因此,这两类网络模型都不能再现真实网络的一些重要特征,毕竟大部分实际网络既不是完全规则的,也不是完全随机的。作为从完全规则网络向完全随机网络的过渡,Watts和Strogtz于1998年引入了一个小世界网络模型,称为WS小世界模型。

无标度网络

很多网络(包括Internet和新陈代谢网络等)都不同程度拥有如下共同特性:大部分节点只有少数几个链接,而某些节点却拥有与其他节点的大量链接,表现在度分布上就是具有幂律形式,即P(k)~k—γ。这些具有大量链接的节点称为“集散节点”,所拥有的链接数可能高达几百、几千甚至几百万。包含这种集散节点的网络,由于网络节点的度没有明显的特征长度,故称为无标度网络。

python 代码

生成小世界网络

import networkx as ne #导入建网络模型包,命名ne
import matplotlib.pyplot as plt #导入科学绘图包,命名mp
#WS network graphy
print('请输入网络节点总数NETWORK_SIZE:')
NETWORK_SIZE=int(input())
print('请输入规则网络要连的邻接个数k:')
k=int(input())
print('请输入重连概率p:')
p=float(input())
ws=ne.watts_strogatz_graph(NETWORK_SIZE,k,p)
ps=ne.circular_layout(ws)#布置框架
ne.draw(ws,ps,with_labels=False,node_size=30)
plt.show()

在这里插入图片描述

规则网络

如果把重练概率改为0,则为规则网络
代码同上
在这里插入图片描述

已标记关键词 清除标记
相关推荐
<span> </span> <p> <span style="font-size:16px;"> </span> </p> <p style="font-family:"color:#3D3D3D;font-size:16px;background-color:#FFFFFF;"> 您观看课程学习后<br /> 免费入群领取【超全Python资料包+17本学习电子书】 </p> <p style="font-family:"color:#3D3D3D;font-size:16px;background-color:#FFFFFF;"> <img src="https://img-bss.csdn.net/201909261006551340.jpg" alt="" /> </p>        <p> <br /> </p> <p> <span style="font-size:16px;"> </span><span style="font-size:16px;">当你需要一门语法简单功能强悍的编程语言时,Python一定是开发者的首选,经过Google多年以来不断的完善,使得Python成为了今天世界上最流行的编程语言之一,同时由于各个开源技术爱好者的不断贡献,使得Python拥有了完善生态体系,本课程将为读者揭开Python程序开发的神秘面纱。</span> </p> <p> <br /> </p> <p> <span></span><span style="font-size:16px;">       在本课程之中详尽的为读者分析了Python之中的各个语法组成结构,通过大量的案例对Python语言使用特点的进行全面讲解,同时采用了大量的图形与直白的对话进行程序使用分析。</span><span style="font-size:16px;"></span> </p> <p> <br /> </p> <p> <span></span><span style="font-size:16px;">      本课程除了将Python语言的语法讲解透彻之外,还为读者讲解了PyPI分享、PyCharm开发工具、模块的创建与管理、并发编程、IO操作、网络编程、数据库编程、网络爬虫等内容。</span><span style="font-size:16px;"></span> </p> <p> <br /> </p> <p> <span style="font-size:16px;background-color:#E53333;color:#FFFFFF;">       课程开发工具与代码下载地址:</span><span style="font-size:16px;background-color:#E53333;color:#FFFFFF;">https://pan.baidu.com/s/1ag6uz_UiG_w6EOljWcxi8A</span> </p>
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页