我们现实中的各种关系网可以用一种网络模型表示,本文介绍ER随机网络模型及其R语言实现。
随机网络的生成方式有很多种,ER随机图是随机网络模型中最经典的一种,本文主要介绍ER随机网络及其
算法思路:
(1)初始化:给定N个节点,所有节点为孤立节点,连边概率p[0,1]
(2)随机连边:
1.选择任意没有被选过的节点对。
2.生成一个随机数 r(0,1)。
3.如果r < p,那么就将这两个节点相连,否则就不相连。
4.重复1,2,3,直到所有的节点对都被选择。
R语言实现代码
RandomNetwork<-function(n,p){ A<-matrix(0,n,n); # 初始化邻接矩阵,默认都是孤立节点 for(i in 1:n){ for(j in (i+1):n){ r=runif(1,min=0,max=1);#产生0-1之间随机概率 if(r<p){ # 如果随机数r小于连边概率p,则该节点对互连 A[i,j]<-1; } } } return (A); }
1 条评论