産婦人科フクロウ blog 〜PhDからプロの研究者を目指して〜人のまねをせずに、その身に応じ、武器は自分の使いやすいものでなければならぬ

基礎の発生学、細胞物理学について勉強したことを載せていきます。古武道鍛錬中。GitHub;hidem1990

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グラフの次数が本当に二項分布になっているのか。

f:id:hide_m_1990:20130403010730j:plain

 

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)

}

 

次数が確率によってどう変わって行くか…あんまり面白くないなぁ

f:id:hide_m_1990:20130403010840j:plain

明日は直径の計算をしてみよう。

臨界点目指して。