ERグラフ
ランダムグラフダイナミクス難しいです…
とりあえず理解できることをやってみる。。
n<-1000
N<-10
library(igraph)
#隣接行列の作成
p <- sample(1:N, n*n, replace=T )
adj <- matrix( p , n, n )
diag(adj) <- 0
adj [upper.tri( adj )] <- 0
adj.u <- t( adj )
adj.n <- adj +adj.u
#各辺の生成確率をいれる
a<-5
adj.g <- matrix( 0 , n, n)
for( i in 1:n){
for( j in 1:n){
p <- adj.n[ i, j ]
if( p>= a){ adj.g[ i, j ] <- 1}
else {adj.g[ i, j ] <- 0 }
}
}
g1 <- graph.adjacency( adj.g )
#plot( g1 )
#グラフのプロット
deg <- apply( adj.g ,1, sum )
plot(sort( deg ))
exm <- rbinom(1000, 999, .5 )
plot(sort( exm ))
ERグラフの次数が本当に二項分布になっているのか。
n<-1000
N<-n*n
#隣接行列の作成
p <- sample(1:N, n*n, replace=T )
adj <- matrix( p , n, n )
diag(adj) <- n*n+1
adj [upper.tri( adj )] <- 0
adj.u <- t( adj )
adj.n <- adj +adj.u
#各辺の生成確率をいれる
prob<-c(1,100,1000,10000,100000,200000,300000)
for( k in 1:7 ){
a<-prob[ k ]
adj.g <- matrix( 0 , n, n)
for( i in 1:n){
for( j in 1:n){
p <- adj.n[ i, j ]
if( p<= a){ adj.g[ i, j ] <- 1}
else {adj.g[ i, j ] <- 0 }
}
}
deg <- apply( adj.g ,1, sum )
par( new = T )
plot(sort( deg ), xlim=c( 1, n ), ylim=c( 1, n ),type="l", col=k)
}
次数が確率によってどう変わって行くか…あんまり面白くないなぁ
明日は直径の計算をしてみよう。
臨界点目指して。