复杂网络-无标度网络matlab代码实现

article/2025/8/30 14:28:43

无标度网络是进入研究生,导师丢来的第一个作业,从本科的小小程序猿进入这种乍看一眼非常高大上的东西,还是有些恐惧和兴奋的。

由于没找到中文版的 Emergence of Scaling in Random Networks 就借助Google翻译,糙糙看了一下,粗略理解了无标度网络的提出和结构。

论文主要就是diss了随机网络,yo,yo,随机网络它太菜,现实生活不会有人爱,你的观点太直白,还想简单概括真实世界的舞台,要我看简直是胡来,skrskr。

其实随机网络之所以不能正确描述真实网络,主要是因为现实中的网络具有下面两种特性

    1。网络是通过新增节点而不断扩展的。2。新增的节点会优先连接在连通性更好的节点上。

而根据上面的两种特性根据论文中的描述实现无标度网络的算法步骤为:
1。先创建一个小型随机网络
2。新增节点,并且优先连接在度更大的节点上。

先看如何创建一个随机网络。首先需要一些初始的节点,先要有节点,才能连接边,有点有边才是一个齐齐整整的网络。 程序中设置的初始节点为 5。 有了5个节点,再为每一对节点随机的连接。

这里使用的方法是:

用一个邻接矩阵 作为无向图的存储,在这里就是用来存边的连接情况,1表示两个节点之间有边。 因为1表示有边,所以可以通过 随机出一个 0-1之间的小数,然后四舍五入得到非1即0的数字,而且0和1的概率一样。这样两个顶点之间是否有边就能随机生成了。

%随机连边  1表示有边
for i=1:m0for j= (i+1):m0A(i,j)= round(rand());   %非1即0A(j,i) =  A(i,j);end
end   %初始完成

完成随机网络后,接下来的工作就是往里面添加节点。新来的节点就好比是怡红院新来的小妹妹, 而老节点们自然是都想先‘连接‘一下新来的小妹妹,这里就要看哪一个老节点以前连接过的小妹妹多了,连接过的越多,活越好,小妹妹越喜欢。这种情况会造成一个现象:富者更富,活好的越来越好,没经验的就只能望眼欲穿。

这里的关键是如何根据 度 的大小分配概率,产生 度越大,连接上的概率越大的情况。

先 统计出 每个节点的度,这一步很简单,邻接矩阵每一行加起来就行了,matlab中用sum()就能得到所有节点度的集合。 拿到度不够,我们需要的是构造出一个区间,比如说 1,2,3顶点的度分别是 4,7,1 我们就给 顶点1 : 1-4 (占4个数字)
顶点2: 4:10 (7个数字) 顶点3: 11-12 (1个数字) 这样当随机从1-12中挑一个数字,很明显,这个数字落在 因为度最大所以得到最大区间的顶点2的区间的概率是最大的。(代码就放到最后)

知道要连接的老节点是谁,就OK了,直接把A(新节点,老节点) = A(老节点,新节点)=1 就行了。

循环 好 每一个节点之后,就是求度分布了,毕竟这才是整个步骤的核心。

首先还是计算每个节点的度,得到每个节点的度之后,(假设得到的顶点 1,2,3,4,5的度分别是【2,2,3,4,3】),而我们需要求的是随便挑选一个顶点它的度是 k 的概率。随意我们需要知道每个度出现的频率,即度=2/3/4 出现的概率。

这里先对顶点的度去重(得到 2,3,4)。 然后 让  这两个集合【2,2,3,4,3】 分别 = 2/3/4 这样每次得到的结果就是 [1,1,0,0,0] [0,0,1,0,1] [0,0,0,1,0] 。
3个集合sum 一下 ,得到 2,2,1 ,这个就是每个度的个数了。2/(2+2+1) 就是度的概率了。

说起来拗口,见代码就明了了。

运行结果的度分布

具体步骤就是这样了,这是研究生的第一个代码。大家多多指教,下一个是小世界网络。

详细代码:

clear all;
tic
m = 5;    %每次加入的边个数
m0 = 5    %初始的顶点个数
N = 1000;   %最终达到的顶点个数%创建邻接矩阵    全0,无边
A = sparse(N,N);%随机连边  1表示有边
for i=1:m0for j= (i+1):m0A(i,j)= round(rand());A(j,i) =  A(i,j);end
end   %初始完成%加入的节点为 A(new) , 与其连接的点为old     生成 A(new , old)
for new = m0+1:Nnew%old vertice 度越大连接上的概率越大Degree = sum(A(1:new-1,1:new-1));  %每个顶点的度%制造出一个度的分布区间,模拟概率DegreeInterval(1) = Degree(1);for i=2:new-1DegreeInterval(i) = Degree(i)+DegreeInterval(i-1);end %连接 新节点 与 m个old节点AllDegree = sum(sum(A(1:new-1,1:new-1))); %整个图的总度for i = 1:m while 1%以概率从old节点中找到合适的顶点连接RandDegree  = fix(AllDegree*rand()+1); %要与度区间包含RandDegree的顶点相连%找到 符合 要求的区间所属顶点Ans = find(RandDegree <= DegreeInterval(1:new-1));old = Ans(1);if A(new,old) == 0A(new,old) = 1;A(old,new) = 1;break;         %成功连接endendend
end%求度分布Degree = sum(A);  %完成后的网络的每个节点的度  2 3 2 2 4 3UniDegree = unique(Degree);  %去重后度       2 3 4for i = 1:length(UniDegree)DegreeNum(i) = sum(Degree==UniDegree(i));end
toc%画图loglog(UniDegree, DegreeNum ./ sum(DegreeNum),'.','markersize',18)xlabel('k'),ylabel('P(k)')

http://chatgpt.dhexx.cn/article/rs8uw4Kj.shtml

相关文章

常见网络模型——BA无标度网络(使用轮盘赌算法)(python)

之前记录了一下&#xff0c;常见的四种网络模型——ER、BA、WS、规则图&#xff0c;以及如何使用python实现&#xff0c;具体请移步&#xff1a; https://blog.csdn.net/un357951/article/details/103514682 当时因为对轮盘赌算法还不熟悉&#xff0c;所以没有把轮盘赌算法和…

无标度网络和小世界网络的区别

无标度网络和小世界网络的最大区别是他们的度分布的差别 无标度网络的度分布式幂函数小世界是钟形正态分布&#xff0c;与random network 的度分布相似&#xff0c;点和点之间的连接时随机的小世界点和点之间的路径最短无标度网络有巨集团和剩余度的涌现&#xff0c;也就是说巨…

从零认识 无标度网络

喜欢的话请关注我们的微信公众号~《你好世界炼丹师》。 公众号主要讲统计学&#xff0c;数据科学&#xff0c;机器学习&#xff0c;深度学习&#xff0c;以及一些参加Kaggle竞赛的经验。公众号内容建议作为课后的一些相关知识的补充&#xff0c;饭后甜点。此外&#xff0c;为了…

超全NetLogo多主体仿真建模(小世界WWW+无标度网络+随机网)内含源码+界面设计+程序分析

一、小世界网络www 分布满足幂律的无标度网络有一个奇特的性质——“小世界”特性&#xff0c;虽然WWW中的页面数已超过80亿&#xff0c;但平均来说&#xff0c;在WWW上只需点击19次超链接&#xff0c;就可从一个网页到达任一其它页面。“小世界”现象在社会学上也称为“六度分…

Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.7 - 图生成 无标度网络

1、概述 Barabsi和Albert(1999)的“富者更富”&#xff08;Rich get richer&#xff09;生成模型(BA模型)最被熟知的无标度网络子集的生成模型。它让每个网页根据一个非均匀的概率分布与已有网页建立连接&#xff0c;这个概率分布与当前网页的入度数成比例。根据这个过程&…

m随机网络,无标度网络,小世界网络以及NS小世界网络在网络攻击中的性能仿真

目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件 1.算法仿真效果 matlab2022a仿真结果如下&#xff1a; 2.算法涉及理论知识概要 1.随机网络&#xff08;random network&#xff09; 2.无标度网络 &#xff08;scale-free network&#…

无标度网络的C++代码实现

前言 上一篇文章中给出了ER随机网络的C代码实现&#xff0c;这篇文章让我们来说一下另一个科研中用的非常广泛的网络——无关联无标度网络&#xff0c;即SF, UCM网络模型。 背景 BA无标度网络的发展及算法 无标度网络的发展要追溯到20世纪末&#xff0c;由Barabsi和Albert提出的…

聊聊BA无标度网络以及其作用

病毒传播为什么如此迅速&#xff1f; 我不是医学专业的&#xff0c;所以我无法从专业的视角去解释病毒到底是什么&#xff0c;它们的行为我也不懂&#xff0c;但是我可以从另一个专业的视角&#xff0c;给大家普及一下病毒传播的承载介质&#xff0c;即 网络 。 我不可能去描…

基于Matlab的无标度网络仿真

1.问题描述&#xff1a; 无标度网络具有严重的异质性&#xff0c;其各节点之间的连接状况&#xff08;度数&#xff09;具有严重的不均匀分布性&#xff1a;网络中少数称之为Hub点的节点拥有极其多的连接&#xff0c;而大多数节点只有很少量的连接。少数Hub点对无标度网络的运行…

BA无标度网络的仿真实现

复杂网络&#xff08;Complex Network&#xff09;&#xff0c;是指具有自组织、自相似、吸引子、小世界、无标度中部分或全部性质的网络。特征&#xff1a;小世界、集群即集聚程度的概念、幂律的度分布概念。 BA模型是由巴拉巴西&#xff08;Albert-Lszl Barabsi&#xff09;与…

BA无标度网络模型

BA无标度网络模型于1999年提出&#xff0c;具有如下特性&#xff1a;&#xff08;1&#xff09;网络的规模是不断扩大的&#xff1b;&#xff08;2&#xff09;新的节点更倾向于与那些具有较高连接度的节点相连接。 BA无标度网络模型构造算法 &#xff08;1&#xff09;从具有…

Matlab实现无标度网络生成及其分析

文章目录 引言社会网络分类Barabsi-Albert无标度网络生成算法MATLAB代码实现无向的无标度网络生成代码BAgraph_undir有向的无标度网络生成代码BAgraph_dir 无标度网络的节点度统计分析无向的无标度网络节点频率统计算法有向的无标度网络节点频率统计算法 完整的分析代码代码实现…

networkx学习(五)无标度网络

networkx学习(五)无标度网络 参考:参考来源,《巴拉巴西网络科学》 无标度网络: 对于随机网络和规则网络,度分布区间非常狭窄,大多数节点都集中在节点度均值< k >的附近,说明节点具有同质性,因此< k >可以被看作是节点度的一个特征标度。而在节点度服从幂…

无标度网络的生成模型

1999 年 Barabsi 和 Albert 提出了无标度网络模型&#xff08;简称 BA 模型&#xff09;。无标度网络的重要特征为&#xff1a; 无标度网络的节点度分布服从幂律分布。 无标度网络的度分布 p ( d ) p(d) p(d) 满足 p ( d ) ∼ d − α &#xff0c; p(d)\sim d^{-\alpha}&…

无标度网络(scale-free network)

无标度网络具有严重的异质性&#xff0c;其各节点之间的连接状况&#xff08;度数&#xff09;具有严重的不均匀分布性&#xff1a;网络中少数称之为Hub点的节点拥有极其多的连接&#xff0c;而大多数节点只有很少量的连接。少数Hub点对无标度网络的运行起着主导的作用。从广义…

无标度网络模型

网络节点的度没有明显的特征长度我们就称之为无标度网络。 一、BA无标度网络模型 1、模型概述 ER随机图和WS小世界模型忽略了实际网络的两个重要特性&#xff1a; &#xff08;1&#xff09;增长特性&#xff1a;即网络的规模是不断扩大的。例如每个月都会有大量的新的科研文…

2019年互联网公司月饼哪家强?阿里、百度、网易等14家中秋月饼盘点

一年一度的中秋节日马上到来&#xff0c;"八月十五月儿圆&#xff0c;中秋月饼香又甜"&#xff0c;没有月饼的中秋节是不完整的。而在互联网公司&#xff0c;月饼已然成为福利和文化的象征。特别是一些互联网大厂&#xff0c;在月饼设计上特别用心。今天&#xff0c;…

黑芝麻智能与上汽通用五菱签署战略合作协议;亚马逊广告发布一系列全新广告解决方案 | 全球TMT...

国内市场 黑芝麻智能与上汽通用五菱签署战略合作协议。双方在车规级自动驾驶计算芯片、视觉感知算法等方面展开紧密合作。上汽通用五菱和黑芝麻智能将基于华山二号A1000系列自动驾驶计算芯片、FAD全自动驾驶平台、山海人工智能开发平台等一系列开发工具&#xff0c;结合黑芝麻智…

如何处理投递的邮件被趋势RBL拦截的问题

外发邮件时&#xff0c;对方未收到&#xff0c;查询日志&#xff0c;报错如下&#xff1a; ……..blocked_using_Trend_Micro_RBL._Please_see…… 亚信安全使用的垃圾邮件地址库为国际的MAPS库&#xff0c;您可以通过&#xff1a;https://www.ers.trendmicro.com/ 右侧的IP Re…

持续保持逆势增长,亚信科技带给我们哪些启示?

面对逆境仍然能够持续保持业绩稳步增长&#xff0c;亚信科技可以带给我们哪些启示和借鉴&#xff1f; 逆势增长的亚信科技 众所周知&#xff0c;由于三年疫情带来的巨大冲击以及各种“黑天鹅”事件频发&#xff0c;近年来许多企业的财务报表都乏善可陈。 然而就是在这样复杂的外…