- こちらでL-systemのことを書いた
- L-systemの逆問題というものもあるそうだ(こちら)
- システム生物学での逆問題についてはこちら
- L-systemで嗅覚受容体遺伝子の複雑化を表現したりする話もある(こちら)
- もっと言えばゲノムも…(こちら)
- 鳴き声っぽくしてみよう
- 鳥の鳴き声をL-systemのようなルールで書いた。鳥の鳴き声の観察データから、ルールを見ている(逆問題を解いている(?))のはこちら
> songs2
[[1]]
[1] "ピ"
[[2]]
[1] "ピピチ"
[[3]]
[1] "ピピチピピチチピ "
[[4]]
[1] "ピピチピピチチピ ピピチピピチチピ チピ ピピチ "
[[5]]
[1] "ピピチピピチチピ ピピチピピチチピ チピ ピピチ ピピチピピチチピ ピピチピピチチピ チピ ピピチ チピ ピピチ ピピチピピチチピ "
piece<-c(1,2,3)
lets <- c("チ","ピ"," ")
replacer<-NULL
replacer[[1]]<-c(1,2,3)
replacer[[2]]<-c(2,2,1)
replacer[[3]]<-c(3)
x<-NULL
Niter<-10
x<-piece[2]
songs <- list()
songs[[1]] <- x
for(i in 2:Niter){
print(x)
tmp<-c()
for(j in 1:length(x)){
tmp<-c(tmp,replacer[[x[j]]])
}
x<-tmp
songs[[i]] <- x
}
songs2 <- songs
for(i in 1:length(songs)){
for(j in 1:length(piece)){
songs2[[i]] <- replace(songs2[[i]],which(songs2[[i]] == piece[j]),lets[j])
}
songs2[[i]] <- paste(songs2[[i]],sep="",collapse = "")
}
songs2