- 一卵性双生児は本当によく似ている。「前からも後ろからもクリソツ」だ、と言う。でも「性格は違うんですよ」とも。
- 身体表現型の遺伝的制御は頑健で、精神表現型(脳神経ネットワーク)はそうでもない、ということだろう
- モデルとしてはどんな風に考える?
- 一番簡単には、精神表現型の発生・発達過程の確率過程とその進展空間の勝手気ままさをパラメタとして大きくとることが考えられる
- それが真実かもしれないけれど、何か別の工夫をしてみる
- 身体表現型は「相互作用」がないけれど、精神表現型は「相互作用」があることにして、その違いだけで、一つのプログラムなのに違いを生じない場合と生じる場合とを作り出してみる
- ここで「相互作用」としては、「同じになったら、それを忌避する」という単純ルール
N <- 1000
p <- c(0.2,0.3,0.3,0.2)
p2 <- p
vs <- matrix(c(1,0,0,1,-1,0,0,-1),byrow=TRUE,ncol=2)
n.iter <- 300
X <- X2 <- matrix(0,n.iter,4)
X[1,] <- c(N/2,N/2-3,N/2,N/2+3)
X2[1,] <- X[1,]
Y <- matrix(0,n.iter,2)
Y[1,] <- c(N/2,N/2)
for(i in 2:n.iter){
tmp1 <- sample(1:4,1,prob=p)
tmp2 <- sample(1:4,1,prob=p)
tmpX1 <- X[i-1,1:2]+vs[tmp1,]
tmpX2 <- X[i-1,3:4]+vs[tmp1,]
d1 <- t(X[1:i-1,1:2])-tmpX2
d2 <- t(X[1:i-1,3:4])-tmpX1
d1. <- apply(d1^2,2,sum)
d2. <- apply(d2^2,2,sum)
if(any(c(d1.,d2.)==0)){
X[i,1:2] <- X[i-1,1:2]+vs[tmp1,]
X[i,3:4] <- X[i-1,3:4]+vs[tmp2,]
if(runif(1)<0.5){
X2[i,1:2] <- X2[i-1,1:2]+vs[tmp1,]
X2[i,3:4] <- X2[i-1,3:4]+vs[tmp1,]
}else{
X2[i,1:2] <- X2[i-1,1:2]+vs[tmp2,]
X2[i,3:4] <- X2[i-1,3:4]+vs[tmp2,]
}
}else{
X[i,1:2] <- X[i-1,1:2]+vs[tmp1,]
X[i,3:4] <- X[i-1,3:4]+vs[tmp1,]
X2[i,1:2] <- X2[i-1,1:2]+vs[tmp1,]
X2[i,3:4] <- X2[i-1,3:4]+vs[tmp1,]
}
tmp3 <- sample(1:4,1,prob=p2)
Y[i,] <- Y[i-1,]+vs[tmp3,]
}
par(mfcol=c(1,2))
XX <- rbind(X[,1:2],X[,3:4])
plot(XX,type="p",col=rep(2:3,each=n.iter),pch=rep(c(20,20),each=n.iter),main="相互作用アリ")
XX2 <- rbind(X2[,1:2],X2[,3:4])
plot(XX2,type="p",col=rep(2:3,each=n.iter),pch=rep(c(20,20),each=n.iter),main="相互作用ナシ")
par(mfcol=c(1,1))