- 染色体で交叉すると組換え体ができる
- こちらにあるように、2色の交代パターンができる(添付のソースは、2次元模様を描くものだが、片方の軸に区切りを入れなければ、1次元のものも描ける)
- 1次元の交互パターンである
- 多次元にも交互パターンはある
- 2次元だと市松模様である(市松模様は、通常、等幅ですが)
- 多次元だと絵にし難いが、ハッセ図(こちら)を描けば、上から下へと、層状になっていて、このようにノードを配置すると、すべてのノードは、上下の層のノードとの間に辺があるが、それ以外の層のノードとの間には辺はなく、同じ層のノード同士にも辺がないので、層ごとに白黒を入れ替えることで、「隣接する」ノードの色が異なるようにできる
d<-2
cuts<-rpois(d,20)+1
cutpoints<-list(rep(c(),d))
for(i in 1:d){
cutpoints[[i]]<-sort(c(0,runif(cuts[i]),1))
}
cutpoints
cubes<-expand.grid(cutpoints)
values<-rep(0,length(cubes[,1]))
values<-rep(c(0,1),length(values)/2+1)
values<-values[1:length(cubes[,1])]
xx<-c(0:1,1:0)
yy<-c(0:1,1:0)
plot(xx,yy,type="n")
colval1<-1
colval2<-1
for(i in 1:(length(cutpoints[[1]])-1)){
colval1<-colval1*(-1)
colval2<-1
for(j in 1:(length(cutpoints[[2]])-1)){
colval2<-colval2*(-1)
colval<-(colval1*colval2+1)/2
print(colval)
polygon(c(cutpoints[[1]][i],cutpoints[[1]][i+1],cutpoints[[1]][i+1],cutpoints[[1]][i]),c(cutpoints[[2]][j],cutpoints[[2]][j],cutpoints[[2]][j+1],cutpoints[[2]][j+1]),col=gray(colval/1))
}
}