- 染色体の伝達が未確定のとき、染色体グラフは分岐を持つが、確定すると、木の集合になる
- Rでやれば:
SelectTrees<-function(sepG,v){
ret<-list()
for(i in 1:length(sepG)){
tmp<-sepG[[i]][,1:2]
for(j in 1:length(tmp[,1])){
tmp[j,2]<-sepG[[i]][j,v[tmp[j,1]]+1]
}
tmp2<-rep(0,max(tmp))
cnt<-1
for(j in 1:length(tmp[,1])){
if(tmp[j,1]*tmp[j,2]!=0){
M<-max(tmp2[tmp[j,1]],tmp2[tmp[j,2]])
if(M==0){
M<-cnt
cnt<-cnt+1
tmp2[tmp[j,1]]<-tmp2[tmp[j,2]]<-M
}else{
tmp2[tmp[j,1]]<-tmp2[tmp[j,2]]<-M
}
}
}
ret[[i]]<-tmp2[tmp[,1]]
}
ret
}
SelectTrees(sepGraphs,s2[1,])
- 染色体の連結グラフごとに、属するノードの帰属木番号を振ってやる
- sepGraphsは連結グラフのリスト
- vは、伝達情報ベクトル
> SelectTrees(sepGraphs,v)
[[1]]
[1] 1 2 1 2 1 1
[[2]]
[1] 1 0 1 1 1 1