随机网络模型之ER随机图模型
我们现实中的各种关系网可以用一种网络模型表示,本文介绍ER随机网络模型及其R语言实现。
随机网络的生成方式有很多种,ER随机图是随机网络模型中最经典的一种,本文主要介绍ER随机网络及其
算法思路:
(1)初始化:给定N个节点,所有节点为孤立节点,连边概率p[0,1]
(2)随机连边:
1.选择任意没有被选过的节点对。
2.生成一个随机数 r(0,1)。
3.如果r < p,那么就将这两个节点相连,否则就不相连。
4.重复1,2,3,直到所有的节点对都被选择。
R语言实现代码
代码语言:javascript复制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);
}